Sprachen

Was ist ein Smart Contract?

Smart Contracts sind zu einem der grundlegenden Konzepte der Blockchain-Technologie geworden. Obwohl ihr Name ein direktes Äquivalent zu traditionellen rechtlichen Verträgen nahelegen kann, handelt es sich tatsächlich um Computerprogramme, die bestimmte Anweisungen automatisch ausführen können, wenn die in ihrem Code festgelegten Bedingungen erfüllt sind. Ihre Bedeutung ergibt sich aus der Möglichkeit, digitale Vorgänge zu koordinieren, ohne dass zwingend eine zentrale Instanz benötigt wird, die jeden Schritt manuell überprüfen und ausführen muss.

Ursprung

Die Idee eines Smart Contracts geht der Entstehung von Bitcoin und modernen Blockchain-Netzwerken voraus. Der Begriff wurde in den 1990er-Jahren durch den Kryptografen und Informatiker Nick Szabo bekannt gemacht, der vorschlug, Vertragsbedingungen in Computersysteme und elektronische Mechanismen zu integrieren. Sein Ansatz zielte darauf ab, bestimmte Eigenschaften von Verträgen durch automatisierte Regeln in die digitale Welt zu übertragen. Die damals verfügbare Technologie begrenzte die Anwendungen erheblich, doch das Aufkommen der Blockchain schuf eine Infrastruktur, auf der solche Programme verteilt und überprüfbar ausgeführt werden konnten.

Wie er funktioniert

Ein Smart Contract funktioniert grundsätzlich als eine Menge von Anweisungen. Der Code legt fest, was unter bestimmten Umständen geschehen soll, und das Blockchain-Netzwerk verarbeitet Vorgänge gemäß den programmierten Regeln. Wenn eine Transaktion eine Contract-Funktion aktiviert und deren Bedingungen erfüllt sind, kann die Ausführung den in der Chain gespeicherten Zustand verändern. Je nach Design kann dies die Übertragung digitaler Vermögenswerte, die Aktualisierung von Salden, die Speicherung von Informationen oder die Ermöglichung neuer Vorgänge innerhalb einer dezentralen Anwendung umfassen.

Ein Merkmal, das diese Systeme von einem herkömmlichen Programm unterscheidet, ist die Umgebung, in der sie ausgeführt werden. Bei einer traditionellen Anwendung unterliegt der Code normalerweise der Kontrolle eines Unternehmens oder einer zentralisierten Infrastruktur. Bei vielen Smart-Contract-kompatiblen Blockchains läuft das Programm dagegen innerhalb eines verteilten Netzwerks, dessen Teilnehmer Vorgänge nach einem gemeinsamen Protokoll validieren. Dadurch wird es schwieriger, dass eine einzelne Instanz die Ergebnisse nach der Bereitstellung und Akzeptanz der Regeln durch das Netzwerk einseitig verändert.

Ethereum spielte eine entscheidende Rolle bei der Verbreitung dieser Technologie. Während Bitcoin hauptsächlich dafür entwickelt wurde, Wertübertragungen über ein dezentrales Geldsystem zu ermöglichen, integrierte Ethereum eine Infrastruktur zur Ausführung programmierbarer Contracts auf seiner eigenen Blockchain. Dadurch konnten vollständige Anwendungen in einem gemeinsamen Netzwerk entwickelt werden, wodurch ein Ökosystem mit dezentralen Finanzanwendungen, Märkten für digitale Vermögenswerte, Governance-Systemen, Videospielen und zahlreichen Infrastrukturwerkzeugen entstand.

Um zu verstehen, wie Smart Contracts funktionieren, muss zwischen dem Contract und der Transaktion unterschieden werden, die mit ihm interagiert. Der Smart Contract bleibt unter einer bestimmten Blockchain-Adresse bereitgestellt und enthält seine Logik und seinen Zustand. Eine vom Nutzer gesendete Transaktion kann die Ausführung einer bestimmten Funktion anfordern. Das Netzwerk verarbeitet diese Anfrage, führt die entsprechenden Anweisungen aus und zeichnet bei einem gültigen Vorgang die daraus resultierenden Änderungen auf. Jede Ausführung verbraucht Rechenressourcen, weshalb Netzwerke diese Vorgänge in der Regel mit Kosten verbinden.

Auf Ethereum und ähnlichen Plattformen steht diese Kostenstruktur mit dem Konzept des Gas in Verbindung. Gas ist eine Maßeinheit für die Ressourcen, die erforderlich sind, um einen Vorgang innerhalb der virtuellen Maschine des Netzwerks zu verarbeiten. Je komplexer eine Ausführung ist, desto höher kann ihr Ressourcenverbrauch sein. Dieses Modell erfüllt eine wirtschaftliche und eine Sicherheitsfunktion, weil es verhindert, dass böswillige Nutzer unbegrenzt aufwendige Berechnungen einreichen, ohne dafür Kosten zu tragen. Es wirkt sich zudem direkt auf die Nutzererfahrung von Anwendungen aus, die von Smart Contracts abhängen.

Automatisierung und Vertrauen

Automatisierung ist einer der wichtigsten Vorteile dieser Systeme. Ein Smart Contract kann einen Vorgang ausführen, ohne dass eine Organisation manuell eingreifen muss, sobald die im Code festgelegten Bedingungen erfüllt sind. In einem Finanzszenario könnte ein Contract beispielsweise den Tausch eines digitalen Vermögenswerts gegen einen anderen ermöglichen, wenn eine Transaktion bestimmte Anforderungen erfüllt. In anderen Zusammenhängen kann er Sicherheiten verwalten, Gelder verteilen, Belohnungen berechnen oder Rechte an digital dargestellten Vermögenswerten aufzeichnen.

Diese Automatisierung verändert auch die Natur des Vertrauens. In einem traditionellen System können die Parteien von einem Unternehmen, einer Clearingstelle, einer Bank oder einem Administrator abhängig sein, damit eine Vereinbarung erfüllt wird. In einem auf Smart Contracts basierenden System verlagert sich ein Teil dieses Vertrauens auf das Protokoll, den Code und den Validierungsmechanismus der Blockchain. Das bedeutet nicht, dass der Bedarf an Vertrauen verschwindet. Vielmehr verändert sich sein Gegenstand. Nutzer müssen darauf vertrauen, dass der Code korrekt funktioniert, dass das Netzwerk seine Regeln einhält und dass die mit dem System verbundenen Sicherheitsmechanismen keine kritischen Schwachstellen enthalten.

Grenzen und Risiken

Genau hierin liegt eine der wichtigsten Einschränkungen von Smart Contracts. Code kann Fehler enthalten, die finanzielle Verluste oder unerwartetes Verhalten verursachen. Eine scheinbar kleine Schwachstelle kann erhebliche Folgen haben, wenn das Programm große Mengen digitaler Vermögenswerte verwaltet. Die Geschichte der Branche hat verschiedene Fälle gezeigt, in denen Designfehler, Programmierfehler oder schlecht konzipierte wirtschaftliche Mechanismen von Angreifern ausgenutzt wurden.

Die Schwierigkeit wird dadurch erhöht, dass viele auf einer Blockchain ausgeführte Vorgänge nach ihrer Bestätigung nur schwer rückgängig gemacht werden können. In einer herkömmlichen Anwendung kann ein Unternehmen bestimmte Aufzeichnungen möglicherweise korrigieren oder Gelder durch administrative Maßnahmen zurückholen. Auf einer öffentlichen Blockchain kann diese Möglichkeit fehlen oder durch die spezifischen Regeln des Protokolls eingeschränkt sein. Unveränderlichkeit, die als eine der attraktivsten Eigenschaften dieser Netzwerke gilt, kann Fehler dadurch auch zu besonders komplexen Problemen machen.

Ein weiterer grundlegender Bestandteil sind Oracles. Ein Smart Contract kann auf der Blockchain gespeicherte Informationen verarbeiten, aber Fakten außerhalb der Chain nicht direkt kennen. Wenn ein Contract beispielsweise den Preis eines Vermögenswerts, das Ergebnis eines Spiels oder eine bestimmte Wetterlage kennen muss, benötigt er diese Daten aus einer externen Quelle. Oracles ermöglichen es, solche Informationen in die Blockchain einzubringen. Sie schaffen jedoch eine neue Vertrauens- und Risikofläche, weil der Contract von der Qualität und Sicherheit der Mechanismen abhängt, mit denen die Daten bereitgestellt werden.

Anwendungen

Smart Contracts haben auch das Konzept digitaler Anwendungen durch die Entwicklung sogenannter dezentraler Anwendungen verändert. Auf diesen Plattformen kann die zentrale Logik in auf einer Blockchain bereitgestellten Contracts liegen, während andere Ebenen die von Menschen verwendete Benutzeroberfläche bereitstellen. Diese Architektur hat die Entwicklung von Märkten, Finanzprotokollen und Börsensystemen ermöglicht, bei denen die grundlegenden Regeln öffentlich codiert sind und von den Teilnehmern eingesehen werden können.

Im Finanzbereich haben Smart Contracts Dienstleistungen hervorgebracht, die es ermöglichen, Vermögenswerte zu verleihen, Liquidität bereitzustellen, Tokens zu tauschen oder Sicherheiten zu verwalten, ohne zwingend auf ein traditionelles Finanzinstitut zurückzugreifen. Das Fehlen eines Vermittlers beseitigt jedoch nicht die wirtschaftlichen Risiken. Nutzer bleiben Volatilität, Programmierfehlern, Governance-Problemen, Liquiditätsengpässen und technischen Schwachstellen ausgesetzt. Automatisierung kann Regeln präzise ausführen, macht diese Regeln aber nicht automatisch wirtschaftlich sicher.

Die rechtliche Dimension

Es gibt außerdem eine rechtliche Dimension, die weiterhin Gegenstand der Debatte ist. Die Tatsache, dass ein Vorgang auf einer Blockchain programmiert ist, bedeutet nicht automatisch, dass der Code in jeder Rechtsordnung einen vollständig anerkannten rechtlichen Vertrag darstellt. Das Verhältnis zwischen Code, vertraglichen Verpflichtungen und Gesetzgebung hängt vom geltenden Rechtsrahmen und den konkreten Umständen ab. In manchen Fällen kann der Code einen Teil einer umfassenderen Vereinbarung darstellen, in anderen dient er hauptsächlich als technische Infrastruktur zur Ausführung bestimmter Vorgänge.

Die Entwicklung von Smart Contracts hat den Anwendungsbereich der Blockchain-Technologie von einfachen Wertübertragungen hin zu programmierbaren Systemen erweitert, die Vermögenswerte, Daten und Regeln innerhalb eines verteilten Netzwerks koordinieren können. Ihre Bedeutung liegt nicht nur in der Automatisierung, sondern auch in der Möglichkeit, digitale Mechanismen zu schaffen, deren Betriebsbedingungen direkt in die technologische Infrastruktur integriert werden können.

Um zu verstehen, was ein Smart Contract ist, muss man sich daher von der Vorstellung eines herkömmlichen Vertrags entfernen, der lediglich automatisch ausgeführt wird. Es handelt sich um Software, die innerhalb einer Blockchain-Umgebung betrieben wird und Vermögenswerte sowie digitale Zustände nach vorab definierten Regeln verwalten kann. Ihr Potenzial liegt in der Verbindung von Programmierung, Kryptografie und dezentralen Netzwerken, um bestimmte Formen der Vermittlung zu reduzieren. Ihre Risiken entstehen hingegen gerade aus dieser Struktur, da Programmierfehler, externe Informationsquellen und Protokollgrenzen Folgen haben können, die nicht immer leicht zu korrigieren sind.

Smart Contracts gehören zu den tiefgreifendsten Anwendungen blockchainbasierter Datenverarbeitung, weil sie ein ursprünglich für die Aufzeichnung von Transaktionen geschaffenes Netzwerk in eine Umgebung verwandeln, die programmierbare Logik ausführen kann. Ihre Weiterentwicklung wird von der Sicherheit des Codes, der Fähigkeit der Netzwerke zur effizienten Verarbeitung und der Integration dieser Technologien in die Rechtsrahmen verschiedener Länder abhängen. Anstatt automatisch alle traditionellen Verträge zu ersetzen, besteht ihre heutige Rolle darin, eine neue Kategorie digitaler Infrastruktur zu eröffnen, in der bestimmte Regeln nicht nur in Dokumenten festgehalten werden, sondern zu einem aktiven Bestandteil des Systems werden, das Vereinbarungen ausführt.

Quellen