Mal ein weiterer Entwurf (und ja, ich weiß, dass ich mal die eigentliche FAQ überarbeiten und ergänzen muss)
Smart ContractsSmart Contracts sind eine tolle Sache und man darf davon ausgehen, dass sie über kurz oder lang in vielen Bereichen zum Einsatz kommen werden.
Die allein glückselig machende Lösung aller juristischen, finanziellen und technischen Probleme sind sie aber sicher nicht.
In vielen Fällen sind Smart Contracts vor allem: juristisch problematisch, "dumm" und teuer.Was sind Smart Contracts eigentlich?Vereinfacht gesagt ist ein Smart Contract ein Stück Software, in dem bestimmte Regeln beschrieben sind, nach denen irgend ein Vorgang abläuft. Das ist so allgemein formuliert, dass man eigentlich auch sagen könnte: jedes Computer-Programm ist ein Smart Contract.
Insofern muss man die Definition sicherlich eingrenzen und voraussetzen, dass ein Smart Contract in der Lage sein muss, nach Außen wirksame Entscheidungen auf der Basis vorher bestimmter Regeln zu treffen. Aber selbst das trifft eigentlich noch auf alle Programme zu (nach Außen wirksam wäre z.B. die Ausgabe von Zeichen auf einem Computerbildschirm).
In Bezug auf unseren heutigen Umgang mit dem Begriff Smart Contract wäre also noch zu ergänzen, dass dieser in der Lage sein muss, direkt finanziell wirksame Entscheidungen zu treffen. Dies kann der Smart Contract nur dann, wenn er unmittelbar Zugriff auf die finanziellen Mittel hat.
Man kann das einfacher sagen:
Ein Smart Contract ist ein Programm, in dem Geld "drinsteckt", das er nach vorher definierten Regeln verteilen kann.
Benötigt man für Smart Contracts eine Blockchain?Nein.
Smart Contracts können auch einfach auf einem einzelnen Computer ablaufen.
Die Blockchain dient lediglich dazu, dass die Benutzer des Smart Contracts dem Computer nicht mehr vertrauen müssen.
Auch für das Geld, das im Smart Contract stecken soll, sind Blockchains i.d.R. eine Voraussetzung.
Für den folgenden Abschnitt gilt als enge Definition für einen Smart Contract:Ein Smart Contract ist ein Programm, welches auf einer Blockchain läuft, selbst unmittelbar Geld "enthält" und dieses Geld nach den vorher definierten Regeln des Programms verteilen kann.Sind Smart Contracts (im juristischen Sinne) Verträge?Das muss man mit einem ziemlich eindeutigen "Nein" beantworten.
Das folgende beschreibt zunächst die juristische Situation in Deutschland, analog gilt das aber wohl in den meisten Rechtssystemen weltweit.
Für das Zustandekommen eines Vertrags bedarf es zweier übereinstimmender Willenserklärungen von (natürlichen oder juristischen) Personen.
Er wird geschlossen durch die Abgabe eines Angebots und einer Annahme desselben.
Man kann also zunächst davon ausgehen, dass der "Initiator" eines Smart Contracts ein Angebot in Form des Quelltexts abgibt.
Da nun für gewöhnlich ein Nutzer nicht zugleich Programmierer ist, ist er auch nicht in der Lage, den eigentlichen Angebotsinhalt, also den Quelltext, zu verstehen.
Somit ist er aber auch nicht in der Lage, überhaupt eine Willenserklärung zur Annahme abzugeben.
Damit kommt der Vertrag rein formal nicht zustande.
Vielmehr wird der Nutzer i.d.R. seine Zustimmung zur geschilderten Funktionsweise des Smart Contract erteilen.
Er nimmt also nicht den Smart Contract selbst an, sondern lediglich dessen "umgangssprachliche" Beschreibung durch den Anbieter.
Dies hat erhebliche Auswirkungen.
Weicht nämlich die Ausführung des Smart Contract von der "umgangssprachlichen" Formulierung ab, haftet ggf. der Anbieter für Schäden, die aus dieser Abweichung entstehen.
Natürlich kann es hier Sonderfälle geben, wenn z.B. sowohl Anbieter als auch Annehmender Programmierer sind und den Quelltext verstehen, oder wenn unter echten Kaufleuten die Vereinbarung getroffen wird, den Smart Contract als maßgeblich anzusehen, selbst wenn dieser
von umgangssprachlichen Formulierungen abweicht.
Für die Frage aber, ob ein Smart Contract tatsächlich
üblicherweise als Vertrag angesehen werden kann, lautet die Antwort eindeutig: Nein.
An dieser Stelle mein Dank an
iudica, dem wir hierzu eine anschauliche juristische Betrachtung verdanken:
Smart Contract | Wirksamkeit & Unwirksamkeit von Vertragsprogrammen Lassen sich Verträge überhaupt in einem Smart Contract abbilden?Um den typischen Juristen-Spruch zu bemühen: "kommt drauf an".
Sehr einfache Verträge lassen sich sicherlich fehlerfrei in einem Smart Contract abbilden.
Eine der einfachsten Formen eines solchen Smart Contract ist z.B. eine Bitcoin-Transaktion.
Auch einfachste Wenn-Dann-Regeln können hierbei zum Einsatz kommen, man denke dabei an Multisig-Transaktionen.
Bei komplexeren Sachverhalten wird es aber schwierig.
Aus ca. 4000 Jahren Rechtsgeschichte (um hier den "Codex Hammurapi" als willkürlichen "Anfang" zu nehmen) kann man als empirisch belegt ansehen, dass es alles andere als trivial ist, eindeutige, fehlerfreie Regeln selbst für relativ einfach gestaltete Rechtsgeschäfte zu definieren, die keiner weiteren Interpretation bedürfen.
Komplexität ist hierbei tatsächlich das "Zauberwort".
Inwieweit der massenhafte Einsatz von Smart Contracts in trivialen Fällen hier zu einer Weiterentwicklung hin zu steigender Komplexität ermöglicht, wird in den kommenden Jahren sicherlich spannend mitzuverfolgen sein.
Wenn wir aus der Rechtsgeschichte aber eines lernen dürfen, dann, dass mit zunehmender Komplexität der zu regelnden Geschäftsvorfälle die Komplexität der diese regelnden Verträge eher überproportional zunimmt.
Ein abschließendes Urteil, wozu Smart Contracts tatsächlich einmal fähig sein werden, will ich mir nicht erlauben, ich bleibe vorerst allerdings vorsichtig
pessimistisch.
Sind Smart Contracts "smart"?Nein.
Im Vergleich mit anderen Programmen sind Smart Contracts i.d.R. äußerst "dumm".
Und das ist auch gut so.
Je komplexer ein Programm wird, desto höher ist die Wahrscheinlichkeit für Fehler.
Wer in seinem Smart Contract größere Geldbeträge bindet, will diese sicherlich nicht wegen einem kleinen Programmierfehler verlieren.
Insofern ist es nur vernünftig, die Komplexität von Smart Contracts so gering wie möglich zu halten.
Im Vergleich mit "echten" Verträgen sind sie ebenfalls "dumm".
Ein klassischer juristischer Vertrag "beinhaltet" immerhin letztlich die Weisheit von einigen Tausend Jahren Justizgeschichte und Fortentwicklung von Rechtssystemen, sowie die "Ausführungskapazität" des Gehirns eines durchschnittlichen Richters. Ich will mich hier nicht über die Intelligenz von Richtern auslassen, aber zumindest für den Moment darf man davon ausgehen, dass selbst der dümmste Richter noch um einiges "smarter" ist als selbst der leistungsfähigste Computer.
Sind Smart Contracts kostengünstig?Das ist relativ. In jedem Fall sind (sinnvolle) Smart Contracts alles andere als kostenlos.
Damit ein Smart Contract seine Aufgabe erfüllen kann, muss das von ihm zu verteilende Geld in ihm "gebunden" sein.
Das bedeutet, dass ein Smart Contract für die Dauer seiner Laufzeit das Kapital, über welches er zu entscheiden hat, vollständig bindet.
Kapital zu binden, kostet Geld.
In der Wirtschaftswissenschaft spricht man hierbei von sog. "Opportunitätskosten", das sind die Kosten, die entstehen, weil einem quasi an anderer Stelle Gewinne entgehen.
Vereinfacht gesagt hätte man das Geld auf ein Sparbuch legen können und dafür Zinsen bekommen.
Damit ist auch klar, wie sich diese Kosten in Relation zum Smart Contract verhalten:
je länger der Smart Contract das Geld hält und je höher der Geldbetrag ist, umso höher sind die Kosten für seine Ausführung.
Dazu kommen ggf. noch weitere Kosten, die z.B. aus Kursschwankungen entstehen und aus Transaktionsgebühren, aber diese vernachlässige ich für diese Betrachtung.
Nehmen wir als Beispiel einen Smart Contract, der 1 Million Dollar verwalten und diese in einem Jahr wieder an die Vertragspartner ausschütten soll.
Gehen wir von 3% Zinsen aus, entstehen hier Opportunitätskosten i.H.v. 30.000 Dollar für diesen Smart Contract.
Ein anderer Smart Contract verwaltet vielleicht nur einen Dollar für eine Sekunde. Das kann ich nicht mal mehr berechnen, der Betrag ist sicherlich winzig. Aber wenn man sich vorstellt, dass ein solcher Smart Contract vermutlich millionenfach Verwendung findet, weil er z.B. für Micropayments oder dergleichen zum Einsatz kommt, ist die Summe der Kosten schnell wieder in der selben Höhe wie im oben geschilderten Fall.
Ob der Smart Contract also kostengünstig ist oder nicht, ist immer in Relation zu den Kosten zu sehen, die ein vergleichbares System ohne Smart Contract verursachen würde.
Es kann durchaus sein, dass in einem Fall der Smart Contract "billiger" ist, in einem anderen aber ein "klassischer" Vertrag mit Notar, Gutachtern, Versicherungen, Banken, etc. pp.