TL;DR
This paper introduces a formal, extensible playground for analyzing and verifying interactions among multiple smart contracts on blockchains, aiming to improve correctness assurance before deployment.
Contribution
It presents a novel formal model for multi-contract interactions that enables reasoning about contract correctness in a flexible and extensible way.
Findings
Model abstracts internal contract code and focuses on interactions
Supports reasoning about existing and proposed features
Facilitates pre-deployment correctness proofs
Abstract
Blockchains are maintained by a network of participants that run algorithms designed to maintain collectively a distributed machine tolerant to Byzantine attacks. From the point of view of users, blockchains provide the illusion of centralized computers that perform trustable verifiable computations, where all computations are deterministic and the results cannot be manipulated or undone. Smart-contracts are written in a special-purpose programming language with deterministic semantics. Each transaction begins with an invocation from an external user to a smart contract. Contracts have local storage and can call other contracts, and more importantly, they store, send and receive cryptocurrency. It is very important to guarantee that contracts are correct before deployment since their code cannot be modified afterward deployment. However, the resulting ecosystem makes it very difficult…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
