Einführung
Smart Contracts wurden erstmals in den 1990er Jahren von Nick Szabo beschrieben. Er definierte einen Smart Contract als ein Werkzeug, das Computernetzwerke durch die Kombination von Protokollen mit einer Benutzeroberfläche formalisiert und sichert.
Szabo hat den Einsatz intelligenter Verträge in verschiedenen Bereichen untersucht, beispielsweise bei Vertragsvereinbarungen, Kreditsystemen, Zahlungsabwicklung und Inhaltseigentum.
In der Welt der Kryptowährungen ist ein Smart Contract eine Anwendung, die auf der Blockchain läuft. Es fungiert als digitale Vereinbarung, die durch eine Reihe von Regeln gestützt wird. Diese Regeln werden durch Computercode bestimmt, der von allen Knoten im Netzwerk kopiert und verarbeitet wird.
Mit Smart Contracts können Sie Protokolle erstellen, die kein Vertrauen erfordern. Das bedeutet, dass beide Parteien über die Blockchain interagieren können, ohne sich gegenseitig vertrauen zu müssen. Die Prozessbeteiligten können sicher sein, dass die Nichteinhaltung der Vertragsbedingungen zur Vertragskündigung führt. Durch den Einsatz intelligenter Verträge entfällt außerdem die Notwendigkeit von Vermittlern, wodurch die Transaktionskosten erheblich gesenkt werden.
Obwohl das Bitcoin-Protokoll seit vielen Jahren intelligente Verträge unterstützt, verdanken sie ihre Popularität dem Schöpfer und Mitbegründer von Ethereum, Vitalik Buterin. Darüber hinaus kann jede Blockchain ihre eigene Art der Implementierung intelligenter Verträge nutzen.
Der Schwerpunkt dieses Artikels liegt auf Smart Contracts, die auf der Ethereum Virtual Machine (EVM) laufen, die ein wichtiger Teil der Ethereum-Blockchain ist.
Wie es funktioniert?
Vereinfacht gesagt funktioniert ein Smart Contract wie ein deterministisches Programm. Es führt bestimmte Aktionen aus, wenn bestimmte Bedingungen erfüllt sind. Auf dieser Grundlage verwendet das Smart-Contract-System häufig „Wenn...dann...“-Ausdrücke. Entgegen der allgemein anerkannten Terminologie handelt es sich bei Smart Contracts weder um Verträge im rechtlichen Sinne noch um „smart“. Hierbei handelt es sich lediglich um Codefragmente, die auf einem verteilten System (auf einer Blockchain) ausgeführt werden.
Im Ethereum-Netzwerk sind Smart Contracts für die Durchführung von Transaktionen zwischen Benutzern (Adressen) verantwortlich. Jede Adresse, bei der es sich nicht um einen Smart Contract handelt, wird als Einzelkonto (EOA) bezeichnet. Somit werden Smart Contracts durch Programmcode verwaltet und persönliche Konten werden durch Benutzer verwaltet.
Im Wesentlichen bestehen intelligente Verträge von Ethereum aus einem Vertragscode (der Ausführungsbedingungen enthält) und zwei öffentlichen Schlüsseln. Der erste öffentliche Schlüssel wird vom Ersteller des Vertrags bereitgestellt. Der andere Schlüssel stellt den Vertrag selbst dar und ist eine digitale Kennung, die für jeden Smart Contract eindeutig ist.
Die Ausführung jedes Smart Contracts erfolgt während einer Blockchain-Transaktion und kann aktiviert werden, wenn er von einem persönlichen Konto (oder einem anderen Smart Contract) initiiert wird. Die Abfolge intelligenter Verträge wird jedoch immer von einem persönlichen Konto (d. h. dem Benutzer) aus gestartet.
Hauptmerkmale
Ein Ethereum-Smart-Vertrag weist häufig die folgenden Merkmale auf:
Verteilung. Intelligente Verträge werden repliziert und über alle Knoten des Ethereum-Netzwerks verteilt. Dies ist einer ihrer Hauptunterschiede zu anderen Lösungen, die zentralisierte Server verwenden.
Determinismus. Intelligente Verträge führen die Aktionen aus, für die sie konzipiert sind, wenn bestimmte Anforderungen erfüllt sind. Darüber hinaus wird das Ergebnis immer das gleiche sein, unabhängig davon, wer die Anforderungen erfüllt.
Autonomie. Intelligente Verträge können alle Arten von Aufgaben automatisieren und als selbstausführendes Programm funktionieren. Wenn ein Smart Contract nicht initiiert wird, ist er in den meisten Fällen „ruhend“ und führt keine Aktionen aus.
Unveränderlichkeit. Sie können den Prozess eines Smart Contracts nicht mehr ändern, nachdem er entwickelt und aktiviert wurde. Änderungen können nur vorgenommen werden, wenn die Entwickler zuvor eine bestimmte Funktion implementiert haben. Wir können also sagen, dass Smart Contracts durch den Nachweis der Authentizität Schutz vor Code-Hacking bieten können.
Personalisierung. Intelligente Verträge können auf verschiedene Arten codiert werden, beispielsweise um verschiedene Arten dezentraler Anwendungen (DApps) zu erstellen. Dies liegt daran, dass Ethereum so konzipiert wurde, dass es Turing vollständig ist.
Mangelndes Vertrauen. Zwei oder mehr Parteien können mithilfe von Smart Contracts interagieren, ohne einander zu kennen oder zu vertrauen. Darüber hinaus stellt die Blockchain-Technologie sicher, dass alle Daten korrekt sind und erfasst werden.
Transparenz. Da Smart Contracts auf einer öffentlichen Blockchain basieren, ist ihr Quellcode für jedermann zugänglich.
Kann ich einen Smart Contract ändern oder löschen?
Ethereum-Benutzer können keine neuen Funktionen hinzufügen, sobald der Smart Contract aktiviert ist. Wenn ein Entwickler jedoch eine Funktion namens SELFDESTRUCT in den Vertragscode einbaut, kann er diese später entfernen und durch eine neue ersetzen. Ohne diese Funktion ist es nicht möglich, den Smart Contract zu löschen.
Insbesondere sogenannte aktualisierbare Smart Contracts bieten Entwicklern Zugriff auf Codeänderungen und bieten so eine größere Flexibilität im Vergleich zu unveränderlichen Verträgen. Es gibt viele Möglichkeiten, diese Art von Smart Contracts unterschiedlicher Komplexität zu erstellen.
Schauen wir uns das anhand eines einfachen Beispiels an. Stellen wir uns vor, dass ein Smart Contract in mehrere kleine Verträge aufgeteilt ist. Einige davon können nicht geändert werden, während andere dank der oben genannten Funktion gelöscht werden können. Das bedeutet, dass ein Teil des Codes (eine bestimmte Anzahl von Smart Contracts) entfernt und durch einen anderen ersetzt werden kann, während die restliche Funktionalität unverändert bleibt.
Vorteile und Anwendungsfälle
Da es sich um programmierbaren Code handelt, sind Smart Contracts hochgradig anpassbar und können auf vielfältige Weise entwickelt werden, wodurch unterschiedliche Arten von Diensten und Lösungen angeboten werden.
Als dezentrales und sich selbst durchsetzendes Programm können Smart Contracts für mehr Transparenz und niedrigere Betriebskosten sorgen. Je nach Branche können sie auch die Effizienz steigern und bürokratische Kosten reduzieren.
Die Vorteile von Smart Contracts zeigen sich besonders deutlich, wenn es um Geldtransfers oder den Geldaustausch zwischen zwei oder mehreren Parteien geht.
Mit anderen Worten: Smart Contracts können so gestaltet werden, dass sie für eine Vielzahl von Anwendungsfällen geeignet sind, darunter die Erstellung von tokenisierten Vermögenswerten, Abstimmungssystemen, Krypto-Wallets, dezentralen Börsen, Spielen und mobilen Anwendungen. Sie können auch zusammen mit anderen Blockchain-Lösungen in den Bereichen Gesundheitswesen, Philanthropie, Lieferkette, Governance und dezentrale Finanzierung (DeFi) eingesetzt werden.
ERC-20
Auf der Ethereum-Blockchain ausgegebene Token entsprechen dem ERC-20-Standard, der ihre Hauptfunktionen beschreibt. Sie werden oft als ERC-20-Token bezeichnet und machen den Großteil der bestehenden Kryptowährungen aus.
Viele Unternehmen und Startups entwickeln Smart Contracts, um ihre eigenen digitalen Token im Ethereum-Netzwerk auszugeben. Nach der Ausgabe verteilen die meisten von ihnen ihre ERC-20-Token über ein Initial Coin Offering (ICO). Mit Smart Contracts können Sie Gelder zuverlässig und effizient austauschen und verteilen.
Mängel
Intelligente Verträge bestehen aus von Menschen geschriebenem Computercode. Dies birgt zahlreiche Risiken, da der Code anfällig für Schwachstellen und Fehler ist. Idealerweise sollte die Entwicklung von erfahrenen Programmierern durchgeführt werden, insbesondere wenn es um vertrauliche Informationen oder große Geldsummen geht.
Man geht davon aus, dass zentralisierte Systeme die meisten Lösungen und Funktionen von Smart Contracts bereitstellen können. Der Hauptunterschied besteht darin, dass Smart Contracts in einem verteilten Peer-to-Peer-P2P-Netzwerk und nicht auf einem zentralen Server ausgeführt werden. Und weil Smart Contracts auf der Blockchain basieren, sind sie meist unveränderlich oder zu komplex, um Änderungen vorzunehmen.
Manchmal ist Unveränderlichkeit nützlich, aber nicht immer. Im Jahr 2016 hackten Hacker beispielsweise die dezentrale autonome Organisation The DAO und stahlen Ether (ETH) im Wert von mehreren Millionen Dollar, indem sie Schwachstellen im Smart-Contract-Code ausnutzten.
Da der Smart Contract des DAO unveränderlich war, konnten die Entwickler den Code nicht reparieren. Dies führte letztendlich zu einem Hard Fork und der Entstehung einer zweiten Ethereum-Kette. Einfach ausgedrückt: Eine Kette hat den Hack rückgängig gemacht und die Gelder an die rechtmäßigen Eigentümer zurückgegeben (diese Kette ist Teil der aktuellen Ethereum-Blockchain), während die andere nicht auf den Hack reagiert hat, da Ereignisse in der Blockchain niemals passieren sollten geändert (diese Kette heißt jetzt Ethereum Classic).
Es ist zu beachten, dass das Problem nicht durch den Betrieb der Ethereum-Blockchain entstanden ist. Stattdessen wurde der Fehler durch eine fehlerhafte Implementierung des Smart Contracts verursacht.
Ein weiterer Nachteil von Smart Contracts hängt mit ihrem unsicheren Rechtsstatus zusammen. Dies liegt nicht nur daran, dass sich diese Technologie in den meisten Ländern in einer „Grauzone“ befindet, sondern auch daran, dass Smart Contracts nicht dem aktuellen Regulierungsrahmen entsprechen.
Die Hauptvoraussetzung vieler Vereinbarungen und Verträge ist beispielsweise die strikte Identifizierung der Teilnehmer und das Alter von 18 Jahren. Die durch die Blockchain-Technologie gebotene Anonymität in Verbindung mit dem Fehlen von Vermittlern kann ein Hindernis für die Einhaltung solcher Anforderungen darstellen. Obwohl es mögliche Lösungen für dieses Problem gibt, sind die rechtlichen Aspekte intelligenter Verträge ein großes Problem, insbesondere wenn es um globale und verteilte Netzwerke geht.
Kritik
Einige Blockchain-Enthusiasten sehen in Smart Contracts eine Lösung, die einen Großteil der bestehenden kommerziellen und bürokratischen Systeme ersetzen und automatisieren kann. Obwohl dies erreichbar ist, sind Smart Contracts in diesem Bereich noch lange nicht die Norm.
Smart Contracts sind sicherlich eine interessante Technologie. Aber seine verteilte und deterministische Natur sowie seine Transparenz und teilweise Unveränderlichkeit machen es für den Einsatz in manchen Situationen weniger attraktiv.
Im Wesentlichen basiert alle Kritik darauf, dass Smart Contracts für viele reale Probleme keine geeignete Lösung sind. Und tatsächlich ist es für einige Organisationen einfacher und besser, herkömmliche alternative Server zu verwenden.
Im Vergleich zu Smart Contracts sind zentralisierte Server einfacher und kostengünstiger zu warten. Darüber hinaus können sie eine höhere Effizienz hinsichtlich Geschwindigkeit und Interoperabilität mit anderen Netzwerken bieten.
Zusammenfassung
Ohne Zweifel hatten intelligente Verträge einen großen Einfluss auf die Welt der Kryptowährungen und haben sicherlich den Bereich der Blockchain-Technologie revolutioniert. Da Endbenutzer möglicherweise nicht direkt mit Smart Contracts interagieren, könnten sie in Zukunft als Grundlage für eine Vielzahl von Anwendungen dienen, von Finanzdienstleistungen bis hin zum Supply Chain Management.
Das kombinierte Potenzial von Smart Contracts und Blockchain kann erhebliche Auswirkungen auf nahezu alle Bereiche der Gesellschaft haben. Aber nur die Zeit wird zeigen, ob diese innovativen Technologien die Hindernisse für eine breite Einführung überwinden können.

