Einführung

Nick Szabo beschrieb Smart Contracts erstmals in den 1990er Jahren. Damals definierte er einen Smart Contract als ein Werkzeug, das Computernetzwerke durch die Kombination von Protokollen und Benutzeroberflächen formalisiert und sichert.

Szabo erörterte den möglichen Einsatz von Smart Contracts in verschiedenen Bereichen, die vertragliche Vereinbarungen betreffen, wie etwa Kreditsysteme, Zahlungsabwicklung und Content-Rights-Management.

In der Welt der Kryptowährungen können wir einen Smart Contract als eine Anwendung oder ein Programm definieren, das auf einer Blockchain läuft. Im Allgemeinen funktionieren sie als digitale Vereinbarung, die durch ein bestimmtes Regelwerk durchgesetzt wird. Diese Regeln werden durch Computercode vordefiniert, der von allen Knoten im Netzwerk repliziert und ausgeführt wird.

Intelligente Blockchain-Verträge ermöglichen die Erstellung vertrauenswürdiger Protokolle. Das bedeutet, dass zwei Parteien über die Blockchain Verpflichtungen eingehen können, ohne einander kennen oder vertrauen zu müssen. Sie können sicher sein, dass der Vertrag nicht erfüllt wird, wenn die Bedingungen nicht erfüllt sind. Darüber hinaus kann der Einsatz von Smart Contracts die Notwendigkeit von Vermittlern eliminieren und so die Betriebskosten erheblich senken.

Obwohl das Bitcoin-Protokoll seit vielen Jahren intelligente Verträge unterstützt, wurden sie durch den Erfinder und Mitbegründer von Ethereum, Vitalik Buterin, populär gemacht. Es ist jedoch zu beachten, dass jede Blockchain eine andere Methode zur Implementierung intelligenter Verträge bieten kann.

Dieser Artikel konzentriert sich auf Smart Contracts, die auf der Ethereum Virtual Machine (EVM) laufen, die ein wesentlicher Bestandteil der Ethereum-Blockchain ist.


Wie funktionieren sie?

Vereinfacht ausgedrückt funktioniert ein Smart Contract wie ein deterministisches Programm. Es führt eine bestimmte Aufgabe aus, wenn bestimmte Bedingungen erfüllt sind. Daher folgt ein intelligentes Vertragssystem häufig „Wenn...dann...“-Funktionen. Doch trotz der Terminologie haben Smart Contracts keinen rechtlichen Wert und sind nicht intelligent. Es handelt sich einfach um Code, der auf einem verteilten System (einer Blockchain) ausgeführt wird.

Im Ethereum-Netzwerk sind Smart Contracts für die Ausführung und Verwaltung von Blockchain-Vorgängen verantwortlich, die stattfinden, wenn Benutzer (Adressen) miteinander interagieren. Jede Adresse, bei der es sich nicht um einen Smart Contract handelt, wird als External Owned Account (EOA) bezeichnet. Somit werden Smart Contracts durch Computercode gesteuert und EOAs werden durch Benutzer gesteuert.

Grundsätzlich bestehen Smart Contracts von Ethereum aus einem Vertragscode und zwei öffentlichen Schlüsseln. Der erste öffentliche Schlüssel ist der vom Vertragsersteller bereitgestellte. Der andere Schlüssel stellt den Vertrag selbst dar und fungiert als digitale Kennung, die für jeden Smart Contract einzigartig ist.

Die Bereitstellung eines Smart Contracts erfolgt über eine Blockchain-Transaktion. Es kann nur aktiviert werden, wenn es von einem EOA (oder von anderen Smart Contracts) aufgerufen wird. Der erste Auslöser wird jedoch immer durch einen EOA (Benutzer) verursacht.


Haupteigenschaften

Ein Ethereum-Smart-Vertrag weist häufig die folgenden Merkmale auf:

Verteilt. Intelligente Verträge werden repliziert und über alle Knoten des Ethereum-Netzwerks verteilt. Dies ist einer der Hauptunterschiede zu anderen Lösungen, die auf zentralisierten Servern basieren.

Determinist. Intelligente Verträge führen nur die Aktionen aus, für die sie konzipiert wurden, sofern die Anforderungen erfüllt sind. Darüber hinaus wird das Ergebnis immer das gleiche sein, egal wer sie ausführt.

Autonom. Intelligente Verträge können alle Arten von Aufgaben automatisieren und funktionieren wie ein selbstausführendes Programm. Wenn ein Smart Contract jedoch nicht ausgelöst wird, bleibt er in den meisten Fällen „ruhend“ und ergreift keine Maßnahmen.

Unveränderlich. Smart Contracts können nach der Bereitstellung nicht mehr geändert werden. Sie können nur dann „gelöscht“ werden, wenn eine bestimmte Funktion zuvor implementiert wurde. Wir können also sagen, dass intelligente Verträge manipulationssicheren Code bereitstellen können.

Anpassbar. Vor ihrem Einsatz können Smart Contracts auf unterschiedliche Weise codiert werden. Sie können daher zur Erstellung vieler Arten dezentraler Anwendungen (DApps) verwendet werden. Dies liegt daran, dass Ethereum eine Turing-vollständige Blockchain ist.

Ohne Vertrauen. Zwei oder mehr Parteien können über Smart Contracts interagieren, ohne einander zu kennen oder zu vertrauen. Darüber hinaus gewährleistet die Blockchain-Technologie die Datengenauigkeit.

Transparenz. Da Smart Contracts auf einer öffentlichen Blockchain basieren, ist ihr Quellcode nicht nur unveränderlich, sondern auch für jedermann sichtbar.


Kann ich einen Smart Contract ändern oder löschen?

Es ist nicht möglich, einem Ethereum-Smart-Vertrag nach seiner Bereitstellung neue Funktionen hinzuzufügen. Wenn sein Ersteller jedoch eine Funktion namens SELFDESTRUCT in den Code einbaut, ist er in der Lage, den Smart Contract in Zukunft zu „löschen“ und durch einen neuen zu ersetzen. Wenn die Funktion hingegen nicht vorher im Code enthalten ist, ist es unmöglich, sie zu löschen.

Bemerkenswerterweise ermöglichen skalierbare Smart Contracts Entwicklern mehr Flexibilität bei der Unveränderlichkeit von Verträgen. Es gibt viele Möglichkeiten, skalierbare Smart Contracts mit unterschiedlichem Komplexitätsgrad zu erstellen.

Stellen Sie sich in einem vereinfachten Beispiel vor, dass ein Smart Contract in mehrere kleine Verträge unterteilt ist. Einige von ihnen sind so konzipiert, dass sie unveränderlich sind, während bei anderen die Funktion „Löschen“ aktiviert ist. Das bedeutet, dass ein Teil des Codes (Smart Contracts) entfernt und ersetzt werden kann, während andere Funktionalitäten erhalten bleiben.


Vorteile und Anwendungsfälle

Als programmierbarer Code sind Smart Contracts hochgradig anpassbar und können auf unterschiedliche Weise gestaltet werden, wodurch viele Arten von Diensten und Lösungen bereitgestellt werden.

Als dezentrale, selbstausführende Programme können Smart Contracts für mehr Transparenz sorgen und die Betriebskosten senken. Je nach Umsetzung können sie zudem die Effizienz steigern und den Verwaltungsaufwand senken.

Intelligente Verträge sind besonders nützlich in Situationen, in denen es um die Übertragung oder den Austausch von Geldern zwischen zwei oder mehr Parteien geht.

Mit anderen Worten: Smart Contracts können für eine Vielzahl von Anwendungsfällen konzipiert werden. Beispiele hierfür sind die Schaffung von tokenisierten Vermögenswerten, Abstimmungssystemen, Kryptowährungs-Wallets, dezentralen Börsen, Spielen und mobilen Anwendungen. Sie können auch mit anderen Blockchain-Lösungen eingesetzt werden, die sich mit Gesundheitswesen, Wohltätigkeit, Lieferkette, Governance und dezentraler Finanzierung (DeFi) befassen.


ERC-20

Auf der Ethereum-Blockchain ausgegebene Token folgen einem Standard namens ERC-20. Der Standard beschreibt die Grundfunktionen aller Ethereum-basierten Token. Daher werden diese digitalen Vermögenswerte oft als ERC-20-Token bezeichnet und stellen einen großen Teil der bestehenden Kryptowährungen dar.

Viele Blockchain-Unternehmen und Startups haben Smart Contracts eingesetzt, um ihre digitalen Token im Ethereum-Netzwerk auszugeben. Nach der Ausgabe verteilten die meisten dieser Unternehmen ihre ERC-20-Token über Initial Coin Offerings (ICOs). In den meisten Fällen ist es durch den Einsatz intelligenter Verträge möglich, Gelder auszutauschen und Token zuverlässig und effizient zu verteilen.


Grenzen

Intelligente Verträge bestehen aus von Menschen geschriebenem Computercode. Dies birgt viele Risiken, da der Code Schwachstellen und Fehlern unterliegt. Idealerweise sollten sie von erfahrenen Programmierern geschrieben und eingesetzt werden, insbesondere wenn es um sensible Informationen oder große Geldsummen geht.

Darüber hinaus argumentieren einige, dass zentralisierte Systeme die meisten Lösungen und Funktionen bereitstellen können, die Smart Contracts bieten. Der Hauptunterschied besteht darin, dass Smart Contracts in einem verteilten P2P-Netzwerk und nicht auf einem zentralen Server laufen. Und da sie auf einem Blockchain-System basieren, sind sie in der Regel unveränderlich oder nur sehr schwer zu ändern.

Standhaftigkeit kann in manchen Situationen großartig sein, in anderen jedoch sehr schlecht. Als beispielsweise 2016 eine dezentrale autonome Organisation (DAO) namens „DAO“ gehackt wurde, wurden Millionen von Ether (ETH) aufgrund von Fehlern in ihrem Smart-Contract-Code gestohlen.

Da ihr Smart Contract unveränderlich war, konnten die Entwickler den Code nicht reparieren. Dies führte letztendlich zu einem Hard Fork, wodurch eine zweite Ethereum-Kette entstand. Einfach ausgedrückt: Eine Kette macht den Hack rückgängig und gibt die Gelder an die rechtmäßigen Eigentümer zurück (dies ist Teil der aktuellen Ethereum-Blockchain). Die andere Kette beschloss, sich nicht in den Hack einzumischen, und erklärte, dass Dinge, die auf einer Blockchain passieren, niemals geändert werden sollten (diese Kette heißt jetzt Ethereum Classic).

Es ist wichtig zu beachten, dass das Problem nicht bei der Ethereum-Blockchain liegt. Stattdessen wurde es durch eine schlechte Smart-Contract-Implementierung verursacht.

Eine weitere Einschränkung intelligenter Verträge hängt mit ihrem unsicheren Rechtsstatus zusammen. Nicht nur, weil es sich in den meisten Ländern um eine Grauzone handelt, sondern auch, weil Smart Contracts für den aktuellen Rechtsrahmen nicht geeignet sind.

Beispielsweise erfordern viele Verträge, dass beide Parteien ordnungsgemäß identifiziert und über 18 Jahre alt sind. Die durch die Blockchain-Technologie bereitgestellte Pseudonymität in Verbindung mit dem Fehlen von Vermittlern kann diese Anforderungen gefährden. Obwohl es mögliche Lösungen für dieses Problem gibt, ist die rechtliche Durchsetzbarkeit von Smart Contracts eine echte Herausforderung, insbesondere wenn es um verteilte Netzwerke ohne Grenzen geht.


Kritiken

Einige Blockchain-Enthusiasten sehen in Smart Contracts eine Lösung, die bald einen großen Teil unserer Geschäfts- und Verwaltungssysteme ersetzen und automatisieren wird. Obwohl es möglich ist, ist es wahrscheinlich noch lange nicht die Norm.

Smart Contracts sind sicherlich eine interessante Technologie. Aber die Tatsache, dass sie verteilt, deterministisch, transparent und einigermaßen unveränderlich sind, kann sie in bestimmten Situationen weniger attraktiv machen.

Die Kritik beruht im Wesentlichen darauf, dass Smart Contracts für viele reale Probleme keine geeignete Lösung darstellen. Tatsächlich profitieren einige Organisationen von der Verwendung herkömmlicher serverbasierter Lösungen.

Im Vergleich zu Smart Contracts sind zentralisierte Server einfacher und kostengünstiger zu warten und weisen tendenziell eine höhere Effizienz in Bezug auf Geschwindigkeit und netzwerkübergreifende Kommunikation (Interoperabilität) auf.


Schlussfolgern

Es besteht kein Zweifel daran, dass intelligente Verträge einen erheblichen Einfluss auf die Welt der Kryptowährungen hatten und den Blockchain-Bereich sicherlich revolutioniert haben. Obwohl Endbenutzer nicht direkt mit intelligenten Verträgen interagieren, werden sie in Zukunft wahrscheinlich eine breite Palette von Anwendungen antreiben, die von Finanzdienstleistungen bis hin zum Lieferkettenmanagement reichen.

Gemeinsam haben Smart Contracts und Blockchain das Potenzial, fast jeden Bereich unserer Gesellschaft zu revolutionieren. Aber nur die Zeit wird zeigen, ob diese revolutionären Technologien die vielen Hindernisse überwinden werden, die einer breiten Einführung im Wege stehen.