Die Idee, dass Blockchains nicht nur für den Zahlungsverkehr nützlich sein könnten, hatte bereits 1998 Nick Szabo. In einem Paper beschreibt er wie Landbesitz verwaltet und mit Zustimmung des Eigentümers übertragen werden kann. Damals fehlten jedoch für eine Umsetzung die dafür notwendigen Technologien.
Mit der Einführung von Bitcoin war es erstmalig möglich digitale Werte zu übertragen, ohne dabei auf eine dritte Partei wie einer Bank zu vertrauen. Möglich wird dies durch die Blockchain-Technologie, mit der ein Konsens über den aktuellen Zustand des Systems gefunden wird. Im Bitcoin-Netzwerk bedeutet dies, dass alle Teilnehmer übereinstimmen, auf welchem Wallet wie viele Bitcoins sind. Smart Contracts versuchen dieses Prinzip zu verallgemeinern. Ein Smart Contract ist ein kleines Programm, in dem ein beliebiger Prozess programmiert ist. Teil des Programms sind die Regeln, nach denen der Zustand verändert werden kann.
Umsetzung neuer Blockchain Anwendungsfälle
Mit der Einführung von Bitcoin änderte sich dies. Von nun an gab es grundsätzlich zwei Möglichkeiten, um solche Anwendungsfälle umsetzen:
- Die Entwicklung einer eigenen Blockchain
Bei diesem Ansatz hat man die maximale Freiheit und kann den Anwendungsfall bestmöglich umsetzen. Jedoch ist die Entwicklung einer Blockchain komplex. Bereits kleine Fehler können dramatische Folgen haben und die Sicherheit der verwalteten Vermögensgegenstände gefährden. Des weiteren müssen öffentliche Blockchains eine kritische Masse erreichen, so dass zuverlässig Konsens hergestellt werden kann. - Aufsetzen auf einer bestehenden Blockchain
Alternativ kann auch eine bestehende Blockchain um zusätzliche Funktionalität erweitert werden. So werden bei Colored Coins zusätzlich Informationen in Transaktionen eingebettet, über die z.B. der Besitz von realen Gütern verwaltet werden kann. Dabei ist besondere Vorsicht geboten, der Transfer an ein nicht unterstütztes Wallet kann zum Verlust der „Farbe“ und damit zum Verlust des Eigentums führen. Grundsätzlich sind die Möglichkeiten, die Bitcoin für neue Anwendungsfälle bietet sehr begrenzt. Es können nur wenige Daten in eine Transaktion eingebettet werden. Auch ist die Skriptsprache ist nicht Touring-vollständig, so kann keine komplexe Logik ausgeführt werden.
Diese Unzulänglichkeiten der existierenden Technologien führten 2015 zu der Entwicklung von Ethereum, einer Blockchain speziell für die Ausführung von Smart Contracts. In solchen Smart Contract Umgebungen können Applikationen (Dapps genannt) installiert und ausgeführt werden.
Die Funktionsweise von Smart Contracts
Genau wie ein „normales“ Wallet hat ein Smart Contract eine Einzahlungsadresse. Mit einer Einzahlung wird die Ausführung des Programms gestartet. Einfache Beispiele sind Wallets mit einem maximalen Auszahlungslimit, oder ein Wallet mit einem Vier-Augenprinzip. Hierbei muss eine Überweisung von einer zweiten Person bestätigt werden. Im Smart Contract ist hinterlegt, wer dazu berechtigt ist.
Grundsätzlich funktionieren Smart Contracts auch ohne Zahlungen. Man kann mit ihnen Abstimmungen durchführen, z.B. für die Durchführung einer Wahl. Eine solche Dapp könnte zwei Funktionen anbieten: Einen Kandidaten vorschlagen und maximal einem Kandidaten eine Stimme geben.
Smart Contracts können auch untereinander interagieren. So könnte ein weiterer Smart Contract dem frisch gewählten Bürgermeister die Kontrolle über die Türen des Rathauses übertragen. Dazu wird überprüft, ob das Kommando zum Öffnen der Türen von dem Wallet kommt, das mit dem Wahlsieger verknüpft ist.
Wallets spielen also nach wie vor eine wichtige Rolle, nur ist ihre Funktion vielseitiger geworden. Sie interagieren mit den Dapps und können in diesen Funktionen ausführen. Alles was den Zustand der Applikation verändert ist mit einer kleinen Gebühr verbunden. Je nach Komplexität wird ein bestimmter Betrag für die Ausführung berechnet. Nur so kann sichergestellt werden, dass sich Miner auch komplexe Routinen ausführen und nicht nur einfache Standardtransaktionen durchführen.
Smart Contracts in der Praxis
Lesende Zugriffe sind hingegen kostenlos. So können Smart Contracts oder Dapps leicht in Webanwendungen eingebunden werden. Denkbar wäre ein Nachrichtenportal, das über unsere Wahl zum Bürgermeister berichtet. Der aktuelle Stand der Abstimmung würde stets in Echtzeit angezeigt werden. Um an der Abstimmung teilzunehmen, wird ein spezielles Browser-Plug-In benötigt. Dieses Plug-In hat Zugriff auf ein Wallet, von dem die Ausführungsgebühren beglichen werden. Durch die Verknüpfung mit einem Wallet wird die sonst übliche Anmeldung bei der Website überflüssig. Der Smart Contract erkennt ob ein Wallet bereits an der Abstimmung teilgenommen hat und für wen gestimmt wurde.
Die Technologie der Smart Contracts steckt noch in den Kinderschuhen. Relevante Anwendungsfälle sind überschaubar. Eine Übersicht über Ethereum Dapps bietet https://www.stateofthedapps.com. Jedoch besitzen auch andere Plattformen wie Cardano, EOS und NEO großes Potential. Es wird spannend zu sehen, welche Anwendungen sich in Zukunft auf welcher Plattform durchsetzen werden.