bitcoin-dev
BIP proposal: Generalized version bits voting (bip-genvbvoting)
Posted on: April 4, 2017 19:28 UTC
BIP 9 is a mechanism for coordinating softforks among miners in order to make the upgrade process smoother.
It does not apply to hardforks as miners are essentially irrelevant to them and cannot make the process any smoother. However, there is no fundamental distinction between the role of miners in softforks and hardforks when it comes to proper coordination with the rest of the users in the system. BIP 9 can be used as a coordination mechanism for both softforks and hardforks, allowing miners to use versionbits to make the process smoother. BIP 9 is a useful tool that allows a determination of how much hashing power supports a particular fork proposal. Both soft and hard forks without support from the majority of miners place themselves at high risk. In general, every soft fork can result in a counter hardfork by those who are not aligned with its objectives, just like every hardfork can result in a counter softfork for the same reason by those opposed to it. This balances out the advantages and disadvantages of each type of fork and effectively puts them on a similar footing. Developers must still choose whether their feature is best deployed by softfork or hardfork, but introducing more flexibility into the signaling framework of BIP9 means it will be more useful for further developments - including a potential hardfork. Softforks are not required to use BIP 9, and even if they do, they are not required to use the recommended thresholds.