1

What are Segwit, Segwit2x, UASF, BIP 141 and 91, emergent consensus, and core/Non-EC? All of these terms are confusing and I don't understand what they all signify. Also, could you give me a description of what has been locked in, what could have been locked in, and what can be locked in?

3

Segregated Witness (segwit) is a solution which redefines how the maximum block size is calculated (now called block weight) and creates new output types. These segwit output types are given a discount (compared to non-segwit output types) with the new maximum size calculation when they are spent. This means that a block will be able to have more transactions that spend from segwit outputs and thus increase the number of transactions that fit in a block. Segwit is currently not locked in nor active.

BIP 141 is the main specification for segwit. It defines the deployment parameters and the consensus rules. BIPs 143 and 144 specify the network and serialization parts of segwit. When people refer to BIP 141, they are referring to segwit's deployment parameters. These parameters specify that 1915 of a 2016 block window must signal for segwit by setting bit 1 of the block version field.

UASF and BIP 91 are methods by which segwit can be activated. When these activate, they require that all blocks must signal for segwit by setting bit 1 of the block version field. This rule remains in place until segwit becomes locked in. Any block which does not have this bit set will be considered invalid.

BIP 91 is currently active, so all blocks must now signal for segwit. It become locked in after 269 blocks of a 336 block window signaled for BIP 91 by setting bit 4 of the block version number. BIP 91 activated after another 336 block window passed.

UASF (BIP 148) activates when the median time (the median timestamp of the last 11 blocks) is after midnight on August 1st UTC. BIP 148 is currently not active. It does not have a lock in period.

Segwit2x is a proposal to activate segwit and then hard fork later to increase the maximum block weight. It contains BIP 91 and specifies that a hard fork will occur 12960 blocks after segwit activates.

Emergent Consensus (EC, aka Bitcoin Unlimited) is a proposal where the maximum block size is determined by miners. Miners choose a block size to mine at based on what they perceive the community is willing to accept. Users and miners set the maximum block size which they are willing to accept. Users and miners also set another parameter, Acceptance Depth, for the number of blocks that must be mined on top of a too large block before they accept that larger block. For example, I can choose to set my maximum to be 1 MB and set my Acceptance Depth to 6. This means that if I receive a 1.1 MB block, I will first reject it, then only accept it if 6 blocks have been mined on top of that block and the chain with the 6 blocks is longer than the chain that I am currently on.

EC does not have any activation parameters or a lock in period. It becomes active whenever a miner chooses to mine a block that is larger than 1 MB.

When people talk about "Core", they usually refer to the current status quo. However Core really also includes Segwit.

  • Thank you very much for your answer sir. I have one more question. Is segwit 2x the only way a hardfork can result from any of these? – James P. Jul 25 '17 at 21:10
  • EC can result in a hard fork as blocks greater than 1 MB are invalid to the rest of the network who is not running EC code. – Andrew Chow Jul 25 '17 at 21:14

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.