Was sind Smart Contracts?
Startseite
Artikel
Was sind Smart Contracts?

Was sind Smart Contracts?

Mittel
Veröffentlicht Sep 16, 2019Aktualisiert Jun 9, 2023
9m
Nick Szabo beschrieb erstmals in den 90er Jahren Smart Contracts. Damals definierte er einen Smart Contract als Werkzeug, das Computernetzwerke formalisiert und sichert, indem es Protokolle mit Benutzeroberflächen kombiniert. Szabo erörterte die Einsatzmöglichkeiten von Smart Contracts in verschiedenen Bereichen, die vertragliche Vereinbarungen beinhalten - wie Kreditsysteme, Zahlungsabwicklung und Content Rights Management.
In der Welt der Kryptow√§hrungen k√∂nnen wir einen¬†Smart Contract als Anwendung oder Programm definieren, das auf einer Blockchain l√§uft. Normalerweise funktionieren sie als digitale Vereinbarung, die durch ein bestimmtes Regelwerk durchgesetzt wird. Diese Regeln sind durch Computercode vorgegeben, der von allen Netzwerk¬†Nodes repliziert und ausgef√ľhrt wird.

Im Wesentlichen erm√∂glichen Blockchain Smart Contracts die Erstellung von "Trustless Protocols". Das bedeutet, dass zwei Parteien √ľber Blockchain Verpflichtungen eingehen k√∂nnen, ohne sich gegenseitig kennen oder vertrauen zu m√ľssen. Sie k√∂nnen sicher sein, dass, wenn die Bedingungen nicht erf√ľllt sind, der Vertrag nicht ausgef√ľhrt wird. Dar√ľber hinaus kann durch den Einsatz von Smart Contracts der Bedarf an Vermittlern entfallen, was die Betriebskosten deutlich reduziert.

Obwohl das Bitcoin-Protokoll seit vielen Jahren Smart Contracts unterst√ľtzt, wurden sie vom Sch√∂pfer und Mitbegr√ľnder von¬†Ethereum, Vitalik Buterin, bekannt gemacht. Es ist jedoch anzumerken, dass jede Blockchain eine andere Methode zur Implementierung von Smart Contracts darstellen 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?

Einfach ausgedr√ľckt, funktioniert ein Smart Contract als deterministisches Programm. Es f√ľhrt eine bestimmte Aufgabe aus, wenn bestimmte Bedingungen erf√ľllt sind. Daher folgt ein Smart Contract System oft "if... then..." Aussagen. Aber trotz der popul√§ren Terminologie sind Smart Contracts weder legale Vertr√§ge noch intelligent. Sie sind nur ein paar Zeilen Code, der auf einem verteilten System (Blockchain) ausgef√ľhrt wird.

Im Ethereum-Netzwerk sind Smart Contracts f√ľr die Ausf√ľhrung und Verwaltung der Blockchain-Operationen verantwortlich, die stattfinden, wenn Benutzer (Adressen) miteinander interagieren. Jede Adresse, die kein Smart Contract ist, wird als externes gef√ľhrtes Konto (EOA) bezeichnet. So werden Smart Contracts durch Computercode und EOAs durch Benutzer kontrolliert.

Grunds√§tzlich bestehen Ethereum Smart Contracts aus einem Contract Code und zwei Public Keys. Der erste Public Key ist derjenige, der vom Ersteller des Contracts bereitgestellt wird. Der andere Key repr√§sentiert den Contract selbst und fungiert als digitaler Identifikator, der f√ľr jeden Smart Contract eindeutig ist.

Die Bereitstellung eines Smart Contract erfolgt √ľber eine Blockchain-Transaktion und er kann nur aktiviert werden, wenn er von einer EOA (oder anderen Smart Contracts) aufgerufen wird. Der erste Ausl√∂ser erfolgt jedoch immer durch einen EOA (Benutzer).


Hauptmerkmale

Ein Ethereum Smart Contract weist oft die folgenden Merkmale auf:

Verteilt. Smart Contracts werden repliziert und in allen Knoten des Ethereum-Netzwerks verteilt. Dies ist einer der wesentlichen Unterschiede zu anderen Lösungen, die auf zentralisierten Servern basieren.

Deterministisch. Smart Contracts f√ľhren nur die Aktionen aus, f√ľr die sie konzipiert wurden, wenn die Anforderungen erf√ľllt sind. Au√üerdem wird das Ergebnis immer das gleiche sein, unabh√§ngig davon, wer sie ausf√ľhrt.

Autonom. Smart Contracts k√∂nnen alle Arten von Aufgaben automatisieren und wie ein selbst ausf√ľhrendes Programm funktionieren. In den meisten F√§llen jedoch, wenn ein Smart Contract nicht ausgel√∂st wird, bleibt er "ruhend" und f√ľhrt keine Aktionen aus.

Unveränderlich. Smart Contracts können nach dem Bereitstellen nicht mehr geändert werden. Sie können nur dann "gelöscht" werden, wenn zuvor eine bestimmte Funktion implementiert wurde. So können wir sagen, dass Smart Contracts manipulationssicheren Code bereitstellen können.

Anpassbar. Vor der Bereitstellung können Smart Contracts auf vielfältige Weise programmiert werden. So können mit ihnen viele Arten von dezentralen Anwendungen erstellt werden (DApps). Dies hängt damit zusammen, dass Ethereum eine Turing complete Blockchain ist.

Vertrauenslos. Zwei oder mehr Parteien k√∂nnen √ľber Smart Contracts interagieren, ohne sich gegenseitig zu kennen oder zu vertrauen. Dar√ľber hinaus 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 nach der Bereitstellung neue Funktionen hinzuzuf√ľgen. Wenn sein Ersteller jedoch eine Funktion namens¬†SELFDESTRUCT¬†im Code einbindet, kann er den Smart Contract sp√§ter "l√∂schen" - und durch einen neuen ersetzen. Im Gegensatz dazu ist es jedoch nicht m√∂glich, den Contract zu l√∂schen, wenn die Funktion nicht vorher im Code eingebunden wurde.

Insbesondere die so genannten upgradef√§higen Smart Contracts erm√∂glichen es Entwicklern, mehr Flexibilit√§t √ľber die Unver√§nderlichkeit von Vertr√§gen zu haben. Es gibt viele M√∂glichkeiten, aktualisierbare Smart Contracts mit unterschiedlichem Komplexit√§tsgrad zu erstellen.

In einem vereinfachten Beispiel stellen wir uns vor, dass ein Smart Contract in mehrere kleinere Verträge aufgeteilt wird. Einige von ihnen sind so konzipiert, dass sie unveränderlich sind, während andere die Funktion 'Löschen' aktiviert haben. 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 hochgradig anpassbar und können auf vielfältige Weise konzipiert 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 Umsetzung k√∂nnen sie auch die Effizienz steigern und den B√ľrokratieaufwand reduzieren.

Smart Contracts sind besonders n√ľtzlich in Situationen, in denen es um den Transfer oder 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. Einige Beispiele sind die Erstellung von tokenisierten Assets, Abstimmungssystemen,¬†Krypto-Wallets, dezentralen B√∂rsen, Spielen und mobilen Anwendungen. Sie k√∂nnen auch zusammen mit anderen Blockchain-L√∂sungen eingesetzt werden, die die Bereiche¬†Gesundheitsversorgung,¬†Charity,¬†Lieferkette,¬†Governance und¬†dezentrale Finanzierung (DeFi) angehen.


ERC-20

Die auf der Ethereum Blockchain ausgegebenen Token folgen einem Standard, der als ERC-20 bekannt ist. Die Norm beschreibt die Kernfunktionen aller Ethereum-basierten Token. Daher werden diese digitalen Assets oft als ERC-20-Token bezeichnet und stellen einen großen Teil der bestehenden Kryptowährungen dar.
Viele Blockchain-Unternehmen und Startups setzten Smart Contracts ein, um ihre digitalen Token im Ethereum-Netzwerk auszugeben. Nach der Emission verteilte die Mehrheit dieser Unternehmen ihre ERC-20-Token √ľber¬†Initial Coin Offering (ICO) Events. In den meisten F√§llen erm√∂glichte der Einsatz von Smart Contracts den zuverl√§ssigen und effizienten Austausch von Geldern und die Verteilung von Token.


Einschränkungen

Smart Contracts bestehen aus Computercode, der von Menschen geschrieben wurde. Dies birgt zahlreiche Risiken, da der Code Schwachstellen und Fehlern beinhalten kann. Im Idealfall sollten sie von erfahrenen Programmierern geschrieben und eingesetzt werden, insbesondere wenn es um sensible Informationen oder große Summen geht.

Abgesehen davon argumentieren einige, dass zentralisierte Systeme die meisten L√∂sungen und Funktionalit√§ten bereitstellen k√∂nnen, die durch Smart Contracts angeboten werden. Der Hauptunterschied besteht darin, dass Smart Contracts in einem verteilten¬†P2P Netzwerk und nicht auf einem zentralisierten Server ausgef√ľhrt werden. Und weil sie auf einem Blockchain-System basieren, sind sie in der Regel unver√§nderlich oder sehr schwer zu √§ndern.
Unveränderlich zu sein, kann in einigen Situationen großartig sein, aber in anderen sehr schlecht. Als zum Beispiel eine dezentrale autonome Organisation (DAO) namens "The DAO" 2016 gehackt wurde, wurden Millionen von Ether (ETH) aufgrund von Fehlern im Code ihres Smart Contracts gestohlen.
Da ihr Smart Contract unver√§nderlich war, konnten die Entwickler den Code nicht reparieren. Dies f√ľhrte schlie√ülich zu einer¬†Hard Fork, wodurch eine zweite Ethereum-Chain entstand. Einfach ausgedr√ľckt, hat eine Chain den Hack "r√ľckg√§ngig gemacht" und das Geld an die rechtm√§√üigen Eigent√ľmer zur√ľckgegeben (dies ist die aktuelle Ethereum-Blockchain). Die Bef√ľrworter der anderen Chain entschieden sich, den Hack nicht zu unterbinden und erkl√§rten, dass Dinge, die auf einer Blockchain passieren, niemals ge√§ndert werden sollten (diese Chain hei√üt jetzt Ethereum Classic).

Es ist wichtig zu beachten, dass das Problem nicht von der Ethereum Blockchain herr√ľhrt. Stattdessen wurde es durch eine fehlerhafte Implementierung des Smart Contracts verursacht.

Eine weitere Einschränkung von Smart Contracts hängt mit ihrer unsicheren Rechtslage zusammen. Nicht nur, weil es in den meisten Ländern in einer Grauzone liegt, sondern auch, weil Smart Contracts nicht zum aktuellen Rechtsrahmen passen.

Beispielsweise verlangen viele Vertr√§ge, dass beide Parteien ordnungsgem√§√ü identifiziert und √ľber 18 Jahre alt sind. Die Pseudonymit√§t der Blockchain-Technologie, kombiniert mit dem Mangel an Vermittlern, kann diese Anforderungen gef√§hrden. Auch wenn es daf√ľr L√∂sungsans√§tze gibt, ist die rechtliche Durchsetzbarkeit von Smart Contracts eine echte Herausforderung - insbesondere bei grenzenlosen, verteilten Netzen.


Kritik

Einige Blockchain-Enthusiasten sehen Smart Contracts als eine L√∂sung, die in K√ľrze einen gro√üen Teil unserer kommerziellen und b√ľrokratischen Systeme ersetzen und automatisieren wird. Dies ist zwar eine m√∂gliche Realit√§t, aber wahrscheinlich noch lange nicht zur Norm geworden.

Smart Contracts sind sicherlich eine interessante Technologie. Aber das sie verteilt, deterministisch, transparent und in gewissem Maße unveränderlich sind, kann sie in manchen Situationen weniger attraktiv machen.

Im Wesentlichen beruht die Kritik auf der Tatsache, dass Smart Contracts f√ľr viele reale Probleme keine geeignete L√∂sung sind. Tats√§chlich sind einige Unternehmen besser beraten, wenn sie herk√∂mmliche Server-basierte Alternativen verwenden.¬†

Im Vergleich zu Smart Contracts sind zentralisierte Server einfacher und kosteng√ľnstiger in der Wartung und bieten eine h√∂here Effizienz in Bezug auf Geschwindigkeit und netzwerk√ľbergreifende Kommunikation (Interoperabilit√§t).


Schlussworte

Es besteht kein Zweifel daran, dass Smart Contracts einen gro√üen Einfluss auf die Welt der Kryptow√§hrungen hatten, und sie haben den Blockchain-Industrie sicherlich revolutioniert. Obwohl die Endnutzer m√∂glicherweise nicht direkt mit Smart Contracts interagieren, d√ľrften diese in Zukunft ein breites Anwendungsspektrum abdecken, das von Finanzdienstleistungen bis hin zum Supply Chain Management reicht.

Gemeinsam haben Smart Contracts und Blockchain das Potenzial, fast alle Bereiche unserer Gesellschaft zu ver√§ndern. Aber erst die Zeit wird zeigen, ob es diesen bahnbrechenden Technologien gelingt, die vielen Hindernisse f√ľr die Einf√ľhrung in gro√üem Ma√üstab zu √ľberwinden.

Beitrag teilen
Eröffne ein Konto
Setze dein Wissen in die Praxis um und eröffne noch heute ein Binance-Konto.