A glitch in the software governing the peer-to-peer Bitcoin currency network caused the value of a Bitcoin to drop 23 percent on March 11, Ars Technica reported. The currency's price fell from more than $48 to approximately $37 before recovering.
The error was the result of nodes in the Bitcoin network running two different versions of the software. Bitcoin relies on a shared transaction database called a block chain, which prevents double spending and builds security into the system. A new block is created every few minutes with a record of all new transactions since the previous block, a reference to the block before it and a unique mathematical puzzle. Nodes compete to solve this puzzle in order to unlock and announce the next block, a process known as "mining."
The other nodes must confirm the compliance of the block with the Bitcoin protocol to accept it as an entry in the official block chain. If all miners do not enforce the same rules about what constitutes a valid block, it can produce a fork in the network, obscuring which transactions have occurred and potentially undermining the integrity of the currency.
Understanding the glitch
A recent update from version 0.7 to version 0.8 of the Bitcoin software introduced a major fork risk, as nodes running version 0.7 were unable to process a new block that version 0.8 recognized as valid.
"Early this morning, a Bitcoin block too big for version 0.7 was mined by miners using version 0.8, creating a fork in the block chain," Bitcoin exchange Mt. Gox announced. "After some deliberation in the community, it was decided that miners should downgrade their version and continue the 0.7 fork until the issue is resolved."
Ars Technica noted that the issue was a test of Bitcoin's governance structure, as no single institution has the power to select a specific branch of the block chain. Instead, one branch will win out over the other through a majority vote of network computing power. As a result, to maintain the integrity of the block chain, Bitcoin's core developers had to rely on a large number of miners to downgrade their software. While the incident did not put many Bitcoins in danger of being lost, it did affect market confidence, as it was due to a flaw in the software itself and not a problem on one of the trading exchanges.
In systems such as the Bitcoin network, which is dependent on its integrity to maintain value, ensuring proper software functionality is essential. By using tools such as source code analysis, developers in similar systems can avoid potential update errors that might cause comparable hiccups or failures.
Software news brought to you by Klocwork Inc., dedicated to helping software developers create better code with every keystroke.