Amazon Managed Blockchain – Hyperledger Fabric und Ethereum

Amazon bietet in seinem Clouddienst Amazon Web Services (AWS) auch die Möglichkeit, eine eigene Blockchain mit eigenen dApps und Smart Contracts in der Cloud zu betreiben.

Bei „Amazon Managed Blockchain“ handelt es sich um einen vollständig verwalteten Dienst, ähnlich wie bei Microsoft Azure Blockchain Services.

Hier können mehrere Blockchains parallel über die Cloud zum Einsatz kommen, ohne dass Unternehmen eigene Hardware benötigen, oder die Infrastruktur einrichten müssen.

Parallel zu Amazon Managed Blockchain steht in AWS auch Amazon Quantum Ledger Database (QLDB) zur Verfügung.

Bei QLDB handelt es sich um eine Ledger-Datenbank, die eine vollständige und überprüfbare Historie der Datenänderungen in einer Anwendung speichert.

Amazon QLDB ist also keine Blockchain-Technologie. Amazon Managed Blockchain ist wiederum ein vollständig verwalteter Blockchain-Service. Die beiden Dienste haben nichts miteinander zu tun.

Einstieg in verwaltete Blockchains auf AWS

In Amazon Managed Blockchain lassen sich private Blockchains auf Basis von Hyperledger Fabric aufbauen. Auch das Beitreten in das öffentliche Ethereum-Mainnet ist möglich.

Derzeit arbeitet Amazon auch an der Möglichkeit zur Bereitstellung eines privaten Ethereum-Netzwerks. Aktuell bietet Amazon nur die Versionen 1.2 und 1.4 für Hyperledger Fabric an.

Es ist aber zu erwarten, dass auch Hyperledger 2.x eingebunden werden kann. Derzeit ist das allerdings noch nicht der Fall.

Hyperledger Fabric
Hyperledger Fabric

In einem AWS-Konto können über Amazon Managed Blockchain auch mehrere eigene Blockchains parallel eingesetzt werden. Hier ist es auch möglich parallel auf Hyperledger Fabric oder Ethereum zu setzen.

Alle Blockchains eines AWS-Kontos werden über das Amazon Managed Blockchain-Dashboard verwaltet. Jede Blockchain wird über ihren eigenen Bereich verwaltet und erlaubt eigene Mitglieder und Peer-Knoten.

Amazon Managed Blockchain kann über verschiedene Wege verwaltet werden, zum Beispiel über die AWS Management Console oder die AWS-Befehlszeilenschnittstelle (CLI).

Auch mit dem AWS Software Development Kit (SDK) ist es möglich, auf die verschiedenen Blockchains zuzugreifen.

Wer auf Hyperledger Fabric in AWS setzt, kann natürlich auf die Blockchains mit den gleichen Tools zugreifen, die auch beim Betrieb von eigener Hardware zur Verfügung stehen.

Auch die verschiedenen Frameworks und Erweiterungen von Hyperledger stehen für Hyperledger Fabric in Amazon Managed Blockchain zur Verfügung.

Die Hyperledger Fabric CLI und das SDK können zusammen mit Amazon Managed Blockchain eingesetzt werden.

Amazon Managed Blockchain stellt Endpunkte für den Zugriff bereit. Für die eigene Blockchain können im Dashboard zur Verwaltung der jeweiligen Blockchain eigene VPC PrivateLink-Endpunkte erstellt werden.

Um mit Ethereum Smart Contracts zu interagieren, verwenden Clients eine WebSocket- oder HTTP-Verbindung zu einem Peer-Node-Endpunkt in Amazon Managed Blockchain.

Auf diesen Knotenendpunkt kann nur über das AWS-Konto zugegriffen werden. Der Client verwendet standardmäßige Ethereum-JSON-RPC-API-Methoden zur Abfrage und Übermittlung von Transaktionen an die Knoten, die am Ethereum-Netzwerk teilnehmen.

Ressourcen steuern, Blockchain erstellen, Daten analysieren

Bei der Auswahl der entsprechenden Blockchain-Technologie können natürlich Ausstattung und Ressourcen der verwendeten Knoten konfiguriert werden.

Speicher- und CPU können genauso gesteuert werden, wie die Zertifikate und privaten Schlüssel. Welche Ressourcen zur Verfügung stehen, hängt von dem gebuchten Abonnement (Starter oder Standard) ab.

Für neue Knoten können auch unterschiedliche Ressourcen im Bereich CPU und Arbeitsspeicher definiert werden, wie für den Gründungsknoten.

Unternehmen können beim Buchen von Amazon Managed Blockchain eine private Blockchain mit Hyperledger Fabric 1.2/1.4 aufbauen Leider wird aktuelle Hyperledger Fabric 2.x noch nicht unterstützt.

Bei der Verwendung von Hyperledger Fabric profitieren Unternehmen von den zahlreichen Frameworks und Tools, die für Hyperledger zur Verfügung stehen.

Wir haben uns in mehreren Beiträgen mit dem Thema auseinandergesetzt, zum Beispiel „Mit Hyperledger Caliper Benchmarks für Smart Contracts erstellen“ oder „Hyperledger Avalon – Off-Chain-Funktionen für die Blockchain“.

Im Fokus von Amazon Managend Blockchain steht natürlich auch das Erstellen von Smart Contracts.

Beim Buchen von Ressourcen in AWS, zum Beispiel in diesem Fall mit Amazon Managed Blockchain, können die Daten dieser Ressourcen innerhalb von AWS genutzt werden.

Interessant sind hier unter anderem die verschiedenen Analyse-Tools in AWS, die dabei helfen, die eigene Blockchain in der AWS-Cloud zu analysieren.

Amazon Redshift arbeitet mit Amazon Managend Blockchain zusammen. Auch andere Dienste zur Analyse oder zur Datenspeicherung können in diesem Fall an die eigene Blockchain angebunden werden.

Hyperledger Fabric mit wenigen Klicks bereitstellen

Die verwaltete Blockchain vermeidet hauptsächlich das Bereitstellen eigener Hardware oder virtueller Server. Auch die Installation und Konfiguration von Software entfällt.

Dazu kommt auch, dass Netzwerk- und Sicherheitsfunktionen in der Blockchain automatisch aktiv sind. Auch hier müssen keine eigenen Systeme eingebunden werden.

Amazon Managed Blockchain unterstützt Amazon Quantum Ledger Database (QLDB). Dabei handelt es sich um einen Hyperledger Fabric-Auftragsservice, der zwar Technologien aus der Blockchain nutzt, bei dem es sich selbst aber nicht um eine Blockchain-Technologie handelt.

Die Sicherheit der Hyperledger Fabric-Zertifizierungsstelle wird mit AWS Key Management Service (KMS) gewährleistet.

Amazon Managed Blockchain unterstützt das Erstellen eines eigenen Konsortiums auf Basis von Hyperledger Fabric oder die Anbindung an das Mainnet von Ethereum.

Das eigene Konsortium kann sich auch über mehrere AWS-Abonnements hinweg strecken. Das ermöglicht, dass Partner mit ihrem AWS-Konto eigene Mitglieder erstellen und dem Blockchain-Netzwerk von außerhalb beitreten können.

Amazon Managed Blockchain verfügt über eine Voting-API. Über diese können bereits vorhandene Mitglieder des Konsortiums darüber abstimmen, ob ein neues Mitglied aufgenommen werden darf.

Neue Mitglieder können eigene Blockchain-Knoten starten und anpassen. Natürlich speichern auch hier alle Mitglieder eine Kopie des Ledgers.

Es ist mit Amazon Managed Blockchain also problemlos möglich, sehr schnell ein weit verzweigtes Konsortium zwischen Partnern aufzubauen, die eine gemeinsame Blockchain nutzen wollen.

Ethereum-Blockchain mit Amazon Managed Blockchain nutzen

Neben der Möglichkeit eine eigene Blockchain auf Basis von Hyperledger Fabric bereitzustellen, kann mit Amazon Managed Blockchain auch dem Ethereum-Mainnet beigetreten werden.

Das ermöglicht das Betreiben eigener Knoten in einem großen, öffentlichen Blockchain-Netzwerk. Beim Betrieb von Hyperledger Fabric steht die Bereitstellung eines privaten Konsortiums im Fokus.

Das unterscheidet die beiden Möglichkeiten voneinander. In Zukunft soll es auch möglich sein, ein privates Ethereum-Netzwerk mit Amazon Managed Blockchain aufzubauen.

Vollständig verwalteter Dienst zum Bereitstellen der Blockchain

Amazon Managed Blockchain ermöglicht, dass Unternehmen keine eigene Infrastruktur betreiben und auch in der Cloud keine Installationen durchführen müssen.

Der Dienst muss nur gebucht und aktiviert werden. Die komplette Verwaltung der zugrunde liegenden Infrastruktur liegt bei Amazon.

Die Einrichtung einer Blockchain besteht also zunächst darin, mit wenigen Klicks eine eigene Infrastruktur für das Erstellen einer Blockchain aufzubauen.

Danach lassen sich Mitglieder (Organisationen) hinzufügen, die wiederum eigene Knoten in der Blockchain aufbauen können.

Kosten beim Verwenden von Amazon Managend Blockchain – Editionen vergleichen

Da keine eigene Hard- und Software zum Einsatz kommt, müssen Unternehmen oder Entwickler keine Investitionen tätigen, um eine eigene Blockchain-Plattform aufzubauen.

Bei der Verwendung von Hyperledger Fabric werden die Kosten der Nutzung berechnet. Dabei stehen die Betriebsstunden der Netzwerkmitglieder, Peer-Knoten, Storage und die Menge der übertragenen Daten im Fokus.

Voraussetzungen für den Betrieb der Blockchain von außerhalb gibt es keine.

Wer nicht auf Hyperledger Fabric setzt, sondern dem öffentlichen Ethereum-Netzwerk beitritt, muss mit Kosten der Knoten, Knotenspeicher und die Anfragen an das Ethereum-Netzwerk rechnen.

Wenn das Ethereum-Netzwerk wieder verlassen wird, sind auch keine weiteren Kosten mehr zu tragen. Um einen Überblick zu den Kosten zu erhalten, stehen auf der Seite „Amazon Managed Blockchain Pricing“ umfangreiche Dokumentationen und Rechenbeispiele zur Verfügung.

Bei der Verwendung von Hyperledger Fabric stehen die beiden Editionen „Starter“ und „Standard“ zur Verfügung. Die Starter Edition ist für Testnetzwerke und kleine Produktionsnetzwerke konzipiert.

Hier können maximal 5 Mitglieder pro Netzwerk und 2 Peer-Knoten pro Mitglied integriert werden. Insgesamt können bis zu 3 Hyperledger-Fabric-Kanäle pro Netzwerk eingesetzt werden.

Der Bestellservice in der Starter-Edition hat einen geringeren Transaktionsdurchsatz und eine geringere Verfügbarkeit als Standard-Netzwerke.

Pro Stunde verrechnet Amazon für Mitglieder 0,36 US-Dollar. Die Kosten pro Gigabyte Speicherbedarf liegen bei 0,12 US-Dollar pro Gigabyte und Monat.

Die Standard-Edition ist für Produktionsnetzwerke konzipiert. Hier können maximal 14 Mitglieder pro Netzwerk und 3 Peer-Knoten pro Mitglied integriert werden.

Die Leistung der Ressourcen ist ebenfalls höher konzipiert. Unternehmen können in der Standard-Edition bis zu 8 Hyperledger Fabric-Kanäle pro Netzwerk einsetzen.

Der Bestellservice hat einen höheren Transaktionsdurchsatz und eine höhere Verfügbarkeit als in einem Starter-Edition-Netzwerk.

Pro Stunde verrechnet Amazon für Mitglieder 0,65 US-Dollar. Die Kosten pro Gigabyte Speicherbedarf liegen bei 0,12 US-Dollar pro Gigabyte und Monat.

Blockchain in der Praxis: Eigenes Netzwerk mit Hyperledger Fabric erstellen

In der AWS Management-Konsole stehen über den Bereich „Amazon Managed Blockchain“ die Assistenten zum Erstellen einer eigenen Blockchain (Netzwerk erstellen) und dem Betreten an der Ethereum-Blockchain (Netzwerk beitreten) zur Verfügung.

Das Erstellen einer eigenen Blockchain-Lösung in Amazon Managed Blockchain besteht aus vier Schritten. Zunächst wird das verwendete Framework ausgewählt (Hyperledger Fabric oder Ethereum).

Danach können Mitglieder eingeladen werden. Hier besteht auch die Möglichkeit zur Anbindung von Knoten aus anderen AWS-Konten.

AWS Blockchain
Die Darstellung verdeutlicht die End-to-End-Anbindung im Fabric Network; Quelle: AWS

Im Rahmen der Erstellung können auch die Knoten ausgewählt werden, die eine vollständige Kopie des Ledgers speichern. Sobald die Blockchain bereitsteht, können dApps und Smart Contracts bereitgestellt werden.

Jedes Mitglied kann in der Verwaltung eigene Peer-Knoten erstellen und betreiben. Sobald ein Netzwerk erstellt wurde, können weitere Mitglieder erstellt werden. Das Einladen von externen Mitgliedern ist ebenfalls möglich.

Hyperledger Fabric und Privates Ethereum-Netzwerk nutzen

Wenn das Erstellen eines neuen Netzwerks gestartet wurde, steht die Auswahl von Hyperledger Fabric und bald auch „Privates Ethereum“ zur Auswahl.

Bei „Framework-Version“ kann ausgewählt werden, auf welcher Basis-Version von Hyperledger Fabric die eigene Blockchain aufgebaut werden soll. Auch die verwendete Edition (Starter oder Standard) muss hier ausgewählt werden.

Nach dem Festlegen des Namens der Blockchain wird im Assistenten das erste Mitglied erstellt. Dazu ist der Name des Mitglieds und der Benutzername für die Hyperledger-Zertifizierungsstelle wichtig.

Für eine Blockchain ist immer mindestens ein Mitglied notwendig, das als Gründungsmitglied des Netzwerks definiert wird.

Mitglieder in haben eine eigene Identität in der privaten Blockchain. Eine Blockchain darf mehrere Mitglieder (Organisationen) haben, ein Mitglied ist mindestens notwendig (Gründungsmitglied).

Deswegen wird beim Erstellen einer neuen Hyperledger Fabric-Blockchain auch gleich das erste Mitglied erstellt. Das neue Mitglied hat noch keine Peer-Knoten. Diese können aber jederzeit hinzugefügt und gestartet werden.

Peer-Knoten können nach der Erstellung der Blockchain jederzeit hinzugefügt oder entfernt werden. Das gilt auch für eingeladene Mitglieder aus anderen AWS-Konten.

Andere AWS-Accounts lassen sich in das neu erstellte Blockchain-Netzwerk jederzeit einladen. Diese Konten können ebenfalls wieder eigene Mitglieder und Peer-Knoten erstellen.

Bei der Erstellung von Mitgliedern, Peer-Knoten und Peer-Knoten-Speicher fallen Kosten an. Das muss bei der Planung der Blockchain berücksichtigt werden.

Die Erstellung der eigenen Blockchain dauert etwa 30 Minuten, sobald die Erstellung mit „Netzwerk und Mitglied erstellen“ gestartet wurde.

Die Verwaltung erfolgt im Dashboard der erstellten Blockchain. Sobald die Erstellung abgeschlossen ist, kennzeichnet AWS die Blockchain als „Verfügbar“.

Die Einladungen zur Blockchain und die eigenen Einladungen sind über den Menüpunkt „Einladungen“ des Amazon Managed Blockchains-Dashboards zu finden. Für jedes Netzwerk können eigene Einladungen versendet werden.

Sobald das Blockchain-Netzwerk verfügbar ist, können über die Mitglieder neue Peer-Knoten erstellt werden. Dazu wird im Dashboard auf das entsprechende Mitglied geklickt.

Über die Schaltfläche „Peer-Knoten erstellen“ können neue Knoten konfiguriert werden.

Welche Leistung und welcher Arbeitsspeicher für einen Peer-Knoten zur Verfügung stehen, hängt davon ab, ob für die Blockchain die Starter- oder die Standard-Edition ausgewählt wurde.

Für unterschiedliche Peer-Knoten können natürlich auch verschiedene Ressourcen gewählt werden.

Blockchain-Netzwerke wieder entfernen

Um ein Blockchain-Netzwerk zu löschen, werden zunächst die Mitglieder aus dem Netzwerk entfernt. Wenn das letzte Mitglied gelöscht wurde, ist auch das Blockchain-Netzwerk nicht mehr verfügbar.

Ein Amazon Managed Blockchain-Netzwerk wird automatisch gelöscht, sobald das letzte Mitglied im Netzwerk seine Mitgliedschaft löscht.

Es muss also nicht nachträglich noch das Netzwerk gelöscht werden. Das muss bei der Löschung von Mitgliedern Berücksichtigung finden, um zu vermeiden, dass versehentlich eine komplette Blockchain entfernt wird.

Wenn ein Blockchain-Netzwerk mit mehreren Mitgliedern in einem AWS-Konto vorhanden ist, wird das Netzwerk gelöscht, wenn Sie alle Mitglieder gelöscht sind.

Wenn es noch andere Mitglieder im Netzwerk gibt, etwa externe Mitglieder, die nachträglich eingeladen wurden, wird das Netzwerk nicht entfernt.

Es gibt aber die Möglichkeit, Blockchains löschen zu lassen, wenn das Gründungsmitglied entfernt worden ist.

Mit Amazon Managed Blockchain einem Ethereum-Netzwerk beitreten

Bei der Verwaltung der einzelnen Netzwerke in Amazon Managed Blockchain kann auch einem Ethereum-Netzwerk beigetreten werden.

Hier steht die öffentliche Ethereum-Blockchain (Mainnet) zur Verfügung, aber auch die beiden Testnetzwerke Ropsten und Rinkeby. Auch hier stehen verschiedene Instanzen zur Verfügung, auf deren Basis das Beitreten erfolgen kann.

Fazit

Unternehmen, die auf der Suche nach Möglichkeiten sind eigene Blockchains zu betreiben, kommen in vielen Fällen kaum um die Möglichkeiten von Hyperledger Fabric herum.

Aber auch Ethereum spielt im Bereich der Smart Contracts und dApps eine wichtige Rolle. Mit Amazon Managed Blockchain können Unternehmen eigene Blockchain-Infrastrukturen aufbauen oder mit eigenen Knoten über die AWS-Cloud einem vorhandenen Netzwerk beitreten.

Über Amazon Managend Blockchain besteht auch die Möglichkeit, mehrere AWS-Konten zu einem Konsortium zu verknüpfen.

Das Bereitstellen einer eigenen Blockchain ist mit wenigen Mausklicks erledigt, und es sind keine weiteren Verwaltungsaufgaben notwendig, außer natürlich dem Erstellen von Peer-Knoten.

Auch für Entwickler ist das interessant, da sie mit ihren bekannten Werkzeugen weiterarbeiten können, und die Blockchain überall verfügbar ist, wo eine Anbindung an das Internet erfolgen kann.

Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert