Right now the network difficulty for mining is
40640955016.576. And, according to blockexplorer.com, the current odds of finding a block for any given hash is
My question is, how is the "difficulty" and the odds of finding a block related? Obviously a difficulty of ~4 billion does not mean there's a 1 in 4 billion chance of finding a block (any modern ASIC miner could find a block in a heartbeat). So what does it mean exactly and how does difficulty and odds relate? And how can one calculate the odds based on the difficulty?