The difficulty of writing consensus critical code: the SIGHASH_SINGLE bug



Summary:

The discussion is about the advantages and disadvantages of hard fork versus soft fork. Hard forks are cleaner in a sense and they permit solving problems not otherwise solvable with a hard fork. However, hard forks clearly have risks, notably the Big Risk akin to a US Constitutional Convention: once you open the door, anything can happen, any rule no matter how sacred can be changed. Soft forks are not without their own risks, e.g. reducing some things to SPV levels of security. It is a good discussion to have. A poorly implemented soft fork may potentially require a hard fork to fix rollout bugs. Matt Corallo wrote that without BIP62 a lot of even basic contracts that people want to use today are unusable. The aim of BIP62 is noble, still it does not feel right for him to increase the complexity of the code with e.g. soft-fork-ready versioning. Freezing the consensus code, studying its bugs appears more appropriate to him. Jeff Garzik, a Bitcoin core developer, was also part of this discussion.


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