Capacity increases for the Bitcoin system.



Summary:

In an email exchange between Ryan Butler and Gavin Andresen, they discussed the location of the witness commitment in Bitcoin's consensus critical code. The argument was whether it should be placed somewhere compatible with the existing network or if the block hashing data structure should be immediately changed in an incompatible way to accommodate it. Butler argued that the size difference in fraud proofs wasn't interesting, but the disruption to the network in an incompatible upgrade was. He suggested that a reorganization to move the commitment point could be done as part of a separate change that changes only the location of things and other trivial adjustments, which would minimize disruption and risk. Butler also countered Andresen's claim that functional changes with poorly understood system-wide consequences and low user autonomy shouldn't be combined with structural tidying, stating that it was a bad engineering practice. He believed that this implied there was no confidence in the unit tests and functional testing around Bitcoin and that increasing testing is necessary for confidence when refactoring. However, Butler noted that even with testing, one cannot "unit test" away all the risks related to deploying new behavior in the network due to the complexity of the system.


Updated on: 2023-05-19T22:36:52.478934+00:00