Program Logics for Ledgers

Publication date

2025-05-16

Authors

Melkonian, Orestis
Swierstra, WouterORCID 0000-0002-0295-7944ISNI 0000000426852359
Chapman, James

Editors

Marmsoler, Diego
Xu, Meng

Advisors

Supervisors

Document Type

Part of book
Open Access logo

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