🤖 AI Summary
Existing formal verification approaches struggle to balance expressiveness and automation, particularly when addressing complex protocol features such as state dependency, temporal behavior, unbounded executions, and conditional secrecy. This work proposes a modular verification framework that integrates type systems with trace-based reasoning, co-designing language constructs and automation to achieve protocol-specific automation without sacrificing expressiveness. Built upon the Lean theorem prover, we develop the LeanDY library, which extends the DY* model and combines interactive proof with domain-specific automation. Using this framework, we successfully formalize SegWit-style blockchain primitives and payment channel protocols, verifying punishment mechanisms that rely on chain liveness as well as their core security properties.
📝 Abstract
Computer-aided formal verification is a widely used approach for the symbolic analysis of cryptographic protocols. However, many modern protocols rely on features that remain challenging for existing techniques. In particular, reasoning about state, time-dependent behavior, inductively defined data structures, unbounded executions, and conditional secrecy requires a level of expressiveness that is difficult to reconcile with effective automation. As a result, protocol verification has largely followed two disjoint paths: fully automated methods with limited expressiveness, or interactive proofs in general-purpose theorem provers that offer flexibility but only limited, non-specialized automation.
We present an orthogonal approach that bridges this gap by combining compositional type-based reasoning with trace-based reasoning, enabling modular verification of stateful and unbounded protocols. Guided by the language-and-automation co-design (LAC) principle, our approach delivers protocol-specific automation while retaining high expressiveness. We implement this framework as the LeanDY library for the Lean proof assistant, building on and extending the design of DY*, and combining protocol-specific automation with interactive proofs. Our framework supports, in a unified setting, a broad class of functional and security requirements, including secrecy and authentication for stateful protocols, as well as recursive conditional secrecy for protocols using XOR. We formalize SegWit-style blockchain primitives in LeanDY and demonstrate its expressiveness by carrying out an in-depth formalization of payment channels on top of this blockchain model, verifying punishment mechanisms and properties that depend on chain liveness.