Was sind Smart Contracts und wie funktionieren sie?

Smart Contracts
Smart Contracts

Sicherlich hast du schon von Smart Contracts gehört. Doch was ist das genau? Wo werden sie eingesetzt? Und wie funktionieren sie? Das Potenzial dieser digitalen Verträge erklären wir dir anhand von Anwendungsfällen. Interessant ist dabei vor allem die Vorstellung, dass keine Mittelsmänner mehr benötigt werden. Aber alles der Reihe nach:

Die Grundlagen

Die technologische Basis für Smart Contracts (intelligente/automatisierte Verträge) bildet die Blockchain. Eine Art dezentrales Register, das alle durchgeführten Transaktionen und Wertübertragungen festhält. Entscheidend ist dabei die Unveränderbarkeit der Registereinträge, also der Blöcke, aus denen sich die Blockchain zusammensetzt. Sobald eine Information einmal in einem gültigen Block auf der Blockchain festgehalten und veröffentlicht ist, können alle Teilnehmer diesen Eintrag sehen und ihn nicht mehr verändern. Dadurch wird gewährleistet, dass sich beide Parteien einer Transaktion darauf verlassen können, dass die festgelegten Wertübertragungen korrekt gemäß Blockeintrag durchgeführt werden. Die Zielstellung ist dabei in erster Linie, ein Double-Spending (Doppel-Ausgabe) von ein- und derselben Werteinheit zu unterbinden. Gerade für eine rein digitale Werteinheit ist diese Tatsache eine existenzielle Grundvoraussetzung. Das ist im Bitcoin-Netzwerk und weiteren Krypto-Assets auch der Fall und mit der Blockchain-Technologie gelöst. Diese Idee haben die Gründer von Ethereum dann weiterentwickelt und sogenannte Smart Contracts „geschaffen“. Smart Contracts werden auch häufig als Blockchain 2.0 bezeichnet.

 

Was sind Smart Contracts?

Ein Smart Contract ist ein digitales, vertragliches Abkommen zwischen zwei oder mehreren Parteien, dessen Transaktion (Ausführung der Wertübertragung) an Ereignisse geknüpft werden kann. In anderen Worten also ein digitaler Vertrag, der – abgesichert durch die Blockchain – nicht veränderbar (nicht manipulierbar) ist. Durch diese Tatsache werden zum Vertragsabschluss technisch gesehen Mittelsmänner wie Anwälte oder Notare nicht mehr benötigt. Denn der vereinbarte Wert der Transaktion, bzw. die Transaktion selbst wird nur ausgeführt, wenn die in dem Vertrag vereinbarten Voraussetzungen erfüllt sind. Das senkt unter anderem auch die Kosten für einen Vertragsschluss und sorgt gleichermaßen für mehr Vertrauen bei den Vertragspartnern.

 

Anwendungsfälle für Smart Contracts

Die Möglichkeiten von Smart Contracts sind noch lange nicht vollständig erforscht, denn die Technologie steht noch ziemlich am Anfang. Aber eine mögliche Anwendung finden Smart Contracts gerade dann, wenn Eigentums- und/oder Besitzrechte transparent und sicher festgehalten werden sollen:

Grundbuch: In einigen Ländern gibt es die Überlegung, Grundbucheinträge via Smart Contracts auf einer Blockchain abzubilden. In den USA zum Beispiel gibt es für Hauseigentümer stand Heute noch kein Amt oder Register.

Supply-Chain: Interessant ist die Blockchain auch für Herkunftsnachweise in der Lieferkette. Ganz besonders wenn es sich um seltene und/oder wertvolle Güter wie zum Beispiel Diamanten handelt.

Lizenzen: Auch die Vergabe von Software-Lizenzen und Urheberrechten könnte mit Smart Contracts einfach und manipulationssicher auf einer Blockchain festgehalten werden.

Wahlen: In diesem Zusammenhang wird auch häufig darüber spekuliert, ob Volkswahlen mit dieser Technologie manipulationssicher durchgeführt werden können.

Versicherungen: Versicherungsunternehmen wie AXA prüfen derzeit den Einsatz der Blockchain-Technologie. Interessant werden Smart Contracts dabei gerade deshalb, weil gewissen Vertragsvereinbarungen nur dann stattfinden sollen, wenn eine bestimmte Voraussetzung in der Realität eintrifft. Dieses Beispiel wollen wir im nächsten Absatz als Grundlage nehmen, um zu beschreiben, wie ein Smart Contracts funktioniert.

 

Wie funktioniert ein Smart Contract?

Zahlung eines vereinbarten Betrages nach Vertragserfüllung
Smart Contracts – Zahlung eines vereinbarten Betrages nach Vertragserfüllung

Auf der untersten Ebene sind Smart Contracts programmierte Codezeilen. Die Besonderheit hierbei ist, dass diese Zeilen in Abhängigkeiten, also zu einer Art „Wenn-Dann-Funktionen“ aufgebaut werden können: Wenn die Voraussetzung a) eintritt, dann wird die Aktion b) automatisch ausgeführt. Das bedeutet, dass sowohl die Bedingung a), als auch die Folgeaktion b) in diesem Vertrag definiert sein müssen. In unserem Beispiel:

„Wenn der Versicherungsnehmer Max Müller sich bei einem Unfall den Arm bricht (a), dann bekommt er einen Bitcoin von seinem Versicherer auf sein Wallet transferiert (b), um den Krankenhausaufenthalt und weitere Kosten zu begleichen.“

Die Schwierigkeit liegt nun darin, einen Konsens in diesem dezentralen System herzustellen, dass Max Müller sich bei einem Unfall wirklich den Arm gebrochen hat.  Dass Max sich den Arm gebrochen hat, ist ein Zustand in der Realität, ein Smart Contract ist aber ein rein digitales Konstrukt. Die Information über den Unfall wird nun also digitalisiert und an das teilnehmende Netzwerk weitergetragen. Das Netzwerk wiederum überprüft, ob diese Information korrekt ist, und muss sich darüber einig werden. Wie dieser Konsens hergestellt wird, könnt ihr in unserem Artikel über Konsensus lernen. Entscheidend ist bei diesem Beispiel, dass es bis auf den hinterlegten Programmcode keine weiteren Eingriffe von zentralen Instanzen bedarf, um die im Vertrag festgelegte Bedingung automatisch auszuführen.

 

Welche Herausforderungen gibt es?

Vertrauen: Ob die Funktionen von Smart Contracts in der Realität anwendbar und vor allem massentauglich sind, hängt auch vom Vertrauen der Nutzer in die Technologie ab. Selbst der beste Programmierer kann den tollsten Code schreiben, aber wenn wir Menschen kein Vertrauen zu Einsen und Nullen haben, wird die breite Masse das System nicht annehmen. Entscheidend wird dabei die Bedienbarkeit solcher Funktionen sein. Denn auch das Internet galt kurz nach seiner Erfindung als Technologie, die nur ein Hype sein wird, und heute sind täglich weltweit hunderte Millionen Menschen im World Wide Web unterwegs, Tendenz steigend.

Rechtslage: Ungelöst ist derzeit auch die Rechtslage, wenn die vereinbarten Bedingungen eines Vertrages zwar erfüllt sind, es aber durch einen Bug (Fehler) im Programmcode zu einer fehlerhaften oder zu keiner Ausführung der vereinbarten Aktion kommt. Die Schwierigkeit liegt darin, dass die Netzwerkteilnehmer als Pseudonyme auftreten und ihre Identität meist nicht bekannt ist. Ein unbekannter Dritter (Hacker) der unberechtigter Nutznießer der Überweisung sein könnte, kann nicht zur Rechenschaft gezogen werden, weil er sich nicht öffentlich zu erkennen gibt. Dieser Herausforderung müssen sich aber nicht nur Blockchain-Anwendungen stellen, sondern prinzipiell alle Automatismen, wie auch autonomes Fahren und künstliche Intelligenz. Ob dabei Maschinen in Zukunft hinter Gittern müssen, darf aktuell stark angezweifelt werden.