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.