Bringing the Power of Interactive Theorem Proving to Web3
Abstract
The security of the web3 ecosystem relies on the correctness of implementations of advanced mathematical formalisms, such as those underpinning various DeFi products or zk proof systems. The complexity of these formalisms, however, makes automated reasoning about said correctness challenging, if not intractable. In this talk, we give an overview of how some of these challenges can be tackled successfully in the world of interactive theorem proving. In particular, we focus on what it means to build an infrastructure for scalable reasoning about correctness of zk circuits, cryptographic algorithms, protocol models, and EVM/Yul-based smart contracts in the Lean proof assistant. Along the way, we give examples of how Nethermind was able to leverage such infrastructure in a number of real-world engagements.
Keywords and phrases:
Formal verification, Interactive Theorem Proving, web3Category:
Invited Talk2012 ACM Subject Classification:
Software and its engineering Formal software verificationEditors:
Diego Marmsoler and Meng XuSeries and Publisher:
Open Access Series in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
Bio
Julian completed his PhD in concurrent separation logics at Imperial College London, focusing on verifying safety, termination, and liveness properties of concurrent programs. He has been leading the Formal Verification team at Nethermind since its inception, for 3 years, during which time the team produced significant contributions towards the application of formal methods in web3, including the first formalisation of Yul in Lean, formalisation of RISC-Zero’s Zirgen MLIR, verification tooling and an instrumentation of the Halo2 zkDSL to extract constraints into Lean, and the verification of zkSync’s on-chain zk verifier.