The difficulty of writing consensus critical code: the SIGHASH_SINGLE bug



Summary:

Jean-Pierre Rupp from Haskoin has expressed support for a hard fork to fix consensus bugs in the Bitcoin protocol. He believes that the protocol should be documented in a clear and understandable fashion, and that bugs are the enemy which should not be lived with. A process of thoroughly documenting and repairing consensus bugs on a separate branch should be opened, and eventually schedule a hard fork. Two good things will come out of this: known bugs will be gone and a process will be in place to get rid of future bugs in eventual future hard forks. The ramifications of a hard fork should not be a concern since it is only about removing bugs that could be used to exploit the network. There are 144 blocks generated per day by groups of miners that are mostly identified, making it not a titanic task to get consensus from the main mining pools on fixing this at the mining level. Fixing some of these bugs could impact other types of software such as wallets and hardware wallets. But most of the consensus bugs would not affect the way the vast majority of bitcoin transactions that are currently created. Therefore, it should not be traumatic for users but only really affect mining pools, who would only need to be convinced to upgrade their bitcoind well in advance. The Bitcoin protocol is relatively easy to upgrade at this point, and it should be taken advantage of. Justus Ranvier also mentioned that because Bitcoin has extra consensus requirements, the necessity of fixing bugs is even greater.


Updated on: 2023-06-09T03:53:22.645847+00:00