Author: Michael Folkson 2021-10-16 11:02:08
Published on: 2021-10-16T11:02:08+00:00
The discussion in the Bitcoin development community revolves around the issue of whether or not to bundle soft fork features together. While it is a basic principle of software engineering to avoid putting too many features together in one shot, it misses the point when it comes to security-critical software like Bitcoin. Soft fork features should be tested thoroughly on testnet, signet, custom signets, sidechains, etc., both on a standalone basis and a bundled basis. However, introducing a consensus change before there is community consensus for it can be a massive effective bug itself, as it can lead to the network splitting in multiple ways. Unlike social media apps, decentralized security-critical consensus changes require an emerging field of their own. In addition, if a consensus change is activated before it is comfortable to do so, it can cause problems later. For instance, activating Feature A and subsequently deciding to activate Feature B may find that by previously activating Feature A, it is now unsafe to activate Feature B, or its design now has to be suboptimal because it must work safely in the presence of Feature A. Therefore, while combining proposals that have synergies between them is obviously good, rejecting a proposal on its own merits and combining it with others is a bad idea in principle. It is only easier to think about the ideas as a set when related proposals are combined into a single activation.
Updated on: 2023-06-15T02:37:00.978559+00:00