Skip to content
This repository has been archived by the owner on Sep 7, 2023. It is now read-only.

Latest commit

 

History

History
143 lines (125 loc) · 6.63 KB

Curriculum.md

File metadata and controls

143 lines (125 loc) · 6.63 KB

Taproot BIP Review - Curriculum

Note: a list of helpful related resources has been compiled which can assist in reviewing.

Intro & Taproot

Tapscript

  • Week: Nov 10th-16th
  • bip-taproot:
    • script path spending
    • Constructing and spending Taproot outputs
  • bip-tapscript, excluding “Rules for signature opcodes”, “Transaction digest”, “Resource limits”, “Rationale” sections 2, 4-14.
    • Motivation, Design
    • Specification
    • Script execution
  • Optech workshop: https://bitcoinops.org/en/schorr-taproot-workshop
  • Some things to consider:
    • How to do multisig (different MAST leaves, or CHECKSIGADD, or…)
    • How to change miniscript to cover MAST/script-path alternatives
    • How to change miniscript policy to deal with different costs of different execution paths depending on tree shape
    • Comparisons to other MAST approaches (eg BIP 114, BIP 116/117, BIP 98)

Schnorr

Signature Details and Resource Limits

  • Week: Nov 24th-30th
  • bip-taproot:
    • Signature validation rules
  • bip-tapscript:
    • Rules for signature opcodes
    • Transaction Digest
    • Rationale, sections 4, 5, 7, 8 and 9.
  • Things to consider:
    • Any chance of having different messages in different contexts result in the same digest? Extension attacks? Other ambiguities? Does the epoch make sense?
    • Are there any O(n^2) paths where n signatures might require different sets of n data having to be rehashed?
    • Can cached data be shared with segwit v0 signatures where possible?
    • Is this efficient for hardware wallets that want to have as little data and computation as possible?
    • Is there any way to exploit users using hardware wallets with this scheme?
  • Bip-tapscript:
    • Resource Limits
    • Rationale, sections 10-14
  • Things to consider:
    • What is the worst case resource usage? Is this worse than today?
    • What is the expected/average case resource usage? Is this worse than today?

Schnorr Applications

Upgrades

Wrap-Up

  • Week: Dec 15th-21st
  • Results of dev projects / proof of concept attempts as at the end of the previous week
  • Collect questions, suggestions, problems discovered during review
  • Capture overall summary as ACK / HOLD (overall we expect to find some things to improve, so likely this will be HOLD)
  • Where to go from here