Читать книгу Kryptowährungen und Token - Группа авторов - Страница 79
3. Blockchain-Technologie mit „Smart Contracts“
Оглавление130
In der Bitcoin-Blockchain werden Transaktionen – also strukturierte Daten – gespeichert. Die Entwicklung blieb hier allerdings nicht stehen. Mit der Blockchain Ethereum wurde im Jahr 2015 eine Blockchain-Technologie mit einer sehr folgenreichen neuen Fähigkeit entwickelt: Ethereum ist eine Blockchain, die zusätzlich zu transaktionalen Daten auch (kleine) Computer-Programme speichern kann. Hinsichtlich der Programme garantiert das Ethereum-Protokoll nicht nur deren Unveränderlichkeit, sondern darüber hinaus die Tatsache, dass diese Programme unbedingt (also ohne die Möglichkeit jeglicher späteren Einflussnahme) so, wie geschrieben, ausgeführt werden.
131
Da jeder darauf vertrauen (und dies a posteriori überprüfen) kann, dass einmal geschriebene und in der Blockchain gespeicherte Programme tatsächlich laufen und korrekt ausgeführt werden, hat sich für diese Programme der Name „Smart Contracts“ eingebürgert.
132
Wie so viele Termini im Umfeld neuer Technologien ist auch dieser problematisch: „smart“ sind die kleinen Programme sicher nicht – im Gegenteil, sie sollen ja sklavisch genau ihre Befehlszeilen abarbeiten; und ein Vertrag „Contract“ kann ja durch das einseitige Schreiben und Speichern eines Codes wesensgemäß nicht zustande kommen.
133
Ein besserer Begriff (der sich aber nicht durchgesetzt hat) wäre der des „souveränen Programms“, weil die Programme, sobald einmal geschrieben und gespeichert, unabhängig sind und in der Blockchain deterministisch ausgeführt werden.
134
Für umfangreichere Programme oder miteinander zusammenspielende Smart Contracts auf Basis einer dezentralen Blockchain hat sich der Name dAPP (für „decentral Application“) etabliert. Als ein Beispiel für eine solche dAPP sei die Flugverspätungsversicherung der AXA dargestellt.
135
Beispiel: Flugverspätungsversicherung35
Die AXA legt als erster großer Versicherer ein Produkt auf Basis der Kryptowährung Ethereum auf. Mit „Fizzy“ können sich Fluggäste gegen Verspätungen absichern, berichtet das Fachmagazin „Versicherungswirtschaft“. Die neue Police ist eine sog. parametrische Versicherung. Das heißt: Sie reguliert, sobald ein bestimmter Parameter einen festgelegten Grenzwert überschreitet. In diesem Fall: Wenn sich ein Flug um mehr als zwei Stunden verspätet.
Der Kauf einer solchen Police wird in der Blockchain gespeichert. Das Netzwerk ist mit einer globalen Flugverkehrsdatenbank verbunden, sodass „Fizzy“ einen Schadensfall selbsttätig und ohne menschliche Hilfe feststellen kann. Binnen sieben Tagen sollen Versicherungsnehmer dann das Geld auf dem Konto haben.
136
Das Beispiel offenbart Wirkungsweise und Nutzen der Smart Contracts: Für die Einhaltung des Übereinkommens (Zahlung bei Verspätung) und der damit verbundenen Transaktionsregeln wird keine vertrauenswürdige dritte Partei benötigt. Stattdessen wird das Regelwerk des Vertrags automatisch ausgeführt; aufgrund der durch die Blockchain zugesicherten Unveränderlichkeit des Codes und der Ausführungsgarantie können sich beide Seiten hierauf verlassen.
137
Die konkrete Implementierung zeigt allerdings zwei Schwächen auf, die symptomatisch für viele der dAPP-Implementierungen auf Basis des jetzigen Stands der Technologie sind:
– Ein Smart Contract kann per heute keine Zahlungen in klassischer Fiatwährung anweisen. Eine Zahlung in Ether (der nativen Währung von Ethereum – siehe Rn. 155) wäre dagegen möglich. Aufgrund der hohen Volatilität des Werts von Kryptowährungen ist eine solche aber für die meisten Kunden nicht akzeptabel.36
– Selbst wenn wir annehmen, dass der Kunde eine Zahlung in der Kryptowährung Ether akzeptiert, existiert folgende Schwierigkeit: Der Kunde muss der Zahlung aus dem Smart Contract vertrauen können. In der Tat kann er ja den Smart Contract als Code in der Ethereum Blockchain lesen, die Wenn-Dann-Logik nachvollziehen und sich so von deren Korrektheit überzeugen. Es ist aber schwer, sicherzustellen, dass der Smart Contract im Moment der getriggerten Zahlung auch über das entsprechende Ether-Guthaben verfügt. Der Versicherer kann ja nicht jeden Smart Contract mit dem im Schadensfall zu zahlenden Betrag ausstatten – dies würde viel zu viel Liquidität binden. Die Buchung müsste also gegen den Deckungsstock der Versicherung erfolgen. Damit sich ein Kunde auch hier von der Ordnungsmäßigkeit überzeugen kann, müsste folglich die gesamte Versicherungstechnik als dAPP realisiert sein, was – selbst wenn es möglich wäre – kaum durch Dritte zu verifizieren wäre.
138
Die interessanten Zusammenhänge zwischen dem Zusichern einer Leistung per Vertrag (klassisch) oder per Smart Contract (auf Basis einer Blockchain) werden vielfältig diskutiert, u.a. unter der Überschrift „Is Code Law?“. Wir verweisen hier vor allem auf Kap. 5 Rn. 37ff.
139
Technisch gesehen werden im Fall der Ethereum-Blockchain die Smart Contracts in der sog. Ethereum Virtual Machine (EVM) ausgeführt. Die Ethereum Virtual Machine (EVM) ist ein „virtueller Rechner“, der in jeden vollständigen Ethereum-Knoten eingebettet/implementiert ist und für die Ausführung der Smart Contracts verantwortlich ist. Smart Contracts werden typischerweise in höheren Sprachen, wie Solidity, geschrieben und dann in EVM-Bytecode kompiliert.
140
Die Implementierung der EVM stellt sicher, dass der Ethereum Byte-Code vollständig von dem Spezifika (Netzwerk, Dateisystem etc.) des physischen Knoten-Computers isoliert ist37 und quasi in einer idealisierten Rechenumgebung existiert. Wird ein „Smart Contract“ ausgeführt, so passiert dies parallel auf allen Knoten des Ethereum-Netzwerks.38 Die Implementierung der EVM garantiert, dass alle Knoten bei der Ausführung des Smart Contract Codes genau zum gleichen Ergebnis kommen. Das Ergebnis der Ausführung des „Smart Contracts“ wird gespeichert und wird somit Teil des Zustands des nächsten Blocks (und somit des Gesamtzustands – des sog. „State“ – der Ethereum-Blockchain), der im Konsensalgorithmus für verbindlich und unveränderlich erklärt wird.
141
Da das Ausführen von Programm-Befehlen zum knappen Gut wird, gibt es einen Mechanismus, der jedem durch die EVM auszuführenden Befehl einen „Kostensatz“ zuweist. Die Kosten werden (auch wieder eine Nomenklatur, über die man streiten kann) in „Gas“ gemessen. Es gibt also eine Liste, die jedem in der EVM zulässigen Befehl eine Menge an zur Ausführung benötigtem Gas zuordnet. Gas muss mit „Ether“, der nativen Ethereum-Coin, bezahlt werden. Es liegt in der Verantwortung des Nutzers, sicherzustellen, dass bei Ausführung eines Smart Contracts die nötige Menge an Gas zur Verfügung steht. Ist das nicht der Fall, wird die Ausführung des Smart Contract gestoppt – und zwar auf deterministische Art, d.h. auch ein solcher Abbruch passiert in der EVM auf allen Knoten gleich.
142
Zahlreiche Finanzinstrumente lassen sich als Smart Contracts abbilden, insbesondere dann, wenn alle Regeln deterministisch sind und von digital verfügbaren Parametern abhängen. Dies ist der Kern der DeFi-Bewegung (Decentralized Finance), deren Ziel es ist, traditionelle Finanzprodukte und Finanzdienstleistungen mit den Mitteln dezentraler Technologie (d.h. DLT/Blockchain) zu reproduzieren und so die Mitwirkung Dritter (Banken, Asset-Manager, Versicherer) obsolet zu machen.
143
Folgende Beispiele für durch Smart Contracts realisierte Finanzinstrumente und -dienstleistungen seien genannt:
– Repräsentierung von klassischen (FIAT) Währungen als Token,
– Derivate,
– Verbriefungen,
– Kredite/Crowd Financing,
– Dezentrale Handelsplätze,
– Treuhandkonten,
– Versicherungen.
144
Zielbild der DeFi-Bewegung ist es, die genannten Finanzdienstleistungen wie „Legosteine“ miteinander kombinierbar zu gestalten und so ein vollautomatisiertes, dezentrales und vertrauenswürdiges Finanzsystem zu etablieren. Die DeFi-Bewegung steht allerdings erst am Anfang ihrer Entwicklung und zahlreiche Herausforderungen müssen noch gelöst werden.
145
Insbesondere sind viele der „dezentralen“ Initiativen derzeit in der Hand kleiner Communities (oft damit begründet, dass eine schnelle Entwicklung nur so möglich ist) und sollen erst perspektivisch in die Dezentralität überführt werden. Des Weiteren ist es für das Funktionieren von auf Smart Contracts basierenden Ökosystemen unabdingbar, dass nachweislich fehlerfreier Code zum Einsatz kommt. Um diesen „heiligen Gral des Software Engineering“ zu erreichen, werden u.a. Ansätze zur formalen Verifikation (Formal Verification) von Computerprogrammen genutzt.39
146
Ein verwandter Ansatz der Nutzung von Smart Contracts ist der Aufbau vollständiger dezentralisierter autonomer Organisationen (DAO).
147
Eine DAO ist eine autonome, dezentrale Organisation ohne Mitarbeiter oder physische Präsenz. Die Prozesse und Entscheidungen eines Unternehmens werden bei einer DAO durch den Programmcode bzw. die Smart Contracts ausgeführt. Ein DAO „algorithmisiert“ also die Regeln und die Strukturen eines traditionellen Unternehmens, sodass keine Menschen und keine Führungshierarchie mehr erforderlich sind.40
148
Natürlich sind hier derzeit nur sehr eingeschränkte Geschäftsmodelle möglich, aber das Prinzip an sich ist interessant und weiterführend.
149
Ethereum ist die derzeit bedeutendste Blockchain mit der Möglichkeit zur Ausführung von Smart Contracts. Insbesondere verfügt sie über das stärkste Ökosystem von Knotenbetreibern, Minern, Nutzern und Entwicklern, sowie mit Vitalik Buterin über einen charismatischen Vordenker.
150
Ethereum ist aber keineswegs die einzige Blockchain, die Smart Contracts unterstützt. Alternativen sind im Bereich der Permissionless Blockchains (in der Reihenfolge ihrer Marktkapitalisierung per August 2020): Ripple, Cardano, EOS, TRON, Tezos, Stella, Neo. Außerdem unterstützen die meisten Permissioned Blockchains (insbesondere Hyperledger, Quorum und die von Ethereum abgeleitete Permissioned Blockchain „Enterprise Ethereum“ sowie die DLT-Plattform Corda) die Nutzung von Smart Contracts.
151
Für den Gegenstand dieses Artikels ist folgender Umstand von besonderer Bedeutung: Mithilfe von „Smart Contracts“ lässt sich das Aufsetzen neuer Token/Kryptowährungen auf Basis bereits bestehender Blockchain-Netzwerke implementieren. Bevor wir dies in Rn. 153ff. erläutern, wollen wir das Spektrum der Eigenschaften von DLT/Blockchain-Technologie zusammenfassend darstellen.