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
  • SCRIPT
  • Output Descriptors
  • HD Wallets
  • Coin Selection
  • Fee Bumping and RBF
  • Schnorr signatures
  • Taproot
  • (optional) The softfork bundle
  • (optional) Native segwit output and bech32 addresses
Edit on GitHub
  1. Bitcoin Protocol Development

Scripts and Wallets

Reading

Content
Time (min)

35

15

40

15

30

40

15

x

25

15

25

25

15 or 20

20

15

15

25

15

70

25

Optional Practical Exercise

Discussion Questions

SCRIPT

Output Descriptors

  1. What is the benefit of using output descriptors?

  2. How does miniscript interact with descriptors?

HD Wallets

  1. What is the difference between child and hardened child addresses?

  2. Why is the internal chain not visible outside of the wallet if it uses public derivation?

Coin Selection

  1. Is coin age ever a consideration for coin selection?

  2. Coin selection can expose a wallet by observing how the wallet selects its inputs, are there any efforts to standardize coin selection into a library of sorts so there's a standard?

Fee Bumping and RBF

  1. Is there way to ensure that a transaction will be processed? What tools are available to ensure a stuck transaction (due to low fees) gets processed?

  2. While inconvenient, could a stuck transaction lead to a loss of funds?

Schnorr signatures

  1. How are schnorr signatures reducing a transaction's data footprint?

  2. How can validation of schnorr signatures be sped up?

  3. Why may schnorr signatures incentivize multi-spender transactions?

  4. What makes Schnorr signatures shorter?

  5. Why do schnorr signatures need a nonce?

  6. What is the risk of nonce-generation on a limited-entropy device like a hardware wallet? How can that risk be overcome with deterministic nonce generation?

Taproot

  1. What makes Pay to Taproot more private than previous output formats?

  2. What are the difficulties and benefits of switching to Pay to Taproot addresses?

  3. Why does tapscript not support OP_CHECKMULTISIG?

  4. What is the purpose of TaggedHashes?

(optional) The softfork bundle

  1. Would it be possible to implement Taproot without schnorr signatures or schnorr outputs without Taproot?

  2. How did the Bitcoin network settle on using Speedy Trial to activate Taproot?

(optional) Native segwit output and bech32 addresses

  1. What's the difference between "native segwit" and "bech32(m)"?

  2. Should wallets allow sending to bech32m addresses?

PreviousP2PNextLightning Protocol Development

Last updated 2 months ago

(optional)

(optional)

(optional) Native Descriptor Wallets - or

(optional)

(optional)

(optional)

(3+ hours)

John Newbery talks about , and he bring it up as a big reason why he thinks bitcoin can scale but is skeptical about ethereum. Is there a qualitative difference between verification and computation? And is it the fact that ethereum is capable of performing arbitrary computation that makes the whole thing difficult to scale, or is it that specifically smart contracts that require arbitrary computation won’t be able to scale (as in those contracts would be very expensive to run)?

Taproot, sighash, timelock transaction exercises (chapters 3-5)
Taproot workshop by Bitcoin Optech Group
verification vs. computation
Bitcoin Script: Past and Future
Script: A Mini Programming Language
Scripts (general & simple)
Miniscript: Streamlined Bitcoin Scripting
Using the Chain for What Chains are Good For
The Battle for P2SH
HD Wallets
Mnemonic Code Converter
Coin Selection
An Introduction to Bitcoin Core Fee Estimation
Fee Bumping and RBF
PSBT with Andrew Chow
gist
presentation
Schnorr Signatures & The Inevitability of Privacy in Bitcoin
MuSig-DN: Schnorr Multisignatures with Verifiably Deterministic Nonces
Taproot Explained (video)
Overview of the Taproot & Tapscript BIPs
Scriptless Scripts
Optech Series: Preparing for Taproot
On Building Consensus and Speedy Trial