An empirical analysis of smart contracts: platforms, applications, and design patterns
Massimo Bartoletti, Livio Pompianu

TL;DR
This paper provides an empirical analysis of smart contract platforms, focusing on Bitcoin and Ethereum, examining their usage, application domains, and common programming patterns to understand their design and deployment.
Contribution
It offers a comparative study of smart contract platforms, analyzing their usage and programming patterns, especially in Ethereum, based on empirical data.
Findings
Ethereum dominates smart contract usage in applications.
Common programming patterns include proxy and factory patterns.
Smart contracts are primarily used in financial and gaming domains.
Abstract
Smart contracts are computer programs that can be consistently executed by a network of mutually distrusting nodes, without the arbitration of a trusted authority. Because of their resilience to tampering, smart contracts are appealing in many scenarios, especially in those which require transfers of money to respect certain agreed rules (like in financial services and in games). Over the last few years many platforms for smart contracts have been proposed, and some of them have been actually implemented and used. We study how the notion of smart contract is interpreted in some of these platforms. Focussing on the two most widespread ones, Bitcoin and Ethereum, we quantify the usage of smart contracts in relation to their application domain. We also analyse the most common programming patterns in Ethereum, where the source code of smart contracts is available.
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 · Auction Theory and Applications · Cryptography and Data Security
