Reusable Formal Verification of DAG-based Consensus Protocols
<|reference_start|>Reusable Formal Verification of DAG-based Consensus Protocols: DAG-based consensus protocols are being adoption by blockchain companies to decrease energy footprints and improve security. A DAG-based consensus protocol collaboratively constructs a partial order of blocks of transactions and produces linearly ordered blocks. The ubiquity and strategic importance of blockchains call for formal proof of the correctness of key components, namely, consensus protocols. This paper presents a safety-proven formal specification of two DAG-based protocols. Our specification highlights several dissemination, DAG construction, and ordering variations that can be combined to express the two protocols. The formalization requires a refinement approach for modeling the consensus. In an abstract model, we first show the safety of DAG-based consensus on leader blocks and then further refine the specification to encompass all blocks for all processes. The TLA+ specification for a given protocol consists of 492-732 lines, and the proof system TLAPS verifies 2025-2294 obligations in 6-8 minutes.<|reference_end|>
@article{bertrand2024reusable,
    title={Reusable Formal Verification of DAG-based Consensus Protocols},
    author={Nathalie Bertrand, Pranav Ghorpade, Sasha Rubin, Bernhard Scholz,
  Pavle Subotic},
    journal={arXiv preprint arXiv:2407.02167},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.02167},
    primaryClass={cs.LO cs.DC cs.SE}
}