Aktuell in der MDR

Smart Contracts (Bertram, MDR 2018, 1416)

Smart Contracts – ganz oder teilweise maschinenlesbar ausgestaltete Verträge, welche mithilfe der Blockchain-Technologie gespeichert und durchgeführt werden – finden zunehmend Einzug in die Rechtspraxis. Bei Anwendbarkeit des deutschen Zivilrechts auf einen Smart Contract stellen sich bislang allerdings einige noch nicht abschließend geklärte vertragsrechtliche Fragen, welcher sich der vorliegende Beitrag annimmt und Lösungsansätze aufzeigt.
 

I. Einleitung

II. Technische Grundlagen

1. Distributed Ledger-Technologie und Blockchain

2. Funktionsweise der Blockchain

3. Smart Contracts

a) Begriff

b) Einsatzmöglichkeiten

III. Unsicherheiten in der vertragsrechtlichen Behandlung von Smart Contracts

1. Formerfordernisse

2. Abgabe und Zugang der Willenserklärungen

a) Zeitpunkt der Abgabe

b) Zeitpunkt des Zugangs

c) Rechtliche Einordnung der Transaktionen

3. Willensmängel

4. Leistungsstörungen, Rückabwicklung und Umgang mit Einreden

5. Auslegung einzelner Klauseln

a) Klauseln mit Wertungsspielraum in Smart Contracts

b) Streit über den Programmcode

IV. Fazit


I. Einleitung

Smart Contracts – also ganz oder teilweise maschinenlesbar ausgestaltete Verträge, welche sich automatisiert abwickeln lassen – sind derzeit in aller Munde. Prinzipiell gibt es das Konzept der Smart Contracts schon länger. Allerdings steht erst jetzt mit der Distributed Ledger- bzw. Blockchain-Technologie eine technische Möglichkeit zur Verfügung, die sich hervorragend zur Umsetzung des Smart Contracts-Konzepts eignet.

Mit der wachsenden Popularität der Blockchain und den immer zahlreicher werdenden praktischen Anwendungen von Smart Contracts kommen jedoch auch zunehmend Unsicherheiten bezüglich ihrer rechtlichen Behandlung auf. Bei Anwendbarkeit des deutschen Zivilrechts auf einen Smart Contract stellen sich bislang noch nicht abschließend geklärte Fragen, u.a. hinsichtlich des Vertragsschlusses, des Umgangs mit anfänglichen oder nachträglich eintretenden Störungen des Vertragsverhältnisses und der Auslegung von Smart Contracts.

Der vorliegende Beitrag geht kursorisch auf die technischen Grundlagen der Distributed Ledger-Technologie bzw. der Blockchain und der technischen Ausgestaltung von Smart Contracts ein (unter II.), stellt einige vertragsrechtliche Schwierigkeiten beim Abschluss und der Durchführung von Smart Contracts da und zeigt mögliche Lösungsansätze auf (unter III.).

II. Technische Grundlagen

1. Distributed Ledger-Technologie und Blockchain

Die heutige Form der Smart Contracts wurde ermöglicht durch die Entwicklung der sog. Distributed Ledger-Technologie (DLT). Distributed Ledger sind verteilt gespeicherte Datenbanken, welche zwischen den Teilnehmern des Datenbanknetzes synchronisiert werden. Um sicherzustellen, dass jeder Teilnehmer des Datenbanknetzes den gleichen Datensatz verwaltet, benutzt die DLT einen (verschieden ausgestaltbaren) Konsensmechanismus. Dies sorgt zugleich für eine Veränderungsresistenz des Datensatzes.

Eine Ausprägung der DLT ist die sog. Blockchain. Der Begriff „Blockchain“ bezog sich ursprünglich nur auf das DLT-System, mit dem die Kryptowährung Bitcoin erzeugt und gehandelt wurde, wird aber mittlerweile synonym für die DLT verwendet. Neben der klassischen Bitcoin-Blockchain haben sich inzwischen weitere DLT-Systeme entwickelt, die in ihrer Funktionsweise der Bitcoin-Blockchain ähnlich sind, jedoch auch mitunter signifikante Unterschiede aufweisen.

Blockchains gibt es sowohl in öffentlicher Form als auch in privater, geschlossener Form. Während bei öffentlichen Blockchains grundsätzlich jedermann, der sich einen Account zulegt, mitmachen kann, sind private Blockchains nur bestimmten Teilnehmern zugänglich. Beispiele für private Blockchains sind etwa Logistik-Blockchains sowie das von Finanzinstituten zur Vereinfachung des währungsübergreifenden internationalen Zahlungsverkehrs eingesetzte Ripple-System.

2. Funktionsweise der Blockchain

In der Blockchain sind die einzelnen, dezentral verwalteten Datenblöcke miteinander verkettet. Neue Datenblöcke können nur an den jeweils letzten generierten Block angehängt werden. Erstellte Datenblöcke können nicht mehr ohne weiteres geändert werden, ohne dass jeder einzelne Block der Kette geändert werden müsste.

Möchten Teilnehmer der Blockchain etwas in die Datenbank schreiben, erstellen sie eine kryptographisch signierte Transaktion, die von allen Teilnehmern akzeptiert werden muss und in den Pool verifizierter Transaktionen („Mempool“) eingestellt wird. Die Transaktionen werden sodann in Datenblöcke „verpackt“ und an die Blockchain angehängt. Die Verkettung der Datenblöcke erfolgt dabei durch die Ermittlung eines individuellen Hash-Wertes pro Block, welcher sich auf den jeweils vorhergehenden Block bezieht.

Das Berechnen eines passenden Hashwerts und damit das Generieren und Anhängen eines Blocks an die Blockchain aus dem „Mempool“ erfolgt (...)
 

Verlag Dr. Otto Schmidt vom 27.11.2018 14:17
Quelle: Verlag Dr. Otto Schmidt

zurück zur vorherigen Seite