Chaincode Seminars
  • Seminar for Bitcoin and Lightning protocol
  • Bitcoin Protocol Development
    • Welcome to the Bitcoin Protocol Development Seminar
    • SegWit
    • Mining and Network Block Propagation
    • P2P
    • Scripts and Wallets
  • Lightning Protocol Development
    • Payment Channels, Intro to Lightning, and HTLCs
    • How the layers of Lightning Fit Together
    • Lightning Routing
    • Lightning Limitations
    • The Future of Lightning
Powered by GitBook
On this page
  • Reading
  • Optional Practical Exercise
  • Discussion Questions
  • What is SegWit?
  • SegWit in Mastering Bitcoin / SegWit video w/ Jimmy Song
  • Transaction Malleability
  • SegWit Benefits
  • SegWit's Impact on Scalability
  • Advanced SegWit
  • SegWit Costs
  • Gregory Maxwell’s Inhibition Proposal
  • The Long Road to SegWit
  • Bech32 (optional)
Edit on GitHub
  1. Bitcoin Protocol Development

SegWit

PreviousWelcome to the Bitcoin Protocol Development SeminarNextMining and Network Block Propagation

Last updated 5 months ago

Reading

Content
Time (min)

10

40

20

15

20

15

40

70

30

20

25

15

40

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 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?

or

(optional)

(optional)

(optional)

What was the quadratic sighash problem prior to Segwit? How does solve this?

SegWit transaction exercises (chapters 1 & 2)
BIP 143
What is SegWit?
SegWit in Mastering Bitcoin
SegWit video w/ Jimmy Song
Transaction Malleability
Inherent Malleability of ECDSA Signatures
SegWit Benefits
How SegWit solved the quadratic sighash problem
SegWit's Impact on Scalability
Advanced SegWit w/ James O'Beirne
SegWit Costs
Inhibiting a covert attack on the Bitcoin POW function
The Long Road to SegWit
SegWit Wallet Development
Bech32