Ethereum: Wie funktionieren Smart Contracts?

Intelligente Verträge sind das Hauptmerkmal, das Ethereum so erfolgreich gemacht hat. 

Was sind Smart Contracts und wozu dienen sie?

Das Bitcoin-Protokoll sieht die Möglichkeit dazu nicht vor Erstellen wirklich komplexer intelligenter Verträge, weil es im Grunde nur dazu gedacht war, Transaktionen zu ermöglichen. 

Im Gegensatz dazu war Ethereum, das sechs Jahre nach Bitcoin geboren wurde, von Anfang an so konzipiert, dass es grundsätzlich ein Netzwerk ist, das dazu in der Lage ist Hosten und Ausführen intelligenter Verträge

Im Jahr 2014 Mitbegründer von Ethereum Vitalik Buterin schrieb explizit in der Whitepaper dass das Netzwerk, das er entwarf, ein war Plattform der nächsten Generation basierend auf Smart Contracts, und dass alternative Anwendungen zu Bitcoin, die auf der Blockchain-Technologie basieren, auch die Verwendung digitaler Vermögenswerte zur Darstellung benutzerdefinierter Währungen und Finanzinstrumente, nicht fungibler Vermögenswerte und komplexerer Anwendungen umfassten. 

Insbesondere letztere, also Smart Contracts, wurden als Anwendungen definiert, die die direkte Kontrolle digitaler Vermögenswerte durch einen Code beinhalten, der willkürliche Regeln umsetzt, oder als dezentrale autonome Organisationen auf Basis der Blockchain, sogenannte DAOs.  

Vitalik schrieb: 

„Was Ethereum bereitstellen möchte, ist eine Blockchain mit einer integrierten Turing-vollständigen Programmiersprache, mit der ‚Verträge‘ erstellt werden können, mit denen beliebige Zustandsübergangsfunktionen codiert werden können, sodass Benutzer jedes der oben beschriebenen Systeme erstellen können.“ – und viele andere, die wir uns noch nicht vorgestellt haben – einfach durch das Schreiben von Logik in ein paar Codezeilen.“

Smart Contracts auf Ethereum sind also Codezeilen, mit denen dies möglich ist Programmieren Sie die automatische Ausführung von Anweisungen durch das Netzwerk, wenn bestimmte Bedingungen erfüllt sind, ohne ihre Ausführung einem Vermittler anvertrauen zu müssen.

Tatsächlich hat Buterin selbst den Begriff „Verträge“ in Anführungszeichen gesetzt, weil es sich dabei nicht um echte Verträge zwischen Parteien handelt Computerprogramme, die dezentral ausgeführt werden Netzwerk. 

Im Allgemeinen ist ihre Bedienung daher nicht sehr kompliziert. 

Smart-Vertrag
Smart Contracts werden ausgeführt, sobald die darin enthaltenen Bedingungen überprüft wurden

Bereitstellung intelligenter Verträge auf der Ethereum-Blockchain

Zunächst müssen natürlich ein oder mehrere Entwickler den Smart Contract erstellen, indem sie die entsprechenden Codezeilen schreiben, und dann müssen sie es tun Senden Sie es an das Ethereum-Netzwerk. 

Technisch gesehen bedeutet die Veröffentlichung auf der Ethereum-Blockchain, dass alle Knoten im Netzwerk es empfangen und ausführen müssen. Nach der Veröffentlichung werden alle darin enthaltenen Anweisungen von allen Knoten immer auf genau die gleiche Weise ausgeführt. 

Daher nicht nur seine Veröffentlichung, sondern auch Die Ausführung von Anweisungen ist irreversibel sobald es auf der Blockchain veröffentlicht wird. 

Was also wirklich zählt, sind die darin enthaltenen Anweisungen – die sehr unterschiedlich sein können – und die Anzahl der Personen, die sie verwenden. Damit die Anweisungen eines Smart Contracts tatsächlich ausgeführt werden können, muss dies tatsächlich der Fall sein eine oder mehrere Transaktionen, die sie aufrufen

Es ist auch zu bedenken, dass diese Anweisungen im Allgemeinen den Einsatz von Ressourcen wie Daten oder Token erfordern. Damit sie tatsächlich ausgeführt werden können, müssen Es müssen alle erforderlichen Voraussetzungen erfüllt sein. 

Manchmal kommen diese Daten dank sogenannter Orakel von außen, manchmal stammen sie einfach aus Transaktionen auf der Blockchain. 

Normalerweise handelt es sich dabei um die Transaktion, die die Ausführung der in einem Smart Contract enthaltenen Anweisungen auslöst beinhaltet die Zahlung von a Gebühr in ETHUm die Ausführung tatsächlich auszulösen, ist in vielen Fällen auch die Zahlung oder das Senden von Token erforderlich, die für den Smart Contract selbst oder andere Smart Contracts spezifisch sind. 

Technisch gesehen sind Smart Contracts eine Art Konto auf der Ethereum Blockchain, vom Netzwerk „kontrolliert“ und nicht von einer zentralen Stelle. Sie können ETH oder Token speichern und können dies auch Senden Sie Transaktionen autonom über das Netzwerk.

Wie man mit dem Code und allgemeiner mit dApps interagiert

Benutzer können mit Smart Contracts interagieren, indem sie Transaktionen senden lösen eine der in ihrem Code definierten Funktionen aus. 

Daher ist die Funktionsweise intelligenter Verträge auf Ethereum im Allgemeinen sehr einfach: Senden Sie einfach eine Transaktion eines bestimmten Typs an einen intelligenten Vertrag, und dies löst die Ausführung aller Anweisungen durch die Knoten aus, die in der Funktion des aufgerufenen intelligenten Vertrags enthalten sind die Transaktion selbst. 

Je nachdem, welche Anweisungen in der aufgerufenen Funktion enthalten sind, können offensichtlich sehr unterschiedliche Konsequenzen generiert werden, die nicht nur von Smart Contract zu Smart Contract, sondern auch von Funktion zu Funktion variieren. 

Die enorme Komplexität von Smart Contracts ergibt sich also gerade aus dem, was die einzelnen Smart Contracts tun, und nicht generell aus der Tatsache, dass das Ethereum-Netzwerk sie unterstützt und ausführt. Darüber hinaus ist es absolut unmöglich aufzulisten, wie alle Arten von Smart Contracts im Netzwerk tatsächlich funktionieren. 


Quelle: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/