Program Logics for Ledgers
Publication date
2025-05-16
Editors
Marmsoler, Diego
Xu, Meng
Advisors
Supervisors
Document Type
Part of book
Metadata
Show full item recordCollections
License
cc_by
Abstract
Distributed ledgers nowadays manage substantial monetary funds in the form of cryptocurrencies such as Bitcoin, Ethereum, and Cardano. For such ledgers to be safe, operations that add new entries must be cryptographically sound – but it is less clear how to reason effectively about such ever-growing linear data structures. This paper demonstrates how distributed ledgers may be viewed as computer programs, that, when executed, transfer funds between various parties. As a result, familiar program logics, such as Hoare logic, are applied in a novel setting. Borrowing ideas from concurrent separation logic, this enables modular reasoning principles over arbitrary fragments of any ledger. All of our results have been mechanised in the Agda proof assistant.
Keywords
Agda, blockchain, distributed ledgers, formal verification, program semantics, UTxO separation logic, Geography, Planning and Development, Modelling and Simulation
Citation
Melkonian, O, Swierstra, W & Chapman, J 2025, Program Logics for Ledgers. in D Marmsoler & M Xu (eds), 6th International Workshop on Formal Methods for Blockchains (FMBC 2025)., 10, OpenAccess Series in Informatics, vol. 129, Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing, 6th International Workshop on Formal Methods for Blockchains, FMBC 2025, Hamilton, Canada, 4/05/25. https://doi.org/10.4230/OASIcs.FMBC.2025.10, conference