SegWit
Reading
Optional Practical Exercise
Discussion Questions
What is SegWit?
- Is a non-segwit node considered a full node? 
- What is the difference between a hard and soft fork? 
SegWit in Mastering Bitcoin / SegWit video w/ Jimmy Song
- How should one understand ANYONE_CAN_SPEND outputs? Do nodes with and without the SegWit upgrade behave differently while validating or enforcing? 
- [Optional] What is the difference between wrapped SegWit and native SegWit addresses? (SegWit Wallet Development) 
Transaction Malleability
- How is ECDSA malleable? 
SegWit Benefits
- Why do second layer protocols (like Lightning) require transaction malleability to be fixed? 
SegWit's Impact on Scalability
- What was the quadratic sighash problem prior to Segwit? How does BIP 143 solve this? 
- 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
- How do blocks commit to witness data? 
- What is weight versus virtual bytes? How do they differ? How does weight change the relative costs of inputs and outputs? 
- How could BIP 9 be considered controversial within the community? How was BIP 148 received when first proposed? 
SegWit Costs
- How does SegWit affect initial block download (IBD)? 
Gregory Maxwell’s Inhibition Proposal
- What is ASIC BOOST and what did it have to do with SegWit's deployment? 
The Long Road to SegWit
- How did users know whether miners support SegWit prior to activation? 
Bech32 (optional)
- 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
