Was ist ein Smart Contract?

Es handelt sich um einen Computercode, der die Ausführung bestimmter Vereinbarungen vereinfacht und die Notwendigkeit eines Mittelsmannes eliminiert. 

Source: Wikimedia Commons

Smart Contracts werden oft in Verbindung mit Blockchain erwähnt. Mit dem Aufkommen von Blockchain 2.0 (das ist der Zeitpunkt, an dem Blockchain seinen ersten Anwendungsfall neben Bitcoin im Jahr 2014 erhielt), sind Smart Contracts eine unschätzbare Ergänzung der Technologie gewesen. Obwohl sie sehr technischer Natur sind, müssen sie nicht schwer zu verstehen sein.

In diesem Leitfaden werden wir Sie durch die Grundlagen von Smart Contracts führen. Sie werden lernen, was sie sind, wie sie funktionieren, wo sie anwendbar sind und sogar die Grundlagen des Schreibens eines Vertrags.

Was ist ein Smart Contract?

Im einfachsten Sinne sind Smart Contracts nur eine programmierte Version Ihres üblichen Vertrags. Ihr Zweck ist es, einen vorher festgelegten Vertrag automatisch auszulösen, wenn alle Vorbedingungen erfüllt sind. Da jede Bedingung manuell programmiert werden muss, um ausgeführt zu werden, kann dies die Menge an Kleingedrucktem, das darauf ausgelegt ist, eine Partei zu begünstigen, sogar auf Kosten der anderen, erheblich reduzieren.

Obwohl Smart Contracts, wie wir sie jetzt nennen, mit programmierbaren Blockchain-Implementierungen bekannt wurden, sind sie viel älter als das. Der Informatiker, Anwalt und Kryptograph Nick Szabo schlug Smart Contracts erstmals in den 90er Jahren als Konzept vor. Er beschrieb sie als "eine Reihe von Versprechen, die in digitaler Form spezifiziert sind, einschließlich Protokollen, innerhalb derer die Parteien diese Versprechen einhalten." Außerhalb ihrer aktuellen Implementierungen sind Smart Contracts auch anderswo präsent: Verkaufsautomaten gelten als eine rudimentäre Version der Technologie, da sie dem allgemeinen Prinzip folgen, dass mit der richtigen Eingabe eine bestimmte Ausgabe garantiert wird.

Trotz ihres Namens sind Smart Contracts in den Augen des Gesetzes nicht unbedingt eine gültige, verbindliche Vereinbarung, wie es bei traditionellen Verträgen der Fall ist. In der Blockchain-Implementierung müssen sie das aber auch nicht sein. Die Interpretation des US National Institute of Standards and Technology definiert sie als eine "Sammlung von Code und Daten (manchmal auch als Funktionen und Zustände bezeichnet), die mittels kryptographisch signierter Transaktionen im Blockchain-Netzwerk eingesetzt werden." Dies ist auch die Definition, nach der Ethereum und ähnliche Blockchains arbeiten.

Für diejenigen, die verstehen, was Blockchain ist, kann es offensichtlich erscheinen, wie Smart Contracts in die Architektur einer Blockchain passen. In einem vollständig dezentralisierten Raum, in dem niemand signifikante Mengen an Macht besitzt, gibt es keinen Platz für Vermittler und Dritte, die die Einhaltung und den Konsens verwalten. Wie unser oben erwähnter Leitfaden erklärt, wird der Konsens durch voreingestellte Mechanismen erreicht, die nicht auf menschliches Eingreifen angewiesen sind. Dasselbe gilt für die Einhaltung und Ausführung von Programmen: Smart Contracts sind programmierte Implementierungen dieser Konzepte, die die Notwendigkeit beseitigen, dass Menschen diese Art von Macht besitzen.

Wie funktioniert ein Smart Contract?

Allerdings erklärt das Wissen, was ein Smart Contract ist, nicht unbedingt, wie er funktioniert.

Ganz einfach: Smart Contracts bestehen aus verschiedenen Funktionen, die auf ihnen definiert sind. Benutzer interagieren mit ihnen, indem sie eine Transaktion senden, die eine bestimmte Funktion auslöst. Jede dieser Funktionen ist detailliert definiert, so dass die Benutzer genau verstehen können, was sie gerade tun werden.

Die Benutzer des Netzwerks definieren Smart Contracts. Jeder, der in der Smart-Contract-Sprache programmieren kann, kann seine eigenen schreiben, solange er genug native Münzen hat, um sie einzusetzen. Die Kosten selbst hängen von dem Netzwerk ab, auf dem Sie bereitstellen, und dessen Bedingungen.

Ein Beispiel aus der Praxis wäre ein Handelsabkommen. Sobald beide Parteien die Details ausgehandelt haben (was jede Partei im Gegenzug erhält, die Bedingungen, alle Faktoren, die sie dazu bringen könnten, den Deal neu zu verhandeln), würden sie normalerweise einen neutralen Dritten finden, der sicherstellt, dass alles buchstabengetreu ausgeführt wird. Neutrale Dritte kosten jedoch Geld - und man kann sich nicht immer darauf verlassen, dass sie neutral bleiben oder einfach nicht versuchen, ihren eigenen Vorteil aus der Situation zu ziehen. Die einfachste Lösung wäre, diese dritte Partei komplett zu entfernen. Aber wer soll dann als Vermittler auftreten?

Deshalb haben Menschen schon immer die Neutralität bevorzugt, die nur Maschinen erreichen können. Bei den aktuellen technologischen Fortschritten haben Maschinen immer noch keine eigenen Präferenzen und Interessen, weshalb sie oft als die beste Lösung für diese Probleme angesehen werden. Mit anderen Worten: Durch die Programmierung eines Smart Contracts können alle beteiligten Parteien die Details des Handels öffentlich und transparent aushandeln (da Smart Contracts nicht in der Lage sind, etwas zu tun, was nicht explizit einkodiert wurde), wodurch potenzielles Fehlverhalten verhindert wird. Dies reduziert auch die Gesamtkosten, da die Bereitstellung und spätere Auslösung eines Smart Contracts im Vergleich zu Anwaltskosten relativ gering ist.

Smart Contracts garantieren, dass alles genau so gemacht wird, wie es kodiert wurde. Da es sich nicht um sehr komplexe Programme handelt, können diese Codes oft mit einigen grundlegenden Programmierkenntnissen gelesen und verstanden werden. Das ist wichtig, um alles im Griff zu haben und eine gute Zusammenarbeit mit anderen Teilnehmern des Netzwerks zu ermöglichen.

Wofür können Smart Contracts verwendet werden

Einer der größten Vorteile von Smart Contracts ist, dass sie für praktisch alles verwendet werden können, solange sie programmiert werden können. Natürlich gibt es einige Anwendungsfälle, die häufiger vorkommen als andere. Einige der besten Beispiele sind:

  • Digitale Identität: In einer Zeit, in der der Datenschutz im Internet zweifelhaft ist, macht man sich Sorgen darüber, welche Daten man mit Unternehmen teilt, auf deren Websites man zugreift. Dies kann leicht durch Smart Contracts digitalisiert werden, wobei Ihre Präferenzen für die Kuration von Inhalten geteilt werden könnten, ohne dass Ihre persönlichen Daten tatsächlich offengelegt werden.
  • Wertpapiere: Der Finanzsektor als Ganzes leidet unter einer Menge Reibung zwischen verschiedenen Parteien, besonders wenn es um das Halten und den Handel von Wertpapieren geht. Indem alles durch Smart Contracts automatisiert wird, könnten Zwischenhändler komplett entfernt werden. Das Programm würde dann die Auszahlung von Dividenden und/oder anderen automatischen Zahlungen übernehmen, die Haftung verwalten und den Arbeitsablauf rationalisieren.
  • Kredite und Hypotheken: Diese Dinge sind oft die Quelle der Frustration für viele. Die Implementierung von Smart-Contract-Zahlungen würde bedeuten, die Gesamtkosten, die normalerweise an Dritte gehen, zu senken, einen günstigen Zinssatz beizubehalten und sicherzustellen, dass es kein Kleingedrucktes gibt, das ausgenutzt werden kann. Zusätzlich kann die Einrichtung automatischer monatlicher Zahlungen die ganze Angelegenheit für alle Beteiligten weiter vereinfachen.
  • Lieferkette: Als einer der bekanntesten Anwendungsfälle für Blockchain sind Smart Contracts auch von unschätzbarem Wert, wenn es um das Management der Lieferkette geht. Von der Bestandsverfolgung bis hin zu automatischen Updates für alle betroffenen Parteien kann die Implementierung von Smart Contracts die Transparenz verbessern und den Raum für potenziellen Betrug deutlich reduzieren.
  • Escrow: Wie bei anderen Aktivitäten, die die Beteiligung Dritter erfordern, ist auch Escrow eine derjenigen, die von einer Automatisierung profitieren würden. Mit Smart Contracts werden Gelder an einem sicheren Ort verwahrt, bis alle Bedingungen für ihre Freigabe erfüllt sind. Dadurch kann das Risiko von Diebstahl und Betrug nahezu eliminiert werden, während gleichzeitig alles vollständig transparent und - vielleicht am wichtigsten - erschwinglich bleibt.
  • Medizinische Daten sind hochsensibel, und die meisten Länder haben Gesetze, die sie vor unbefugtem Zugriff schützen. Die Verwendung von Smart Contracts kann nicht nur diese Daten schützen, sondern auch Einzelpersonen entscheiden lassen, wer Zugang zu diesen Daten erhalten kann. Letztendlich könnten Menschen medizinischen Forschern gegen eine Gebühr Zugang zu ihren Daten gewähren, was eine erhebliche Menge an ethischen Bedenken für alle beteiligten Parteien beseitigen würde.
  • Gehälter: Unternehmen, die Angestellte beschäftigen, könnten durch die automatische Auszahlung der Gehälter viel Geld sparen. Selbst wenn sie freie Tage berücksichtigen müssen, können diese Änderungen schnell und einfach angepasst werden. Das Konzept könnte auch bei stundenweise beschäftigten Mitarbeitern funktionieren.

Die Liste der Anwendungsfälle von Smart Contracts ist bei weitem nicht vollständig. Sie dient jedoch nur dazu, die breite Palette von Anwendungen aufzuzeigen, die über das hinausgehen, woran viele Menschen denken, wenn sie von der Technologie hören. Mit der richtigen Infrastruktur könnten Smart Contracts weit über die hier skizzierten Anwendungsfälle hinausgehen.

Vorteile von Smart Contracts

Viele der Vorteile, die Smart Contracts für die Art und Weise, wie Sie Ihre Geschäfte abwickeln, bieten, lassen sich aus dem ableiten, was wir bisher gezeigt haben. Andererseits gehen einige über das hinaus, was auf den ersten Blick offensichtlich ist. Lassen Sie uns einen genaueren Blick auf sie werfen.

  • Vertrauen: oder, vielleicht genauer gesagt, Vertrauenslosigkeit bedeutet, dass Sie niemandem implizit vertrauen müssen, dass die von Ihnen festgelegten Bedingungen ausgeführt werden. Da ein Smart Contract keine eigene Autonomie besitzt, können Sie sich darauf verlassen, dass alles genau so geschieht, wie es geschrieben steht.
  • Sicherheit: Kryptographie, das Konzept, auf dem Blockchain (und damit auch Smart Contracts) aufbaut, macht alles wesentlich sicherer als viele andere technologische Lösungen.
  • Geschwindigkeit: Die Verwendung von Smart Contracts ist ein deutlicher Fortschritt gegenüber der manuellen Abwicklung von Dingen, die automatisiert werden können. Besonders im Fall von Vermittlern, die je nach ihren eigenen Praktiken ihre Zeit brauchen können, kann die Umstellung auf Smart Contracts genau die Zeitersparnis sein, die Ihr Unternehmen braucht.
  • Einsparungen: Nach der gleichen Logik wie beim Aspekt der Geschwindigkeit spart das Entfernen der Einmischung von Dritten auch das Geld, das Sie für deren Dienste zahlen würden.
  • Autonomie: Sich nicht auf Vermittler zu verlassen, gibt Ihnen mehr Macht, selbst oder mit einer anderen interessierten Partei zu entscheiden, was genau Ihr Smart Contract tun soll. Außerdem ist die Wahrscheinlichkeit, dass sich jemand irrt (oder gar manipuliert), bei weniger Teilnehmern deutlich geringer.
  • Genauigkeit: sofern nicht ein Fehler in den Smart Contract vorprogrammiert ist, ist er physisch nicht in der Lage, etwas anderes zu tun, als in seinem Code geschrieben steht.
  • Transparenz: Sie werden nicht nur in der Lage sein, den Smart Contract zu lesen und zu sehen, ob er in Übereinstimmung mit dem geschrieben wurde, was Sie wollten oder brauchten, sondern die Tatsache, dass er auf der Blockchain gespeichert ist, bedeutet, dass alle relevanten Daten auch für die Nachwelt sichtbar sein werden. Für Unternehmen kann dies die Audit-Prozesse beschleunigen.
  • Einfaches Verständnis (und Nutzung): Es stimmt, dass Code auf unglaublich verwirrende Weise geschrieben werden kann. Qualitativ hochwertiger Code ist jedoch einfach zu verstehen und zu verwenden, was bedeutet, dass es viel einfacher ist, als sich durch lange, dichte juristische Dokumente zu wühlen.

Weitere Vorteile der Verwendung von Smart Contracts hängen von Ihrem persönlichen Anwendungsfall ab. Am wichtigsten ist, dass sie alle eines gemeinsam haben: Sie machen alles einfacher.

Mögliche Nachteile

Natürlich ist keine Technologie ein Allheilmittel. Das gilt besonders für Blockchain und Smart Contracts. Da sie noch relativ neu sind und seit langem bestehende Probleme in vielen Branchen angehen, wird oft erwartet, dass sie viel mehr können, als sie realistischerweise können. Hier sind einige Probleme, mit denen Smart Contracts konfrontiert werden können:

  • Nicht rechtsverbindlich: Trotz ihres Namens sind Smart Contracts nicht unbedingt tatsächliche Verträge. Sie halten möglicherweise vor Gericht nicht stand, aber das kann sich von Fall zu Fall ändern.
  • Regulatorische Unsicherheit: Da die Technologie so neu ist, gibt es oft noch keine staatlichen Regelungen. Abhängig von der Art der Transaktion sind sie vielleicht nicht notwendig - aber sie können auch kritisch sein, so dass das Navigieren durch diese rechtlichen Fragen eine Herausforderung sein kann.
  • Besteuerung: Ähnlich verhält es sich mit der Besteuerung intelligenter Vertragstransaktionen. Während einige davon ihren Präzedenzfall im traditionellen Finanzwesen haben, hat der Aufstieg der Kryptowährungen einige neue Faktoren ins Spiel gebracht.
  • Adressierung von Bugs: Kein Code ist perfekt, und Bugs passieren, selbst den besten Programmierern. Einige von ihnen werden vielleicht erst bemerkt, wenn es zu spät ist, und Transaktionen auf der Blockchain sind unumkehrbar. Mit anderen Worten: Fehler können kostspielig sein.
  • Rückgängigmachung von Verträgen: Da intelligente Verträge sehr wörtlich sind, gibt es oft keine Möglichkeit, sie auf die Art und Weise rückgängig zu machen, wie man es bei einem traditionellen Vertrag tun würde, d. h. vor Gericht.
  • Nicht jeder kann Code lesen: Einfach ausgedrückt, nicht jeder kennt die Grundlagen des Programmierens. Theoretisch sollten intelligente Verträge zwar einfacher sein als Dokumente auf Papier, da sie kein Kleingedrucktes zulassen. Wenn Sie jedoch den Code nicht lesen können, kann jeder schreiben, was er will, ohne dass Sie etwas davon mitbekommen.
  • Sie können keine Informationen aus der realen Welt erhalten: Smart Contracts können nicht auf Informationen von außerhalb der Blockchain zugreifen, da dies den Konsens gefährden könnte. Sogenannte Orakel werden verwendet, um dieses Hindernis zu überwinden.

Wie wichtig jeder dieser Nachteile ist, hängt, genau wie bei den aufgeführten Vorteilen, davon ab, wofür Sie Smart Contracts tatsächlich verwenden. Dennoch hilft die Kenntnis dieser Vor- und Nachteile dabei, eine fundierte Entscheidung zu treffen, wenn Sie die Verwendung von Smart Contracts in Betracht ziehen.

Was sind Orakel?

Während wir über Blockchain und Smart Contracts gesprochen haben, haben wir mehrmals erwähnt, dass das Ziel von beiden unter anderem darin besteht, die Abhängigkeit von Dritten zu eliminieren. Es gibt jedoch einige Situationen, in denen sich dies nicht vermeiden lässt. Eine dieser Situationen ist, wenn Sie Informationen aus der realen Welt benötigen, um sie in Smart Contracts einfließen zu lassen, ohne ständig manuell danach suchen zu müssen.

Blockchain-Orakel sind solche Drittparteien. Sie fungieren als Bindeglied zwischen On-Chain-Daten, also der Blockchain, und Off-Chain-Daten, also dem, was wir die reale Welt nennen. Dies hilft, den Anwendungsbereich von Smart Contracts zu erweitern. Ohne Orakel wären Smart Contracts nur in der Lage, mit den Informationen zu arbeiten, die sie von der Blockchain selbst erhalten können, was nicht viel ist.

Um zu verhindern, dass die Daten manipuliert werden, sind die Orakel auch oft dezentralisiert. Das bedeutet, dass sie alle die gleichen Daten senden und die Daten, die die Mehrheit sendet, als korrekt angesehen werden. Wenn ein Orakel zu oft inkonsistent mit dem Rest ist, kann es als bösartig angesehen und bestraft werden. Es gibt viele verschiedene Arten von Orakeln, und die Art, die implementiert wird, hängt davon ab, was das Netzwerk und seine Benutzer brauchen.

Wie man einen intelligenten Vertrag schreibt

Um einen Smart Contract zu schreiben, müssen Sie mindestens mit einer Programmiersprache vertraut sein, die für diesen Zweck verwendet wird. Auf der Ethereum-Blockchain haben Sie die Wahl zwischen zwei entwicklerfreundlichen Sprachen: Solidity und Vyper. Außerdem benötigen Sie Gas: Je komplexer eine Transaktion im Smart Contract ist, desto mehr Gas wird sie benötigen. Jede Transaktion gibt die Menge an Gas an, die sie bereit ist zu zahlen, um einen bestimmten Code auszuführen, sodass sich die insgesamt gezahlte Gebühr aus dem gesamten verbrauchten Gas mal dem Gaspreis ergibt.

Wie Sie einen Smart Contract schreiben, hängt hauptsächlich davon ab, was Sie damit erreichen wollen. Je einfacher es ist, desto schneller können Sie es tun, auch wenn Ihre Programmierkenntnisse ziemlich grundlegend sind. Es gibt Myriaden von Tutorials online, die Ihnen den Einstieg erleichtern.

Der Vertrag muss kompiliert werden, bevor er auf der Blockchain deployed wird. Das Kompilieren hilft auch dabei, herauszufinden, ob Sie alles richtig geschrieben haben und ob er so funktioniert, wie er sollte.

Um mehr zu erfahren, können Sie die Ethereum-Website besuchen, auf der viele Schritt-für-Schritt-Erklärungen zur Funktionsweise ihrer Smart Contracts zu finden sind!

Fazit

Wie dieser Leitfaden zeigt, sind Smart Contracts eine Möglichkeit, Dinge zu automatisieren, die sonst manuell erledigt werden müssten, mit all der Sicherheit, Transparenz und Unveränderlichkeit, die die Blockchain-Technologie immer bietet. Obwohl sie einige Nachteile haben, lösen Smart Contracts immer noch echte Probleme, was bedeutet, dass es von unschätzbarem Wert sein kann, zu wissen, wie man einen verwendet (und sogar selbst einen schreibt!). Für den Anfang ist jedoch das einfache Verständnis, wie sie funktionieren, ein hervorragender Ausgangspunkt für den Rest.

Haben wir etwas verpasst, was Sie wissen wollten? Haben Sie weitere Vorschläge zu diesem Eintrag? Lassen Sie es uns wissen.


Other Bitcoin Guides