Smart Contracts | Übersicht und Erklärung

Smart Contracts (dtsch. intelligente Verträge) sind Verträge, die auf Computerprotokollen basieren. Sie sind sozusagen digitale Verträge, die auf der Blockchain-Technologie aufbauen. Smart Contracts sind vergleichbar mit herkömmlichen Verträgen, wie sie beispielsweise beim Kauf eines Autos oder bei der Annahme eines Jobs abgeschlossen werden. Sie kosten jedoch weniger Geld und arbeiten effizienter. Menschliche Fehlerquellen sind außerdem nahezu ausgeschlossen. Die wohl bekannteste Blockchain-Plattform, die Smart Contracts anbietet, ist Ethereum. Neben Ethereum bieten mittlerweile Ripple und Mastercoin Smart Contracts auf Basis einer Blockchain an.

smart-contracts-ethereum-blockchain-620x329 Smart Contracts | Übersicht und Erklärung
Smart Contracts über Ethereum Blockchain

Smart Contracts Definition

Smart Contracts (Intelligente Verträge) sind selbstausführende Verträge, wobei die Bedingungen der Vereinbarung zwischen Käufer und Verkäufer direkt in Codezeilen geschrieben werden. Der Code und die darin enthaltenen Vereinbarungen bestehen über ein verteiltes, dezentrales Blockchain-Netzwerk. Smart Contracts ermöglichen die Durchführung vertrauenswürdiger Transaktionen und Vereinbarungen zwischen verschiedenen anonymen Parteien und ohne die Notwendigkeit einer zentralen Behörde, eines Rechtssystems oder eines externen Durchsetzungsmechanismus. Die intelligenten Verträge machen alle Transaktionen nachvollziehbar, transparent und irreversibel.

Die Funktionsweise von Smart Contracts

Smart Contracts wurden erstmals 1993 vom Computerwissenschaftler Nick Szabo, einem Kryptografen, beschrieben. Er erkannte, dass Smart Contracts innerhalb einer Blockchain betrieben werden können. Verträge sind Vereinbarungen zwischen mehreren Parteien, welche in schriftlicher Form rechtlich bindende Willensbekunden enthalten. Übliche nicht-digitale Verträge werden schriftlich ausformuliert und enthalten neben der Information über die Vertragsparteien die Information über die jeweilige Willensbekundung der jeweiligen Partei, welche ausgeführt werden muss, um das gemeinsame, vertragliche Ziel zu erreichen. Auf ein einfaches Beispiel übertragen, beinhaltet ein Kaufvertrag eines Autos die Information über den VW-Handelspartner und Max Mustermann als Käufer. Weiterhin muss der Vertrag die Willensbekundung des VW-Handelspartners enthalten, an Max Mustermann einen VW Polo zu verkaufen. Max Mustermann muss außerdem vertraglich festschreiben lassen, dass er das Auto käuflich erwerben will. Im Vertrag wird außerdem festgelegt, wie viel Max Mustermann für das Auto bezahlen muss und was er dafür bekommt.

Smart Contracts enthalten dieselben Informationen, wie herkömmliche Verträge. Die Vertragsinformationen werden jedoch im Programmcode des Smart Contracts festgelegt. Dabei gilt der Grundsatz: Code is law. Der VW-Handelspartner kann beispielsweise durch einen Smart Contract definieren, dass Max Mustermann den VW Polo erhält, wenn er dafür 10.000 Euro bezahlt hat. Auf diese Weise funktionieren Smart Contracts: Sie enthalten Wenn-Dann-Regeln. Sollte eine im Vertrag festgelegte Bedingung erfüllt werden, dann hat das automatisch eine Konsequenz zur Folge. Das heißt, dass festgelegte Aktivitäten, um die Willensbekundung des Vertrages zu verwirklichen, automatisch ausgeführt werden, wenn ein gefordertes Ereignis eintritt. Gleichzeitig werden alle Vertragspartner in Echtzeit über Statusänderungen informiert. Die dezentrale Architektur einer Blockchain erfordert, dass alle im Netzwerk befindlichen Computer über den aktuellen Informationsstand verfügen müssen, damit sie sicher bleibt.

Ein Beispiel für eine Blockchain-Plattform, die digitale Verträge anbietet, ist Ethereum. Die Ethereum-Plattform baut auf dem Peer-to-Peer-Transaktionssystem von Bitcoin auf. Das Netzwerk von Bitcoin arbeitet mit einem dezentral organisierten Netzwerk von Computern, welche alle in Echtzeit miteinander verbunden sind. Alle Computer innerhalb des Netzwerkes von Bitcoin haben die Bitcoin-Blockchain vollständig oder in Teilen gespeichert. Wird eine Bitcoin-Transaktion ausgeführt, wird diese Information automatisch an alle Computer innerhalb des Netzwerkes gesendet und von ihnen gespeichert. Ethereum macht dasselbe mit digitalen Verträgen, wodurch diese besonders sicher werden. Anmerkung: Bei Ethereum nutzt man u.a. die Programmiersprache Solidity um Smart Contracts zu erzeugen.

ethereum-blockchain-ether-coin-620x348 Smart Contracts | Übersicht und Erklärung
Ethereum – Ether Coin

Vorteile von Smart Contracts

Smart Contracts auf der Basis einer Blockchain verfügen über üblichen Vertragsformen einige Vorteile. Einige der Vorteile bestehen in:

  • Verlässlichkeit: Wenn ein Smart Contract korrekt programmiert wurde, sind Interpretationsschwierigkeiten der Vertragsbedingungen nahezu ausgeschlossen. Auch der Verlust von Dokumenten ist dadurch ausgeschlossen.
  • Sicherheit: Wenn Smart Contracts auf Basis einer Blockchain programmiert werden, sind sie durch kryptografische Verschlüsselungsverfahren vor Hackern sicher. Niemand kann die ausgehandelten Vertragsbedingungen im Nachhinein verändern.
  • Effizienz: Einen Smart Contract zu programmieren beansprucht weniger Zeit, als eine entsprechende bürokratische Verarbeitung. Dadurch sparen Vertragspartner Zeit und Geld.
  • Unabhängigkeit: Smart Contracts ersparen Dritt-Parteien, wie beispielsweise Anwälte, Notare und Banker. Zur Verifikation eines Vertrages dient die unveränderliche Blockchain. Aus diesem Grunde gilt der Grundsatz “Code is law”. Allein der Programmcode eines Vertrages entscheidet darüber, ob die Vertragsbedingungen korrekt erfüllt wurden oder nicht.

Hinzu kommt die Möglichkeit eine Kryptowährung in die digitalen Verträge zu implementieren. Das heißt, dass die Vertragserfüllung direkt in einer Kryptowährung bezahlt werden kann. Im Falle von Max Mustermann und dem VW-Händler ist es denkbar, dass der digitale Vertrag, durch die Wenn-Dann-Abfolge, den VW-Händler unmittelbar in Ethereum bezahlt, wenn er den VW Polo an Max ausgeliefert hat.

Nachteile von Smart Contracts

Das Konzept digitaler Verträge ist noch nicht vollständig ausgereift. Sie können auch Probleme verursachen. Es ist beispielsweise denkbar, dass der Programmcode fehlerhaft ist. Da Informationen auf einer Blockchain unveränderlich sind, können derartige Fehler im Nachhinein nicht mehr verändert werden. Ein Fehler im Programmcode eines komplexeren digitalen Vertrages in Form einer DAO, ermöglichte es Hackern am 17. Juni 2016 Ether im Wert von 50 Millionen US-Dollar zu erbeuten. Infolge dessen musste Ethereum eine Hard Fork durchführen, wodurch die Kryptowährung Ethereum Classic entstand.

Es ist außerdem denkbar, dass in den Programmcode Hintertüren einprogrammiert werden. Die Verlässlichkeit und Unveränderlichkeit eines digitalen Vertrages auf Basis einer Blockchain hängt demnach von seinem Programmierer ab. Hinzu kommt, dass sich die Bedingungen für die Vertragserfüllung zufällig ändern können. Wenn Max Mustermann seinen VW Polo geliefert bekommt, das Auto aber beschädigt ist, registriert der digitale Vertrag das dann, oder bezahlt er den VW-Händler dann automatisch? Ein weiterer Aspekt besteht in der begrenzten Anwendungsmöglichkeit. Weltweit verfügt nicht jeder über einen Internetzugang oder ein internetfähiges Gerät.

smart-contracts-versicherung Smart Contracts | Übersicht und Erklärung
Smart Contracts für Versicherungen @wikipedia.org

Smart Contracts Beispiele

Theoretische Anwendungs-Beispiele von Smart Contracts bestehen beispielsweise in:

  • Lieferketten: Lieferketten von Waren bestehen meistens aus mehreren Parteien. Vom Konsumenten, über den Händler, den Großhändler, dem Unternehmen, dem Lieferanten und den Produzenten können digitale Verträge auf Blockchain-Basis alle beteiligten Parteien eine gemeinsame Vertragsbasis bieten. Alle beteiligten Parteien können dann in Echtzeit verfolgen, in welchem Stadium das angebotene Produkt sich grade befindet.
  • Gesundheitswesen: Patientendaten könnten in einem digitalen Vertrag sowohl für den Patienten, als auch für Ärzte und Versicherungen abgebildet werden. Für jede Partei wäre es möglich alle Daten auf einen Blick einzusehen. Patienten könnten außerdem individuell entscheiden, welche Informationen sie preisgeben wollen.
  • Immobilien: Digitale Verträge können nicht nur Mietverhältnisse regeln, sondern auch den Kauf oder Verkauf von Grundstücken erleichtern.
  • Regierungen: Regierungen könnten über digitale Verträge Wahlen abhalten. Die Basis dafür könnte ein Vertrag sein, der zwischen der jeweiligen Regierung und allen Staatsbürgern des Landes abgeschlossen wird. Dadurch könnte die Regierung nicht nur einsehen, wer gewählt hat, sondern Bürger hätten auch den Vorteil, dass sie bequem mit einem Klick ihre Stimme abgeben können.
  • Lizenzvergaben: Über digitale Verträge können beispielsweise Software-Lizenzen effizient vergeben werden. Auf diese Weise könnten Software-Entwickler im Vertrag festlegen, dass sich die Software automatisch deaktiviert, wenn Unberechtigte auf sie zugreifen.

Abseits der Theorie finden digitale Verträge bereits eine Anwendung in der realen Wirtschaft. Der Stromanbieter RWE bietet seinen Kunden beispielsweise über die Ethereum-Plattform digitale Verträge an, damit diese unkompliziert an Stromtankstellen den bezogenen Strom bezahlen können. Das Kartenspiel Spells of Genesis verwendet digitale Verträge, um einzelne Karten den rechtmäßigen Besitzern zuweisen zu können.

Welche Blockchains unterstützen Smart Contracts?

  • Bitcoin – nur begrenzte Möglichkeiten
  • Bitcoin Side Chains – einwenig mehr Möglichkeiten mit SideChains
  • Ethereum – fortschrittlichste Technologie zur Codierung und Verarbeitung
  • NXT – bietet eine begrenzte Auswahl an Smart Contracts Vorlagen
  • Waves – im Testnet implementiert (github.com)
  • Ripple – Mit dem Codius Vertragssystem
  • Namecoin – Ziel: Dezentralisierung des DNS-System (Namecoin)
  • EOS –  erinnert stark an die Ethereum-Blockchain (EOS)

Smart Contracts Programmieren

Für das Schreiben von intelligenten Verträgen wird die vertragsorientierte Programmiersprache Solidity genutzt. Solidity wird zur Implementierung von Smart Contracts auf verschiedenen Blockchain-Plattformen verwendet und wurde von ehemaligen Ethereum-Mitarbeitern entwickelt – ursprünglich nur für die Blockchain-Plattform Ethereum. Später wurde die Programmiersprache auch auf anderen Blockchains eingesetzt. Zu diesem Thema haben wir einen Extra-Artikel: Solidity – Smart Contracts programmieren

Smart Contracts Fazit

Digitale Verträge stellen eine Innovation gegenüber herkömmlichen Verträgen dar. Sie können weltweit zwischen vielen verschiedenen Parteien abgeschlossen werden. Über einen Smart Contract können die Vertragspartner nicht nur über den Programmcode definieren, welchen Vertragsbedingungen sie sich verpflichten, sondern auch bestimmen, was der Vertrag automatisch ausführen soll, wenn die Bedingungen erfüllt werden. Es ist möglich Kryptowährungen als Zahlungsmittel in digitale Verträge zu integrieren. Digitale Verträge könnten die Vertragsform von morgen bereitstellen.