5

I have a vague idea about the jargon used over there, but what exactly do 'signal' and 'lock-in' mean specifically?

6

Signalling simply means the miner of a block has set a bit in the version field to say that they support something. BIP 8 and 9 discuss this, it allows the miners to let the network know they are ready for the change or not. The version field of a block is 32 bits long, and if the top 3 bits are set to '001', 29 bits are free to be used for signalling.

After a certain start time defined for a particular proposal, miners can set the bit specified to signal their support. It is during this time that if at least a certain percentage of blocks are mined with the bit set in one difficulty retarget period (2016 blocks), specified as the threshold needed, that proposal becomes LOCKED_IN. Once it is locked in, it is ready to become active in the network. Locked in just means that it gained enough support to proceed.

This can all be found in BIP 9.

  • 3
    signalling is not a vote, but more a signal of readyness. Not signalling isn't voting against the proposal but merely indicating that you're not running code behind the proposal. – alcio Jul 21 '17 at 16:37
6

BIP9 "versionbits" introduced a method to deploy up to 29 softfork proposals at the same time. Each proposal follows the same flow:

State transitions from BIP9 proposal

Graphic from BIP9

After the starttime is reached for the proposal, miners can signal readiness by setting the corresponding bit in the version field of the block header. In the past weeks we've seen signalling for two softfork proposals: SegWit2x/BIP 91 (bit 4) and SegWit (BIP141, bit 1):

  20000010              20000002               20000012
        ↑                      ↑                     ↑↑
       bit4                   bit1                   bit4 and bit1

Note that miners aren't supposed to vote on softfork proposals, rather they are supposed to signal readiness when they have upgraded their software and perceive the community to be supportive of the activation as well.

BIP9 specifies that a proposal needs to have 95% readiness in a single difficulty period in order to lock in activation. This is not a sliding window, but actually only evaluated once every difficulty reset. BIP91 used a shortened signalling period with only 336 blocks and an 80% threshold. After the proposal switches to LOCKED_IN, there is a grace period of the same length (2016 blocks for regular BIP9 activation and 336 blocks in the case of BIP91), after which the proposal switches to ACTIVE and starts to be enforced by all compatible software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.