Learning-Bitcoin-from-the-C.../09_0_Expanding_Bitcoin_Transactions_with_Schnorr.md
2026-01-22 14:42:22 -10:00

2.7 KiB

This was the initial theory for this section:

  • New Section X.1: Understanding Schnorr Signatures
    • New Subsection: Understanding the Math of Schnorr
      • Explanation: Add + subtract for one signature
    • New Subsection: Supporting MuSig
    • New Subsection: Understanding the Use of Adapter Signatures
    • New Subsection: Knowing the Advantages of Schnorr
      • Explanation: size, 64 bytes vs 72, better for multisigs
      • Explanation: speed, linear, validate a million-sig multisig in 2 minutes
      • Explanation: privacy, no difference between MuSig and sig, no detection of Lightning
      • Explanation: also better security, non-malleability
      • Reference: https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
  • New Section X.2: Using Schnorr Signatures
    • New Subsection: Signing with Schnorr
    • New Subsection: Adding a Schnorr Signature
    • New Subsection: Reading a Schnorr Signature
    • New Subsection: Using Schnorr with Taproot
  • Update Chapter 6 (Multisigs) to Integrate with Schnorr [this might be another section]

We also may want some of this:

Chapter Y: Improving Bitcoin Scripts with Taproot (probably between chapters 13+14, possibly expanding to two chapters)

  • New Section Y.1: Understanding MAST
  • New Section Y.2: Understanding Taproot
  • New Subsection Y.3: Creating a Taproot Script
    • New Subsection: Defining a Taproot Script
      • Explanation: Segwit v1, 32-byte program, not P2SH wrapped, leaf version is 0xc0
    • New Codes: OP_CHECKSIGADD and OP_SUCCESS
    • Cut Codes: OP_CHECKMULTISIG and OP_CHECKMULTISIGVERIFY
    • Reference: https://twitter.com/pwuille/status/1459778730369368067
  • New Subsection Y.4: Importing a tr Desciptor
  • New Subsection Y.5: Using Taproot in Practice
    • New Subsection: Making a Taproot Payment
    • New Subsection: Validating a Taproot Script
  • Update Chapter 9 to Integrate with Taproot
    • Mention Taproot in 9.1 or 9.2
    • Add New Section 9.6: Scripting a P2TR (mostly a pointer to Chapter Y)