Benutzerspezifische Werkzeuge

Smart Contracts

Aus technischer Sicht sind Smart Contracts eigenständige Computerprogramme, die programmierte Aktionen innerhalb einer Blockchain gemäß hinterlegten Regeln automatisiert ausführen können, wenn ein zuvor definiertes Ereignis eintritt. Die allgemeinen Ziele von Smart Contracts bestehen in der gemeinsamen Erfüllung von Vertragsbedingungen, bei gleichzeitiger Verhinderung von zufälligen oder böswilligen Abweichungen. Darüber hinaus ermöglicht die automatisierte Ausführung und die implementierte Logik das Umgehen eines Mittelsmanns oder einer Drittpartei beispielsweise bei der Änderung von Eigentumsverhältnissen oder der Gutschrift einer Zahlung. Zu den damit verbundenen wirtschaftlichen Zielen gehören die Vermeidung von Betrugsfällen, Kosten für Schiedsverfahren und Vollstreckung sowie andere Transaktionskosten.

Begriffsverständnis

Das Konzept der Smart Contracts wurde bereits im Jahr 1994 und damit vor der Erfindung der Blockchain-Technologie vorgestellt und als computerbasiertes Transaktionsprotokoll definiert [Szabo 1997]. Smart Contracts sind als Computerprogramme zu verstehen, die vordefinierte Entscheidungen treffen können, wenn bestimmte Konditionen erfüllt sind [Kõlvart et al. 2016]. Dazu können externe Informationen als Input für Smart Contracts verwendet werden, die dann über zuvor festgelegte Regeln eine bestimmte Aktion hervorrufen [Tuesta et al. 2015]. Die entsprechenden Skripte mit den Programmdetails werden zu diesem Zweck mit einer spezifischen Adresse in der Blockchain gespeichert. Tritt das festgelegte externe Ereignis ein, wird eine Transaktion an die spezifische Adresse des Smart Contracts gesendet. In Abhängigkeit der Daten, die in der auslösenden Transaktion enthalten sind, werden die vorab festgelegten Schritte des Programms bei jedem Teilnehmer (Rechnerknoten) innerhalb des Netzwerkes ausgeführt. Blockchains auf Basis von Smart Contracts erlauben dadurch weit mehr als nur einen Transfer von Werten wie Kryptowährungen [Christidis und Devetsikiotis 2016]. Zur Entwicklung umfangreicher Logiken bieten sie typischerweise eine Touring-vollständige Programmiersprache. Anders als der Name Smart Contract vermuten lässt, ist dieser weder „smart“ noch stellt er einen traditionellen Vertrag mit Rechtswirkung dar. Vielmehr kann ein Smart Contract als eine Software-gestützte Umsetzung eines traditionellen Vertrags angesehen werden. Die historisch gewachsene und teilweise irreführende Bezeichnung „Smart Contract“ hat dazu geführt, dass gerade Juristen ein derartiges Programm auch als Chaincode bezeichnen.

Programmierumgebung Ethereum

Eine der ersten und bekanntesten Plattformen für Smart Contracts ist Ethereum [Buterin 2014]. Die Ethereum-Blockchain beinhaltet dezentral auf jedem Blockchain-Client eine virtuelle Maschine, die Smart Contracts ausführen kann. Geschrieben wird ein Smart Contract für die Ethereum-Blockchain mit Hilfe der Programmiersprache „Solidity“. Solidity ist eine JavaScript-ähnliche Programmiersprache, aus der Ethereum Virtual Machine (EVM)-Bytecode kompiliert wird, um von virtuellen Maschine auf der Blockchain ausgeführt werden zu können. Verallgemeinert besteht ein Smart Contract somit aus einem Set von Funktionen, wobei jede Funktion wiederum durch eine Abfolge von Bytecode-Anweisungen definiert wird [Atzei et al. 2017]. Ein Smart Contract arbeitet als autonomer Teilnehmer im Blockchain-Netzwerk, dessen Verhalten vollständig vorhersagbar ist. Diese Vorhersagbarkeit liefert letztendlich eine Gewissheit über das Ergebnis einer Transaktion.

Anwendungsgebiete und Potenziale

Wurden Blockchain und Smart Contracts zunächst hauptsächlich in der Finanzdienstleistungsbranche diskutiert, so sind in den vergangenen Monaten diverse andere Branchen in diesem Bereich aktiv geworden und erarbeiten Anwendungsfälle und Lösungen. Mögliche Anwendungsgebiete von Smart Contracts sind unter anderem die programmatische Umsetzung von Versicherungsverträgen und Finanzderivaten, das Management von Intellectual Property Rights, das Tracking von Gütern entlang der Supply Chain sowie die Umsetzung intelligenter Produktionssteuerungen. Ein weiteres Anwendungsgebiet stellt die Decentralized Autonomous Organization (DAO) dar, in der Smart Contracts für die Automatisierung von Beziehungen und Geschäftsregeln zwischen Investoren, Management, Mitarbeitern, Kunden und Lieferanten genutzt werden [Omohundro 2014].

Decentralized Autonomous Organization 

Unter einer DAO ist eine dezentrale und autonome Organisationseinheit zu verstehen, die als Computerprogramm auf einem Blockchain-System läuft [Omohundro 2014]. Die DAO beinhaltet Steuerungs- und Geschäftslogiken und ist in der Lage, selbständig Entscheidungen zu treffen, sodass im Prinzip kein menschliches Eingreifen notwendig ist. Aufgrund der Automatisierung durch KI-Logiken ist somit eine DAO vollständig autonom. Eine Interaktion mit der Außenwelt findet mit Hilfe von Smart Contracts statt. So können diese beispielweise Menschen ermöglichen, über einen bestimmten Sachverhalt abzustimmen. Eine DAO kann entweder auf einer eigenen oder auf einer bereits existierenden und etablierten Blockchain aufgebaut werden. Damit eine auf Ethereum implementierte DAO Transaktionen durchführen kann, benötigt sie „Ether“, welches der digitale Treibstoff des Ethereum-Netzwerkes ist. Nach der Implementierung einer DAO kann Ether an die Smart Contract-Adresse der DAO geschickt werden, wofür die DAO im Gegenzug Tokens generiert. Die generierten Token werden proportional zur transferierten Menge von Ether dem Account der schickenden Person oder des Smart Contracts gutgeschrieben. Mit diesen Token erhält die beteiligte Person Stimm- und Eigentumsrechte an der Organisationseinheit [Jentzsch, 2016].

Literatur

Atzei, Nicola; Bartoletti, Massimo und Cimoli, Tiziana: A survey of attacks on Ethereum smart contracts. 6th International Conference on Principles of Security and Trust (POST), European Joint Conferences on Theory and Practice of Software, 2017

Buterin, Vitalik: A next generation smart contract and decentralized application platform. White paper, 2014

Christidis, Konstantinos und Devetsikiotis, Michael: Blockchains and Smart Contracts for the Internet of Things. In: IEEE Access 4, S. 2292–2303, 2016

Jentzsch, Christoph: Decentralized autonomous organization to automate governance. Online-Publikation, 2016, Abgerufen am 12.10.2017, von: https://download.slock.it/public/DAO/WhitePaper.pdf

Kõlvart, Merit; Poola, Margus und Rull, Addi: Smart Contracts. In: The Future of Law and eTechnologies, T. Kerikmäe und A. Rull (eds.). Springer International Publishing, Basel, Cham: 133–147, 2016

Omohundro, Steve: Cryptocurrencies, smart contracts, and artificial intelligence. In: AI Matters 1 (2), S. 19–21, 2014

Szabo, Nick: Formalizing and Securing Relationships on Public Networks, 1997, Abgerufen am 12.10.2017, von http://journals.uic.edu/ojs/index.php/fm/article/view/548/469#1

Tuesta, David; Alonso, Javier; Vegas, Isabel; Cámara, Noelia; Pérez, Mairía Luisa; Urbiola, Pablo und Sebastián, J.: Smart contracts: the ultimate automation of trust?, 2015, Abgerufen am 12.10.2017, von https://www.bbvaresearch.com/wp-content/uploads/2015/10/Digital_Economy_Outlook_Oct15_Cap1.pdf

Autor


 NilsUrbach

Prof. Dr. Nils Urbach, Universität Bayreuth, Professur für Wirtschaftsinformatik und Strategisches IT-Management, Fraunhofer-Projektgruppe Wirtschaftsinformatik, Wittelsbacherring 10, 95444 Bayreuth

Autoreninfo


Zuletzt bearbeitet: 12.01.2018 17:51
Letzter Abruf: 20.10.2019 15:34
Artikelaktionen