Thursday, April 18, 2024
HomeBitcoinvoting - How does a miner put his vote for sure BIP?

voting – How does a miner put his vote for sure BIP?

See my reply right here to deal with a few of your misconceptions. TL;DR: miners sign assist in blocks for sure rule adjustments so as to coordinate activation, to not decide whether or not it’s accepted or not.

As for the precise mechanism used to sign, a quantity have been used prior to now:

Time primarily based: BIP16, BIP30

Early softforks (as much as mid 2012) used a easy time primarily based activation mechanism: node software program that implements these proposals enforced the brand new guidelines on all blocks with a timestamp after a sure date. Within the case of BIP16, this date was decided (and modified) in response to miner signalling, however this signalling was only for human interpretation; nodes took no computerized actions in response to it.

Particularly, the signalling used right here was to place a string with a assist message within the coinbase transaction’s scriptSig subject, which is in any other case free for miners to place something in.

Block-version signalling: BIP34, BIP65, BIP66

A later era of softforks used the block header’s nVersion subject for signalling (as much as the yr 2015). Every of these used a subsequent model numbers (BIP34 used model 2; BIP66 used model 3; BIP65 used model 4).

Each time 750 out blocks quantity N-1000..N-1 (so 75%) had the proposal’s model quantity or increased, block N can be topic to the proposal’s guidelines. Each time 950 out of blocks quantity N-1000..N-1 (so 95%) did, the subsequent block can be required to additionally sign for it – leading to a last lock-in.

Versionbits-based signalling: BIP68/112/113, BIP141/143/144, BIP91, BIP341/342

The rollout of relative locktimes (BIP68/112/113) and Segregated Witness (BIP141/143/144) used a special mechanism, which had its personal doc, BIP9. It specifies utilizing one particular little bit of the block header’s nVersion subject for every proposal, and a finite state machine to find out when to sign and when to activate. Its objective is/was to allow a number of concurrent proposals to activate, without having to have one accomplished earlier than the subsequent one can roll out. This was a draw back of the earlier mechanism, as it could be unattainable to activate the proposal with model 4 with out additionally signalling for activation of the proposal with model 3.

As a result of numerous causes, segwit was not totally uncontroversial, and eventual activation occurred by means of a meta-proposal, BIP91. BIP91 itself used BIP9 to activate, which then on its flip made signalling for BIP141/143/144 obligatory, leading to its activation in August 2017.

BIP341/342 activated in November 2021, utilizing a modified versionbits-based activation mechanism with decrease activation threshold, and minimal activation top, in what has been referred to as the “speedy trial” method.

Disclaimer: I’m a (co-)writer of a number of of the listed paperwork on this put up (BIP9, BIP30, BIP66, BIP141/143/144, BIP340/341/342).



Please enter your comment!
Please enter your name here

Most Popular

Recent Comments