03. Februar 2017

synTechTalk: Smart Contracts – oder: die vielen Möglichkeiten der Blockchain

synTechTalk: Smart Contracts – oder: die vielen Möglichkeiten der Blockchain (Foto: Minerva Studio/Shutterstock.com)

Mit Blockchain-Technologien lassen sich nicht nur Währungen neu denken und gestalten – unter dem Schlagwort “Smart Contracts” sind völlig neue Geschäftsmodelle bei der Verwaltung von Verträgen möglich. Dieser synTechTalk beschäftigt sich mit Smart Contracts und den konkreten Anwendungsmöglichkeiten. Als digitales Abbild herkömmlicher Verträge haben Smart Contracts insbesondere dort Vorteile, wo mit digitalen Gütern beliebiger Art gehandelt wird. Neben Einheiten einer Währung sind dies etwa Aktien oder Rechte an intellektuellem Eigentum. – Also ein interessanter Ansatz, Rechtssicherheit in der digitalen Welt zu gestalten.

Im ersten Teil ging es um die Funktionsweise der Blockchain und den Anwendungsfall für eine Kryptowährung am Beispiel Bitcoin. Es lässt sich allerdings noch weitaus mehr mit einer Blockchain ermöglichen. Mit Hilfe von Smart Contracts können alle Arten von digitalen Gütern verwaltet und organisiert werden. Dazu gehören neben Einheiten einer digitalen Währung (z.B. Bitcoin) beispielsweise Identitäten, Firmenanteile, Stimmrechte oder Zugangsrechte.

Smart Contracts sind Programme, die Verträge abbilden. Permanent überprüfen sie die Regeln des Vertrags und führen entsprechende Aktionen aus, wenn eine Regel erfüllt oder gegen sie verstoßen wird. Damit ersetzen sie menschliche Mittelsmänner, wie z.B. Treuhänder. Sie werden immer exakt so ausgeführt, wie sie programmiert sind. Auch Hacker können sie nicht mit „bösem“ Code infizieren.

Ein gutes Beispiel in diesem Zusammenhang ist ein Getränkeautomat. Der „Vertrag“ mit einem Kunden besagt hierbei, dass jeder sein Getränk erhält, sobald er eines ausgewählt und bezahlt hat. Diese Bedingungen werden fortlaufend überprüft, denn der Automat wartet ständig auf einen Tastendruck oder Münzeinwurf. Wenn die Regel erfüllt ist, wird eine Aktion ausgelöst: Das Getränk wird ausgegeben.

Im Folgenden konzentriert sich der Artikel auf Smart Contracts in Form von Programmen. Dazu betrachten wir zunächst die Plattform Ethereum.

Ethereum

Sie beinhaltet die Kryptowährung Ether, die Bitcoin sehr ähnelt. Außerdem finden sich dort neben Nutzeraccounts auch Contract-Accounts. Diese enthalten neben dem Kontostand den Smart Contract in Form von Programmcode. Um den Code auszuführen, muss er mit Hilfe einer Transaktion aufgerufen werden. Dabei stehen in einer Transaktion die Parameter, mit denen der Code aufgerufen wird. Die Ausführung des Codes findet bei jeder Validierung einer Transaktion statt. Hierbei führt das Programm Änderungen am Datenstand der Blockchain durch (z.B. Überweisung von Ether).

Treibstoff

Damit die gesamte Blockchain nicht durch eine programmierte Endlosschleife lahmgelegt werden kann, gibt es das sogenannte Gas (engl. für Sprit). Jede einzelne Anweisung im Code eines Smart Contracts kostet einen bestimmten Preis. Für eine Transaktion muss deshalb eine Transaktionsgebühr bezahlt werden, mit der wiederum die Ausführung des Smart Contracts bezahlt wird. Wird keine Gebühr gezahlt, wird die Ausführung (und damit die Transaktion) abgebrochen.

Anwendungsfälle

Da die Verwendung von Smart Contracts sich besonders lohnt, wenn es um digitale Güter geht, werden dazu nun ein paar Beispiele aufgelistet:

Eigene Währung

Eine eigene auf Ethereum basierende Kryptowährung lässt sich sehr schnell und einfach umsetzen. Um beispielsweise eine eigene Währung – wir nennen sie mal synCoin – zu erschaffen, müssen wir nur einen Smart Contract programmieren, der speichert, wer wie viele synCoins besitzt. Um die Währung auch nutzen zu können, bedarf es zusätzlich einer Funktion zum Überweisen von synCoins. Außerdem sollten Funktionen zum Wechseln von Ether zu synCoins (und zurück) vorhanden sein. Et voilà: Kunden könnten mit synCoins für Server oder Services bezahlen!

Domainregistrierung

Auch das Domain Name System (besser bekannt als DNS) ließe sich einfach nachbauen, ohne ein weltweites Infrastrukturnetz aufzubauen (dafür gibt es ja schon die Blockchain). Der Smart Contract muss in diesem Fall zu jeder registrierten Domain speichern, welchem Account sie gehört und welche IP-Adresse für sie hinterlegt ist. Jetzt fehlen nur noch Funktionen zum Registrieren, Ändern, Transferieren und Löschen.

Die DAO

Eine dezentrale autonome Organisation hilft einer Gruppe von Personen (zum Beispiel einem Verein) dabei, ihre Finanzen so zu verwalten, dass niemand Geld veruntreuen kann und alle Mitglieder stets den Überblick darüber behalten. Dafür wird alles Geld an einen Smart Contract überwiesen. Dieser nimmt nun Vorschläge an, wofür Geld ausgegeben werden sollte. Jedes Mitglied kann einen Vorschlag machen, indem es mitteilt, was der Zweck ist und wie viel Geld an wen überwiesen werden sollte. Dann müssen die anderen Mitglieder demokratisch darüber abstimmen. Sobald genügend Stimmen für den Vorschlag gesammelt wurden, überweist der Smart Contract das Geld automatisch. Dieses Beispiel ist besonders realitätsnah, weil Ethereum selbst eine Zeit lang mit Hilfe einer DAO finanziert und verwaltet wurde.

Das waren nur ein paar der endlosen Möglichkeiten, die sich mit Smart Contracts umsetzen lassen. Wer gerne noch mehr Ideen oder auch fertige Projekte entdecken möchte, wird auf State of the Ðapps fündig oder meldet sich bei uns. Wir freuen uns auf den Austausch!

(Paul Gerste)

In unserer Reihe synTechTalk geben unsere DEV und OPS Teams Einblicke in ihr Technologie- und Architektur- KnowHow zur Umsetzung erfolgreicher digitaler Geschäftsmodelle.

Keine Kommentare