Bitcoin transactions were affected on the weekend due to software glitches that happened during the upgrade process, the issue was caused by the invalid blocks generated by non-upgraded miners. Over 50 percent of the miners failed to recognize the invalid block and continued building new blocks over it resulting in incorrect transaction data.
Why Blame the Invalid Blocks?
According to reports, these invalid blocks were generated by non-upgraded miners during the implementation of new signatures. Due to increased mining hash rates, the network was set for an automatic update which would kick into effect once 95 percent of the blocks are upgraded to version-3. Once the critical number 950 out of 1000 blocks was achieved on Saturday, all upgraded miners across the network should ideally start rejecting the older version-2 blocks created by non-upgraded miners. But in this case, the upgraded miners failed to identify the invalid block and continued building upon it. Incorporation of invalid block into the Blockchain led to an increased possibility of double spending, forcing the Bitcoin website to issue an advisory requesting people to wait for 30 more confirmations for bitcoin transactions occurring after 8 AM UTC on Saturday.
Blame the Blocks or the Blokes?
Over 50 percent of the miners had failed to implement BIP66 strict DER Signature rules as agreed upon earlier, instead they were mining as SPV (Simple Payment Verification) miners overlooking invalid blocks. Miners running on different versions of Bitcoin Cores handled these invalid blocks differently. The ones running on Bitcoin Core 0.9.5 onwards were able to identify the invalid portions of Blockchain easily, where as those on Bitcoin Core versions earlier than 0.9.5 were not able to differentiate invalid blocks from valid ones. Same was the case with Lightweight SPV wallets and web-based wallets.
Conclusion – Update.
While the issue related to invalid transactions was temporarily overcome by asking users to trust transactions with 30 or more confirmations, the more permanent fix involves upgrading all Bitcoin Core clients to versions 0.9.5 or above. People using web-based wallets are also advised to upgrade their wallets to the latest version.