Einführung
In den 1990er Jahren schlug Nick Szabo erstmals das Konzept der Smart Contracts vor. Damals definierte er Smart Contracts als Werkzeuge, die Computernetzwerke standardisieren und durch die Kombination von Protokollen und Benutzeroberflächen für deren Sicherheit sorgen.
Szabo diskutierte den möglichen Einsatz von Smart Contracts in verschiedenen Bereichen im Zusammenhang mit vertraglichen Vereinbarungen, wie etwa Kreditsystemen, Zahlungsprozessen und Content-Rights-Management.
Im Bereich der Kryptowährung können Smart Contracts als Anwendungen oder Programme definiert werden, die auf der Blockchain laufen. Typischerweise funktionieren sie als digitales Protokoll, das durch bestimmte Regeln durchgesetzt wird. Diese Regeln werden durch Computercode vordefiniert und von allen Netzwerkknoten repliziert und ausgeführt.
Intelligente Blockchain-Verträge unterstützen die Erstellung vertrauenswürdiger Protokolle. Das bedeutet, dass Vertragsparteien über die Blockchain eine Verpflichtung eingehen, ohne sich gegenseitig zu kennen oder zu vertrauen. Die Parteien kamen zu dem Schluss, dass der Vertrag nicht ausgeführt werden würde, wenn die Bedingungen nicht erfüllt würden. Darüber hinaus entfällt durch den Einsatz von Smart Contracts die Notwendigkeit von Vermittlern, wodurch die Betriebskosten erheblich gesenkt werden.
Obwohl Smart Contracts seit vielen Jahren vom Bitcoin-Protokoll unterstützt werden, wurden sie durch die Hände des Ethereum-Erfinders und Mitbegründers Vitalik Buterin populär. Es ist erwähnenswert, dass jede Blockchain Smart Contracts anders implementiert.
Dieser Artikel konzentriert sich auf intelligente Verträge, die in der Ethereum Virtual Machine (EVM) laufen, einem wichtigen Teil der Ethereum-Blockchain.
Wie funktionieren Smart Contracts?
Einfach ausgedrückt ist ein Smart Contract ein deterministisches Programm, das bestimmte Aufgaben ausführt, wenn bestimmte Bedingungen erfüllt sind. Daher folgen Smart-Contract-Systeme in der Regel „Wenn...Dann...“-Bedingungsanweisungen. Obwohl das Konzept des „intelligenten Vertrags“ bekannt ist, handelt es sich weder um einen rechtsgültigen Vertrag noch um einen intelligenten Vertrag. Sie sind lediglich ein Stück Code, der in einem verteilten Blockchain-System ausgeführt wird.
Im Ethereum-Netzwerk sind Smart Contracts für die Ausführung und Verwaltung von Blockchain-Operationen verantwortlich, wenn Benutzer (Adressen) miteinander interagieren. Adressen außerhalb von Smart Contracts werden als „External Accounts (EOA)“ bezeichnet. Daher werden Smart Contracts durch Computercode gesteuert, während externe Konten (EOA) von Benutzern gesteuert werden.
Intelligente Verträge von Ethereum bestehen im Wesentlichen aus einem Vertragscode und zwei öffentlichen Schlüsseln. Der erste öffentliche Schlüssel wird vom Vertragsersteller bereitgestellt, und der andere öffentliche Schlüssel ist der Vertrag selbst und wird als eindeutige digitale Kennung für jeden Smart Contract verwendet.
Die gesamte Bereitstellung intelligenter Verträge erfolgt über Blockchain-Transaktionen und wird nur aktiviert, wenn ein externes Konto (EOA) oder ein anderer intelligenter Vertrag aufgerufen wird. Smart Contracts werden jedoch im Allgemeinen durch ein externes Konto (EOA), also den Benutzer, zum ersten Mal ausgelöst.
Hauptmerkmale
Intelligente Verträge von Ethereum weisen die folgenden gemeinsamen Merkmale auf:
verteilt. Intelligente Verträge werden repliziert und über alle Knoten im Ethereum-Netzwerk verteilt. Dies unterscheidet sich stark von anderen zentralisierten serverbasierten Lösungen.
Sicherheit. Smart Contracts führen nur dann vorgefertigte Aktionen aus, wenn die Anforderungen erfüllt sind. Und egal, wer es macht, die Ergebnisse bleiben konsistent.
Autonomie. Im Vergleich zu „selbstausführenden“ Programmen erledigen Smart Contracts automatisch verschiedene Aufgaben. Meistens bleiben nicht ausgelöste Smart Contracts im „Ruhezustand“ und führen keine Aktionen aus.
Unveränderlichkeit. Smart Contracts können nach ihrer Bereitstellung nicht mehr geändert werden. Smart Contracts können erst nach Implementierung bestimmter Funktionen „gelöscht“ werden. Wir könnten also genauso gut sagen, dass intelligente Verträge manipulationssicheren Code bereitstellen.
Anpassung. Vor der Bereitstellung werden Smart Contracts auf verschiedene Weise codiert. Daher können damit verschiedenste dezentrale Anwendungen (DApps) erstellt werden. Dies geht einher mit der Tatsache, dass Ethereum eine Turing-vollständige Blockchain ist.
Vertrauen entziehen. Zwei oder mehr Parteien können über Smart Contracts interagieren, ohne dass sie einander kennen oder vertrauen müssen. Darüber hinaus gewährleistet die Blockchain-Technologie die Datengenauigkeit.
Transparenz. Die Grundlage intelligenter Verträge ist eine öffentliche Blockchain, sodass der Quellcode nicht nur unveränderlich, sondern auch für alle offen und transparent ist.
Können Smart Contracts geändert oder gelöscht werden?
Nach der Bereitstellung können intelligente Verträge von Ethereum keine neuen Funktionen hinzufügen. Solange der Vertragsersteller jedoch die Funktion „SELFDESTRUCT“ im Code reserviert, kann diese Funktion den Smart Contract später „löschen“ und durch einen neuen Vertrag ersetzen. Wenn diese Funktion nicht im Code reserviert ist, kann der Smart Contract nicht gelöscht werden.
Es ist erwähnenswert, dass Entwickler durch sogenannte aktualisierbare Smart Contracts flexibler mit der Unveränderlichkeit des Vertrags umgehen können. Es gibt viele Möglichkeiten, aktualisierbare Smart Contracts zu erstellen, jede mit unterschiedlichem Komplexitätsgrad.
Nehmen wir als einfaches Beispiel an, dass ein Smart Contract in mehrere kleinere Verträge unterteilt ist. Einige Teile sind so konzipiert, dass sie unveränderlich sind, während andere „Lösch“-Funktionen ermöglichen. Das heißt, Teile des Codes (Smart Contracts) können gelöscht und ersetzt werden, während andere Funktionalitäten unverändert bleiben.
Vorteile und Anwendungsfälle
Als programmierbare Codes sind Smart Contracts hochgradig anpassbar, vielfältig gestaltet und bieten eine Vielzahl von Diensten und Lösungen.
Als dezentrale und selbstausführende Programme erhöhen Smart Contracts die Transparenz und senken die laufenden Kosten. Abhängig von der Implementierung können Smart Contracts auch die Implementierungseffizienz verbessern und umständliche Kosten reduzieren.
Smart Contracts sind besonders nützlich, wenn es um Geldtransfers oder Transaktionen zwischen zwei oder mehr Parteien geht.
Mit anderen Worten: Smart Contracts können auf eine Vielzahl von Anwendungsfällen zugeschnitten werden, darunter die Erstellung von tokenisierten Vermögenswerten, Abstimmungssystemen, Kryptowährungs-Wallets, dezentralen Börsen, Spielen und mobilen Apps. Smart Contracts können auch mit anderen Blockchain-Lösungen eingesetzt werden, die Bereiche wie Gesundheitswesen, Wohltätigkeit, Lieferkette, Governance und dezentrale Finanzierung (DeFi) abdecken.
ERC-20
Auf der Ethereum-Blockchain ausgegebene Token folgen dem ERC-20-Standard. Dieser Standard spezifiziert die Kernfunktionalität aller Ethereum-Token. Daher werden diese digitalen Vermögenswerte oft als „ERC-20-Tokens“ bezeichnet und machen einen großen Teil der bestehenden Kryptowährungen aus.
Viele Blockchain-Unternehmen und Startups haben Smart Contracts eingesetzt, um autonom digitale Token im Ethereum-Netzwerk auszugeben. Nachdem ein Token ausgegeben wurde, vertreiben die meisten Unternehmen ihre ERC-20-Token über ein Initial Coin Offering (ICO). In den meisten Fällen können durch den Einsatz intelligenter Verträge Fondstransaktionen und Token-Verteilungen effektiv und auf vertrauenswürdige Weise realisiert werden.
Einschränkungen
Intelligente Verträge bestehen aus von Menschen geschriebenem Computercode. Der Code weist Mängel und Lücken auf, was viele Risiken mit sich bringt. Idealerweise sollten Smart Contracts von erfahrenen Programmierern geschrieben und eingesetzt werden, insbesondere wenn es um sensible Informationen und große Geldbeträge geht.
Darüber hinaus glauben einige Leute, 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 P2P-Netzwerk und nicht auf einem zentralen Server laufen. Darüber hinaus basieren Smart Contracts auf Blockchain-Systemen und sind daher oft nicht manipulierbar oder schwer zu ändern.
Die Unveränderlichkeit intelligenter Verträge hat offensichtliche Vorteile, kann jedoch in manchen Fällen kontraproduktiv sein. Beispielsweise wurde die dezentrale autonome Organisation „The DAO“ im Jahr 2016 gehackt und Millionen von Ethereum-Coins (ETH) verschwanden. Der Grund dafür war, dass der Smart-Contract-Code Mängel aufwies.
Da Smart Contracts unveränderlich sind, können Entwickler den Code nicht reparieren. Dies führte schließlich zu einem Hard Fork, aus dem die zweite Ethereum-Kette entstand. Einfach ausgedrückt wird eine Kette (Teil der aktuellen Ethereum-Blockchain) in den Zustand vor dem Hack „wiederhergestellt“ und die Gelder an ihre ursprünglichen Eigentümer zurückgegeben. Die andere Kette, die jetzt als Ethereum Classic bekannt ist, beschloss, nicht in den Hack einzugreifen, und bestand darauf, dass in der Blockchain auftretende Ereignisse niemals manipuliert werden sollten.
Es ist wichtig zu beachten, dass dieses Problem nicht durch die Ethereum-Blockchain verursacht wird, sondern durch die fehlerhafte Ausführung von Smart Contracts.
Eine weitere Einschränkung intelligenter Verträge hängt mit ihren unklaren Rechtswirkungen zusammen. Smart Contracts befinden sich in den meisten Ländern in einer Grauzone und gelten noch nicht für die aktuellen rechtlichen Rahmenbedingungen.
Beispielsweise verlangen viele Verträge, dass beide Parteien der Transaktion eine entsprechende Authentifizierung mit echtem Namen bestehen und über 18 Jahre alt sein müssen. Die Anonymität der Blockchain-Technologie und das Fehlen von Vermittlern stehen jedoch im Widerspruch zu den Vertragsanforderungen. Eine Lösung für dieses Problem könnte in Zukunft erscheinen. Allerdings laufen Smart Contracts in einem grenzenlosen verteilten Netzwerk, was die rechtliche Durchsetzung sehr erschwert.
Nachteile
Einige Blockchain-Enthusiasten betrachten Smart Contracts als autonome Lösungen, die einen Großteil der bestehenden Geschäfts- und Bürokratiesysteme ersetzen werden. Auch wenn die Idee verwirklicht werden kann, ist es noch ein langer Weg, bis sie zur Norm wird.
Smart Contracts sind in der Tat eine interessante Technologie. Eigenschaften wie Verteilung, Determinismus, Transparenz und Unveränderlichkeit mindern jedoch manchmal die Attraktivität von Smart Contracts.
Der wesentliche Nachteil von Smart Contracts besteht darin, dass sie viele praktische Probleme nicht gut lösen können. Tatsächlich nutzen einige Unternehmen derzeit herkömmliche Serverlösungen als Notlösung.
Im Vergleich zu Smart Contracts sind zentralisierte Server einfacher und kostengünstiger in der Wartung und bieten häufig große Vorteile in Bezug auf Geschwindigkeit und netzwerkübergreifende Kommunikation (Interoperabilität).
Zusammenfassen
Es besteht kein Zweifel daran, dass Smart Contracts einen tiefgreifenden Einfluss auf den Bereich der Kryptowährungen hatten und tatsächlich große Veränderungen im Blockchain-Bereich mit sich brachten. Endbenutzer interagieren nicht unbedingt direkt mit Smart Contracts. Doch in naher Zukunft werden Smart Contracts in größerem Umfang zum Einsatz kommen und verschiedene Bereiche wie Finanzdienstleistungen und Lieferkettenmanagement abdecken.
Gemeinsam verändern Smart Contracts und Blockchain nahezu jeden Bereich der heutigen Gesellschaft. Aber nur die Zeit wird zeigen, ob diese bahnbrechenden Technologien die Hindernisse überwinden und schließlich eine Massenakzeptanz erreichen können.

