SegWit

Reading

Optional Practical Exercise

Discussion Questions

What is SegWit?

  1. Is a non-segwit node considered a full node?

  2. What is the difference between a hard and soft fork?

SegWit in Mastering Bitcoin / SegWit video w/ Jimmy Song

  1. How should one understand ANYONE_CAN_SPEND outputs? Do nodes with and without the SegWit upgrade behave differently while validating or enforcing?

  2. [Optional] What is the difference between wrapped SegWit and native SegWit addresses? (SegWit Wallet Development)

Transaction Malleability

  1. How is ECDSA malleable?

SegWit Benefits

  1. Why do second layer protocols (like Lightning) require transaction malleability to be fixed?

SegWit's Impact on Scalability

  1. What was the quadratic sighash problem prior to Segwit? How does BIP 143 solve this?

  2. What rationale was used to decide on the 4 MB SegWit block weight (3 x old_tx_bytes + segwit_tx_bytes), instead of say a 2 MB block weight (old_tx_bytes + segwit_tx_bytes)?

Advanced SegWit

  1. How do blocks commit to witness data?

  2. What is weight versus virtual bytes? How do they differ? How does weight change the relative costs of inputs and outputs?

  3. How could BIP 9 be considered controversial within the community? How was BIP 148 received when first proposed?

SegWit Costs

  1. How does SegWit affect initial block download (IBD)?

Gregory Maxwell’s Inhibition Proposal

  1. What is ASIC BOOST and what did it have to do with SegWit's deployment?

The Long Road to SegWit

  1. How did users know whether miners support SegWit prior to activation?

Bech32 (optional)

  1. What are some address format design goals and requirements discussed in the bech32 talk? How problematic is the bech32 mutability issue for v0 segwit addresses versus for taproot?

Last updated