
The Chaincode Podcast
A podcast about Bitcoin protocol development
Latest episodes

Feb 12, 2020 • 36min
James O'Beirne and Assume UTXO - Episode 4
Next in the studio, we caught James O'Beirne, who until recently was a co-worker of ours at Chaincode. We talked to James about his experience at the Chaincode residency, his most recent project Assume UTXO (GitHub issue, proposal, talk) and how he champions and effects change in Bitcoin Core.
Discussed in this episode:
- 2018 residency (2:42)
- Choosing what to work on (5:40)
- Fork detection framework (6:55)
- Initial block download (IBD) (8:10)
- What a node does during IBD 1110
- DNS seeds (11:30)
- UTXO set (12:30)
- Parallelized signature validation (14:20)
- Assume valid (14:40)
- Different than checkpoints (17:30)
- Updating assume valid value in the code (0.19, 0.18) (19:00)
- Assume UTXO (21:20)
- Platform and memory considerations (27:15)
- Criticisms (27:55)
- Championing a big change in Bitcoin Core (32:20)
If you like this, find more shows at podcast.chaincode.com. Thank you to Matthew Zipkin for sound engineering.

Jan 30, 2020 • 39min
Jeremy Rubin and CHECKTEMPLATEVERIFY - Episode 3
For our third episode, we talked to Jeremy Rubin about his recent CHECKTEMPLATEVERIFY proposal. During our discussion, we touch on the history of covenant proposals, vaults, payment pools, CTV's synergies with Taproot and more.
Notes:
What is CHECKTEMPLATEVERIFY (CTV)? (4:30)
What is a covenant? (5:25)
- CoinCovenants using SCIP signatures, an amusingly bad idea (2013) (7:15)
- Bitcoin Covenants AKA MES16 paper (2016) (8:15)
- Talk at Stanford Blockchain Conference (2017) (9:20)
Why covenants? (11:43)
Utxos.org
Vaults (12:10)
- Annuity type vaults (13:40)
Payment pools (18:00)
Synergies with Taproot (22:11)
SIGHASH_NOINPUT/ SIGHASH_ANYPREVOUT (24:31)
CTV and lightning channels (26:30)
Congestion control (32:04)
CreateNewBlock() (33:09)
If you like this, find more shows at podcast.chaincode.com. Thank you to Matthew Zipkin for sound engineering.

Jan 28, 2020 • 33min
Pieter Wuille (part 2 of 2) - Episode 2
For our second episode, we pick up where we left off with Pieter Wuille in episode 1. If you missed that one, you should go back and listen to it first.
Pieter has been a Bitcoin protocol developer and contributor to Bitcoin Core since 2011. In that time, he’s authored or contributed to some of the most important developments, including segwit, bech32, libsecp, HD wallets, schnorr and taproot, and many others.
We talked to Pieter about his thoughts on the lessons learned from the March 2013 Consensus Fork as well as libsecp and Pieter’s thoughts about Bitcoin in 2020.
Discussed in this episode:
Lessons learned from the 0.8 consensus failure (1:00)
BIP66 - Strict DER signatures (3:13)
Satoshi’s usage of OpenSSL (3:47)
OpenSSL and DER encoding (5:35)
libsecp256k1 (12:12)
Hal Finney’s post on the special properties of the secp256k1 (12:50)
Peter Dettman and Bouncy Castle (16:58)
Imagining P2SH from the beginning (26:20)
If you like this, find more shows at podcast.chaincode.com. Thank you to Matthew Zipkin for sound engineering.

Jan 28, 2020 • 34min
Pieter Wuille (part 1 of 2) - Episode 1
For our first episode, we talked to Bitcoin Core contributor Pieter Wuille.
Pieter has been a Bitcoin protocol developer and contributor to Bitcoin Core since 2011. In that time, he’s authored or contributed to some of the most important developments, including segwit, bech32, libsecp, HD wallets, schnorr and taproot, and many others.
We talked to Pieter about his thoughts on some of those influential PRs, including headers-first syncing and ultraprune, and hear about the motivation for those changes and how he thinks about them now. This is a two-parter and in the next episode, we’ll hear about libsecp and Pieter’s thoughts about Bitcoin in 2020.
Discussed in this episode:
Headers-first syncing (3:30)
Tracking peer state and finding good peers (13:00)
How Bitcoin Core development culture has changed in the last 9 years (18:11)
Bitcoin test evolution (19:00)
Ultraprune (21:55)
March 2013 Consensus Fork (26:50):
- March 2013 Chain Fork Post-Mortem
- Analyzing the 2013 Bitcoin fork
If you like this, find more shows at podcast.chaincode.com. Thank you to Matthew Zipkin for sound engineering.
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.