Tuesday, October 1, 2024

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 help in blocks for sure rule modifications to be able 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 based mostly: BIP16, BIP30

Early softforks (as much as mid 2012) used a easy time based mostly 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 automated actions in response to it.

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

Block-version signalling: BIP34, BIP65, BIP66

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

Every time 750 out blocks quantity N-1000..N-1 (so 75%) had the proposal’s model quantity or larger, block N can be topic to the proposal’s guidelines. Every time 950 out of blocks quantity N-1000..N-1 (so 95%) did, the following block can be required to additionally sign for it – leading to a closing 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 distinct mechanism, which had its personal doc, BIP9. It specifies utilizing one particular little bit of the block header’s nVersion area for every proposal, and a finite state machine to find out when to sign and when to activate. Its function is/was to allow a number of concurrent proposals to activate, with no need to have one accomplished earlier than the following one can roll out. This was a draw back of the earlier mechanism, as it might be not possible to activate the proposal with model 4 with out additionally signalling for activation of the proposal with model 3.

Because of numerous causes, segwit was not completely 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 peak, in what has been known 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).

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles