Skip to content

Latest commit

 

History

History
 
 

segwit

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

SegWit

Reading

Content Time Tags
An Introduction to SegWit 5 min primer
Transaction Malleability Primer 5 min tx malleability, primer
SegWit in Mastering Bitcoin 25 min
SegWit's Impact on Scalability 30 min video 2015, scale
SegWit Revisited 7 min technical
SegWit with Jimmy Song 27 min technical
SegWit Benefits 12 min technical
SegWit Costs 20 min technical
Transaction Malleability first 21 min of video malleability, technical, 2014
2015 Malleability Attack 10 min malleability, attack vectors
The Long Road to SegWit 20 min history
SegWit Wallet Development 10 min wallet, technical
Bech32 35 min video bech32
Code Walkthrough 20 min code

Discussion Questions

  1. How is DER malleable? How is ECDSA malleable?
  2. In this video James describes how the input script operation can be malleated without affecting validity. Can you speak more to how this can be taken advantage of? You mentioned it wasn't easy to correct, but are there any proposals to fix?
  3. Why do layering protocols require tx malleability to be fixed?
  4. How should one understand anyone-can-spend outputs? Do nodes with and without the SegWit upgrade behave differently while validating enforcing? How?
  5. How do the SegWit script versions conceptually differ from the versions on transactions? Why couldn't the transaction versions be used to support newer functionality without hard forks?
  6. Where are the locking script operations in P2WPKH/P2WSH?
  7. How can new script versions remain backwards compatible?
  8. What is weight/virtual bytes?
  9. 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)?
  10. How is witness data committed to the block?
  11. What is the quadratic sighash problem prior to Segwit? How does BIP 143 solve this?
  12. What would be the additional steps to include the fraud proofs described at the bottom of this doc and by Sipa in 2015 via a softfork?
  13. How do users know whether miners support SegWit prior to activation?
  14. How does a (virtual block increase) affect IBD cost over time?