LOCRMar 31, 2020

UTxO- vs account-based smart contract blockchain programming paradigms

arXiv:2003.14271v428 citations
AI Analysis

This work addresses the problem of understanding and comparing smart contract programming models for blockchain developers and researchers, though it is incremental in nature.

The paper compares UTxO and account-based smart contract programming paradigms by implementing a contract in Solidity on Ethereum and Plutus on Cardano, introducing a novel mathematical abstraction called Idealised EUTxO to clarify Cardano's model, and proving simple results about alpha-conversion and observational equivalence for Cardano.

We implement two versions of a simple but illustrative smart contract: one in Solidity on the Ethereum blockchain platform, and one in Plutus on the Cardano platform, with annotated code excerpts and with source code attached. We get a clearer view of the Cardano programming model in particular by introducing a novel mathematical abstraction which we call Idealised EUTxO. For each version of the contract, we trace how the architectures of the underlying platforms and their mathematics affects the natural programming styles and natural classes of errors. We prove some simple but novel results about alpha-conversion and observational equivalence for Cardano, and explain why Ethereum does not have them. We conclude with a wide-ranging and detailed discussion in the light of the examples, mathematical model, and mathematical results so far.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes