<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki" rel="noreferrer">BIP9 "versionbits"</a> introduced a method to deploy up to 29 softfork proposals at the same time. Each proposal follows the same flow:</p>

<p><img src="https://github.com/bitcoin/bips/raw/master/bip-0009/states.png" alt="State transitions from BIP9 proposal"></p>

<p><sup>Graphic from 
<a href="https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki#State_transitions" rel="noreferrer">BIP9</a></sup></p>

<p>After the <code>starttime</code> 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):</p>

<pre><code>  20000010              20000002               20000012
        ↑                      ↑                     ↑↑
       bit4                   bit1                   bit4 and bit1
</code></pre>

<p>Note that miners aren't supposed to <em>vote</em> 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.</p>

<p>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 <code>LOCKED_IN</code>, 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 <code>ACTIVE</code> and starts to be enforced by all compatible software.</p>

CC BY-SA 3.0
2017-07-21T16:46:05.330Z
2017-07-21T16:46:05.330Z
Murch
<p>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. </p>

<p>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.</p>

<p>This can all be found in <a href="https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki" rel="noreferrer">BIP 9</a>.</p>

CC BY-SA 3.0
2017-07-21T16:37:51.713Z
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
CC BY-SA 3.0
2017-07-21T11:13:17.193Z
2017-07-21T19:24:39.460Z
2017-07-21T19:24:39.460Z
meshcollider
<p>I have a vague idea about the jargon used over there, but what exactly do 'signal' and 'lock-in' mean specifically?</p>

<consensus><bip9-version-bits>
What does 'signal' and 'lock-in' mean in a BIP?
onepix
# What does 'signal' and 'lock-in' mean in a BIP?

(Asked by: username_0 on 2017-07-21)

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

**Tags:** consensus, bip9-version-bits


---

## 2 answers

### Answer by username_2 on 2017-07-21. Score: 8 | Accepted answer

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](https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki).

> **Comments:**
> **username_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.  

---

### Answer by username_1 on 2017-07-21. Score: 7

[BIP9 "versionbits"](https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki) 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](https://github.com/bitcoin/bips/raw/master/bip-0009/states.png)

Graphic from
[BIP9](https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki#State_transitions)

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.


---

