Protocol-based Smart Contract Generation
Afonso Falc\~ao, Andreia Mordido, Vasco T. Vasconcelos

TL;DR
This paper introduces SmartScribble, a protocol language that improves smart contract reliability by enforcing correct interaction patterns and simplifying coding, demonstrated through a Plutus-based implementation for Cardano.
Contribution
We propose SmartScribble, a novel protocol language that generates smart contracts with enforced interaction patterns, reducing code size and increasing reliability.
Findings
75% reduction in code size for developers
Enforces correct interaction patterns
Improves contract reliability
Abstract
The popularity of smart contracts is on the rise, yet breaches in reliability and security linger. Among the many facets of smart contract reliability, we concentrate on faults rooted in out-of-order interactions with contract endpoints. We propose SmartScribble, a protocol language to describe valid patterns of interaction between users and endpoints. SmartScribble not only ensures correct interactive behaviour but also simplifies smart contract coding. From a protocol description, our compiler generates a smart contract that can then be completed by the programmer with the relevant business logic. The generated contracts rely on finite state machines to control endpoint invocations. As a proof of concept, we target Plutus, the contract programming language for the Cardano blockchain. Preliminary evaluation points to a 75% decrease in the size of the code that developers must write,…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBlockchain Technology Applications and Security · Digital Rights Management and Security · Cryptography and Data Security
