Das Ziel dieser Arbeit ist, ein Kosten-Nutzen-Modell (KNM) zu erstellen, dass Nutzer dieses Modells verpflichtet, eine ganzheitliche Betrachtung vorzunehmen, bevor sie Smart Contracts einsetzen. Da Smart Contracts vor allem im Finanzsektor ein großes Einsatzpotenzial haben, konzentrieren sich die nachfolgenden Ausführungen dieser Arbeit ausschließlich auf diesen Bereich.
Eines der primären Ziele von Satoshi Nakamoto war es, mit der Inbetriebnahme der Blockchain, eine Technologie zu präsentieren, die das Vertrauen in zentrale Finanzinstitute infolge deren Eliminierung entbehrlich machen sollte. Schaffen sollte das die Blockchain-Technologie durch ihre Dezentralität und Unveränderbarkeit.
Doch die vorliegende Arbeit dreht sich nicht um die mögliche Revolutionierung des Finanzsystems, sondern um diejenige von herkömmlichen Verträgen und der herkömmlichen Vertragsausführung. Die Rede ist von Smart Contracts und ihrem Vordenker Nicholas Szabo. Szabo hatte bereits 1994 ähnliche Visionen wie Satoshi Nakamoto. Mit Smart Contracts wollte Nick Szabo ein computergestütztes Transaktionsprotokoll schaffen, das die automatisierte Ausführung von Vertragsbedingungen garantiert.
21 Jahre später, im Jahr 2015, scheint sich Nick Szabos Vision mit der Veröffentlichung der Ethereum-Blockchain und ihrer unbegrenzten Verarbeitungsmöglichkeiten zu erfüllen. Mittlerweile können die komplexesten Smart Contracts programmiert und ausgeführt werden. Doch noch immer scheint es keine Sicherheit zu geben, wie Smart Contracts und einige ihrer Komponenten rechtlich einzuordnen sind. So werden einzelne Fragestellungen bereits in Literatur und Praxis diskutiert. In die deutsche Rechtsordnung sind Smart Contracts allerdings noch nicht vollständig eingezogen.
Dennoch haben sich Smart Contracts in Konsortien, Unternehmen oder der Wissenschaft etabliert und zu einem regelrechten Hype entwickelt, vor allem in der Finanzindustrie, die vom disruptiven Charakter der Smart Contracts wohl am stärksten betroffen sein wird. Auffallend ist jedoch, dass nur ein Bruchteil der Pilotprojekte von Konsortien, Unternehmen uvm. auch produktiv realisiert und eingesetzt werden. Gründe dafür sind beispielsweise, dass Kosten und zeitlicher Aufwand unterschätzt werden oder die ausgewählten Prozesse für den Einsatz von Smart Contracts ungeeignet sind. Bei einigen Projekten fehlt sogar die Zielsetzung, welcher Nutzen mit dem Einsatz von Smart Contracts erreicht werden soll.
1.1 Forschungsstand und Problemstellung
1.2 Zielsetzung und Erkenntnisinteresse
2.1.2 Distributed-Ledger-Technologie
2.1.3 Funktionsweise einer Blockchain
2.1.3.2 Datenstruktur einer Blockchain
2.1.3.3 Prozess einer Blockchain-Transaktion
2.2.2 Funktionsweise eines Smart Contracts in Ethereum
2.2.2.2 Datenstruktur in Ethereum
2.2.2.3 Prozessdarstellung des Deployment von Smart Contracts in Ethereum
2.2.2.4 Prozessdarstellung der Ausführung von Smart Contracts in Ethereum
3 Potenzial und Grenzen von Smart Contracts
3.1 Anwendungspotenzial von Smart Contracts
3.1.1 Wertpapierabwicklung
3.1.2 Kreditvergabe
3.1.3 Weitere Anwendungspotenziale
3.2 Technische Grenzen der Blockchain-Technologie
3.2.1 Leistungsfähigkeit und Skalierbarkeit
3.2.2 Anbindung der Blockchain an IT-Systeme
3.2.3 Off-Chain-Daten und Sicherheit in der Blockchain
3.2.4 Fehlender Standard
3.2.5 Lösungsvorschlag
3.3 Rechtliche Grenzen von Smart Contracts
3.3.1 Vertragsschluss mit Smart Contracts
3.3.1.1 Willenserklärungen
3.3.1.2 Formerfordernisse
3.3.1.3 Vertragssprache
3.3.1.4 Einbeziehung von Allgemeinen Geschäftsbedingungen (AGBs)
3.3.2 Vertragsabwicklung mit Smart Contracts
3.3.2.1 Zivilrechtliche Einordnung von Currency Token
3.3.2.2 Eigentumsübertragung an Currency Token
3.4 Fazit
4 Kosten-Nutzen-Modell (KNM)
4.1 Anforderungen an das Kosten-Nutzen-Modell
4.2 Nutzung des Kosten-Nutzen-Modells
4.2.1 Definition des Problems
4.2.2 Auswahl von Alternativen
4.2.3 Erstellung eines Zielsystems
4.2.4 Gliederung und Gewichtung der Kriterien
4.2.5 Bewertung der Alternativen
4.2.6 Nutzenbewertung
4.2.7 Sensitivitätsanalyse
4.3 Kritische Würdigung des Modells
5 Zusammenfassung
5.1 Ergebnisse der Arbeit
5.2 Grenzen der Arbeit
5.3 Ausblick
1 Einleitung
„The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.”[1]
Diese Nachricht speicherte Satoshi Nakamoto mithilfe der ersten Transaktion im Genesis-Block, dem allerersten Block der Bitcoin-Blockchain. Was er damit zum Ausdruck bringen wollte, weiß bis heute niemand, aber ein Zufall ist diese Nachricht wohl dennoch nicht.[2] Denn Nakamotos Ziel war es, mit der Inbetriebnahme der Blockchain eine Technologie zu präsentieren, die das Vertrauen in zentrale Finanzinstitute infolge deren Eliminierung entbehrlich machen sollte. So erhoffte sich Nakamoto ebenso die Reduzierung von Betrugsfällen und effizientere Prozessabläufe. Schaffen sollte das die Blockchain-Technologie durch ihre Dezentralität und Unveränderbarkeit.[3]
Doch die vorliegende Arbeit dreht sich nicht um die mögliche Revolutionierung des Finanzsystems, sondern um diejenige von herkömmlichen Verträgen und der herkömmlichen Vertragsausführung. Die Rede ist von Smart Contracts und ihrem Vordenker Nicholas Szabo. Szabo hatte bereits 1994 ähnliche Visionen wie Satoshi Nakamoto. Mit Smart Contracts wollte Nick Szabo ein computergestütztes Transaktionsprotokoll schaffen, das die automatisierte Ausführung von Vertragsbedingungen garantiert. Dabei wollte er, ähnlich wie seine Vorgänger David Chaum, Visionär anonymer Zahlungen,[4] oder Satoshi Nakamoto, Erfinder der Blockchain,[5] notwendige vertrauenswürdige Intermediäre und somit das erforderliche Vertrauen in sie eliminieren. Außerdem strebte auch er mit seiner Idee die Reduzierung von Betrugsfällen und effizientere Prozessabläufe im Vergleich zu herkömmlichen Verträgen an.[6]
Durch ihre ähnliche Zielsetzungen könnte demnach Szabos Idee von Smart Contracts mithilfe der Blockchain Technologie Realität werden.
1.1 Forschungsstand und Problemstellung
21 Jahre später, im Jahr 2015, scheint sich Nick Szabos Vision mit der Veröffentlichung der Ethereum-Blockchain und ihrer unbegrenzten Verarbeitungsmöglichkeiten zu erfüllen.[7] Mittlerweile können die komplexesten Smart Contracts programmiert und ausgeführt werden.[8] Doch noch immer scheint es keine Sicherheit zu geben, wie Smart Contracts und einige ihrer Komponenten rechtlich einzuordnen sind. So werden einzelne Fragestellungen bereits in Literatur und Praxis diskutiert. In die deutsche Rechtsordnung sind Smart Contracts allerdings noch nicht vollständig eingezogen.[9]
Dennoch haben sich Smart Contracts in Konsortien, Unternehmen oder der Wissenschaft etabliert und zu einem regelrechten Hype entwickelt, vor allem in der Finanzindustrie, die vom disruptiven Charakter der Smart Contracts wohl am stärksten betroffen sein wird.[10]
So hat die Landesbank Baden-Württemberg nicht nur Schuldscheintransaktionen, sondern auch eine Wertpapiertransaktion mithilfe von Smart Contracts auf der Blockchain abgebildet und durchgeführt.[11] Die Commerzbank hat in einer Kooperation mit der Kreditanstalt für Wiederaufbau (KfW) und der MEAG Munich Ergo Assetmanagement GmbH die zahlreichen Intermediäre einer Geldmarktwertpapiertransaktion mittels eines Smart-Contract-Prototyps eliminiert, indem sie den Prozess auf der Blockchain dargestellt haben.[12] Ebenso veröffentlichte die Deutsche Bundesbank zusammen mit der Deutschen Börse Group in einer Pressemitteilung, ihnen sei gelungen, einen Smart-Contract-Prototyp zu entwickeln, der die Abwicklung von Wertpapiertransaktionen und Zahlungen im Rahmen einer Anleihe unterstützen soll.[13]
Allerdings wird nur ein Bruchteil der Pilotprojekte von Konsortien, Unternehmen u. v. m. auch produktiv realisiert und eingesetzt.[14] Einer Studie zufolge, deren Ergebnisse Deloitte im Jahr 2017 veröffentlichte, scheitert ein Großteil der Blockchain-Projekte. Während der Studie hat Deloitte auf der Softwareprojektplattform GitHub über 86.009 Blockchain-Projekte – darunter auch Smart Contracts – untersucht und verfolgt. Das Ergebnis war eindeutig. Deloitte fand heraus, dass lediglich an 8 % der untersuchten Projekte noch aktiv gearbeitet wurde.[15]
Gründe dafür sind beispielsweise, dass Kosten und zeitlicher Aufwand unterschätzt werden oder die ausgewählten Prozesse für den Einsatz von Smart Contracts ungeeignet sind. Bei einigen Projekten fehlt sogar die Zielsetzung, welcher Nutzen mit dem Einsatz von Smart Contracts erreicht werden soll.[16]
1.2 Zielsetzung und Erkenntnisinteresse
Das Ziel dieser Arbeit ist daher, ein Kosten-Nutzen-Modell (KNM) zu erstellen, dass Nutzer dieses Modells verpflichtet, eine ganzheitliche Betrachtung vorzunehmen, bevor sie Smart Contracts einsetzen.
Da Smart Contracts, wie bereits erwähnt wurde, vor allem im Finanzsektor ein großes Einsatzpotenzial haben, konzentrieren sich die nachfolgenden Ausführungen dieser Arbeit ausschließlich auf diesen Bereich.[17] Unter dem Begriff „Finanzsektor“ werden alle Unternehmen erfasst, die finanzielle Leistungen erbringen. Dazu gehören beispielsweise Kreditinstitute, Börsen, Versicherungen, Finanzintermediäre u. v. m.[18]
Aus dieser Zielsetzung lassen sich deshalb die folgenden Forschungsfragen (F) ableiten, die im Rahmen der vorliegenden wissenschaftlichen Arbeit beantwortet werden sollen:
Diese Forschungsfrage (F1.0) wird im vierten Kapitel beantwortet, indem dazu ein Kosten-Nutzen-Modell aufgestellt wird. Bevor jedoch das KNM aufgestellt und von Unternehmen adäquat genutzt werden kann, müssen zunächst die Forschungsfragen F1.1 bis F1.3 beantwortet werden.
Diese Forschungsfrage (F1.1) wird im zweiten und dritten Kapitel beantwortet. Dazu wird zunächst der Begriff der Smart Contracts definiert und ihre technische Funktionsweise beschrieben. Anschließend soll rechtlich beurteilt werden, ob es sich bei Smart Contracts um Verträge im herkömmlichen Sinn handelt.
Diese Forschungsfrage (F1.2) wird im dritten Kapitel beantwortet, indem einige ausgewählte Anwendungsfelder aus dem Finanzsektor betrachtet werden.
Diese Forschungsfrage (F1.3) wird ebenso im dritten Kapitel beantwortet. In diesem Zusammenhang wird aus technischer und rechtlicher Sicht untersucht, wo Smart Contracts aktuell noch an ihre Grenzen stoßen.
1.3 Methodiken
Zur Bearbeitung der vorliegenden Arbeit wird auf die existierende Literatur zurückgegriffen und zusätzlich dazu Experteninterviews durchgeführt.
1.3.1 Literaturarbeit
Primär werden die Forschungsfragen durch den Rückgriff auf die Literaturarbeit beantwortet. Bei der Literatur handelt es sich zum Großteil um Bücher, Aufsätze, Zeitungsartikel und White Papers. Vor dem Hintergrund der Forschungsfragen werden aus diesen Quellen die Faktenlage, die Meinungen und die Argumentationen analysiert. Sie schaffen die Basis für Lösungsvorschläge oder Argumentationen in der vorliegenden Arbeit. Da es sich bei Blockchain-basierten Smart Contracts um ein relativ neues[19] und aktuelles Thema handelt, werden zusätzlich Informationen und einschlägige Internetplattformen verwendet. Diese werden allerdings vor ihrer Verwendung in der Arbeit validiert, indem ihre Korrektheit mit mehreren Quellen auf Plausibilität und Verlässlichkeit abgestimmt wird.
Unterstützend zur Literaturarbeit soll außerdem eine Methode aus der qualitativen Forschung in Form von Experteninterviews durchgeführt, ausgewertet und in der Arbeit verwendet werden. Ziel der Experteninterviews ist, sogenanntes „Insiderwissen“ zu erhalten, das zur Beantwortung der Forschungsfragen beitragen soll.[20]
1.3.2 Experteninterviews
Die Autoren Liebold und Trinczek verstehen unter einem „Experten“ eine „Person[…], die über besondere Wissensbestände verfüg[t] […] im Hinblick auf das jeweilige Forschungsinteresse“.[21] Deshalb werden Experten interviewt, die Blockchain-basierte Smart Contracts für ausgewählte Prozesse bereits implementiert haben oder aktuell an einem Prototyp arbeiten.
1.3.2.1 Vorbereitung
Zu Beginn wurde ein Interviewleitfaden entwickelt.[22]
Dieser beinhaltet zunächst eine Vorbemerkung, dass sich die vorliegende Arbeit ausschließlich mit Blockchain-basierten Smart Contracts und ihrer Verwendung im Finanzsektor beschäftigt. Anschließend werden das Forschungsprojekt und der Forschungszweck[23] beschrieben sowie das Interviewdatum, die Interviewdauer, eine Teilnehmerliste, die Kurzvorstellung des Experten und eine Datenschutzerklärung mitsamt Einwilligung angeführt. Da die personenbezogenen Daten der Experten für die Auswertung der Interviewergebnisse und die Verwendung in der Arbeit irrelevant sind, werden solche vorliegend nicht verwendet. Die Interviews werden allerdings aufgenommen, um sie im Nachgang transkribieren zu können. Daher wurde eine Datenschutzerklärung angefertigt und im Interviewleitfaden aufgenommen.
Dieser beinhaltet außerdem bereits vorformulierte Fragen, die sich in allgemeine Fragen zum Thema „Smart Contracts“ und spezielle Fragen zum Smart-Contract-Projekt des Experten gliedern. Die Fragen werden offen gestellt, das bedeutet, dass sie grundsätzlich strukturiert gestellt werden sollen.[24] Allerdings soll die Gelegenheit genutzt werden, dass Experten interviewt werden, die nicht nur bereits Berührungspunkte mit dem Thema „Smart Contracts“ haben, sondern diese sogar eingesetzt haben oder Prototypen entwickeln. Deshalb werden zwar alle Fragen aus dem Leitfaden gestellt, bei Bedarf aber Rückfragen zu einzelnen Punkten formuliert.
Im nächsten Schritt wurden passenden Experten ermittelt. Bei der Suche nach Experten für das Interview wurden private Kontakte, Personen auf Karriereplattformen oder Geschäftskontakte per E-Mail oder telefonisch angesprochen. Bereits bei der ersten Kontaktaufnahme wurden der Zweck des Interviews sowie der Forschungszweck beschrieben.
Daraufhin erklärten sich vier Experten bereit, sich zum Thema „Smart Contracts“ interviewen zu lassen:
Tabelle 1 Kurzprofil Experten[25]
Zwar konzentriert sich die vorliegende Arbeit auf den Finanzsektor, dennoch sind Experte I und Experte II nicht in diesem Bereich tätig. Beide wurden vor dem Interview gefragt, ob sie auch Aussagen zu Smart Contracts in der Finanzbranche treffen können, was sie bejahten.
1.3.2.2 Durchführung
Alle drei Experteninterviews wurden telefonisch durchgeführt und dauerten nicht länger als eine Stunde. Das erste Gespräch fand am 20. März 2020, das zweite am 30. März 2020 und das dritte am 05. Mai 2020 statt.
Bei jedem Experteninterview wurden die Teilnehmer zunächst begrüßt, dem folgten ein Dank für ihre Bereitschaft zur Teilnahme und eine datenschutzrechtliche Belehrung. Alle vier Experten gaben ihre mündliche Einwilligung zur Audioaufnahme des Interviews, sodass das Gespräch von da an aufgezeichnet wurde. Die schriftliche Datenschutzerklärung erhielten die Experten im Nachgang des Interviews per E-Mail.
Nachdem Vorbemerkung, Forschungsprojekt und Forschungszweck erläutert worden waren, wurde der Experte um eine kurze Vorstellung seiner Arbeit und Berührungspunkte mit Smart Contracts gebeten. Im nächsten Schritt wurden die Experten aufgefordert, den Begriff „Smart Contracts“ zu definieren, damit ihre Antworten interpretiert auch dahingehend werden konnten. Obwohl nur Experte III und Experte IV aus dem Finanzsektor kommen, wurden die übrigen Experten angehalten, die darauffolgenden Fragen in Bezug auf den Finanzsektor zu beantworten, soweit ihnen das möglich war.
1.3.2.3 Nachbearbeitung
Nach Beendigung des Interviews wurde dieses transkribiert. Dabei wurde das Verfahren der einfachen Transkription verwendet. Das heißt, es wurde Lautsprache entfernt, Interpunktion verbessert und Dialekt in Hochsprache übersetzt, ohne den Sinn der Aussagen zu verändern. Außerdem wurde für eine bessere Lesbarkeit bei wiederholenden Aussagen nur eine beibehalten, sofern die Wiederholungen nicht der Betonung der Relevanz der Aussage dienten.[26] Das Transkript wurde mitsamt der schriftlichen Datenschutzerklärung an die jeweiligen Interviewpartner zur Durchsicht verschickt.
Nachdem die Korrektheit der Transkripte durch die Experten bestätigt wurde, erfolgte eine Auswertung der drei Interviews.[27] Für die bessere Lesbarkeit und Verständlichkeit der vorliegenden Arbeit wird die Auswertung bereits zu Beginn präsentiert. Dabei wurden aus Gründen der Vergleichbarkeit lediglich die Fragen aus dem Interviewleitfaden mitsamt Antworten der Experten ausgewertet.
Alle Fragen und Antworten konzentrieren sich auf den Finanzsektor.
Tabelle 2 Auswertung Experteninterviews[28]
Diese Auswertung und die Antworten aus den Rückfragen in den Interviews,[29] die für die vorliegende Arbeit von Bedeutung sind, werden nachfolgend bei der Ausarbeitung verwendet.
1.4 Aufbau der Arbeit
Die Beantwortung der Forschungsfragen erstreckt sich auf vier Kapitel.
Da sich die nachfolgende Arbeit auf Blockchain-basierte Smart Contracts konzentriert, wird im zweiten Kapitel zunächst die Blockchain Technologie erläutert. Dabei wird der Begriff der Blockchain definiert, die Funktionsweise beschrieben und die verschiedenen Arten einer Blockchain werden abgegrenzt. Die Funktionsweise eines Smart Contracts wird nach einer vorherigen Begriffsdefinition anhand von Ethereum erläutert.
Das dritte Kapitel betrachtet sodann ausgewählte Anwendungsszenarien für Smart Contracts im Finanzsektor. Anschließend wird veranschaulicht, wo sich die aktuellen technischen und rechtlichen Grenzen beim Einsatz von Smart Contracts befinden. Auch hier werden nur ausgewählte Bereiche thematisiert. So konzentrieren sich die rechtlichen Ausführungen zu den Begrenzungen auf das Zivilrecht.
Auf der Grundlage der Erkenntnisse aus den vorherigen Kapiteln, der Literaturarbeit und der Experteninterviews wird sodann im vierten Kapitel ein Kosten-Nutzen-Modell aufgestellt.
Letztlich werden im fünften Kapitel die Ergebnisse der Arbeit in Thesenform vorgestellt, die Grenzen der Arbeit aufgezeigt und das weitere Forschungspotential diskutiert.
2 Grundlagen
Die Beantwortung der Forschungsfrage F1.1 Was sind Smart Contracts? gliedert sich in eine technische und rechtliche Sicht. Da Smart Contracts in der vorliegenden Arbeit lediglich im Blockchain-Kontext betrachtet werden, wird für das technische Verständnis zunächst die Funktionsweise der Blockchain erläutert. Darauf aufbauend werden sodann das Deployment und die Ausführung eines Smart Contracts dargestellt.
Die Ausführungen spiegeln dabei Stand der Technik zum Zeitpunkt der Abgabe der Arbeit wider.
2.1 Blockchain-Technologie
Zunächst wird definiert, was unter dem Begriff Blockchain zu verstehen ist, da die beiden Bezeichnungen Bitcoin und Blockchain oftmals als Synonyme verwendet werden.[30] Darauf aufbauend werden anschließend die Funktionsweise und die verschiedenen Formen der Blockchain erläutert. Um die Funktionsweise einer Blockchain zu verdeutlichen, werden die Basistechnologie, die Distributed-Ledger-Technologie, und der Zusammenhang zwischen diesen Technologien erläutert. Beide Funktionsweisen werden vereinfacht dargestellt.
Dabei ist zu beachten, dass die nachfolgende Beschreibung eine grundsätzliche Darstellung der Funktionsweise einer Blockchain ist. Kontinuierlich arbeiten Entwickler an der Verbesserung der Technologie,[31] weshalb sich die Funktionsweisen anderer Blockchains im Laufe der Zeit in einigen Punkten von der beschriebenen Alternative unterscheiden können.
2.1.1 Begriffsdefinition
Eine Blockchain lässt sich am einfachsten als eine dezentrale Datenbank definieren, die von einem verteilten Netzwerk von Computern verwaltet wird. Sie verwendet eine Vielzahl verschiedener Technologien, beispielsweise kryptografische Verfahren und Konsensmechanismen, um Transaktionen[32] in Blöcken zusammenzufassen und kryptografisch miteinander zu verketten (engl. Blockchain).[33] Wie die unterschiedlichen Komponenten der Blockchain im Detail funktionieren, wird anschließend thematisiert.
2.1.2 Distributed-Ledger-Technologie
Die Distributed-Ledger-Technologie ist eine verteilte Datenbank, die von mehreren Teilnehmern verwaltet wird. Jeder Teilnehmer besitzt eine Kopie der Datenbank mit den Informationen, die fortlaufend erfasst werden. Die Datenbank speichert neue Informationen erst ab, wenn die Informationen mittels eines bestimmten Verfahrens von den Teilnehmern validiert werden. Mithilfe eines Aktualisierungsprozesses wird zusätzlich gewährleistet, dass jede Kopie der Datenbank auf dem aktuellen Stand ist.[34] Je mehr Teilnehmer die Datenbank aufweist, desto dezentraler wird die Technologie.[35]
Eine Variante der Distributed-Ledger-Technologie ist die Blockchain. Der wesentliche Unterschied zwischen beiden liegt darin, dass die Blockchain ihre Informationen in Blöcken speichert.[36] Wie die Blockchain jedoch im Detail funktioniert, behandelt das nachfolgende Kapitel.
2.1.3 Funktionsweise einer Blockchain
Die erste funktionierende Blockchain, die zunächst für den Bitcoin-Handel vorgesehen war, wurde durch die Veröffentlichung des Whitepapers „Bitcoin: A Peer-to-Peer Electronic Cash System“ unter dem Pseudonym Satoshi Nakamoto im Jahr 2008 angekündigt.[37]
Wer oder was auch immer Satoshi Nakamoto ist, er war nicht der Erfinder der Blockchain. Bereits David Chaum, der sich seit 1983 mit kryptografischen Signaturen beschäftigte, und Adam Back, der sich dem Proof-of-Work-Konzept widmete, und Nick Szabo, dessen Interesse der der Technologie sich selbst ausführender Verträge galt, arbeiteten auf das hin, was 2009 von Satoshi Nakamoto in Betrieb genommen wurde: die Blockchain.[38]
Am einfachsten lässt sich die Blockchain-Technologie erklären, indem man die Datenstruktur und das System, das die Datenstruktur verwaltet, zunächst getrennt betrachtet (siehe Abbildung 1).[39]
Abbildung 1 Blockchain-Netzwerk[40]
2.1.3.1 System der Blockchain
Das System, das diese Blockchain betreibt, besteht aus mehreren verteilten Knoten (im Englischen Nodes) und stellt ein sogenanntes Peer-to-Peer-System dar. Jeder Computer, der sich mit dem Blockchain-System verbindet, ist ein Node und hat grundsätzlich eine vollständige und aktuelle Kopie der Blockchain auf seinem Rechner. Für die Aktualität seiner Kopie ist jeder Node selbst verantwortlich.[41]
Eine solche Blockchain mitsamt den kompletten gespeicherten Informationen benötigt allerdings erhebliche Mengen an Speicherkapazitäten.[42] Aktuell (Stand Dezember 2019) ist beispielsweise die Bitcoin-Blockchain auf eine Größe von 255 GB angewachsen.[43] Deshalb unterscheidet man zwischen sogenannten Full Nodes und Lightweight Nodes. Full Nodes haben die gesamte Blockchain abgespeichert und führen den kompletten Validierungsprozess eines Blockes durch. Die Leightweight Nodes dagegen haben lediglich den Teil der Blockchain, der für sie relevant ist, und die sogenannten Block Header abgespeichert. Deshalb müssen sie sich in Bezug auf die Korrektheit der Blockchain auf die Full Nodes verlassen.[44]
2.1.3.2 Datenstruktur einer Blockchain
Die Datenstruktur bildet den Kern einer Blockchain. Die gesendeten Transaktionen werden zunächst von den zuvor erwähnten Full Nodes in Blöcken unterschiedlicher Größe zusammengefasst. Der erste Block einer Blockchain ist der sogenannte Genesis Block.[45] Die neuen Blöcke werden sodann mit der bestehenden Blockchain sinnvoll verkettet, wobei zunächst alle Informationen in dem Block einzeln und dann hierarchisch (sogenannter Merkle-Baum) (siehe Abbildung 3) mit einem Hash-Wert versehen werden.[46]
Ein Hash ist eine Zeichenfolge bestehend aus Nummern und Buchstaben (siehe Abbildung 2), deren Länge von der verwendeten Hash-Funktion abhängig ist. Die Bitcoin-Blockchain verwendet beispielsweise die Hash-Funktion SHA256. Ein Hash ist weder umkehrbar noch ist es in gewisser Weise möglich, für zwei unterschiedliche Eingaben zwei identische Hash-Werte zu generieren.[47] Deshalb ist ein kryptografischer Hash mit einem digitalen Fingerabdruck vergleichbar.[48]
Abbildung 2 Beispiel Hash-Generierung mithilfe des SHA256-Algorithmus[49]
Ein Block besteht vereinfacht dargestellt aus einem Block Header und den eingefügten Informationen, beispielsweise den Transaktionen. Die Inhalte des Block Header können zwischen den unterschiedlichen Blockchain variieren. Jeder Block im Block Header enthält jedoch zwingend beispielsweise den Hash des vorherigen Blocks.[50]
Wie eine Transaktion in der Blockchain durchgeführt wird, sollen die nachfolgenden Ausführungen und unterstützend die grafischen Prozessdarstellungen veranschaulichen.
2.1.3.3 Prozess einer Blockchain-Transaktion
Abbildung 3 Prozessdarstellung: Blockchain-Transaktion[51]
(Vergrößerte Darstellung im Anhang)
Möchten Teilnehmer in der Blockchain-Transaktionen initiieren, muss dafür zunächst ein asymmetrisches kryptographisches Verfahren angewendet werden. Dabei generiert der Absender der Transaktion mithilfe einer Hash-Funktion sowohl einen sogenannten Public Key als auch einen Private Key (siehe Abbildung 3). Der Public Key wird aus dem Private Key erstellt und vom Absender an die Kommunikationsteilnehmer veröffentlicht. Der Public Key allerdings verbleibt geschützt beim Absender zum Signieren und Entschlüsseln der Nachrichten. Folglich heißt das, dass Nachrichten, die mit einem Private Key signiert sind, nur mit dem dazugehörigen Public Key entschlüsselt werden können. Umgekehrt kann hingegen auch eine mit dem Public Key signierte Nachricht nur mit dem dazugehörigen Private Key entschlüsselt werden.[52]
Wie bereits erläutert, fassen die Full Nodes im nächsten Schritt die gesendeten Transaktionen in Blöcke zusammen, überprüfen deren Gültigkeit (zum Beispiel auf mögliche doppelte Ausgaben und Einhaltung der Formalien)[53] und generieren zunächst für alle Transaktionen einzeln und im folgenden Schritt hierarchisch Hash-Werte mittels einer bestimmten Hash-Funktion.[54]
Anschließend wird der validierte Block mit der restlichen Blockchain verkettet. Damit ein Block jedoch wirksam in die bestehende Blockchain aufgenommen wird, muss ein sogenannter Konsens mithilfe einer Konsensmethode erzielt werden.[55] Auch die Konsensmethoden können bei verschiedenen Blockchain variieren. In der Bitcoin-Blockchain wird der Konsens durch die sogenannte Proof-of-Work-Methode erreicht.[56] Dabei wird unter Aufwendung einer erheblichen Rechenleistung ein bestimmtes mathematisches Rätsel gelöst, dessen Ergebnis den Vorgaben der jeweiligen Blockchain entsprechen muss. Für den Aufwand der Rechenleistung erhalten die Full Nodes eine monetäre Entschädigung, die auch die Transaktionsgebühren beinhaltet. Diese Full Nodes werden auch Miner genannt.[57]
Das Ergebnis wird von dem Miner an die restlichen Nodes verteilt, die dessen Gültigkeit ohne nennenswerten Aufwand kontrollieren. Haben mindestens 51 % der Nodes den neuen Block übernommen, ist er mit der restlichen Blockchain wirksam verkettet. Haben allerdings mehrere Miner parallel das korrekte Ergebnis für einen Block gefunden und bringen diesen in Umlauf, setzt sich am Ende die Version mit der längsten nachfolgenden Kette an Blöcken durch.[58]
2.1.4 Typologie
Durch die Arbeit der Entwickler, die ständig an der Verbesserung der Blockchain arbeiten, entstanden auch unterschiedliche Varianten der Blockchain. Grundsätzlich wird nach dem Zugriff (sogenannte Private und Public Blockchain) und nach der Verwaltung (sogenannte Permissioned und Permissionless Blockchain) unterschieden.[59] Daraus ergeben sich theoretisch vier Varianten: Private Permissioned, Private Permissionless, Public Permissioned und Public Permissionless.[60] Für ein besseres Verständnis werden die einzelnen Varianten getrennt definiert.
Tabelle 3 Typologie der Blockchain[61]
Sowohl in der Theorie als auch in der Praxis, wird vereinfacht lediglich zwischen öffentlicher und privater Blockchain unterscheiden. So geht auch die Bundesanstalt für Finanzdienstleistungsaufsicht (BaFin) vor, die unter einer öffentlichen Blockchain eine absolut zugangsfreie und für jeden einsehbare Blockchain versteht. Alle hybriden Lösungen wie die Public Permissioned, Private Permissioned und Private Permissionless Blockchain, die entweder den Zugang, die Validierung oder beides einschränken, fasst die BaFin unter dem Begriff der privaten Blockchain zusammen.[62]
Da dies für den weiteren Verlauf der Arbeit irrelevant ist, wird in den weiteren Ausführungen der Arbeit ebenso lediglich zwischen öffentlicher als absoluter unbeschränkter Blockchain und privater als zugangs- und/oder validierungsbeschränkter Blockchain unterschieden.
2.2 Smart Contracts
Auf der Grundlage der Erkenntnisse aus den vorherigen Ausführungen zur Funktionsweise einer Blockchain wird in den nachfolgenden Kapiteln die Funktionsweise eines Smart Contracts erläutert. Nach einem Definitionsversuch des Begriffs Smart Contracts sollen das Deployment und die Ausführung eines Smart Contracts anhand der Ethereum-Blockchain dargestellt werden.
2.2.1 Begriffsdefinition
Definitionsversuche existieren bereits seit 1994, als der Informatiker[63] Nicholas Szabo seine Idee eines „Smart Contracts“ in einem Whitepaper veröffentlichte. [64] Primär soll in diesem Kapitel geklärt werden, was unter „smarten“ Verträge zu verstehen ist. Nicht unwesentlich ist dabei auch die Frage, ob es sich bei Smart Contracts um Verträge im juristischen Sinne und damit um durchsetzbare Rechtsgeschäfte handelt, die durch mindestens zwei übereinstimmende Willenserklärungen zustande gekommen sind.[65]
Mittlerweile existieren zahlreiche unterschiedliche Definitionsversuche. Selbst aus drei durchgeführten Experteninterviews resultierten vier Definitionen von Smart Contracts.
So versteht Experte I unter Smart Contracts eine „[…] objektiv überprüfbare Bedingung, die eintritt und somit eine Interaktion auf der Ethereum-Blockchain ausführt.“[66] Experte II definiert Smart Contracts als „[…] eine Art Computerprogramm, das auf der Blockchain läuft und dessen Ausführung nicht beeinträchtigt werden kann.“[67] Experten III und Experte IV „[…] sehen Smart Contracts als ein Format, um existierende Risiken zu verringern oder gar zu beseitigen.“[68] Experte IV ist sogar der Meinung, dass Smart Contracts herkömmliche Verträge sind. Die Experten III und IV sind sich jedoch einig, dass Smart Contracts nicht zwingend an die Blockchain-Technologie gebunden ist.[69] Da sich die vorliegende Arbeit allerdings auf Blockchain-basierte Smart Contracts konzentriert, werden nur die diese in den nachfolgenden Ausführungen berücksichtigt.
Aufgrund der Vielzahl an Definitionsversuchen konzentriert sich diese Arbeit auf zwei wesentliche: die anfängliche Begriffsbestimmung von Nicholas Szabo und eine der heutigen Definitionen.
Szabo beschreibt einen „Smart Contract“ als ein computergestütztes Transaktionsprotokoll, das die automatisierte Ausführung von Vertragsbedingungen unterstützt.[70]
Dabei verstand er unter „smart“, vorerst nicht den Einsatz von künstlicher Intelligenz, sondern die Reduzierung bzw. Abschaffung, von Intermediären. Dadurch prognostizierte Szabo eine höhere Funktionalität von Smart Contracts im Gegensatz zu herkömmlichen juristischen Verträgen.[71] Dies führt zum nächsten Punkt: Unter „Contracts“ verstand Szabo nicht etwa Verträge im juristischen Sinne, sondern die eigentliche Ausführung der Vertragsbedingungen und folglich eine Wenn-dann-Beziehung.[72]
Anders sieht es bei einer der aktuelleren Definitionen aus, denn erst durch die Blockchain und ihre vielfältigen Verwendungsmöglichkeiten rückten Smart Contracts wieder in den Fokus.[73]
Gemäß den beiden Rechtsanwälten Markus Kaulartz und Jörn Heckmann ist „ein Smart Contract eine Software […], die rechtlich relevante Handlungen (insbesondere einen tatsächlichen Leistungsaustausch) in Abhängigkeit von digital prüfbaren Ereignissen steuert, kontrolliert und/oder dokumentiert, mit dessen Hilfe aber unter Umständen auch […] dingliche und/oder schuldrechtliche Verträge geschlossen werden können.“[74] Kaulartz und Heckmann sehen zwar auch nicht den zwingenden Einsatz von künstlicher Intelligenz vor, erwägen aber die Möglichkeit des Vertragsschlusses mithilfe der Blockchain-Technologie.[75]
Beide Definitionen verdeutlichen, dass man sich zwar im weitesten Sinne über die Zuordnung von Smart Contracts einig ist. Jedoch herrscht selbst unter Definitionsversuchen aus dem Jahr 2019 Uneinigkeit über beispielsweise die zugrunde liegende Technologie oder die Möglichkeit des wirksamen Vertragsschlusses.[76]
Für die nachfolgende Ausarbeitung wird daher festgelegt, dass es sich bei Smart Contracts um die automatisierte Ausführung von Wenn-dann-Beziehungen mithilfe der Blockchain-Technologie handelt. Dabei werden die Möglichkeit der wirksamen Ausführung von Vertragsbedingungen und der wirksame Vertragsschlusses zunächst nicht ausgeschlossen, sondern im dritten Kapitel unter juristischer Betrachtungsweise untersucht.
2.2.2 Funktionsweise eines Smart Contracts in Ethereum
Da Smart Contracts in der vorliegenden Arbeit lediglich im Zusammenhang mit der Blockchain-Technologie betrachtet werden, wird auch die Funktionsweise mithilfe von Ethereum dargestellt. Allerdings existieren in Ethereum neben Smart Contracts zahlreiche weiter Anwendungen, sogenannte Decentralized Applications (DApps). Da diese Anwendungen jedoch nicht Gegenstand der vorliegenden Arbeit sind, werden sie in den nachfolgenden Ausführungen nicht weiter thematisiert.[77]
Ethereum basiert auf den Arbeiten von Satoshi Nakamoto und Nick Szabo und wurde zum ersten Mal im Jahr 2013 von seinem Erfinder Vitalik Buterin vorgestellt und 2015 in Betrieb genommen.[78] Auch Ethereum funktioniert wie die bereits zu Beginn dargestellte Blockchain-Technologie[79] und bietet die Möglichkeit, Kryptowährungen (in Ethereum sogenannte Ether) zu verschicken.[80] Ethereum war jedoch die erste Blockchain, die Szabos Idee von sich selbst ausführenden Verträgen ermöglichte. Während andere Blockchain bis dato lediglich die Erweiterung von Transaktionen durch einfache Bedingungen ermöglichten, bietet Ethereum zusätzlich eine Plattform, auf der jedermann eigenständig komplexe Anwendungen entwickeln und ausführen kann.[81]
Die folgende Funktionsweise eines Smart Contracts wird stark vereinfacht dargestellt und stellt zudem keinen allgemeinen Standard dar, sondern kann aus zwei Gründen zwischen verschiedenen Blockchain variieren:
Zum einen kann sich die Funktionsweise von Smart Contracts in Hinblick auf die Ausgestaltung des Zugriffs (Public Blockchain, Private Blockchain) oder der Verwaltung (Permissioned Blockchain, Permissionless Blockchain) unterscheiden. Zum anderen arbeiten Entwickler kontinuierlich an der Verbesserung der Technologie,[82] weshalb sich nicht nur die zukünftige Funktionsweise von Smart Contracts von der beschriebenen unterscheidet. Es besteht außerdem die Möglichkeit, dass die Technologie nach oder noch während der Bearbeitung der vorliegenden Arbeit bereits veraltet ist und sich die Funktionsweise von Smart Contracts gravierend verändert hat.
Um den Deployment- und Ausführungsprozess eines Smart Contracts auf Ethereum darstellen zu können, werden zum besseren Verständnis zunächst das System und die Datenstruktur in Ethereum erläutert.
2.2.2.1 System von Ethereum
Auch Ethereum ist ein Peer-to-Peer-Netzwerk,[83] auf dem neben dem Transfer von Kryptowährungen auch die Entwicklung und Ausführung von Smart Contracts möglich ist. Aufgrund dessen existieren neben den Nodes, die in Ethereum als Externally Owned Accounts (sogenannte EOAs) bezeichnet werden, auch sogenannte Contract Accounts. Wie sich beide Accounts unterscheiden, lässt sich vereinfacht folgendermaßen darstellen:
Hinter EOAs stecken Netzwerkteilnehmer. Ihre Accounts enthalten den Saldo an Ether, eine sogenannte Nonce, die die Anzahl der erfolgreich getätigten Transaktionen umfasst,[84] einen Datenspeicher und einen Private Key. Aufgrund des Letzteren können EOAs Transaktionen initiieren.[85]
Contract Accounts dagegen enthalten den Saldo an Ether, eine Nonce, die die Anzahl der der erfolgreich von diesem Account erstellten Smart Contracts umfasst,[86] und einen Datenspeicher mitsamt dem gespeicherten Smart Contract Code. Da Contract Accounts keinen Eigentümer und somit auch keinen Private Key besitzen, können sie zwar Transaktionen von EOAs oder anderen Contract Accounts empfangen und weiterleiten. Es ist Contract Accounts jedoch nicht möglich, Transaktionen zu initiieren.[87]
Anders als das zuvor beschriebene System der Blockchain[88] besteht Ethereum nicht nur aus einer Blockchain, sondern auch aus einer sogenannten Ethereum Virtual Machine (EVM), auf der Smart Contracts ausgeführt werden. Interagieren EOAs untereinander, dann geschieht das außerhalb der EVM.[89]
Die EVM ist eine sogenannte Quasi-Turing-vollständige Plattform. Das bedeutet, dass die EVM alle erdenklichen Berechnungen ausführen kann und damit universell programmierbar ist. Durch die Turing-Vollständigkeit besteht jedoch nach der Theorie von Alan Turing die Gefahr, dass die Anwendungen in das Unendliche laufen, das Halteproblem.[90]
Das Halteproblem wird in Ethereum durch das sogenannte Gas gelöst. In dem von Gavin Wood 2019 veröffentlichten Yellow Paper zu Ethereum befindet sich u. a. eine Gebührenordnung, die für jede Berechnung einen Gaspreis festlegt. Soll beispielsweise ein Smart Contract ausgeführt werden, muss der Absender die für diese Berechnung notwendige Gasmenge erwerben. Ist der Erwerb an Gas abgeschlossen, endet auch die Ausführung des Smart Contracts.[91] Jedoch bedeutet das auch, dass bei einer unzureichenden Menge an Gas die Ausführung des Smart Contracts angehalten und dieser insgesamt annulliert wird.[92]
Eine weitere Besonderheit sind sogenannte Oracles. Oracles bilden eine Schnittstelle zwischen der Blockchain und Informationen außerhalb dieser. Möglich ist die Speicherung sowohl von festen Off-Chain-Daten wie beispielsweise Identifikationsdaten oder Zertifikaten als auch von unbeständigen Off-Chain Daten wie beispielsweise Aktienkursen, Wechselkursen, Wetterdaten u. v. m., die im Datenspeicher laufend aktualisiert werden. In die Blockchain integriert werden sie durch eine Transaktion. Die im Datenspeicher des Smart Contracts abgelegten Daten können sodann von EOAs eingesehen aber auch von anderen Smart Contracts angefordert werden, um die jeweiligen Bedingungen ausführen zu können.[93]
Letztendlich läuft die EVM wie ein globaler Singleton einheitlich auf jeder Kopie eines Nodes, sodass sie mit einem zusammenhängenden Weltcomputer verglichen wird.[94] Über die komplette Blockchain in Ethereum verfügen allerdings nur die Full Nodes. Doch seit der Inbetriebnahme von Ethereum stieg die Größe der Blockchain aufgrund der Datenstruktur der einzelnen Blöcke rasant an. Aktuell existieren mehrere Lösungen zur Behebung dieses Problems. Eine davon stellen die sogenannten Pruned Nodes dar, die dabei mithilfe eines Clients alle Transaktionen der Ethereum-Blockchain seit dem Genesis-Block vollständig einsehen und überprüfen. Das heißt, der Pruned Node kann im Gegensatz zum Leightweight Node ebenso wie der Full Node neue Blöcke validieren. Lokal abgespeichert enthält der Pruned Node jedoch u. a. nur eine verkürzte Version der Blockchain mit dem aktuellen Zustand.[95]
2.2.2.2 Datenstruktur in Ethereum
In der Ethereum-Blockchain werden, wie bereits im allgemeinen Teil beschrieben,[96] die Daten in Blöcke zusammengefasst und mithilfe der Hash-Funktion SHA256 mit einem Hash-Wert versehen.[97]
Wie bereits erwähnt, steigt die Größe der Blockchain in Ethereum rasant an, da ein Block in Ethereum im Gegensatz zur Bitcoin-Blockchain u. a. den sogenannten state root enthält. Dieser beinhaltet kryptografisch gehasht alle Salden, Datenspeicher, den Smart Contract Code und die Nonce.[98]
Wie Smart Contracts in Ethereum eingesetzt und ausgeführt werden, sollen die nachfolgenden Ausführungen und unterstützend die grafischen Prozessdarstellungen veranschaulichen.
2.2.2.3 Prozessdarstellung des Deployment von Smart Contracts in Ethereum
Abbildung 4 Prozessdarstellung: Deployment Smart Contracts in Ethereum[99]
(Vergrößerte Darstellung im Anhang)
Auf der EVM können lediglich Smart Contracts ausgeführt werden, die in dem sogenannten Bytecode programmiert wurden. Wie in Abbildung 4 Schritt drei erkennbar, ist die Programmierung in Bytecode anspruchsvoll und im Gegensatz zu Programmiersprachen wie Java schwer verständlich. Deshalb werden Smart Contracts, bevor sie auf der EVM ausgeführt werden können, in einer der zahlreichen Hochsprachen geschrieben. Hochsprachen sind so entwickelt, dass sie problemlos mithilfe eines sogenannten Compilers in Bytecode übersetzt werden können. Aktuell am häufigsten verwendet wird die Programmiersprache Solidity, die JavaScript, C++ oder Java ähnelt, aber einfacher zu kompilieren ist.[100]
Nachdem der Smart Contract in Solidity geschrieben und in Bytecode kompiliert wurde, wird er mithilfe einer Kontrakterzeugungstransaktion in der Blockchain aufgenommen. Ist der Vorgang abgeschlossen, können nun registrierte und validierte Contract Accounts Transaktionen empfangen und weiterleiten.[101]
2.2.2.4 Prozessdarstellung der Ausführung von Smart Contracts in Ethereum
Abbildung 5 Prozessdarstellung: Ausführung von Smart Contracts in Ethereum[102]
Die Ausführung eines Smart Contracts wird durch einen EOA initiiert (siehe Abbildung 5). Dabei generiert er eine Transaktion mit dem Smart Contract Code als Zieladresse. Gegenstand dieser Transaktionen müssen dabei nicht zwingend Ether sein. Ebenso können Daten an den Smart Contract gesendet werden.[103]
Bei Transaktionen, die einen Smart Contract als Ziel haben, muss der EOA das sogenannte Gaslimit und den Gaspreis angeben. Im Grunde handelt es sich hierbei um Transaktionskosten. Allerdings existiert das Gas nicht außerhalb der EVM. Vielmehr werden Gaslimit und Gaspreis in Ether angegeben, in der EVM in Gas umgerechnet und bei erfolgreicher Validierung dem Node wieder in Ether umgerechnet und überwiesen.[104]
Das Gaslimit legt der EOA anhand der einzelnen Berechnungsschritte des Smart Contracts und der zuvor erwähnten Gebührenordnung[105] fest. Dabei ist es ratsam, das Gaslimit etwas großzügiger anzugeben. Reicht das angegebene Gas nicht aus, wird die Ausführung des Smart Contracts abgebrochen, die Transaktion auf ihren Ausgangspunkt gesetzt und der EOA verliert ersatzlos das gesamte für die Transaktion angegebene Gaslimit. Letztlich gibt der EOA den Gaspreis je Gas an, den er bereit zu zahlen ist. Dabei besteht ein kausaler Zusammenhang zwischen der Höhe der Transaktionsgebühr und der Geschwindigkeit der Validierung. Die Transaktionsgebühren erhält der Full Node bei erfolgreicher Erweiterung der Blockchain und wird deshalb regelmäßig die Blöcke mit den höchsten Transaktionsgebühren bevorzugt validieren.[106]
Wird eine Transaktion an den Contract Account (Smart Contract) gesendet, kommt es sodann zu einer Ausführung der im Smart Contracts programmierten Bedingungen auf der EVM. Dabei kann der Smart Contract, wie bereits beschrieben wurde, mithilfe von Oracles auf Off-Chain-Daten zugreifen oder Transaktionen an EOAs oder weitere Smart Contracts senden. Das Ganze geschieht auf jeder Kopie der EVM.[107] Da es sich bei der EVM jedoch um eine Single-Thread-Maschine handelt, werden die Smart Contracts keinesfalls parallel, sondern nacheinander auf jeder Kopie der EOAs ausgeführt.[108]
Ergibt sich durch die Ausführung eines Smart Contracts auf der EVM eine Zustandsänderung, wird diese in der Blockchain mithilfe einer Konsensmethode gespeichert. Aktuell erzielen Nodes in der Ethereum-Blockchain mit der Proof-of-Work-Methode einen Konsens.[109] Diese Methode erfordert allerdings nicht nur einen hohen Zeit- und Kostenaufwand. Auch die schwindende Dezentralisierung durch sogenannte Mining Pools und die Problematik der Skalierbarkeit aufgrund der benötigten Rechenleistung sind Teil vieler kritischer Diskussionen über die Zukunft der Proof-of-Work-Methode.[110]
Deshalb begannen 2014 die Arbeiten zur sogenannten Proof-of-Stake-Methode, die in der Ethereum-Blockchain zukünftig verwendet werden soll. Hierbei müssen die Nodes, die Blöcke validieren möchten, eine beliebige Menge an Ether mithilfe einer Transaktion blockieren. Während des Validierungsprozesses können diese Ether nicht ausgegeben werden. Sie sind vielmehr als Anteil an Ether (englisch: Stake) anzusehen. Sodann wird anhand eines Zufallsprinzips ein Node ausgewählt, der den neuen Block validieren darf. Wird dieser Block wirksam mit der Blockchain verkettet, erhält der Node die Transaktionsgebühren.[111]
Einer der Hauptkritikpunkte an der Proof-of-Stake-Methode ist das sogenannte Nothing-at-Stake-Problem.[112]
Um dieses Problem erklären zu können, müssen zunächst zwei Arten einer Fork, die Hard Fork und die Soft Fork, erläutert werden. Eine Fork ist vergleichbar mit einem gewöhnlichen Update, das auftretende Problem der jeweiligen Blockchain lösen soll. Der Unterschied zwischen beiden liegt vereinfacht gesagt lediglich in ihrer Kompatibilität. Bei einem Soft Fork muss das neue Protokoll von den Nodes nicht zwingend angenommen werden, da das neue Protokoll mit dem alten kompatibel ist. Nodes, die die Soft Fork nicht durchführen, können trotzdem weiterhin Transaktionen, Validierungen u. v. m. realisieren, solange sie nicht den Regeln des alten Protokolls widersprechen. Wird allerdings ein Hard Fork durchgeführt, der inkompatibel mit dem alten Protokoll ist, müssen alle Nodes dieses Update durchführen, da sie anderenfalls keine Transaktionen, Validierungen u. v. m. in der neuen Version der Blockchain vornehmen können.[113]
Wie bereits in Kapitel 2.1.3.3 erwähnt, kann der Fall auftreten, dass Blöcke parallel validiert werden, wobei sich am Ende diejenige Version mit der längsten nachfolgenden Kette an Blöcken durchsetzt.[114] Bei der Proof-of-Stake-Methode stellt das ein Problem dar, denn ein Node kann eine bestimmte Menge an Ether für mehrere Versionen eines Blockes blockieren, um sodann in jeder Version Blöcke zu validieren. Wird sodann eine Version des Blockes von der Mehrheit der Nodes angenommen, erleidet der Node keinerlei Verluste und erhält zusätzlich die Transaktionsgebühren für seine validierten Blöcke (Nothing-at-stake). Daraus können beispielsweise Fehler in der Konsensfindung resultieren.[115]
Um die Proof-of-Stake Methode trotzdem für Ethereum ermöglichen zu können, haben Vitalik Buterin und Virgil Griffith im Oktober 2017 das sogenannte Casper Protokoll vorgestellt. Dieses sieht nicht nur einen schrittweisen Übergang von der Proof-of-Work-auf die Proof-of-Stake-Methode in Ethereum vor. Beide Autoren präsentieren beispielsweise auch eine Lösung für das Nothing-at-stake-Problem. Dabei verliert ein Node bei Fehlverhalten seinen gesamten geblockten Anteil.[116] Stand Mai 2020 ist das Casper-Protokoll noch nicht eingeführt, weshalb neue Blöcke aktuell noch mit der Proof-of-Work-Methode validiert werden.[117]
Wurde ein Konsens über die Zustandsänderung erzielt, wird der validierte Block wirksam mit der restlichen Blockchain verkettet.[118]
2.3 Fazit
Nick Szabos Ziel war, wie zu Beginn dargestellt, die automatisierte Vertragsausführung zu garantieren, das Vertrauensmodell und die bis dato notwendigen Intermediäre zu eliminieren, Betrugsfälle zu reduzieren sowie die Steigerung der Prozesseffizienz bei der Vertragsausführung zu erreichen. Und tatsächlich scheint die Blockchain-Technologie das Potenzial zu haben, Szabos Idee eines computergestützten Transaktionsprotokolls, dass die automatisierte Ausführung von Vertragsbedingungen unterstützt, zu realisieren, insbesondere seit der Inbetriebnahme von Ethereum, womit erstmalig das Programmieren und Ausführen von komplexen Smart Contracts ermöglicht wurde.[119]
Fraglich ist, wo Smart Contracts in der Praxis eingesetzt werden können und wo ihre technischen und rechtlichen Grenzen liegen. Im Zusammenhang mit der Beantwortung dieser beiden Forschungsfragen (F1.2 und F1.3) wird auch aus rechtlicher Sicht geklärt, was Smart Contracts sind (F1.1).
- Arbeit zitieren
- Kristina Heizenreder (Autor:in), 2020, Kosten-Nutzen-Modell für den Einsatz von Smart Contracts bei ausgewählten Transaktionen. Kann eine Blockchain die beste Alternative sein?, München, GRIN Verlag, https://www.grin.com/document/1167853
-
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen. -
Laden Sie Ihre eigenen Arbeiten hoch! Geld verdienen und iPhone X gewinnen.