TRAC: a tool for data-aware coordination (with an application to smart contracts)
Abstract: We propose TRAC, a tool for the specification and verification of coordinated multiparty distributed systems. Relying on finite-state machines (FSMs) where transition labels look like Hoare triples, \thetool can specify the coordination of the participants of a distributed protocol for instance an execution model akin blockchain smart contracts (SCs). In fact, the transitions of our FSMs yield guards, and assignments over data variables, and with participants binders. The latter allow us to model scenarios with an unbounded number of participants which can vary at run-time. We introduce a notion of well-formedness to rule out meaningless or problematic specifications. This notion is verified with TRAC and demonstrated on several case studies borrowed from the smart contracts domain. Then, we evaluate the performance of TRAC using a set of randomised examples, studying the correlations between the features supported and the time taken to decide well-formedness.
- Buterin, V.: Ethereum: a next generation smart contract and decentralized application platform. https://ethereum.org/whitepaper (2014)
- Object Management Group: Business Process Model and Notation, http://www.bpmn.org
- Hansen, P.: Operating System Principles. Prentice-Hall (1973)
- Laneve, C.: Liquidity analysis in resource-aware programming. Journal of Logical and Algebraic Methods in Programming (2023)
- Microsoft: The blockchain workbench. https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench (2019)
- Microsoft: Simple marketplace sample application for azure blockchain workbench. https://github.com/Azure-Samples/blockchain/tree/master/blockchain-workbench/application-and-smart-contract-samples/simple-marketplace (2019)
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.