Wie sind Smart-Contracts?

Smart Contracts sind das Herzstück von Blockchain-Technologien. Sie sorgen für eine dezentrale Ausführung von „Verträgen“ und sollen für eine Konsistenz im Netzwerk sorgen.

Ein herkömmlicher Vetrag abseits von Blockchain-Technologien besteht aus einer Vereinbarung, die zwischen mehreren Personen getroffen wird. In der Regel sorgt der Vertrag dafür, dass beide Parteien auf ihre Ansprüche bestehen können und den Vertrag im Streitfall als Nachweis vorlegen können, um gewisse Ansprüche und Rechte zu rechtfertigen. Ein klassischer Vertrag ist der Mietvertrag, der vereinfacht gesagt aus zwei Elementen besteht:

  1. Der Mieter überweist die Miete an den Vermieter
  2. Der Vermieter überlässt dem Mieter die Wohnung

Oft bestehen Verträge also aus Abfolgen in „Wenn-Dann“ Form. Wenn der Mieter seine Miete (erstmals) bezahlt, dann erhält er den Schlüssel für die Wohnung. Dieser Prozess lässt sich durch Smart-Contracts vereinfachen, da die Abfolge automatisiert werden kann. Ein Smart-Contract besagt nichts anderes als eine Folge von Aktivitäten, die ausgeführt werden, wenn ein bestimmtes Event eintritt. Das kann vom Mietvertrag bis zu komplexen Finanzgeschäften reichen.
Was ist der Unterschied zwischen Smart-Contracts und herkömmlichen Verträgen?

1. Drittparteien entfallen
Entscheidend ist, das bei Smart-Contracts i.d.R. Drittparteien entfallen. Um einen Smart-Contract zu schließen, ist kein Notar notwendig, wie es bspw. bei Grundstücksübertragungen mit herkömmlichen Verträgen der Fall wäre. Stattdessen wird der Smart-Contract von den Nodes im Netzwerk ausgeführt.

2. Aktivitäten werden automatisch ausgeführt
Die Wenn-Dann Strukturen sorgen dafür, dass, sobald das Ereignis eintritt, die darauffolgende Aktivität ausgeführt wird. Wenn Person A und Person B einen Smart-Contract schließen und A seine Bedingung erfüllt, dann wird im Netzwerk automatisch die notwendige Aktion ausgeführt, die darauf folgt. Es ist nicht notwendig, dass B zu diesem Zeitpunkt aktiv werden oder eine Drittpartei informiert werden muss. Stattdessen können die Nodes den Status jederzeit selbst prüfen.

3. Alle Teilnehmer werden über Statusänderungen informiert
Die dezentrale Struktur erfordert es, dass die einzelnen Nodes konsistente Informationen verarbeiten. Das heißt, dass alle Nodes über Statusänderungen Bescheid wissen, wenn ein Event eintritt.

Wie wird ein Smart-Contract ausgeführt?

Es gibt verschiedene Arten von Smart-Contracts. Als bekannteste Plattform gilt Ethereum. Dort werden Smart-Contracts selbst wie ein Account behandelt, der autonom agiert. Es gibt also keine einzelnen Individuen, die Zugriff auf diesen Account haben. Stattdessen werden die auszuführenden Aktionen im Netzwerk durchgeführt. Diesen Account kann man sich vereinfacht als eine Menge von Anweisungen (Programm-Code) vorstellen, die ausgeführt werden. Dazu gehören die Durchführung von Berechnung, das Speichern von Informationen und das Senden von Transaktionen an andere Accounts.
Zwar werden die Smart-Contracts von Menschen geschrieben und auf der Blockchain gespeichert, danach obliegt die Ausführung aber allein dem Netzwerk und der Nutzer hat keine Möglichkeit mehr, Änderungen vorzunehmen. Das bedeutet, dass nach wie vor Fehler durch falsche Programmierungen auftreten können.

Wie verlässlich sind Smart-Contracts?

Wichtig zu differenzieren ist die virtuelle Ausführung des Contracts und die Bedeutung in der Realwelt. Auf der Blockchain werden schließlich nur die auszuführenden Aktionen abgelegt. Das bedeutet nicht, dass sie in der Realwelt gültig sind. Rein technisch gesehen kann er zwar korrekt ausgeführt werden, jedoch nicht automatisch als Beweis vor Gericht dienen, um einen gewissen Anspruch nachzuweisen.

„Code is Law“

Ein weiterer Aspekt, den man sich bei Smart-Contracts vor Augen führen sollte, ist die Maßgeblichkeit des Programmcodes. Einzig allein der Programmcode des Contracts ist entscheidend für die Ausführung. Die DAO – eine Art dezentrale Investmentplattform – hatte damals bspw. über einen Smart-Contract Investorengelder eingesammelt. In dem Code befand sich ein Bug, den ein Hacker zu seinen Gunsten ausnutzen und damit die Ether stehlen konnte. Selbst wenn bekannt gewesen wäre, wer sich hinter dem Angriff verbirgt, hätte man außer einer Hard-Fork (in diesem Fall ein Reset auf einen früheren Zeitpunkt) keine Chance, den Angriff rückgängig zu machen. Denn der Hacker hat lediglich den auf der Blockchain gespeicherten Code ausgeführt. In der Realwelt hingegen hätte man rechtliche Schritte einleiten können, um den Hacker zur Verantwortung zu ziehen. Deswegen sollte man sich der Maxime „Code is Law“ (einzig allein der Code entscheidet) stets bewusst sein.
Anwendungen von Smart Contracts
Aus Smart-Contracts ergeben sich zahlreiche Anwendungsgebiete, darunter unter anderem die folgenden:

  1. Government
    Wahlen könnten mithilfe von Voting-Systemen über die Blockchain vereinfacht werden. Die auf der Blockchain gespeicherten Stimmen müssten zunächst dekodiert werden, wofür große Rechenkapazitäten notwendig wären, um Manipulationen vorzunehmen.
  2. Supply-Chain
    Supply-Chains, die aus vielen aufeinanderfolgenden Vereinbarungen basieren, können durch Smart-Contracts automatisiert werden.
  3. Real-Estate
    Durch den Wegfall von Intermediären bei Mietzahlungen kann der Prozess kostengünstiger durchgeführt werden. Außerdem können Grundstücke in kleineren Anteilen verkauft werden.
  4. Healthcare
    Gesundheitsdaten können auf der Blockchain gespeichert werden – in Versicherungsfällen können die Daten einfach referenziert werden.