14 episodes

A podcast about Bitcoin protocol development

The Chaincode Podcast Chaincode Labs

    • Technology
    • 5.0 • 10 Ratings

A podcast about Bitcoin protocol development

    Chaincode Decoded: Blockchain - Episode 14

    Chaincode Decoded: Blockchain - Episode 14

    In this Chaincode Decoded segment we talk about the fundamental role of Bitcoin's blockchain and some of its peculiarities.



    We discuss:


    Purpose of the blockchain (0:40)

    Mining is a lottery, not a race (1:57)

    Why doesn't the same miner always win? (5:12)

    What happens if two blocks are found at the same height? (6:12)

    The longest reorgs (9:11)
    How does the blockchain work? (12:18)
     - Headers-first synchronization and Ultraprune: Episode 1 with Pieter Wuille
     - Episode 5: The UTXO set

    Why does Bitcoin converge on one chain? (15:20)
     - Selfish mining paper: Majority is not Enough: Bitcoin Mining is Vulnerable

    Will we always find a new block? (18:04)
     - Entropy sources in the block header

    Mining pools have disjoint hashing spaces (19:30)
     - Correction: mining pools do not have a separate pay-out address for each participant, but give out a unique coinbase transaction stub for each.
     - Eschaton block


    Thanks to Caralie for the sound engineering.

    • 23 min
    Matt Corallo and Lightning Development Kit - Episode 13

    Matt Corallo and Lightning Development Kit - Episode 13

    In Episode 13, we sit down again with Matt Corallo and discuss his work on the Lightning Development Kit (LDK).



    In this conversation we cover:

    - Starting Rust-Lightning (1:20)

    - Language bindings challenges (4:09)
     - FFI (5:32)


    - Interoperability of Lightning (7:10)

    - Zero-value invoices (7:35)

    - Keysend/push payments/spontaneous payments (8:20)

    - What is the LDK stack? (9:29)

    - Anchor Outputs (10:41)
     - Child pays for parent (CPFP) (11:02)


    - Who tracks the onchain state when using LND? (12:30)

    - LDK tracks the channel commitment transaction, how is that done? (13:45)
     - Compact block filters


    - Contrasting multiple implementations working from a spec in Lighting vs. no spec with one dominant reference implementation in Bitcoin (14:58)
     - The Lightning Spec


    - What's the state of the Lightning Network? Have we moved beyond #reckless? (18:49)
     - Denial of Service (DoS) vulnerabilities
       - Channel Jamming (22:00)


    - Eltoo and the punishment dynamic (22:45)

    - Will the network trend to trusted relationships and lend itself to KYC? (24:50)

    - FATF updates its guidance on Virtual Asset Service Provider (VASP) (26:50)

    - Where LDK goes from here? (29:55)





    Thanks to Caralie for the sound engineering.

    • 31 min
    Chaincode Decoded: Mempool - Episode 12

    Chaincode Decoded: Mempool - Episode 12

    The Chaincode Decoded segment returns and we jump into the deep end of the mempool.


    Child Pays for Parent (CPFP) (2:15)
    How miner evaluate fee rates (4:34)
    Why is it hard to estimate fee rates? (6:03)
    How do exchanges estimate fees? (8:00)
    Will the mempool empty again? (9:23)
    Miner/pools and the need for a high fee environment (11:04)
    Replace by Fee (RBF) (14:05)
    - BIP 125
    Mempool eviction and the problems it can cause (19:04)
    Anchor Outputs (20:50)
    Package Relay (21:06)
    Ways to use the blockspace more efficiently (22:15)
    - blockchain.com implements Segwit


    Thanks to Caralie for the sound engineering.

    • 26 min
    Chaincode Decoded: Bech32m - Episode 11

    Chaincode Decoded: Bech32m - Episode 11

    This revisits a segment we call Chaincode Decoded. In this episode, we'll learn how to say Bech32 and also what it and Bech32m are. Enjoy!

    Correction: The characters removed from the set are 1 B I O (2:20)


    Why do we need Bech32? (0:57)
    What is the distinction between Bech32 and native SegWit? (3:20)
    Why does Taproot need a new address format? (4:13)
    Bech32 length extension mutation weakness (11:20)
    - mailing list post
    Bech32m (12:25)
    - BIP350

    Further resources:


    Pieter Wuille: New Address Type for SegWit Addresses (presentation)
    Sipa demo
    Bech32 adoption
    (Some of) the math behind Bech32 addresses

    Thanks to Caralie for the sound engineering.

    • 14 min
    Carl Dong and Modularizing the Bitcoin Consensus Engine - Episode 10

    Carl Dong and Modularizing the Bitcoin Consensus Engine - Episode 10

    In part 2 of this sit down with Carl Dong, Murch and Jonas cover the delicate work of modularizing the Bitcoin consensus engine.



    In this conversation, we cover:

      - Carl's De-globalize ChainstateManager PR (2:25)

      - Async Block Processing PR

      - Deglobalize class of chainstate manager (g_chainman) (3:40)

      - AssumeUTXO

      - global variables and main (5:25)

      - scripted diff (9:35)

      - 0.8 upgrade consensus failure (11:25)

      - Jorge Timon's libconsensus project (13:10)

      - current libbitcoinconsensus only does script verification (13:25)

      - the case for multiple implementations (14:40)

      - ABI (15:10)



    Thanks as always to Matthew Zipkin for the sound engineering.

    • 19 min
    Carl Dong and Build Systems - Episode 9

    Carl Dong and Build Systems - Episode 9

    In part 1 of this sit down with Carl Dong, Murch and Jonas get into the weeds of all things build system. Stay tuned for the second half of this conversation when Carl describes his recent adventures isolating the libconsensus engine.

    In this conversation, we cover:

    - GUIX (2:25)
     - talk at 2019 Breaking Bitcoin about reproducible builds

    - Gitian builds (4:15)

    - Fake time (4:50)

    - Timestamps and reproducibility of packages (6:33)

    - reproducible-builds.org (6:57)
     - SOURCE_DATE_EPOCH

    - Toolchains (14:40)

    - Windows Builds and reproducibility (15:20)
     - GCC libtool pointer confusion

    - NSIS (20:25)

    - Using Debian as an example (22:56)

    - User choice in their security model (28:15)

    - Making the process accessible (31:20)

    - Mac OS X Toolchain & SDK and cross-compiling (33:30)



    Thanks as always to Matthew Zipkin for the sound engineering.

    • 45 min

Customer Reviews

5.0 out of 5
10 Ratings

10 Ratings

Onetallnerd ,

The more technical podcasts the better!

Excited to see chain code start such a high level technical bitcoin podcast.

Mark Rex ,

Excellent Bitcoin Podcast

Can’t wait for more! In-depth bitcoin podcast. 5 stars!

Top Podcasts In Technology

Listeners Also Subscribed To