04.14 Smart Contracts

04 Verträge in digitalen Projekten

Kein Vertrag im Sinne von Art. 1 OR, sondern Software

Der Begriff «Contract» (dt. Vertrag) ist im Zusammenhang von sogenannten «Smart Contracts» insofern irreführend, als es sich beim Smart Contract nicht um einen Vertrag gemäss Art. 1 des Obligationenrechts (OR) handelt, sondern um einen Software-Code, der dazu entwickelt wird, vordefinierte Bedingungen, Funktionen oder Aktionen auszuführen («wenn –> dann») und zu protokollieren. Bei Eintritt einer zuvor festgelegten, digital prüfbaren Bedingung («true/false»), eines zuvor festgelegten Ereignisses (sog. «trigger») wird automatisch eine ebenfalls zuvor festgelegte Reaktion (Parameter) ausgeführt.

Der Vertrag im Sinne von Art. 1 OR kommt bei einem Smart Contract i.d.R. vor dem Einsatz dieses Software-Codes zustande und die Abwicklung des Vertrags durch einen Smart Contract als technisches Hilfsmittel ist integrierender Vertragsbestandteil. Die Parteien müssen sich in der Folge das Agieren des Smart Contracts bzw. des entsprechenden Software-Codes anrechnen lassen. Man denke hier z.B. an die Sharing-Economy. Ich möchte bei einem Anbieter, wie Mobility, ein Auto mieten. Die entsprechenden Bedingungen zum Angebot von Mobility entnehme ich Informationen, die ausserhalb des Smart Contracts publiziert worden sind. Sobald ich jedoch das Angebot annehme, z.B. durch das Drücken eines Buttons auf der App von Mobility, startet der Smart Contract, wie ein Domino, ohne, dass irgendjemand noch eingreifen müsste. Die Software prüft, ob auf meinem Krypto-Wallet (digitales Portemonnaie, mit Krypto-Geld, wie z.B. Bitcoin) ein vorab definierter Mindestbetrag vorhanden ist. Wenn diese Bedingung gegeben ist, gibt die Software den elektronischen Autoschlüssel frei. Am Ende der Fahrt sperrt die Software den elektronischen Autoschlüssel und holt in meinem Krypto-Wallet die Gebühr für die Autofahrt.

Keine Erfindung des digitalen Zeitalters

Smart Contracts sind keine Erfindungen des digitalen Zeitalters. Die Idee der Smart Contracts gibt es schon ewig lange. Ein gutes Beispiel dafür ist der Kaugummi-Automat. Derjenige, der den Automaten aufstellt, macht ein Angebot. Sobald jemand beim Automaten den geforderten Betrag einwirft und damit das Angebot annimmt, startet das selbst ausführende System, eben der Smart Contract. Ist der eingeworfene Betrag genügend hoch, spuckt der Automat einen Kaugummi aus; auch hier ohne, dass irgendjemand noch ins System eingreifen würde.

Blockchain als Plattform

Wie das Beispiel des Kaugummi-Automaten zeigt, kann ein Smart Contract auf irgendeiner Plattform betrieben werden. Die hier beschriebenen Smart Contracts werden jedoch auf einer Blockchain aufgesetzt. Dabei handelt es sich um eine Internet-Plattform, deren Charakteristikum insbesondere ist, dass sie durch ihre Dezentralisierung und Transparenz praktisch immun gegen Eingriffe ist und somit auch nicht verändert werden kann. Dies ist bei einem Smart Contract besonders wichtig. Denn das Vertrauen der Partei, die in einen Smart Contract einwilligt, ist nur gegeben, wenn sie davon ausgehen kann, dass die Regeln während des «Spiels» nicht geändert werden.

Aufsetzen eines Smart Contracts auf der Blockchain

Damit Codes als Smart Contract auf der Blockchain-Infrastruktur aufsetzen können, müssen sie in die Programmiersprache der Blockchain (bei Ethereum «Solidity») umgewandelt werden. Nach erfolgreicher Umwandlung (sog. Compile) kann der Smart Contract erstellt werden (sog. Deploy). Durch den Deploy wird der Smart Contract selbst Akteur des Netzwerks, d.h. er wird ein neuer Teilnehmer im Netzwerk der Blockchain, der rein nach den Regeln seines Codes agiert (Wilkens/Falk, Smart Contracts*, Springer 2019, S. 10).

Einsatz von Smart Contracts

Smart Contracts können nur Leistungen erbringen, die sich digital in der Blockchain abbilden lassen. In erster Linie sind das Transaktionen und Registereinträge. Smart Contracts scheinen sich damit besonders für einfache Rechtsdurchsetzungen, wie Einzug von Zahlung und korrespondierender Freigabe bzw. Sperre der Sache, zu eignen (Wilkens/Falk, Smart Contracts*, Springer 2019, S. 14, mit weiteren Verweisen).

Anonymität von Vertragsparteien

Die Verwendung von Smart Contracts erfolgt grundsätzlich anonym. Es werden auf der Blockchain lediglich die anonymen Transaktionsdaten gespeichert. Falls in einem Geschäft die Identifizierung der Parteien gewünscht ist, müssen diese ihre Identität zusätzlich zum automatisch ablaufenden Smart Contract im System erfassen. Smart Contracts bieten sich deswegen eher dort an, wo entweder ein geringes Schlechtleistungsrisiko besteht und es deswegen nicht auf die Identität der Parteien ankommt oder dort, wo sich die Vertragsparteien schon kennen (Wilkens/Falk, Smart Contracts*, Springer 2019, S. 15, mit weiteren Verweisen).

Intermediäre, wie Kreditkartenfirmen, werden obsolet

Die Blockchain-Technologie erlaubt es auch, dass bisher notwendige Intermediäre ausgeschlossen werden können. So kann das vorne erwähnt Beispiel mit dem Carsharing auch ohne einen Provider, wie Mobility, betrieben werden. Halter verleihen ihre Autos direkt untereinander. Aber auch Uber und Airbnb und Finanzintermediäre, wie Banken und Kreditkartenfirmen, können obsolet werden; was diese natürlich fürchten (!).

Keine Kontrolle, keine juristischen Auseinandersetzungen

Ein Smart Contract ist aus juristischer Sicht «smart» (engl. für «klug», «schlau»), weil er selbstausführend ist. Wie erwähnt, heisst, dies, dass ein Smart Contract von alleine abläuft, ohne dass während des Prozesses jemand eingreifen müsste. Im Gegenteil, bei einem Smart Contract darf während des Prozesses nicht mehr eingegriffen werden. «Smart» bedeutet aber auch, dass es bei einem Smart Contract keine Meinungsverschiedenheiten und damit keine Auseinandersetzungen der Parteien geben sollte. Denn der Smart Contract macht genau das, was vorab definiert und programmiert worden ist. Es besteht kein Raum für Diskussionen. Technisch bestimmte Transaktionen werden ex ante festgelegt, im Gegensatz zu den ex post durchsetzbaren Regeln. Die Vertragserfüllung ist nicht (mehr) vom individuellen Verhalten der Parteien abhängig. Der Vollzug des Smart Contracts muss selbstredend auch nicht überprüft werden; ein weiterer grosser Vorteil.

An Grenzen stösst die Technologie des Smart Contracts, wenn im Rahmen eines Rechtsverhältnisses die Folgen einer Aktivität des Vertragspartners nach Ermessen beurteilt werden muss (z.B. die Einschätzung, ob ein Verhalten des Vertragspartners dem Grundsatz von Treu und Glauben widerspricht); es sich eben gerade nicht um eine genau definierte Bedingung handelt. Eine solche Beurteilung vermag aktuell nur ein Mensch vorzunehmen. Sollte eine solche Ermessensausübung aber inskünftig auch durch künstliche Intelligenz (KI) möglich sein, kann dies allenfalls auch ein Smart Contract mit entsprechenden Fähigkeiten wiederum selbst erledigen.

Durch die Einführung von Smart Contracts in den Rechtsalltag wird der Aufwand im Zusammenhang mit Verträgen von der Phase der Vertragsdurchsetzung – die ja nun automatisiert vorgenommen wird – hin zu der Phase der Vertragserstellung verschoben. Dies bedeutet, dass der Aufwand für die Erstellung eines Smart Contracts sehr gross ist, denn es müssen alle Eventualitäten vorab überlegt und einprogrammiert werden. Dafür sollte nach der Ausführung des Smart Contracts kein Aufwand mehr für juristische Auseinandersetzungen entstehen. Falls diese Ausführung funktioniert, ist dies auch aus juristischer Sicht geradezu genial, wirklich smart!

«Orakel» als Verbindung zur Aussenwelt

Bei long-term relationships, bei denen ein Smart Contract zu Anwendung kommt, stellt sich die Frage, wie man Veränderungen im Kontext (z.B. steigende Rohstoffpreise) berücksichtigen kann, obwohl in einen Smart Contract grundsätzlich nicht mehr eingegriffen werden kann. Die Lösung für dieses Problem sind Blockchain-Orakel. Ein solches Orakel ist ein Interface (Software, oder Hardware [z.B. Sensor]), das den in sich geschlossenen Smart Contract mit der Aussenwelt verbindet und mit entsprechenden Informationen versorgt. So können z.B. Preise in Smart Contracts gemäss externen Indizes angepasst werden. Ein Orakel gelangt aber auch im Falle zum Einsatz, wo eine Transaktion (erst) dann ausgeführt werden soll, wenn eine physische Ware übergeben wurde. Orakel können Informationen sowohl von der Aussenwelt in den Smart Contract liefern (eingehendes Orakel), wie auch umgekehrt (ausgehendes Orakel). Zudem können die Informationen von einem Orakel kommen (zentrales Orakel), oder von mehreren (dezentrale Orakel). Der Einsatz von letzteren dient der Erhöhung der Zuverlässigkeit von Informationen.

Anzumerken zum Einsatz von Orakeln in Blockchains bzw. Smart Contracts ist, dass diese an und für sich dem Prinzip widersprechen, dass in Abläufe auf der Blockchain nicht eingegriffen werden kann. Basierend auf diesem Prinzip geniessen Transaktionen auf der Blockchain und damit auch in Smart Contracts bei den Parteien grosses Vertrauen, insbesondere auch unter anonymen Partnern.

Multilateral und Interaktion

Smart Contracts funktionieren nicht nur bilateral, sondern auch multilateral. Zudem ist es möglich, verschiedene Smart Contracts untereinander zu verbinden und entsprechende Interaktionen zu erzeugen.

Code is Law-Prinzip vs. nationales zwingendes Recht

Nach dem im Kontext von Smart Contracts ab und an vereinbarten «Code is Law-Prinzips» soll ausschliesslich die Programmierung der Software das rechtliche Verhältnis zwischen ihren Nutzern bestimmen und gesetzliche Anforderungen sollen entsprechend nicht gelten. Die Anwendung dieses Prinzips kann insbesondere dazu führen, dass auch ein Programmierfehler als korrekt gilt und damit deswegen kein Schadenersatz verlangt werden kann.

Gemäss Art. 19 Abs. 1 OR gilt nach schweizerischem Recht grundsätzlich die Vertragsfreiheit. Nach Art. 19 Abs. 2 OR sind aber von den gesetzlichen Vorschriften abweichende Vereinbarungen nur zulässig, wo das Gesetz nicht eine unabänderliche Vorschrift auf­stellt oder die Abweichung nicht einen Verstoss gegen die öffent­liche Ordnung, gegen die guten Sitten oder gegen das Recht der Per­sönlichkeit in sich schliesst. Mindestens wenn ein Smart Contract mit einem Code is Law-Prinzip unter schweizerisches Recht fällt, wäre das Prinzip nicht anwendbar, wenn es gegen Art. 19 Abs. 2 OR verstösst. Dies wäre z.B. der Fall, wenn das schweizerische Recht in diesem Punkt widersprechendes zwingendes Recht vorsieht.

In diesem Sinne müssen Smart Contracts auch den zwingenden Formerfordernissen des nationalen Rechts entsprechen (s. Kapitel 04.03 Form von Verträgen) und die Parteien können durch einen Smart Contract den Vertragstyp nicht selbst bestimmen (s. Kapitel 04.02 Titel, Vertragsparteien und Zeichnungsberechtigung).

Mehr juristische Fragen, als Antworten

Dass in einen Smart Contract nicht mehr eingegriffen werden kann, birgt aber auch zahlreiche juristische Risiken. Wer haftet für Programmierfehler? Was passiert, wenn bei einem Smart Contract keine Möglichkeit für eine Beendigung (Kündigung) vorgesehen ist?

Da sowohl Blockchain, wie Smart Contracts nicht an Landesgrenzen gebunden sind, ja nur schon dezentral und damit auch international betrieben werden, Recht jedoch in der Regel immer noch national ist, besteht ein grosses Risiko, mit einem Smart Contract gegen irgendein nationales Recht zu verstossen. Hinzu kommt, dass eine Prüfung des Rechts sämtlicher Länder – mindestens im Moment – unmöglich ist (wird evtl. mit künstlicher Intelligenz einmal möglich).

Da es m.E. aus juristischer Sicht aktuell mehr Fragen zu Smart Contracts gibt, als Antworten, muss der Einsatz von Smart Contracts wohlüberlegt sein.

Beispiele für Smart Contracts

Softwarelizenz
Ein Smart Contract bezieht die Gebühr für eine Softwarelizenz vom Krypto-Wallet des Lizenznehmers und gibt in der Folge die Software für eine bestimmte Zeit zum Gebrauch frei. Auf dieselbe Weise erfolgt später auch eine Verlängerung der Lizenz. In diesem Fall muss jedoch gewährleistet sein, dass der Lizenznehmer diesen Vorgang zu einem zum voraus bestimmten Zeitpunkt unterbrechen (also den Vertrag kündigen) kann.

Nachbestellung von Rohstoffen
Eine Autofabrik wickelt die Nachbestellung von Rohstoffen bei ihren Lieferanten über Smart Contracts ab.

Interaktion des Internets der Dinge (Internet of Things, IoT)
Mit dem Internet verbundene Dinge, wie z.B. Autos und Haushaltsgeräte, organisieren sich mittels Smart Contracts selbst, tauschen sich aus und führen Transaktionen aus. So ordert die Waschmaschine eigenständig einen Monteur, wenn sie einen Defekt feststellt, bestellt, entsprechend dem Verbrauch, Waschmittel und bezahlt dafür; dies alles ohne, dass ein Mensch eingreift.

Dezentrale Energieversorgung
Inskünftig werden immer mehr Private lokal Strom produzieren. Durch den Einsatz von Smart Contracts können sich diese in einem echtzeitbasierten denzentralen Energiemarkt (sog. Microgrid) direkt – also ohne Einbindung zentraler Stromanbieter als Intermediäre – mit den Stromkonsumenten verbinden. Es kann ein automatischer Austausch von Informationen über die verfügbare (überschüssige) Energiemenge der Anbieter und den Energiebedarf der Nutzer erfolgen, was wiederum die Automatisierung von Preisverhandlungen und Transaktionen ermöglicht (Wilkens/Falk, Smart Contracts*, Springer 2019, S. 20 f., mit weiteren Verweisen).

Nutzung von Musik und deren Vergütung
Die Nutzung von Musik und deren Vergütung an die Autorinnen und Komponisten erfolgt bisher über ein internationales Netz von Verwertungsgesellschaften. Es ist vorstellbar, dass dieser Vorgang inskünftig automatisiert über Smart Contracts abläuft.

Initial Coin Offering (ICO)
Finanzierung eines Unternehmens über ein Initial Coin Offering (ICO), bei dem Anteile am Unternehmenskapital mittels Token auf einer Blockchain und über Smart Contracts verkauft werden (s. https://de.wikipedia.org/wiki/Initial_Coin_Offering).

NFT
[Content folgt]

Supply-Chain-Management
Einen wichtigen Beitrag können Smart Contracts ergänzend zur Blockchain-Technologie zur Automatisierung des weltweiten Lieferketten-Managements (Supply-Chain-Management) leisten. Bei diesem müssen Intermediäre, wie z.B. die in der Schweiz domizilierte SGS Group, fortlaufend Waren prüfen, Sicherheitsgarantien abgeben, Zahlungen freigeben, oder eben nicht, wenn die dafür definierten Voraussetzungen nicht gegeben sind. Weil die entsprechenden Prozesse und Parameter definiert sind, können diese Aufgaben auch Smart Contracts übernehmen; insb. auch mit dem Einbezug der vorne beschriebenen Orakel.

Flugausfallversicherung (s. dazu auch Kapitel 14 Legal Tech – Rechtsdienstleister)
Der Smart Contract ermittelt auf Basis der öffentlichen Lande- und Abflugdaten von Flugzeugen automatisch Verspätungen und Flugausfälle und zahlt Vergütungen für versicherte Ereignisse vom Smart Contract direkt aus.

Auto-Haftpflichtversicherung mit Pay-as-you-drive-Prinzip
Gekoppelt mit einer Auto-Haftpflichtversicherung ermittelt ein Smart Contract den Fahrstil eines Versicherten und passt basierend darauf die Versicherungsprämie an.

[Weitere Beispiele folgen]

Literatur-Hinweis
*Wilkens/Falk, Smart Contracts, Grundlagen, Anwendungsfelder und rechtliche Aspekte, Springer 2019

04 Verträge in digitalen Projekten