Author: Ben Reeves 2012-03-01 13:09:02
Published on: 2012-03-01T13:09:02+00:00
A developer has pointed out that the reference patch does fix the blockchain forking issue but still leaves patched clients vulnerable to blockchain corruption. The issue arises because spent coinbases can still be disconnected, which could cause LoadBlockIndex() to error on restart and create problems during the initial blockchain download for new clients. To address this concern, the developer suggests disallowing duplicate coinbases entirely. Another developer agrees with the concern and adds that exchanges and major merchants must upgrade their systems as well. They recommend bundling both BIP16 and BIP30 in 0.6 and issuing an advisory stating that they are mandatory upgrades for everyone. Additionally, a blockchain repair script should be prepared, which checks the db for missing coinbase transactions and downloads them from another peer or block explorer if necessary. It is noted that simply fixing DisconnectBlock() will not prevent this issue in a backward-compatible way, and therefore, it is essential to take proactive measures to prevent blockchain corruption.
Updated on: 2023-06-06T03:11:22.136738+00:00