Smart Contracts sind digitale Verträge bzw. Computerprotokolle, die in einer Blockchain gespeichert sind und automatisch ausgeführt werden, wenn vordefinierte Bedingungen erfüllt werden. Eine schriftliche Fixierung des Vertrages (Auf Papier oder in einer Datei) wird damit unter Umständen überflüssig.
Eine kurze Zeitreise
Zwischen den 70er und 80er Jahren war der Terminus „Agoric Computing“ in aller Munde. Vor allem, um die Abbildung von Marktmechanismen wie Auktionen und Ressourcenmanagement in Software abzubilden. Inzwischen, besonders mit dem Aufkommen von NFTs hat die Public-Key-Kryptografie die Möglichkeiten hierzu revolutioniert.
Der Begriff „Smart Contract“ wurde 1993 durch den Informatiker Nick Szabo geprägt. Szabo, der von Forschern wie David Chaum inspiriert wurde, erwartete, dass Spezifikationen auf Basis klarer Logik, Verifikation auf Basis kryptographischer Protokolle und andere digitale Sicherheitsmechanismen, eine wesentliche Verbesserung gegenüber dem traditionellen Vertragsrecht bringen könnten.
Was sind Smart Contracts?
Wie der Name schon sagt, handelt es sich dabei um “Intelligente Verträge”. Ein Smart Contract ist aber sinngemäß ein elektronischer Vertrag, der hinterlegte Regeln automatisch überwacht und definierte Aktionen bei Vorliegen eines Trigger-Events selbsttätig ausführen kann. Ausführen kann der Smart Contract dabei einfache Programme oder Befehle, die in einer Blockchain gespeichert sind. Er kann zum Vorteil der Verwender den Workflow für den Vertragsabschluss oder eine Vertragsänderung automatisieren. Das Blockchain-Verfahren findet dezentralisiert statt. Wie genau dies funktioniert habe ich in einem anderen Beitrag bereits beschrieben. Dadurch kann man sich auf eine gewisse Sicherheit und Integrität verlassen.
Wie funktionieren Smart Contracts?
Ich werde in naher Zukunft einen ausführlichen Beitrag genau zu diesem Thema erstellen. Wird hier auf jeden Fall noch verlinkt. Einfach erklärt, reagieren Smart Contracts anhand einer “Wenn-dann”-Anweisung, die im Code einer Blockchain gespeichert ist. Wenn definierte Bedingungen erfüllt sind, wird eine Aktion ausgeführt. Hierdurch können beispielsweise automatisiert Gelder überwiesen bzw. freigegeben oder die Ware anhand der festgelegten Bedingungen nach Zahlungseingang automatisch ausgegeben werden. Die Blockchain wird nach der Durchführung der Aktion aktualisiert. Die Transaktion kann hierbei nicht geändert oder rückgängig gemacht werden. Es können so viele Bedingungen festgelegt werden, wie von den Nutzern gewünscht. Es gilt der Grundsatz “Code is Law”, wonach allein der Code selbst, den Smart Contract bereits rechtlich verbindlich macht. Dieser ist selbst vor dem Hintergrund des deutschen Rechts nicht ganz unbedenklich, da immer noch das geltende Recht zur Vertragsschließung maßgeblich ist. (Dies war übrigens die Sache mit den übereinstimmenden Willenserklärungen aus dem BGB 😀 )
Wo werden Smart Contracts angewendet?
Mein erster Kontakt mit Smart Contracts war definitiv zu dem Zeitpunkt, als ich mir meine ersten NFTs gekauft habe. Daher ist der größte Anwendungsbereich von Smart Contracts bei komplexen Lieferketten, da es dabei zahlreiche Vertragspartner gibt und durch den/die Smart Contract/s die Beziehungen zu und zwischen den verschiedenen Vertragspartnern weitestgehend automatisiert im Hintergrund ablaufen. Um dies etwas verständlicher machen zu können, folgendes Beispiel:
Ein Kunde bestellt ein Paket bei einem Lieferanten. Und hinterlegt die Zahlung via Krypto durch den Smart Contract. Das Paket wird verschickt und kommt beim Kunden an. Der Erhalt des Pakets wird vom Kunden beim Versandhändler bestätigt, der Smart Contract wird getriggert und gibt automatisch die Zahlung der Ware an den Verkäufer frei. Der Kunde hat sein Paket, der Lieferant hat sein Geld, alle sind glücklich. Dabei muss es nicht nur um den Warenversand oder um Geldtransaktionen gehen. Sämtliche Arten von Verträgen können so erstellt werden und sind dadurch, dass sie dezentral auf der Blockchain gespeichert sind, unzerstörbar.
Alles in allem spart dies den Menschen als auch Unternehmen wertvolle Zeit und steigert somit die Effizienz, da die Software einfache Vertragsvorgänge, zwischen den verschiedenen Vertragspartnern automatisiert ermöglicht. Smart Contracts werden bereits heute in den verschiedensten Bereichen angewendet. Dazu gehört nicht nur der Einsatz im Finanzwesen oder im Zahlungsverkehr mit Kryptowährungen. Auch kommen die Smart Contracts im Gesundheitswesen oder bei Versicherungen zum Einsatz.
Wie sicher sind Smart Contracts?
Genauso wie bei konventionellen Verträgen, ist auch bei Smart Contracts auf das Wording zu achten. Sind die Inhalte falsch definiert, sollte man sich bei einer falschen Ausführung nicht beschweren. Hinzu kommt, dass es sich bei Smart Contracts um reinen Code handelt. Folglich kommt zu dem Potential der fehlerhaften Formulierung auch die Fehleranfälligkeit im Code selbst hinzu.
Folglich können gegen die Ausnutzung Exploits (Ein Exploit ist ein Stück Software, ein Datenpaket oder eine Befehlssequenz, die einen Fehler oder eine Schwachstelle ausnutzt, um ein unbeabsichtigtes oder unerwartetes Verhalten bei Computersoftware, Hardware oder etwas Elektronischem hervorzurufen) von Fehlern in Smart Contracts keine direkten Regressansprüche gestellt werden, was den Vertragspartner vor ein erhebliches Risiko und eine Rechtsunsicherheit stellen kann.
Daher sollte bei der Erstellung niemals auf einen erfahrenen Programmierer und ein qualitativ hochwertiges Audit verzichtet werden. Es sollte zudem der Grad der Dezentralisierung und die möglichen Auswirkungen von Governance-Entscheidungen beachtet werden, um aus sicherheitsrechtlichen Aspekten auf der richtigen Seite zu sein.
Was ist die Governance in einem Smart Contract?
Der Prozess, mit dem eine Gemeinschaft Entscheidungen trifft, wird als On-Chain-Governance bezeichnet und ist zu einer zentralen Komponente dezentraler Protokolle geworden, die verschiedene Entscheidungen wie die Anpassung von Parametern, die Aktualisierung von Smart Contracts, die Integration mit anderen Protokollen, die Verwaltung von Geldern, die Gewährung von Zuschüssen usw. ermöglicht. Dadurch können auch effiziente und effektive demokratische Vereinigungen gegründet und unterhalten werden. In diesem Zusammenhang möchte ich auch die DAOs erwähnen – Also „Dezentralisierte Autonome Organisationen“ (Decentralized Autonomous Organizations), die heute als neue Rechtsform verstanden werden kann, die kein zentrales Leitungsorgan hat, deren Mitglieder ein gemeinsames Ziel verfolgen und sich einig sind, im besten Interesse des Unternehmens zu handeln. Aber dies ist ein Thema für sich, welches ich in einem anderen Beitrag thematisieren werde.
Was kann gegen die Fehleranfälligkeit unternommen werden?
Wie bereits angesprochen, können Audits initiiert werden, bei denen man Unternehmen bzw. erfahrene Programmierer damit beauftragt, die Smart Contracts auf Fehler zu analysieren. Ansonsten werden im größeren Maßstab Bug-Bounty-Initiativen von Unternehmen ins Leben gerufen, bei denen die Finder von Fehlern in den Smart Contracts oder Systemen, mit Sach- oder Geldpreisen entlohnt werden. Das Aufkommen dieser Initiativen ist seit dem „DeFi-Boom” (Boom des dezentralisierten Finanzsystems) welches zeitgleich mit der Einführung des DeFi-Ökoysystems im Jahr 2018 angestiegen. Dominierende DeFi-Protokolle sind hierbei vor allem auf der Basis von Ethereum bzw. dem ERC-20 Token, die ich in den verlinkten Beiträgen bereits thematisiert habe, zu finden.
Fazit
In Anbetracht der Tatsache, dass ich in den letzten 7 Jahren als Unternehmer tätig war und bereits den ein oder anderen komplexen Vertrag erstellt habe bzw. von meinen Anwälten habe erstellen lassen bzw. unterzeichnen müssen – Vieles wäre mit dem Einsatz von Smart Contracts, beispielsweise als „Treuhand“, „einfacher“ bzw. „verlässlicher“ gewesen. Meine Anwälte und oder Notare, mit denen ich zusammengearbeitet habe, in allen Ehren. Doch wenn der Kunde und Dienstleister sich über einen Smart Contract einigen bzw. absichern, kann man sich durchaus einen enormen juristischen Aufwand sparen, da jeder das erhält, was einem zusteht, wenn die gegenseitigen Erwartungen erfüllt werden und ein Smart Contract sowohl die Freigabe der „Produkte“ als auch der „Zahlungen“ triggert. Dies bedeutet nicht, dass der komplette juristische Aufwand entfällt. Ein sauberer Vertrag sollte dennoch von einem Anwalt erstellt werden. Doch wahrscheinlich kann man sich in der Zukunft den Notar sparen 😀