2021/08/05 by Afonso Falcão, Falcão, Afonso, Andreia Mordido +3
Computer Science · #Blockchain Technology Applications and Security #Cryptography and Data Security #Digital Rights Management and Security #FOS: Computer and information sciences #Programming Languages (cs.PL)
paper · pdf · doi:10.48550/arxiv.2108.02672
openalex publication_date 2021/08/05 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
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, coupled with an increase of reliability by enforcing the specified patterns of interaction.