Developers are currently holding an emergency discussion in #bitcoin-dev to determine a way forward.
The gist of the problem is that 0.7 and 0.8 clients have diverged with each building a different blockchain because 0.7 clients did not accept 0.8 blocks from a certain point.
The problem was likely caused by large blocks being rejected by miners running the 0.7 client.
At this point mining pools, merchants, and exchanges are considering taking themselves offline until a way forward is agreed upon. As a result, you may see that your transactions are slow to confirm, though that might be a moot point if the blockchain is rolled back.
This is a dark day for Bitcoin. Implications for the exchange rate will likely be huge... should Bitcoins be sold off prior to the exchanges going offline.
Update: Mt.Gox has temporarily suspended all deposits.
Update 2: The exchange rate has dropped 10% in the last 10 minutes, now $44/Bitcoin.
Update 3: Gavin Andresen has sent out an emergency alert: "URGENT: chain fork, stop mining on version 0.8"
Update 4: It appears as though the solution is going to be to encourage miners to revert to mining on version 0.7 until THAT blockchain is longer than the 0.8 chain, which would then make it the master blockchain.
Update 5: As the miners have taken their machines offline, the rate of block confirmation has dropped substantially. Only one block has been confirmed in the last hour, and even then, the transaction volume on that block was only 25 Bitcoins. It appears that the mining pools are taking coordinated action to address the issue in a timely manner, as they switch over to Bitcoin v0.7.
0143 GMT: Update 6: The v0.7 blockchain is currently 225436 blocks in length, while the v0.8 blockchain is 225446 blocks in length. Until 0.7 is longer than 0.8, the problem will persist.
0148 GMT: Update 7: This was the original announcement of the problem.
0151 GMT: Update 8: From Pieter Wuille, a great explanation of the cause of the fork:
0.7 and older nodes use BDB for storing the blockchain databases. It seems this database has a limit on the size of the modification it can make atomically to the database. With the larger blocks of the past days, it seems to have triggered the limit. The result is that 0.7 (by default, it can be tweaked manually) will not accept "too large" blocks (we don't yet know what exactly causes it, but it is very likely caused by many transactions in the block). Specifically, block
000000000000015c50b165fcdd33556f8b44800c5298943ac70b112df480c023 (height=225430) with >1700 transactions.
However. 0.8 (which uses a different database system) has no such limit, and happily accepts the block. As the majority of the hash power was on 0.8, the longest chain ended up using this block, which is not accepted by older nodes.
The solution is to (for now) go back to the old chain, which has block 00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932 at height 225430.
0219 GMT: Update 9: The exchange rate is really taking a hit now, down to $41.40 USD, or a 20% drop.
At this point, it's become an over-reaction. As soon as the v0.7-compatible blockchain is longer than the v0.8 blockchain, everything will be back to normal. This has actually been an excellent demonstration of how a decentralized development team and community can come together to resolve a major issue quickly, with minimal impact to the system.
0230 GMT: Update 10: Unfortunately it isn't simply a matter of the miners mining 10 blocks to catch up the 0.8 chain. There is still is considerable amount of hashing power working on the now defunct 0.8 chain and mining pool operators are just beginning the process of switching over to 0.7 (see the thread here). This will be a battle that will last well into the night, and possibly into tomorrow, depending on how quickly the mining power can be switched over. If it wasn't for the existence of pools, this would be like herding mosquitoes, let alone cats.
0249 GMT: Update 11: An important comment on how the blockchain works:
"For any block on the chain, there is only one path to the genesis block. Coming from the genesis block, however, there can be forks. One-block forks are created from time to time when two blocks are created just a few seconds apart. When that happens, generating nodes build onto whichever one of the blocks they received first. Whichever block ends up being included in the next block becomes part of the main chain because that chain is longer. More serious forks have occurred after fixing bugs that required backward-incompatible changes. Blocks in shorter chains (or invalid chains) are called "orphan blocks", and while they are stored, they are not used for anything. When a block becomes an orphan block, all of its valid transactions are re-added to the pool of queued transactions and will be included in another block. "
0300 GMT: Update 12: You can watch the ongoing battle, here, at blockchain.info. The orphaned blocks are part of the 0.7 chain which is trying to catch up to the longer, 0.8 main chain.
0313 GMT: Update 13: As transactions are propagated through the network, they're being added to both forks of the blockchain. One thing to realize, however, is that the block rewards that miners are receiving on the current main chain will be invalid, as the 0.7 chain, which will soon take over, will not recognize those coins.
The exchange rate has already made a miraculous recovery, back to 44.00 USD/Bitcoin.
0321 GMT: Update 14: Please read this update from Gavin Andresen, Bitcoin's lead developer.
0325 GMT: Update 15: Another explanation of what happened tonight: