Warum automatischer Code und rechtliche Vereinbarung zwei verschiedene Ebenen sind
Der Begriff „Smart Contract“ hat mich anfangs auf eine falsche Fährte geführt. Als Jurist hört man „Contract“ und denkt an einen Vertrag. Technisch ist ein Smart Contract aber zunächst etwas anderes: Programmcode, der auf einer Blockchain nach vorher festgelegten Regeln ausgeführt wird.
Gerade diese Unterscheidung halte ich inzwischen für eine der wichtigsten beim Verständnis von Ethereum.
Ein Automat statt eines Vertrags
Stellen wir uns einen einfachen Automaten vor: Wenn Betrag X eingeht, wird Leistung Y freigegeben. Der Automat diskutiert nicht, prüft keine Motive und entscheidet nicht nach Billigkeit. Er führt seine Regeln aus.
Ein Smart Contract funktioniert im Grundsatz ähnlich. Er kann Bedingungen prüfen, Token übertragen, Guthaben verwalten oder Zugänge freischalten. „Smart“ bedeutet dabei nicht intelligent und „Contract“ nicht automatisch Vertrag.
Wo liegt dann der Vertrag?
Der rechtliche Vertrag kann außerhalb des Smart Contracts liegen. Zwei Parteien einigen sich beispielsweise darauf, dass ein bestimmter Token einen Anspruch auf eine Beratungsleistung vermittelt. Der Smart Contract verwaltet technisch, welcher Adresse der Token zugeordnet ist.
Was die Beratungsleistung umfasst, wann sie verfällt oder unter welchen Voraussetzungen sie übertragen werden darf, ergibt sich aus der rechtlichen Vereinbarung. Code und Recht können ineinandergreifen – sie sind aber nicht identisch.
Was der Code besonders gut kann
Interessant wird der Smart Contract bei Vorgängen, die sich eindeutig in Regeln übersetzen lassen: „Wenn A und B jeweils ihren vereinbarten Betrag eingezahlt haben, tausche die Werte.“ Oder: „Wenn diese Adresse Token X besitzt, gewähre Zugang.“
Der Vorteil liegt in der automatischen Ausführung. Niemand muss nachträglich entscheiden, ob er seine Zusage noch erfüllen möchte. Sind die programmierten Voraussetzungen erfüllt, geschieht die vorgesehene Aktion.
Und was passiert bei der Wirklichkeit?
Das Problem beginnt dort, wo die Blockchain etwas über die Außenwelt wissen muss. Hat die Ware tatsächlich den vereinbarten Zustand? Ist ein Gebäude fertiggestellt? Ist jemand verstorben? Hat ein Gericht eine Entscheidung getroffen?
Der Smart Contract kann solche Tatsachen nicht von selbst erkennen. Er braucht eine vertrauenswürdige Information von außen. Damit taucht das Vertrauensproblem, das wir technisch reduzieren wollten, an anderer Stelle wieder auf.
Code ist nicht automatisch gerecht
Noch ein Punkt ist mir als Jurist wichtig: Die exakte Ausführung einer Regel ist nicht dasselbe wie eine richtige Entscheidung. Verträge kennen Auslegung, Irrtum, Anfechtung, Leistungsstörungen, Treu und Glauben und manchmal bewusst eingeräumtes Ermessen.
Ein Programm kennt zunächst nur das, was wir ihm beigebracht haben. Deshalb ist „Code is Law“ für mich eher eine Warnung als ein Ideal.
Der interessante Einsatzbereich
Smart Contracts erscheinen mir besonders stark, wenn ein klar definierter Teil eines Prozesses automatisiert werden soll und mehrere Beteiligte denselben Zustand überprüfen können müssen.
Sie ersetzen dann nicht zwingend den Vertrag oder die Institution. Sie können aber dessen technische Durchführung übernehmen. Genau aus dieser Möglichkeit entsteht der nächste Baustein: Token.
Token und Stablecoins – wem gehört eigentlich was?
Dieser Beitrag ist Teil meiner Reihe „Blockchain verstehen“ – ein persönlicher Lernweg durch Technik, Wirtschaft und Recht.
