Smart Contracts: Patterns und Anti-Patterns am Beispiel des Ethereums Ökosystems und Solidity Code

Smart Contracts erfahren derzeit einen großen Hype in Wissenschaft und Praxis. Dies ist nicht zuletzt mit dem zunehmenden Aufkommen von Blockchain Systemen verbunden. Blockchains weisen durch verschiedene mathematische und kombinatorische Verfahren attraktive Eigenschaften auf, die über jene klassischer dezentraler Datenbanken hinaus gehen. Diese sind unter anderem die Unveränderlichkeit von hinterlegten Transaktionsdaten und Gewährleistung von Vertrauen zwischen den Netzwerkteilnehmern. Dadurch eignen sich Blockchains sehr gut für die Verwendung als dezentrales Transaktionssystem, was sich bei sog. Kryptowährungen (zB Bitcoin, Ethereum, LiteCoin, etc.) zeigt.

Einige dieser Plattformen bieten neben dem manuellen Transfer von digitalen Assets auch die Ausführung sogenannter Smart Contracts an. Dabei handelt es sich um ausführbare Regelwerke (Code), die Vereinbarungen zwischen beliebig vielen Parteien abbilden und abwickeln. Die prominente Plattform Ethereum mit der Kryptowährung „Ether“ erlaubt die Erstellung von Smart Contracts in einer eigens dafür entwickelten Programmiersprache: Solidity. Der Erstellungsprozess von Smart Contracts ist bislang wissenschaftlich nur sehr mangelhaft untersucht. Im Rahmen dieser Arbeit sollen Smart Contracts am Beispiel von Solidity Code untersucht und präzise beschrieben werden. Hierbei soll der Fokus insbesondere auf den Erstellungsprozess sowie auf die Ausgestaltung und Gestaltungsempfehlungen (Patterns und Anti-Patterns) von Smart Contracts gelegt werden.