Secure protocols on BIP taproot
summary
BIP‑Taproot creates outputs that hide either a single Schnorr key or a Merkle‑committed script tree and uses a pay‑to‑contract tweak; implementation work extends libsecp256k1 into libsecp256k1‑zkp with Rust bindings and Schnorr support. Multi‑party signing uses MuSig three‑round protocol with strict non‑reuse of session IDs and persistent state concerns for hardware wallets; sign‑to‑contract prevents nonce exfiltration between host and device. Batch verification speeds ~400 signatures in half the time, and blind Schnorr is practically broken (Wagner attack) so blind‑sig use is unsafe.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:27BIP taproot
- 0:52Disclaimer
- 1:28How taproot works
- 2:06Taproot output public key
- 3:03Taproot output spend
- 5:57NOR signature
- 9:41Sign to contract
- 10:53Pay contract construction
- 11:37ECpop function
- 11:52Script path
- 13:16Multisignature
- 14:21Key aggregation
- 17:35Additional rounds
- 20:51Adapter signatures
- 21:15Blind signature
- 22:11Broken signatures
- 23:28Conclusion








