More
    StartBlockchain & KryptoWas sind Smart Contracts?

    Was sind Smart Contracts?

    Einführung

    Nick Szabo beschrieb Smart Contracts erstmals in den 1990er Jahren. Damals definierte er einen intelligenten Vertrag als ein Werkzeug, das Computernetzwerke formalisiert und absichert, indem es Protokolle mit Benutzeroberflächen kombiniert.

    Szabo erörterte den potenziellen Einsatz von Smart Contracts in verschiedenen Bereichen, die vertragliche Vereinbarungen beinhalten – wie Kreditsysteme, Zahlungsabwicklung und Verwaltung von Inhaltsrechten.

    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. In der Regel handelt es sich dabei um eine digitale Vereinbarung, die durch einen bestimmten Satz von Regeln durchgesetzt wird. Diese Regeln werden durch Computercode vordefiniert, der von allen Netzwerkknoten repliziert und ausgeführt wird.

    Intelligente Blockchain-Verträge ermöglichen die Erstellung von Protokollen ohne Vertrauen. Dies bedeutet, dass zwei Parteien über die Blockchain Verpflichtungen eingehen können, ohne sich gegenseitig kennen oder vertrauen zu müssen. Sie können sicher sein, dass der Vertrag nicht ausgeführt wird, wenn die Bedingungen nicht erfüllt sind. Darüber hinaus kann die Verwendung von Smart Contracts die Notwendigkeit von Vermittlern beseitigen, was die Betriebskosten erheblich senkt.

    Obwohl das Bitcoin-Protokoll Smart Contracts schon seit vielen Jahren unterstützt, wurden sie durch den Erfinder und Mitbegründer von Ethereum, Vitalik Buterin, populär gemacht. Es ist jedoch erwähnenswert, dass jede Blockchain eine andere Methode zur Implementierung von Smart Contracts bieten kann.

    Dieser Artikel konzentriert sich auf die 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. Er führt eine bestimmte Aufgabe aus, wenn und falls bestimmte Bedingungen erfüllt sind. Als solches folgt ein Smart-Contract-System oft „wenn… dann…“-Anweisungen. Doch entgegen der gängigen Terminologie sind Smart Contracts weder rechtsgültig noch intelligent. Sie sind lediglich ein Stück Code, das auf einem verteilten System (Blockchain) läuft.

    Im Ethereum-Netzwerk sind Smart Contracts für die Ausführung und Verwaltung der Blockchain-Vorgänge verantwortlich, die stattfinden, wenn Nutzer (Adressen) miteinander interagieren. Jede Adresse, bei der es sich nicht um einen intelligenten Vertrag handelt, wird als externes Konto (External Owned Account, EOA) bezeichnet. Smart Contracts werden also durch Computercode gesteuert, während EOAs von Nutzern kontrolliert werden.

    Grundsätzlich bestehen Ethereum-Smart Contracts aus einem Vertragscode und zwei öffentlichen Schlüsseln. Der erste öffentliche Schlüssel ist derjenige, den der Ersteller des Vertrags zur Verfügung stellt. Der andere Schlüssel repräsentiert den Vertrag selbst und dient als digitaler Identifikator, der für jeden intelligenten Vertrag einzigartig ist.

    Die Bereitstellung eines Smart Contracts erfolgt durch eine Blockchain-Transaktion, und sie können nur aktiviert werden, wenn sie von einem EOA (oder von anderen Smart Contracts) aufgerufen werden. Der erste Auslöser wird jedoch immer von einem EOA (Nutzer) verursacht.

    Wesentliche Merkmale

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

    Verteilt. Smart Contracts werden repliziert und auf alle Knoten des Ethereum-Netzwerks verteilt. Dies ist einer der Hauptunterschiede zu anderen Lösungen, die auf zentralisierten Servern beruhen.

    Deterministisch. Smart Contracts führen nur die Aktionen aus, für die sie konzipiert wurden, sofern die Anforderungen erfüllt sind. Außerdem ist das Ergebnis immer dasselbe, unabhängig davon, wer sie ausführt.

    Autonom. Smart Contracts können alle Arten von Aufgaben automatisieren und funktionieren wie ein selbstausführendes Programm. Wenn ein Smart Contract nicht ausgelöst wird, bleibt er jedoch in den meisten Fällen „ruhend“ und führt keine Aktion aus.

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

    Anpassbar. Vor der Bereitstellung können Smart Contracts auf viele verschiedene Arten kodiert werden. So können sie zur Erstellung vieler Arten von dezentralen Anwendungen (DApps) verwendet werden. Dies hängt mit der Tatsache zusammen, dass Ethereum eine vollständige Turing-Blockchain ist.

    Vertrauenslos. Zwei oder mehr Parteien können über Smart Contracts interagieren, ohne sich gegenseitig zu kennen oder zu vertrauen. Außerdem stellt die Blockchain-Technologie sicher, dass die Daten korrekt sind.

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

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

    Es ist unmöglich, einem Ethereum-Smart-Contract neue Funktionen hinzuzufügen, nachdem er bereitgestellt wurde. Wenn der Ersteller jedoch eine Funktion namens SELFDESTRUCT in den Code aufnimmt, kann er den Smart Contract in der Zukunft „löschen“ – und durch einen neuen ersetzen. Wenn die Funktion jedoch nicht in den Code aufgenommen wird, kann sie nicht gelöscht werden.

    Vor allem die so genannten erweiterbaren Smart Contracts ermöglichen Entwicklern mehr Flexibilität bei der Unveränderbarkeit der Verträge. Es gibt viele Möglichkeiten, aufrüstbare Smart Contracts zu erstellen, mit unterschiedlichem Grad an Komplexität.

    Nehmen wir ein vereinfachtes Beispiel: Stellen wir uns vor, dass ein Smart Contract in mehrere kleinere 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) gelöscht und ersetzt werden kann, während andere Funktionalitäten erhalten bleiben.

    Vorteile und Anwendungsfälle

    Als programmierbarer Code sind Smart Contracts in hohem Maße anpassbar und können auf viele verschiedene Arten gestaltet werden, um viele Arten von Dienstleistungen und Lösungen anzubieten.

    Als dezentrale und selbstausführende Programme können Smart Contracts für mehr Transparenz und geringere Betriebskosten sorgen. Je nach Implementierung können sie auch die Effizienz steigern und den bürokratischen Aufwand verringern.

    Smart Contracts sind besonders nützlich in Situationen, in denen es um die Übertragung oder den Austausch von Geldern zwischen zwei oder mehreren Parteien geht.

    Mit anderen Worten: Smart Contracts können für eine Vielzahl von Anwendungsfällen entwickelt werden. Einige Beispiele sind die Schaffung von tokenisierten Vermögenswerten, Wahlsystemen, Krypto-Wallets, dezentralen Börsen, Spielen und mobilen Anwendungen. Sie können auch zusammen mit anderen Blockchain-Lösungen eingesetzt werden, die in den Bereichen Gesundheitswesen, Wohltätigkeit, Lieferkette, Governance und dezentrales Finanzwesen (DeFi) zum Einsatz kommen.

    ERC-20

    Token, die auf der Ethereum-Blockchain ausgegeben werden, folgen einem Standard, der als ERC-20 bekannt ist. Der Standard beschreibt die Kernfunktionen 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 -Start-ups setzten Smart Contracts ein, um ihre digitalen Token im Ethereum-Netzwerk auszugeben. Nach der Ausgabe verteilten die meisten dieser Unternehmen ihre ERC-20-Token über Initial Coin Offering (ICO)-Veranstaltungen. In den meisten Fällen ermöglichte der Einsatz von intelligenten Verträgen den Austausch von Geldern und die Verteilung von Token auf vertrauenswürdige und effiziente Weise.

    Beschränkungen

    Smart Contracts bestehen aus Computercode, der von Menschen geschrieben wurde. Dies birgt zahlreiche Risiken, da der Code mit Schwachstellen und Fehlern behaftet ist. Idealerweise sollten sie von erfahrenen Programmierern geschrieben und eingesetzt werden, insbesondere wenn es um sensible Informationen oder große Geldbeträge geht.

    Abgesehen davon argumentieren einige, dass zentralisierte Systeme die meisten Lösungen und Funktionen von Smart Contracts bieten können. Der Hauptunterschied besteht darin, dass Smart Contracts auf einem verteilten P2P-Netzwerk und nicht auf einem zentralen Server ausgeführt werden. Und da sie auf einem Blockchain-System basieren, sind sie in der Regel entweder unveränderlich oder sehr schwer zu ändern.

    Unveränderlich zu sein kann in manchen Situationen großartig sein, in anderen jedoch sehr schlecht. Als zum Beispiel eine dezentrale autonome Organisation (DAO) namens „The DAO“ im Jahr 2016 gehackt wurde, wurden aufgrund von Fehlern in ihrem Smart-Contract-Code Millionen von Ether (ETH) gestohlen.

    Da ihr Smart Contract unveränderlich war, konnten die Entwickler den Code nicht korrigieren. Dies führte schließlich zu einem Hard Fork, der eine zweite Ethereum-Kette hervorbrachte. Vereinfacht gesagt, machte die eine Kette den Hack rückgängig und gab 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, mit der Begründung, dass Dinge, die auf einer Blockchain geschehen, niemals geändert werden sollten (diese Kette heißt jetzt Ethereum Classic).

    Es ist wichtig zu wissen, dass das Problem nicht von der Ethereum-Blockchain ausging. Stattdessen wurde es durch eine fehlerhafte Smart-Contract-Implementierung verursacht.

    Eine weitere Einschränkung von intelligenten Verträgen hängt mit ihrem unsicheren Rechtsstatus zusammen. Nicht nur, weil sie sich in den meisten Ländern in einer Grauzone befinden, sondern auch, weil Smart Contracts nicht in den aktuellen Rechtsrahmen passen.

    So müssen beispielsweise bei vielen Verträgen beide Parteien ordnungsgemäß identifiziert und über 18 Jahre alt sein. Die von der Blockchain-Technologie gebotene Pseudonymität in Verbindung mit dem Fehlen von Zwischenhändlern kann diese Anforderungen gefährden. Es gibt zwar potenzielle Lösungen für dieses Problem, aber die rechtliche Durchsetzbarkeit von intelligenten Verträgen ist eine echte Herausforderung – vor allem, wenn es um grenzenlose, verteilte Netzwerke geht.

    Kritik

    Einige Blockchain-Enthusiasten sehen in intelligenten Verträgen eine Lösung, die bald einen großen Teil unserer kommerziellen und bürokratischen Systeme ersetzen und automatisieren wird. Dies ist zwar eine mögliche Realität, aber wahrscheinlich weit davon entfernt, die Norm zu werden.

    Smart Contracts sind sicherlich eine interessante Technologie. Aber da sie verteilt, deterministisch, transparent und in gewisser Weise unveränderlich sind, können sie in manchen Situationen weniger attraktiv sein.

    Im Wesentlichen beruht die Kritik auf der Tatsache, dass Smart Contracts für viele reale Probleme keine geeignete Lösung darstellen. In der Tat sind einige Unternehmen mit herkömmlichen serverbasierten Alternativen besser bedient.

    Im Vergleich zu intelligenten Verträgen sind zentralisierte Server einfacher und kostengünstiger zu warten und weisen in der Regel eine höhere Effizienz in Bezug auf Geschwindigkeit und netzübergreifende Kommunikation (Interoperabilität) auf.

    Abschließende Gedanken

    Es besteht kein Zweifel daran, dass Smart Contracts einen großen Einfluss auf die Welt der Kryptowährungen hatten und sicherlich den Blockchain-Bereich revolutioniert haben. Auch wenn die Endnutzer vielleicht nicht direkt mit intelligenten Verträgen interagieren, werden diese in Zukunft wahrscheinlich eine breite Palette von Anwendungen antreiben, die von Finanzdienstleistungen bis zum Lieferkettenmanagement reichen.

    Zusammen haben Smart Contracts und Blockchain das Potenzial, fast alle Bereiche unserer Gesellschaft zu verändern. Doch nur die Zeit wird zeigen, ob es diesen bahnbrechenden Technologien gelingen wird, die vielen Hindernisse zu überwinden, die einer groß angelegten Einführung entgegenstehen.

    Lesen Sie den Originalartikel hier.