Hashing It Out #44: Blockstream – Russell O’Connor

We bring you another brilliant mind on the show for this episode! Russell O’Connor, developer of Blockstream’s Simplicity programming language for Bitcoin, dives deep into formal verification topics. We learn about the language design principles driving Simplicity, how formal verification plays an integral role in making the language suitable for securely automating Bitcoin transactions, and the challenges in creating a smart contract script for Bitcoin. We get a glimpse into the future of blockchain automation, and he elucidates what is being done right and what could be done better in blockchain platforms to place security first in smart contract design.

Simplicity’s Github
Simplicity Publication — PLAS 2017
Simplicity presentation — BPASE 2018 (slides)
Illustration of formal verification using Simplicity — Scale by the Bay 2018 (slides)
Enhancing Bitcoin Transactions with Covenants — The Financial Crypography 2017 Workshop
Andrew Appel’s Verified Software Toolchain for formal verification of C
The Coq proof assistant
Mooly Sagiv’s Modularity for Decidability: Implementing and Semi-Automatically Verifying Distributed Systems