10 votes
Accepted

Is there an active list of BIPs currently open for voting?

This question is based on a misconception. Miners do not vote on proposals. Consensus changes to Bitcoin are made by the entire ecosystem transitioning to new rules that they choose, by running node ...
Pieter Wuille's user avatar
10 votes
Accepted

What are miners signalling for when the block header nversion field ends in 4 i.e. 0x3fffe004?

They are signaling for Taproot. BIP 341 specifies that signaling occurs on bit 2.
Ava Chow's user avatar
  • 70.4k
9 votes
Accepted

What restrictions does the version field in the block header have?

nVersion is a 4-byte little-endian signed integer. Little-endianness means that the least significant byte is first. The order of bits in a byte remains the same. I’m aware of the following ...
Murch's user avatar
  • 75.3k
8 votes
Accepted

What does 'signal' and 'lock-in' mean in a BIP?

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 ...
meshcollider's user avatar
  • 11.8k
8 votes
Accepted

How do BIP8 and BIP9 differ, how are they alike?

Early soft forks each had their own activation method included in the proposal which relied on flagdays or block version signaling. The latter only allowed a single proposal to be considered ...
Murch's user avatar
  • 75.3k
8 votes
Accepted

How does a miner put his vote for certain BIP?

See my answer here to address some of your misconceptions. TL;DR: miners signal support in blocks for certain rule changes in order to coordinate activation, not to determine whether it is accepted or ...
Pieter Wuille's user avatar
7 votes

What does 'signal' and 'lock-in' mean in a BIP?

BIP9 "versionbits" introduced a method to deploy up to 29 softfork proposals at the same time. Each proposal follows the same flow: Graphic from BIP9 After the starttime is reached for the proposal,...
Murch's user avatar
  • 75.3k
6 votes
Accepted

What are the differences between the various MTPs in Bitcoin?

There is only a single concept of Median Time Past (MTP) in Bitcoin, the median time of a block and the 10 blocks preceding it on the same block chain. MTP has always been used in Bitcoin as part of ...
David A. Harding's user avatar
6 votes

Should block height or MTP or a mixture of both be used in a soft fork activation mechanism?

Should block height or MTP (median time past [...]) or a mixture of both be used in an activation mechanism like BIP 8 or BIP 9 for defining the timings of the state transitions? What are the ...
David A. Harding's user avatar
5 votes
Accepted

When does signaling for SegWit start exactly?

Signaling will commence with the first difficulty retarget after November 15th 12am UTC (i.e. midnight between 2016-11-14 and 2016-11-15). See BIP0009 State Transitions: All blocks within a ...
Murch's user avatar
  • 75.3k
4 votes
Accepted

What are the possible Version Bits votes?

Most of what you ask about doesn't have anything to do with Version Bits actually. :) Let's start from the top: nVersion is a four byte (32 bit) field in the block header. The version field was ...
Murch's user avatar
  • 75.3k
4 votes
Accepted

How was the 95% miner adoption threshold determined?

New softforks are activated using BIP 9 (versionbits), which specifies the threshold requirements. The 95% threshold is inherited from the old BIP 34 (supermajority) softfork activation method. A ...
jnewbery's user avatar
  • 1,060
3 votes
Accepted

Which nVersion bit is the "hard fork bit?"

Bit 31 is sometimes referred to as the hard fork bit. BIP34 put a constraint on version numbers to be 2 or higher. As the block version is a 32-bit signed integer, setting its highest bit results in ...
Pieter Wuille's user avatar
3 votes
Accepted

How does BIP9 handle expiration dates over retargeting periods?

As per BIP 9, the transition to FAILED takes precendence. Which means that the feature will not be activated via BIP09. The relevant part of the code. case STARTED: if (GetMedianTimePast(...
sanket1729's user avatar
  • 1,380
3 votes
Accepted

How do blocks signal whether it supports segwit for the 95% threshold?

BIP141 – Deployment says: This BIP will be deployed by "version bits" BIP9 with the name "segwit" and using bit 1. For Bitcoin mainnet, the BIP9 starttime will be midnight 15 ...
Murch's user avatar
  • 75.3k
3 votes
Accepted

Does a soft fork result in two different blockchain versions?

Your observation is correct, except that a fork is expected to be activated by a supermajority of nodes and miners in the network. The most recent soft fork had an activation threshold of 950 blocks ...
Murch's user avatar
  • 75.3k
2 votes

Does a soft fork result in two different blockchain versions?

Soft fork and hard fork here, if you want to accurate, are statements about the conditions under which all nodes are guaranteed to eventually agree on the same chain. So it is about avoiding permanent ...
Pieter Wuille's user avatar
2 votes
Accepted

Block version 0x20000000

The bytes you would put in the block header would be, in order: 0x00 0x00 0x00 0x20. That's how the number 221 (= 0x20000000) is stored in 32-bit little endian encoding. Note that this is actually a ...
Pieter Wuille's user avatar
2 votes

What Does "Activation" Actually Mean In Bitcoin?

However Segwit is a complex upgrade to Bitcoin so there must be many places where changes are made to Bitcoin for Segwit - so how many such "if" blocks are there ? As of writing, there are 23 to 34 ...
Nick ODell's user avatar
  • 29.4k
2 votes

Version bits: Why did BitcoinXT choose to set THREE bits to 1 (0x20000007) to flag BIP101?

Bitcoin XT versions 0.11A through 0.11D supported the withdrawn BIP101, which set version = 0x20000007 as a best-guess nod toward the developing versionbits standard, while trying to maximize backward ...
Tom Harding's user avatar
1 vote

How do miners signal approval for a BIP via nVersion, exactly?

The version and other parameters that could be used for signaling are generally set by the work producer, i.e. your own node or the pool you are mining with. That will issue the work for your mining ...
Ava Chow's user avatar
  • 70.4k
1 vote

How to calculate the version (eg. in Python)?

BIP-034 defined block version 2, so blocks should have versions greater or equal than 2, since it's little-endian, we expect something like 0x02000000. However, miners can change the following values ...
Davidson Souza's user avatar
1 vote

Should block height or MTP or a mixture of both be used in a soft fork activation mechanism?

Using block heights for the start and timeout parameters has the advantage of giving miners a known number of signaling periods. Loss of hashpower doesn't reduce the number of retarget periods ...
Michael Folkson's user avatar
1 vote
Accepted

BIP9: What happens if I make a segwit transaction after lock in but before activation?

The new rules are come into effect only when the softfork activates. I am not completely sure, but I think in the case of segwit transactions these would be treated as non-standard nodes and thus not ...
Murch's user avatar
  • 75.3k
1 vote
Accepted

How can miners alter timestamps to prevent or delay BIP09 feature activation?

Blocks have a field in the block header which is the time stamp. However this time stamp is set by the miner and can really be changed to whatever they want (although there is some restriction). ...
Ava Chow's user avatar
  • 70.4k
1 vote

Why doesn't getblockchaininfo reveal BIP9 signaling statistics?

The answer is pretty boring. Nobody did the work to implement it (yet).
Pieter Wuille's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible