Design Patterns for Smart Contracts in the Ethereum Ecosystem

Design Patterns for Smart Contracts in the Ethereum Ecosystem

Abstract

The idea to digitally facilitate contract law and business practices through computer programs has led to the notion of smart contracts. Today’s most prominent smart contract ecosystem is Ethereum, a blockchain based distributed computing platform. Due to the inherent nature of blockchain based contract execution, missing low level programming abstractions, and the constant evolution of platform features and security considerations, writing correct and secure smart contracts for Ethereum is a difficult task. Based on a Multivocal Literature Research and an analysis of the gathered data based on qualitative research methods, we mined a number of design patterns providing design guidelines. We describe those patterns in detail and provide exemplary code for better illustration. Our research shows that the patterns are widely used to address application requirements and common problems. We expect generalizability of some or all of the patterns for other smart contract ecosystems, but this is outside of the scope of this study, which studied only smart contract patterns in Ethereum.

Grafik Top
Authors
  • Wöhrer, Maximilian
  • Zdun, Uwe
Grafik Top
Shortfacts
Category
Paper in Conference Proceedings or in Workshop Proceedings (Paper)
Event Title
2018 IEEE International Conference on Blockchain
Divisions
Software Architecture
Subjects
Programmierung Allgemeines
Programmiermethodik
Software Engineering
Event Location
Halifax, Canada
Event Type
Conference
Event Dates
30 Jul - 03 Aug 2018
Series Name
2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData)
Date
30 July 2018
Export
Grafik Top