The difficulty of writing consensus critical code: the SIGHASH_SINGLE bug



Summary:

The absence of BIP62 makes many basic contracts unusable, including atomic swaps that are important for sidechains. Though redoing Bitcoin in a hardfork is a good option in the long term, it may not be feasible for implementing payment channels immediately. The difficulty of writing consensus-compatible code is also acknowledged, and it is suggested that anyone with money behind an implementation doing script verification in code not derived from Bitcoin Core should rethink their decision.Tamas Blummer agrees that writing bug-for-bug compatible code with Satoshi is nearly impossible. While the aim of BIP62 is noble, increasing the complexity of the code with soft-fork-ready versioning does not feel right to him. Instead, he suggests freezing the consensus code and studying its bugs to determine if they can define a hard fork or a better chain to migrate to, as discussed by Blockstream.


Updated on: 2023-05-19T19:29:27.942784+00:00