Suchen

Die Zukunft gehört Smart Contracts Die besten Blockchains für Smarte Verträge

| Autor / Redakteur: Anna Kobylinska und Filipe Martins / Peter Schmitz

Smarte Verträge bilden das Herzstück einer Blockchain der Enterprise-Klasse. Mit diesem sogenannten Chaincode steht und fällt die Fähigkeit einer Blockchain-Plattform, Ereignisse auszulösen und Geschäftsabläufe zu steuern.

Smart-Contract-fähige Blockchain-Lösungen zur Automatisierung von Geschäftsabläufen machen sich im Geschäftsumfeld zunehmend unverzichtbar.
Smart-Contract-fähige Blockchain-Lösungen zur Automatisierung von Geschäftsabläufen machen sich im Geschäftsumfeld zunehmend unverzichtbar.
(© Egor - stock.adobe.com)

Bei „smarten“ Verträgen a.k.a. Chaincode handelt es sich im Blockchain-Kontext nicht um Vereinbarungen im Sinne des Zivilrechts, sondern um Programmiercode, der in der Blockkette eingebettet oder auf ihren Netzwerkknoten installiert und ausgeführt wird.

Auf Autopilot: Die Funktionsweise von smarten Verträgen in einer berechtigungspflichtigen Blockchain im Überblick.
Auf Autopilot: Die Funktionsweise von smarten Verträgen in einer berechtigungspflichtigen Blockchain im Überblick.
(Bild: Capgemini)

Smarte Verträge können beim Auftreten vordefinierter Ereignisse völlig automatisiert folgenschwere Resultate zu Tage fördern, nicht nur indem sie Ereignisse bloß aufzeichnen, sondern auch auslösen. Smarte Verträge können etwa Vermögenswerte übertragen, Zahlungen durchführen, Benachrichtigungen versenden, Freigaben erteilen oder widerrufen und dergleichen andere Handlungen in die Wege leiten, ob regelbasiert oder auch KI-gestützt.

In eben diesem Chaincode lassen sich natürlich auch rein klassische zivilrechtliche Verträge erfassen, aber nicht nur. Smarte Verträge können Geschäftsprozesse automatisieren, die Konfiguration von IoT-Endgeräten verändern, gewisse Management-Entscheidungen treffen und dergleichen andere Aktionen ausführen.

Vertrags- oder eigentlich Ereignismanagement durch Software eröffnet sehr vielfältige Einsatzszenarien für Blockchains. Viele konkrete Projekte laufen ja bereits schon in praxisnahen Nutzungsszenarien, darunter:

  • die vollautomatisierte Vergabe von Darlehen im Finanzwesen (bei Unternehmen wie Symbiont, Fundera und Lendo bereits greifbare Realität),
  • die vollautomatisierte Beförderung von Gütern in der Logistik in Blockchain-Ökosystemen wie die Corda-basierte Plattform Marco Polo,
  • die automatisierte Schadensregulierung im Rahmen parametrisierter Verträge in der Versicherungswirtschaft (die IoT-Expertin Ubrich GmbH hat in Zusammenarbeit mit der ARAG-Versicherung und dem Startup-Inkubator STARTPLATZ eine Beispielimplementierung bereits vor zwei Jahren in einer Live-Demonstration in Köln vorgeführt),
  • die automatisierte Erlösausschüttung (zum Beispiel an Künstler in der Unterhaltungsindustrie),
  • konditionale Aktivierung von Objekten im Rahmen von Leihverträgen oder Fahrzeugen im Rahmen von Mobilitätslösungen und dergleichen andere.

Sobald der Code eines smarten Vertrags in die Blockchain eingepflegt wurde, bleibt er darin unveränderlich eingebettet. Die Aufgabe der Entwickler ist damit vorerst beendet. Alle Knoten des Blockchain-Netzwerks werden den Vertrag evaluieren, sollte eines der vorgesehenen Ereignisse auftreten, und unabhängig voneinander den Vollzug erzwingen. Das Ergebnis wird protokolliert.

Ob und wie das Ganze dann im Einzelfall in der Praxis funktioniert, steht und fällt mit der konkreten Implementierung. Der gewählte Blockchain-Unterbau macht die Musik.

Der Goldstandard: Ethereum

Smarte Verträge im Ethereum-Ökosystem entstehen in Solidity, einer speziell dafür entwickelten Sprache. Ethereum Solidity kompiliert sich zu Assembly und läuft u.a. in der EVM und auf Hedera.

An der Abwicklung von smarten Verträgen nach dem gängigen Standard ERC-20 haben manche Netzwerkteilnehmer einen finanziellen Hals- und Beinbruch erlitten.

Zielgerichtete Semantik: Beispiel für einen smarten Vertrag in Ethereum Solidity.
Zielgerichtete Semantik: Beispiel für einen smarten Vertrag in Ethereum Solidity.
(Bild: PwC Australien)

Die meisten Token auf Ethereum wechseln den Besitzer gemäß dem Standard ERC-20: Entweder wandern sie direkt zu dem betreffenden Empfänger oder sie werden in einem smarten Vertrag abgelegt. Wer seine Token aus Versehen an einen smarten Vertrag sendet, wo sie nicht hingehören, läuft das Risiko, sein Kapital unwiederbringlich zu verlieren. Der nicht so „smarte“ Vertrag wird die Geldmittel akzeptieren und in vielen Fällen einfach stillschweigend behalten. Sollte nämlich der betreffende „smarte“ Vertrag eine Funktion zur Notfall-Rückgabe solcher „verlegter“ Token nicht implementiert haben, hat der Zahlende Pech gehabt. Er bekommt seine Token nicht zurück. So sind bereits Verluste in Millionenhöhe entstanden. Workarounds wie die Vorschläge ERC223 und ERC777 gibt es bereits, nur offenbar nicht genügend Willen, um sie zu implementieren.

Hinzu kommt ja auch noch das Problem der Skalierbarkeit von Ethereum. Mit seinen gut 15 Transaktionen pro Sekunde führt Ethereum Smarte Verträge im Schneckentempo aus. Auch klare Ethereum-Befürworter können da argumentativ nicht wirklich kontern. In der Enterprise-Klasse steht bisher die niedrige Anzahl von Transaktionen pro Sekunde dem weiteren Erfolg von Ethereum im Wege. Das wird sich in zukünftigen Versionen von Ethereum sicherlich irgendwann schon ändern. Trotzdem können sich gerade Unternehmensanwender den Luxus eine längere und unbestimmte Zeit untätig zu warten, wohl kaum leisten.

Die Gas-Preise für die Ausführung jeder einzelnen Berechnung sind der Tropfen, der das Fass zum Überlaufen bringt. Es müssen also Alternativen her.

NEM für Nemesis? Ethereums Herausforderer

NEM soll mehrere hundert Transaktionen pro Sekunde meistern. Obwohl Ethereum eine deutlich breitere Basis für die Erstellung benutzerdefinierter DApps als NEM bietet, trumpft die NEM-Blockchain mit ihrer Geschwindigkeit, Sicherheit und Simplizität.

Während die Ethereum-Blockchain ihre Smart Contracts in der Blockchain einbettet, nutzt NEM den sogenannten Offchain-Code. Dieser Ansatz schwächt die Ausprägung der Dezentralisierung, bietet jedoch andere Vorteile, darunter nicht zuletzt verbesserte Sicherheit durch die Fähigkeit, fehlerhaften Code zu korrigieren und zu warten und dank der Entkopplung des Konsensverfahrens von der Vertragsausführung die Gesamtleistung zu steigern.

Der Vertragscode lässt sich jederzeit aktualisieren, ohne die Kette zu verändern. Es ist jedoch nicht möglich, Reverse-Transaktionen auszuführen. Dies macht NEM in gewisser Weise weniger dezentral. Doch On-Chain-Sicherheitsfunktionen wie Multi-Sig und Smart Assets (Anwendungen zum Erstellen von Tokens und anderen Beständen) können die Nachteile zum Teil wieder wett machen.

Während die Ethereum-Entwicklergemeinde die Architektur von Ethereum innerhalb der kommenden Jahre umfassend „renovieren“ möchte, adressiert NEM bereits heute Nutzer der Enterprise-Klasse, die im Hinblick auf die Cybersicherheit und Skalierbarkeit bereits heute keine Kompromisse eingehen wollen.

Im Juni 2019 hat sich im Übrigen auch das vielversprechende Startup Zilliqa dem erlesenen „Club“ der Blockchain-Frameworks mit Unterstützung für Smarte Verträge angeschlossen. Für den Chaincode zeichnet hier eine Functional-Programming-Sprache verantwortlich, die auf den Namen Scilla hört. Angaben der Kernentwickler zufolge soll Zilliqa dank Sharding bis zu tausend Mal mehr Transaktionen pro Sekunde verarbeiten können als Ethereum. Einziges Problem: Bis das Netzwerk mit dem ZIL-Token eine vergleichbare Größe erreicht haben sollte, ist kein direkter Vergleich möglich. Also Papier ist geduldig.

Ausgefuchst: Das Kölner Blockchain-Startup Ubrich GmbH kombiniert die Stärken einer öffentlichen Mainchain mit einer privaten Sidechain, um eine zügige Abarbeitung von smarten Verträgen zu gewährleisten.
Ausgefuchst: Das Kölner Blockchain-Startup Ubrich GmbH kombiniert die Stärken einer öffentlichen Mainchain mit einer privaten Sidechain, um eine zügige Abarbeitung von smarten Verträgen zu gewährleisten.
(Bild: Ubrich GmbH)

Die „Zusammenstellung“ einer Smart-Contracts-Plattform ist im Übrigen nicht eine Entweder/Oder-Entscheidung zu Gunsten der einen oder anderen Blockchain, sondern ein Zusammenspiel vieler verschiedener Technologien und das Resultat einer hoffentlich ganzheitlichen Betrachtung der Automatisierungsproblematik. Das Kölner Startup Ubrich GmbH kombiniert beispielsweise eine öffentliche Mainchain mit einer privaten Sidechain, um die Skalierbarkeitsengpässe von Ethereum zu überbrücken. Das Unternehmen setzt hierbei zur Latenzminimierung auf die BigchainDB mit Ethereum und IOTA. Eine leichtgewichtige Firmware läuft direkt auf dem IoT-Endgerät, um Messwerte für die Verarbeitung durch smarte Verträge fälschungssicher zu erfassen.

Chaincode-Implementierungen von Hyperledger

Zustandsbehaftet: Der On-Chain-Code in Hyperledger-Frameworks speichert die Ausgabe seiner Geschäftslogik in der Blockchain ab.
Zustandsbehaftet: Der On-Chain-Code in Hyperledger-Frameworks speichert die Ausgabe seiner Geschäftslogik in der Blockchain ab.
(Bild: Hyperledger)

Blockchains von Hyperledger „spielen“ in einer eigenen Liga. Der Hyperledger-Familie liegt eine gemeinsame Referenzarchitektur für die Umsetzung von Geschäftslogik in smarten Verträgen a.k.a. Chaincode zu Grunde. Die einzelnen Frameworks von Burrow über Fabric und Iroha bis hin zu Sawtooth divergieren in den Details ihrer Implementierungen.

Die Referenzarchitektur von Hyperledger unterscheidet zwischen zwei Arten von smarten Verträgen: dem sogenannten „installierbaren“ Vertragscode und dem „On-Chain-ausführbarem“ Vertragscode.

Installierbarer Vertragscode richtet die benötigte Geschäftslogik auf den Validator-Knoten vor der Initialisierung des Netzwerks ein. Im Gegensatz dazu führt der On-chain-Vertragscode seine Geschäftslogik als eine Transaktion aus und sichert die resultierende Ausgabe in der Blockchain, sodass nachfolgende Transaktionen darauf aufbauen. Der Code dieser Geschäftslogik stellt einen integralen und unveränderlichen Teil der Blockchain dar.

Schritt für Schritt: Smarte Verträge in Hyperledger-Blockchains können mit anderen Elementen der Architektur des jeweiligen Frameworks interagieren; die Implementierungen unterscheiden sich in den Details.
Schritt für Schritt: Smarte Verträge in Hyperledger-Blockchains können mit anderen Elementen der Architektur des jeweiligen Frameworks interagieren; die Implementierungen unterscheiden sich in den Details.
(Bild: Hyperledger)

Hyperledger Fabric, das Flaggschiff-Projekt von Hyperledger, implementiert nur installierbaren Chaincode. Hyperledger Iroha setzt auf den On-chain-Vertragscode, ebenfalls in Form von Chaincode. Hyperledger Sawtooth hantiert wiederum mit den sogenannten Transaktionsfamilien (transaction families). Hyperledger Burrow implementiert eine sogenannte Smart-Contract-Application-Engine für On-Chain-Geschäftslogik.

Hyperledger Fabric zeigt sich im Hinblick auf die unterstützten Programmiersprachen weitaus offener als Ethereum. Entwickler von Fabric-Chaincode können ihre intelligenten Verträge in JavaScript, in Go und in zahlreichen weiteren Sprachen erstellen, indem sie einfach die zugehörigen Module in Hyperledger Composer zu installieren.

Zu schön, um wahr zu sein? Bugs und Malware in Chaincode

Immer mehr Branchen spielen mit dem Gedanken an automatisierte Kontrollen des Vertragsvollzugs und „reiben“ sich beim Gedanken an den Chaincode die Hände. Die gesellschaftlichen Implikationen dieser disruptiven Transformation einmal beiseite: Gegen mehr Effizienz im Geschäftsleben ist eigentlich nichts einzuwenden.

So zum Beispiel in der Musikindustrie. Die Komplexität der Erlösausschüttung an die vielen Mitwirkenden an einem Projekt nimmt bei den Musiklabels und Filmstudios kaum noch überschaubare Maßstäbe ein. Smarte Verträge könnten Abhilfe schaffen.

Kritiker wenden wiederum ein, dass viele gängige Vertragsklauseln in allen ihren Nuancen in Software gar nicht durchführbar seien. Hinzu kommen ja auch noch rein cyber­sicherheits­technische Aspekte der Ausführung unveränderlicher Geschäftslogik in skalierbaren verteilten Netzwerken und die ganze Problematik fälschungssicherer Sensorik. Manipulierte Daten können den besten Vertragscode unterwandern. Cybersicherheitslücken im Vertragscode oder in der Blockchain selbst haben wiederum das Potenzial, eine Pandora-Büchse vollautomatisierter Horrorszenarien zu eröffnen.

Wie dem auch sei. Der enorme Nutzwert von Chaincode für die Optimierung unternehmensinterner Geschäftsabläufe, zum Beispiel in der fortan IoT-isierten Logistik, bleibt von diesen Herausforderungen natürlich unberührt.

Fazit

Aus Sicht der betrieblichen Effizienz kann Chaincode bereits heute den betroffenen Marktakteuren massive Wettbewerbsvorteile zusichern. Smart-Contract-fähige Blockchain-Lösungen zur Automatisierung von Geschäftsabläufen machen sich im Geschäftsumfeld zunehmend unverzichtbar.

Über die Autoren: Anna Kobylinska und Filipe Pereira Martins arbeiten für McKinley Denali Inc. (USA).

(ID:46335937)