bitcoin-dev

BIP proposal: Generalized version bits voting (bip-genvbvoting)

BIP proposal: Generalized version bits voting (bip-genvbvoting)

Original Postby Sancho Panza

Posted on: April 3, 2017 09:06 UTC

Sancho Panza has submitted a rough draft proposal for a new informational BIP called 'bip-genvbvoting'.

This document describes a generalized version bits voting scheme based on and intended to replace BIP9, which allows each version bit to be treated individually using a configurable percentage threshold and window size. The state machine and governing parameters remain the same, but additional parameters called 'threshold' and 'windowsize' are added to the per-bit set. A set of per-chain parameters will exist for the version bits governed by BIP9. The motivation behind this proposal is to create a more flexible consensus-finding scheme that can adapt to the needs of the market and ensure the Bitcoin protocol remains competitive as an electronic payment system. The author points out several shortcomings in BIP9's approach, including its limitation to backward-compatible changes, a fixed 95% threshold that is not flexible enough to represent varying degrees of contentiousness, and the potential for small minorities to veto proposed changes and lead to stagnation. The specification for bip-genvbvoting is yet to be elaborated, but it is thought that only cosmetic changes are needed to generalize from only soft forks to 'soft or hard forks', and to add the additional per-bit parameters 'threshold' and 'windowsize'. References to fixed values will need to be eliminated and replaced by respective parameters. A reference implementation can be constructed after elaboration of the specification.This BIP is dual-licensed under the Creative Commons CC0 1.0 Universal and GNU All-Permissive licenses.