Blockchain, Smart Contracts und Middleware – Revolutionäre, dezentrale Anwendungen

Faszinierende neue Konzepte und Technologien entstehen in diesen Tagen. Jeder spricht über Cloud, Container, Big Data, Machine Learning und Internet der Dinge (IoT). Ein weiteres aufstrebendes Buzzword ist Blockchain. Blockchain ist insbesondere als die zugrundeliegende Infrastruktur von Bitcoin bekannt. Aber Bitcoin ist nur die Spitze des Eisbergs. Blockchain hat das Potential, ganze Branchen umzuwälzen, inklusive Banken, Autohersteller, Energieversorger und Retailer. Dieser Artikel erläutert die Anwendungsfälle und technischen Konzepte hinter Blockchain, gibt einen Überblick über verfügbare Cloud-Services und erläutert, warum Middleware ein wichtiger Erfolgsfaktor in diesem Bereich ist.
Motivation und Anwendungsfälle für Blockchain
Bitcoin ist nur die Spitze des Eisbergs! Es gab mehr als 700 Cryptocurrencies für den Handel in Online-Märkten (Stand Ende 2016), aber nur 9 von ihnen hatten eine Marktkapitalisierung über 10.000.000 US Dollar. Daraus entstand ein neuer Begriff: Altcoin ("Bitcoin Alternatives"). Allerdings ist Altcoin nicht Blockchain! Blockchain ist eine Schicht unter der Haube einer Cryptocurrency. Es realisiert die Übertragung von Vermögenswerten innerhalb eines Business-Netzwerks.
Blockchain geht weit über Finanztransaktionen hinaus. Hier sind einige Beispiele für Start-Ups in diesem Bereich:
- Brooklyn Microgrid: Handel mit Solarenergie zwischen Privathaushalten.
- Lazooz: Fahrgemeinschaften für den kollaborativen Verkehr (Stichwort "Sharing Econmy").
- OpenBazaar: Öffnen Sie Ihren eigenen Shop ohne Ebay oder Amazon als Vermittler.
- Skuchain: Supply Chain Management (SCM) der nächsten Generation
- UbiMS: Internet der Dinge und intelligente Verträge, um die Produktion zwischen Zulieferer, Hersteller und Konsument effizienter und sicherer zu machen.
Warum aber sind diese Blockchain-Projekte so revolutionär? Warum nicht einfach bestehende Software und Anwendungen beibehalten? Wir haben schließlich bereits Uber, Ebay und zahlreiche Anbieter für SCM oder IoT, nicht wahr? Hier sind Aspekte, warum Blockchain zukünftig ein Game Changer werden könnte:
- Effizientere, sicherere Anwendungen: Dezentrale aber dennoch sichere und effiziente Anwendungen, die heutige Anwendungsfälle in verbesserter Weise umsetzen.
- Ausschluss unnötiger Mittelsmänner: Intelligente Verträge (so genannte "Smart Contracts"), um Prozesse zwischen Partnern zu optimieren und den teuren und/oder langsamen Mittelsmann in vielen Branchen überflüssig zu machen.
- Innovation und neue Dienste: Anwendungen, die heute noch nicht denkbar bzw. aus Kostengründen sinnvoll umsetzbar sind. Wir kratzen im Moment nur an der Oberfläche von möglichen Blockchain-Anwendungsfällen. Wir können uns noch nicht vorstellen, was Kunden und Partner bauen werden. Dies ähnelt Open API-Initiativen, bei denen wir durch die Kombination verschiedener interner oder externer APIs neue Wertschöpfung oder sogar neue Geschäftsmodelle schaffen. Man denke beispielsweise an den Bezahldienst Paypal, der dank offener APIs mittlerweile in quasi jedem Online-Shop als Zahlungsmittel integriert und akzeptiert ist und Paypal ohne viel Aufwand sehr hohe Erträge einbringt.
Wir sprechen mittlerweile bereits von Blockchain 3.0, obwohl wir immer noch ganz am Anfang stehen [1]:
- Blockchain 1.0: Dezentrales Verwalten von Zustand, z.B. Bitcoin,
- Blockchain 2.0: Dezentrale Anwendungen, d. h. Zustand und intelligente Verträge, z. B. Ethereum, Hyperledger,
- Blockchain 3.0: Blockchain 2.0 + Einbettung in die Unternehmenswelt inklusive ERP-/CRM-Systeme, Cloud Services, etc.
Beispiel: Blockchain für die Kompensation bei Flugverspätungen
Lassen Sie uns einen Blick auf ein Beispiel werfen, in dem Blockchain den Alltag erheblich verändern könnte: Fluggesellschaften und die Entschädigung der Kunden für verspätete oder stornierte Flüge. In vielen Ländern haben Kunden ein Recht auf einen bestimmten Betrag als Entschädigung, wenn ein Flug verspätet ist. In Europa können Sie für eine Entschädigung für Flugverspätungen von mehr als drei Stunden bis zu 600 € pro Passagier verlangen. Allerdings erstatten die Fluggesellschaften diese Entschädigungen nicht automatisch. Jeder Kunde muss sein Recht selbst in Anspruch nehmen; oft mit Unterstützung durch einen Anwalt. Daher beanspruchen viele Kunden dieses Geld nicht, obwohl Sie es dürften und im Recht sind.
Willkommen in der Welt von Blockchain, in der intelligente Verträge solche Szenarien automatisch und sicher abwickeln. Regierungen in Verbindung mit globalen Non-Profit-Organisationen wie International Air Transport Association (IATA) könnten Fluggesellschaften dazu zwingen, die Ausfälle gemäß geltendem Recht automatisch zu kompensieren. Natürlich würden die Fluggesellschaften in diesem Fall nicht glücklich sein, aber es ist ein großartiges Beispiel dafür, wie Blockchain dazu beitragen kann, "Geschäftsmodelle" zu stören und spezifische Verhaltensweisen und Geschäftsprozesse durchzusetzen.
Technische Konzepte von Blockchain
Werfen wir einen Blick auf die technischen Konzepte und Frameworks hinter der Blockchain-Technologie. Eine Blockchain ist ein Protokoll und ein Ledger (also Kontobuch) für den Aufbau einer unveränderlichen historischen Aufzeichnung von Transaktionen. Eine Blockketten-Implementierung bedeutet:
- Ledger erfassen Transaktionen – die Übergabe von Wert vom Eigentümer zum Besitzer
- Transaktionen sind zeitbasiert.
- Sobald eine Transaktion aufgezeichnet wurde, kann sie nicht mehr geändert werden
- Sie müssen feststellen können, ob Ihr Ledger geändert wurde
Hinter Blockchain verbirgt sich keine komplett neue Technologie, sondern nur verschiedene existierende Konzepte in einer neuen Weise kombiniert.
- Eine Datenstruktur namens Blockchain, die als Backend-Datenbank dient.
- Ein kryptographisches Token, z. B. Bitcoin (BTC) im Bitcoin-Protokoll oder Ether (ETH) für Ethereum.
- Ein Peer-to-Peer-Netzwerk für verteilte Verwaltung und Kommunikation.
- Ein Konsensbildungsalgorithmus – Beachten Sie, dass die meisten Enterprise Blockchains nicht das sehr zeit- und ressourcenhungrige Mining-Verfahren wie bei Bitcoin für den Konsens verwenden werden, sondern andere Regeln.
- Eine virtuelle Maschine, die programmierbares Geld in Bitcoin und dezentrale Anwendungen in Ethereum ermöglicht.
Abb.1 fasst die Konzepte gut in einer graphischen Darstellung zusammen: Blockchain besteht aus einem Netzwerk, über das Mitglieder Vermögenswerte verfolgen und austauschen, sowie eine Aufzeichnung aller Ledger, die an alle teilnehmenden Mitglieder repliziert wird.
Anwendungen, die in einer Blockchain implementiert werden, bestehen aus einem selbst ausführenden Vertrag und einer clientseitigen Anwendung, die über ein SDK oder eine API mit dem Netzwerk verbunden ist.
Blockchain Technologies, Frameworks und Standards
Eine Vielzahl von Blockchain-Technologien ist am Markt verfügbar. Tendenz steigend. Sie unterscheiden sich in einigen Aspekten:
- Öffentlich oder privat (intern/ Partner-Netzwerk)
- Neu und instabil, ausgereift und relativ stabil oder bereits tot
- Blockchain-spezifische Merkmale wie Geschwindigkeit, Sicherheit, Konsensus-Algorithmen, usw.
- Open Source oder Proprietär
- Konfigurierbarkeit bzw. Anpassbarkeit
- Cloud-Service oder eigene Installation (On Premise, Cloud, Hybrid)
Es gibt noch keinen Blockchain-Standard, aber zumindest bereits einige Konsortien, um Standards zu etablieren: R3-Konsortium ist ein Blockchain-Technologie-Unternehmen, das ein Konsortium von ca. 50 Finanzgesellschaften in der Forschung und Entwicklung von Blockchain-Nutzung im Finanzsystem führt [2]. Smart Contracts Alliance ist eine Industrie-Initiative der Chamber of Digital Commerce, um eine autorisierende Ressource für intelligente Verträge zu werden [3].
Insbesondere zwei Blockchain-Frameworks scheinen sich am Markt durchzusetzen und werden von verschiedenen Herstellern in unterschiedlichen Varianten verwendet und ergänzt:
- Hyperledger [4]: Eine offene Plattform, um die Blockchain-Technologie voranzubringen, indem wichtige Merkmale für einen branchenübergreifenden offenen Standard für verteilte Ledger identifiziert und adressiert werden. Hyperledger ist eine Plattform mit diversen Blockchain-relevanten Komponenten wie Consensus-Manager, Peer-to-Peer-Protokoll, Ledger Storage oder Identity Management. Auf diesen Komponenten bauen u. a. IBM’s Hyperledger Fabric und Intel’s Sawtooth Lake auf.
- Ethereum [5]: Eine dezentrale Plattform, die intelligente Verträge abwickelt: Anwendungen, die exakt so programmiert werden, dass sie ohne Ausfallzeiten, Zensur, Betrug oder Störungen durch Dritte programmiert sind. ConsenSys ist das wichtigste Unternehmen hinter Ethereum. Ethereum ist wie Bitcoin als öffentliche Plattform verfügbar, kann aber auch als eigenes Blockchain-Netzwerk aufgesetzt werden.
Beide Lösungen haben unterschiedliche Grundideen: Hyperledger ist mehr eine Infrastructure-as-a-Service (IaaS), wie Amazon Web Services (AWS) in der öffentlichen Cloud oder OpenStack im eigenen Datencenter. Ethereum ist eher eine Platform-as-a-Service (PaaS), wie CloudFoundry oder OpenShift.
Blockchain-as-a-Service (BaaS)
Viele Unternehmen werden keine eigene Infrastruktur für Blockchain-Projekte aufbauen. Sie nutzen Cloud-Services, die als Blockchain-as-a-Service (BaaS) bezeichnet werden. IBM und Microsoft nehmen hier eine führende Rolle ein. Sie bieten Cloud-Plattformen für Entwicklung und Unternehmens-Skalierbarkeit auf der Grundlage von offenen Technologien und Frameworks. Ihr Portfolio umfasst Blockchain-Angebote und die Integration in ihre anderen Cloud-Services.
IBM hat Blockchain auf Bluemix, die das Hyperledger-Projekt nutzt und die darauf aufbauende Lösung Hyperledger Fabric deployed. Microsoft Blockchain als Service auf Azure nutzt die Ethereum-Plattform. Die zwei anderen führenden Cloud-Anbieter Amazon Web Services (AWS) und Google Cloud Platform (GCP) sind im Blockchain-Umfeld überraschenderweise noch kaum sichtbar. Google investierte in das Startup Ripple, eine Blockchain-Technologie für die Banken-Industrie. Amazon bietet nur Eris, eine Docker-basierte Blockchain-Plattform, auf ihrem Marktplatz an. Es ist anzunehmen, dass sich hier in den nächsten Monaten noch einiges ändern wird.
Blockchain und Middleware
Ist Blockchain nur ein Hype? Und warum ist für sie Middleware – also Software für die Integration verschiedener Datenquellen und Analyse von Daten in Echtzeit – relevant? Die Antwort ist relativ einfach: "Blockchain ist ein Arbeitstier, aber hinter den Kulissen" [6]. Blockchain ist nicht sichtbar für die meisten Endnutzer von Software, aber eine Schlüsselkomponente für die verteilte Infrastruktur- und Middleware-Anwendungen unter der Haube!
Denken Sie darüber nach, wie Blockchain in einer Enterprise-Architektur genutzt werden kann, und Sie werden schnell herausfinden, wie dies mit Middleware zusammenhängt. Hier sind die wichtigsten Middleware-Features, die die meisten Blockchain-Projekte vermutlich benötigen werden:
- Integration vieler verschiedener Datenquellen in Echtzeit (Blockchain-Clients, verschiedene Backends (wie ERP, CRM, Legacy-Systeme), Cloud Services, etc.)
- Gateway- und API-Verwaltung
- Kombination verschiedener Blockchains
- Datenerfassung, um Erkenntnisse und Muster in historischen Daten zu finden, manchmal auch unter Einsatz von Machine Learning-Algorithmen
- Korrelation von Blockchain- und Non-Blockchain-Ereignissen in Echtzeit
- Identitäts- und Verschlüsselungs-Dienste
Referenzarchitektur für Blockchain und Middleware
Die Referenzarchitektur umfasst:
- Blockchain-Netzwerke, die verschiedene Frameworks wie Hyperledger oder Ethereum nutzen;
- Integrations-Schicht einschließlich API-Management zur Integration von Blockchains und anderen Anwendungen oder Cloud-Services;
- Datenerfassung/ Visual Analytics sowie ein Big Data Storage (wie Apache Hadoop) und Frameworks für Machine Learning (wie R, Apache Spark ML oder H2O.ai), um Einsichten und Muster in historischen Daten zu finden;
- Streaming Analytics zur Korrelation verschiedener Blockchain- und Non-Blockchain-Ereignisse, um Regeln und analytische Modelle in Echtzeit anzuwenden.
Verschiedene Middleware-Angebote sind auf dem Markt erhältlich. Project Bletchley ist ein Open Source-Framework von Microsoft, das die Integration verschiedener Blockchain-Netzwerke ermöglicht und Funktionen wie Gateway oder Identity-, Key- und Crypto-Services umfasst [7]. Der Fokus liegt hauptsächlich auf der Azure Cloud und Ethereum Blockchains. Interledger ist ein leichtgewichtiges Blockchain-Protokoll und Integration Framework, um verschiedene Blockchains und andere Schnittstellen wie Banken, Paypal oder Skype zu integrieren [8]. Auch "klassische" Middleware-Anbieter wie Software AG [9] oder TIBCO Software [10] bieten Lösungen für Integration, Event-Processing/ Streaming Analytics, Data Discovery/ Visual Analytics und Machine Learning, die in Kombination mit Blockchain-Infrastruktur und anderen Systemen genutzt werden können. So kann beispielsweise ein Streaming Analytics-Konnektor für Ethereum verwendet werden, um Events in Smart Contracts in Echtzeit zu korrelieren [11]. Dies kann beispielsweise dabei helfen, Compliance-Probleme oder Betrugsversuche frühzeitig zu erkennen und eine Warnung an eine Mobile App zu senden.
Blockchain wird Unternehmen verändern – Middleware ist der Schlüssel zum Erfolg
Blockchain ist keine neue Technologie, sondern die Kombination mehrerer existierender Konzepte. Bitcoin ist nur die Spitze des Eisbergs. Blockchain geht weit über finanzielle Transaktionen hinaus und wird in verschiedenen Branchen relevant werden. Supply Chain Management und das Internet der Dinge könnten der nächste Early Adopter durch die Realisierung intelligenter Verträge zwischen Partnern werden. Hier ist der Mehrwert direkt ersichtlich. Ein initiales SCM Blockchain-Projekt wurde beispielsweise kürzlich von dem US-Riesen Walmart gestartet, um die Fleischproduktion in China besser zu kontrollieren und effizienter zu machen [12]. Das Projekt soll bereits 2017 produktiv gehen und könnte ein globales Referenzprojekt für den Durchbruch von Blockchains außerhalb der Finanzindustrie werden.
Ein wichtiger Erfolgsfaktor für Blockchains im Unternehmen ist Middleware. Blockchains müssen miteinander und mit vielen anderen Systemen in Echtzeit interagieren. Dabei werden viele unterschiedliche Technologien und Kommunikationsprotokolle verwendet. Datenerfassung, Ereignis-Korrelation, API-Management sowie Security-Enforcement und -Governance sind weitere Middleware-Anforderungen, um in der realen Welt Blockchain-Projekte erfolgreich umzusetzen.
Blockchain-Frameworks und Entwicklungsumgebungen sind noch relativ jung und instabil. Außerdem ändern sich die APIs und Schnittstellen noch sehr regelmäßig. Als erster Einstieg ist ein Blockchain-as-a-Service-Angebot zu empfehlen. Diese ermöglichen das einfache und schnelle Aufsetzen einer flexiblen, skalierbaren Infrastruktur. Danach kann sich das Team auf die Umsetzung mit Fokus auf das Wesentliche und Fail-Fast-Methodik zum Nachweis von Mehrwert in ersten Pilot-Projekten konzentrieren.