Hyperledger Besu festigt Position als Standard Ethereum Client
Hyperledger Besu ist das derzeit einzige aktive Projekt im Hyperledger Greenhouse, dass sich mit Ethereum befasst. Das Protokoll wurde unter Apache 2.0 Lizenz verfasst und ist in der Programmiersprache Java geschrieben.
Es soll zukünftig das führende Protokoll für das öffentliche Ethereum-Mainnet sein sowie für permissioned Konsortium-Blockchains.
Enterprise-Blockchain mit Ethereum-Framework
Für Unternehmen stehen vor allem die Funktionen des Datenschutzes, der Berechtigungserteilung und der Konsensmechanismen beim Ethereum-Framework von Hyperledger im Vordergrund.
Es besteht darüber hinaus die optionale Möglichkeit, Hyperledger Besu auch auf einer öffentlichen Blockchain zu betreiben.
Ethereum gehört zu den Blockchain-Projekten, die für die Anwendung von Smart Contracts entwickelt wurden. Es ergeben sich zahlreiche Anwendungsszenarien in unterschiedlichen Branchen. Auch ein Girokonto mit Ethereum gibt es inzwischen auf dem Markt.
Um den nächsten Schritt in den aktiven Status zu vollziehen, wurde gemeinsam mit dem Chef-Entwicklern der Linux-Foundation und der Open-Source Entwicklergemeinde sowie durch zahlreiche Kooperation mit Unternehmen ein einzigartiges Projekt entwickelt.
Hyperledger Besu erfüllt damit alle Kriterien, wie beispielsweise die gesetzlichen Anforderungen, eine hochwertige Dokumentation, eine einheitliche Sammlung von Tools und erfüllt vielfältige Anforderungen aus der Community.
Hyperledger Besu für Produktionsumgebung
Das Open-Source-Protokoll Besu ist ein Ethereum Blockchain-Projekt für die Produktionsumgebung. Es entspricht der Spezifikation der Enterprise Ethereum Alliance (EEA) und baut genehmigte Netzwerke auf.
Hyperledger Besu ist als vollständig kompatibler Client im Ethereum Mainnet ab der Version 1.0 (ab April 2020) nutzbar.
Hyperledger Besu ist die Schnittstelle zwischen Hyperledger und Ethereum und läuft auch in den Testnetzwerken bei Rinkeby, Ropsten und Goerli.
Bereits im November 2018 wurde das Projekt vorgestellt, damals noch unter dem Namen Pantheon. Seitdem sind über 120 Probleme aus der Entwickler-Community bearbeitet worden.
Diese hohe Zahl zeigt die Stärke der Gemeinschaft hinter dem Blockchain-Framework. Einige der Haupt-Organisationen, die aktiv an der Entwicklung des Codes mitwirken, sind:
- PegaSys (ConsenSys)
- Chainsafe
- Web3Labs
- My EtherWallet
Chainsafe hält die Besu-Synchronisierung mit dem Ethereum Classic-Netzwerk aufrecht, in dem es Pull-Anfragen zur Änderung am Quellcode stellt. Eine Code-Integration wird durch Entwickler bereitgestellt und dann mittels Pull Request übermittelt.
Github ist eine Möglichkeit zur Integration dieser Anfragen via Chainsafe, denn es bietet eine benutzerfreundliche Oberfläche, die die Überprüfung dieser Anfragen vereinfacht. Web3Labs erstellt die Datenschutzfunktionen für das Besu-Netzwerk.
Besu-Infrastruktur von kritischem Code unterstützt
Jede dieser Organisationen stellt kritischen Code zur Verfügung, um die Funktionssätze der Codebasis zu verbessern und zu erweitern.
Als kritischer Code bzw. kritische Programmierung wird in der IT eine Sammlung aus mehreren Einzelanwendungen verstanden, deren Ergebnis nur als eine unteilbare Einheit nach außen sichtbar sein darf und auf die andere Threads keinen Zugriff erhalten dürfen.
Das stellt unter anderem sicher, dass allgemeine Betriebsmittel wie Datenstrukturen, Verbindungen und Datenbankinhalte nicht gleichzeitig durch mehrere kritische Transaktionen verändert werden können.
Kritische Prozesse sind also vor allem Programmanweisungen, die gemeinsame Datenspeicher nutzen oder gemeinsame Verbindungen und Geräte verwenden. Allerdings darf sich bei der Veränderung dieser Anweisungen keine Veränderung der Beschaffenheit (Konsistenz) der Betriebsmittel ergeben.
Mehr als 50 Unternehmen erstellen derzeit auf dem Hyperledger-Framework für die Ethereum-Plattform Blockchain-Anwendungen und testen dort die Besu-Infrastruktur und ihre Usability.
Es gibt drei Konsensverfahren
Als Konsensmechanismen agiert der Proof-of-Work (Ethash), der durch die Speicherhärte leicht nachweisbar ist. Er ist außerdem ASIC-resistent.
Bei ASICs handelt es sich um eine Hardware mit integrierten Schaltungen, die für einen bestimmten Anwendungsfall bestimmt sind und eine bestimmte Rechenaufgabe erfüllen.
Das ASIC-Gerät nimmt am Mining-Prozess auf der Ethereum-Plattform teil. Der Hyperledger Besu Konsensmechanismen ist so konfiguriert, dass die Verwendung dieser ASIC-Geräte zum Mining entweder ganz unmöglich ist oder keine signifikanten Vorteile gegenüber dem traditionellen GPU-Mining bringt.
Bei Ethash wurde eine Funktion zur Ausführung der Ethereum-Blockchain Aufgaben erstellt. Diese ist resistent gegen ASICs, aber ermöglicht gleichzeitig die schnellere Verifizierung und Ausführung der Transaktionen. Dieser Algorithmus ist eng mit dem Speicher und insbesondere der Bandbreite verknüpft.
Zum Minen von Ethereum auf der Ethereum Virtual Machine, einer globalen virtuellen Maschine, benötigt man ca. 15 Sekunden. Allerdings gibt es auch eine höhere Wahrscheinlichkeit, dass zwei Miner gleichzeitig eine gültige Lösung für diese Aufgabe finden.
Die einzelnen Datensätze einer Blockchain werden Blocks genannt und der ethash-Algorithmus hasht nun die Metadaten aus dem Block. Er verwendet dafür eine Nonce,- das ist eine binäre Zahl, die für einen einzigartigen Hash-Wert steht (Nonce= number used once).
Ethash= Dagger-Hashimoto-Algorithmus
Die Miner im Netzwerk müssen diese Buchstaben-Zahlen-Kombination erraten bzw. über mögliche Ziffernkombinationen finden. Nur mittels korrektem Hash-Algorithmus kann die Hash-Folge entziffert werden.
Derjenige Miner mit der richtigen Lösung erhält die Belohnung für den neuen Block. Ethash steht für Dagger-Hashimoto-Algorithmus, der auf einem pseudozufälligen Datensatz basiert und durch die aktuelle Länge der Blockchain initialisiert wird.
Der Datensatz ist auch unter DAG bekannt, gerichtete azyklische Graph, und alle 30.000 Blöcke neu generiert.
Die Bandbreite des Speichers ist bei diesem Konsensverfahren ein limitierender Faktor, da der Durchsatz des Speichers eines Systems durch die DAG-Seitenaufrufe im Ethash-Mining-Algorithmus selbst moderne Hardware schnell an ihre Grenzen bringt.
Bei der Speicherhärte handelt es sich um die technische Bezeichnung für „speichergebunden“. Der Begriff bezieht sich ebenfalls auf die begrenzte Bandbreite.
Proof-of-Authority IBFT 2.0 Konsensverfahren
Bei Hyperledger Besu kommt auch das Proof-of-Authority IBFT 2.0 Konsensverfahren zum Einsatz. Es ist reputationsbasiert und bietet vor allem für private Blockchain-Projekten einen Mehrwert.
Die praktische und effiziente Lösung nutzt den Wertigkeitsgrad von Identitäten, bei der jeder Blockprüfer seinen eigenen Ruf als Referenz einsetzt.
In IBFT 2.0 Netzwerken validieren autorisierte und geprüfte Knoten, die sogenannten Validatoren, Transaktionen und Blöcke. Sie wechseln sich beim Erstellen von Blöcken ab.
Vor dem Einfügen eines neuen Blocks müssen zuerst mehr als 66 % der Prüfer eine Mehrheit bilden und zunächst den Block signieren. Bestehende Validatoren schlagen vor und stimmen ab, um neue Validatoren hinzuzufügen oder zu entfernen. Beim Entfernen reicht eine Mehrheit von über 50 % aus.
Für den IBFT 2.0 Konsens in Hyperledger Besu müssen vier Validatoren byzantinisch fehlertolerant sein.
Byzantinische Fehlertoleranz ist die Fähigkeit eines Blockchain-Netzwerks, korrekt zu funktionieren und einen Konsens zu erzielen, obwohl Knoten ausfallen oder falsche Informationen an Peers weitergeben.
Der Proof-of-Authority Konsens ist hochskalierbar und kann daher in einer Vielzahl von Szenarien angewendet werden.
Proof-of-Authority Clique Konsensverfahren
Im Testnetz von Rinkeby befindet sich der PoA-Konsens in der Anwendung, der sich Clique Proof-of-Authority nennt.
Auch private Netzwerke verwenden häufig diesen Algorithmus, bei dem die sogenannten Unterzeichner, Transaktionen validieren und sperren.
Jeder Unterzeichner ist ein autorisierter Account und sie wechseln sich beim Erstellen des nächsten Blocks ab. Über das Hinzufügen oder Entfernen von Unterzeichnern stimmen bestehende Unterzeichner ab.
Der Grund für seine Verwendung in Ethereum-Netzwerken besteht in der normalerweise hohen Unsicherheit der Netze, da ihnen die Hash-Leistung fehlt. Miner im Netzwerk erhalten keine Belohnung für die Sicherung des Testnetzwerkes. Das Hinzufügen der Hash-Werte beruht dort nur auf eine freiwillige Unterstützung.
Obwohl im Testnetz kein Geld verdient wird und daher ein 51%-Angriff nicht lukrativ ist, kann er doch zu einer Störung des Netzwerkes führen und die Benutzererfahrung negativ beeinflussen.
Mit dem Konsensmechanismus wird die Kontrolle eines solchen Angriffs aber erschwert. Bei Ropsten, einem PoW-Netzwerk kam es in der Vergangenheit häufig zu solchen 51%-Angriffen und das Netzwerk war mit bedeutungslosen Transaktionen überfüllt.
Während bei PoW-Testnetzen auch weiterhin Ethash-bezogene Funktionen getestet werden müssen, um potenzielle Konsensprobleme zu ermitteln, gibt es bei PoA-Testnetzen eine zuverlässige und bequeme Alternative für Blockchain-Entwickler.
Eine solche Alternative ist der Clique-Algorithmus, bei dem alle Blöcke von zugelassenen Unterzeichnern per Mining erzeugt und versiegelt werden.
Ethereum-Testnetze nutzen unterschiedliche Konsensverfahren
Anders als bei Ethash (dem PoW-Algorithmus von Ethereum) gibt es kein Mining und Angreifer müssen nicht sehr zeitaufwendige Brute-Force-Methoden anwenden.
Abgesehen von dem fehlenden Mining-Prozess ähnelt die Blockerzeugung aber dem Ethash-Algorithus. Der Miner sammelt Transaktionen, führt sie aus, aktualisiert den Netzwerkstatus und berechnet den Hash-Wert. Am Ende signiert er den Block mit seinem Private Key.
Clique ermöglicht die Erstellung eines Blocks pro definiertem Zeitraum. In Ethereum-Testnetzen liegt diese bei 15 Sekunden, angelehnt an das Hauptnetz.
Mit dieser temporären Begrenzung ist die Anzahl der verarbeiteten Transaktionen limitiert. Normalerweise ist es üblich, dass Miner Blöcke in beliebiger Reihenfolge versiegeln können.
In Clique gibt es dafür jedoch einige Regeln, mit denen es Anreize für das Signieren von Blöcken in der richtigen Reihenfolge gibt.
Derzeit gibt es drei verbreitete Ethereum-Testnetze:
- Ropsten, verwendet denselben Konsensalgorithmus wie das Mainnet Ethash
- Kovan verwendet Aura, einen weiteren Proof-of-Authority-Algorithmus
- Rinkeby nutzt bereits Clique
Dazu kommt noch Goerli, ein relativ neues Testnetz, dessen Entwicklungstätigkeit und Akzeptanz jedoch rasch zunimmt. Goerli benutzt ebenfalls den Clique-Konsens.
Einer der Gründe für Goerli war die Erstellung eines neuen Testnetzes, in dem Kundenentwickler die Implementierung von Clique problemlos testen und den Algorithmus so für möglichst viele Kunden verwenden können.
Hyperledger Besu gegen Medikamenten-Verschwendung
Vor allem im Bereich von Supply Chains ist der PoA-Konsensmechanismus ein effektiver und vernünftiger Lösungsweg. Microsoft Azure ist ein weiteres Beispiel für einen implementierten PoA Konsens. Vor allem für Unternehmen mit logistischen Anforderungen bieten PoA-Systeme hohen Nutzen.
Das beweist auch ein kürzlich veröffentlichter Bericht über die Verwendung von Hyperledger Besu zur Bewältigung des Problems von überschüssigen Medikamenten in den USA (Save Pharmaceutical-Project).
Jedes Jahr werden Tonnen von verschreibungspflichtigen Medikamenten in Kliniken, Altenheimen oder Patienten zu Hause nicht verwendet.
Die meisten Länder haben derzeit aber gesetzlich geregelt, dass die Weitergabe von nicht verwendeten Medikamente verboten ist.
Das bringt eine ganze Reihe von komplexen Problemen mit sich, unter anderem:
- Jährlich werden verschreibungspflichtige Medikamente im Wert von über 2 Milliarden US-Dollar weltweit verschwendet. Andererseits kann sich jeder dritte Amerikaner aufgrund der hohen Kosten und/oder dem Fehlen einer Krankenversicherung keine verschriebenen Medikamente leisten. Es gibt kein einheitliches Verfahren, um überschüssige Medikamente zu verwenden und denjenigen zur Verfügung zu stellen, die sie benötigen.
- Pro Pfund entsorgter verschreibungspflichtiger Medikamente belaufen sich die Kosten nach Schätzungen von Experten auf rund 1,25 US-Dollar. Diese entstehen vor allem durch die Verbrennung, die gesetzlich vorgeschrieben ist und nach der Entsorgung über den Hausmüll erfolgt. Dieser Prozess jedoch verursacht auch Umweltprobleme und der Transport beeinträchtigt unser Klima.
Wertschöpfungskette mit Ethereum-Blockchain
Ziel muss ein Mechanismus für die Rückgabe der nicht verwendeten Medikamente sein, damit diese an Patienten gelangen, die sie benötigen. Auch wenn es bereits sehr mehr als 20 Jahren viele Gesetze zu diesem Thema gibt, werden bisher nur in mehr als 38 Staaten diese überhaupt angewendet.
In vielen Ländern der Welt existieren allerdings überhaupt keine Vorgaben der Regierung zur Weitergabe und Verwendung von nicht benötigten verschreibungspflichtigen Medikamenten.
Es gibt aber wichtige Aspekte bei der Erstellung eines grenzüberschreitenden Netzwerkes zu beachten. Dabei geht es beispielsweise um:
- Qualität und Kontrolle der gespendeten Medikamente. Denn natürlich dürfen diese nicht über das angegebene Verfallsdatum sein und ihre Originalverpackung muss intakt sein.
- Apotheken und sonstige Einrichtungen sind motiviert, damit sie ungebrauchte Medikamente spenden. Die Teilnahme am bisherigen Rücklaufprogramm verursacht hohe Kosten für die beteiligten Organisationen und belasten deren Wirtschaftlichkeit.
- Kliniken und Patienten benötigen ebenfalls eine Motivation, die nicht verwendeten Medikamente zu spenden. Der Weiterverkauf von Medikamenten ist gesetzlich verboten. Ein anderes System kann diese Regelung umgehen.
- In Bezug auf alle hochsensiblen Daten, die im Zusammenhang mit dem gespendeten Medikament stehen, müssen sich alle auf die Einhaltung der Datenschutzbestimmungen verlassen können.
Hyperledger Besu ideal für Supply-Chain Anwendungen
Der vollwertige Ethereum-Client mit dem Hyperledger Blockchain-Protokoll kann mit seiner effektiven und sicheren Netzwerk-Struktur hier ideal eingesetzt werden und bildet die Basis für die Entwicklung von Applikationen entlang der Wertschöpfungskette.
Die Umverteilung von gespendeten Medikamenten erfolgt dabei unter strengen Auflagen bezüglich des Datenschutzes. Die Rückverfolgbarkeit bietet zusätzlichen Nutzen bei der Verteilung der Medikamente.
Auf der multifunktionalen Blockchain-Plattform und dem Besu-Protokoll werden mithilfe von Adoriasoft und Kliniken, Altenheime, Apotheken, Einzelpersonen und alle anderen infrage kommenden Organisation vereint.
Nur die direkt an der Transaktion beteiligten Parteien haben Zugriff auf ihre Daten. Gleichzeitig ermöglicht Hyperledger Besu aber die Möglichkeit, den gesamten Transaktionsfluss von der Medikamentenspende durch den Eigentümer bis zu seiner endgültigen Zuordnung zum Patienten zu steuern.
Auch das Apothekeneinkommen lässt sich auf der Plattform überwachen und ebenso die Weiterleitung der Einnahmen an die entsprechenden Teilnehmer. Gesetzlich ist es allerdings verboten, dass der Spender einen finanziellen Ertrag mit der Spende der Medikamente erhält.
Token als Belohnung und Anreiz
Denkbar wäre hier die Generierung von Coins, um zur Teilnahme am Programm zu motivieren. Für Unternehmen wie den Apotheken oder Kliniken gibt es zwar einen steuerlichen Rabatt für die Annahme der Spenden, jedoch kann mit Hyperledger Besu auch über eine Entschädigung in Form eines handelbaren digitalen Tokens nachgedacht werden.
Die in der Blockchain ausgegebenen Token könnten auch für Rabatte auf der Plattform verwendet oder gegen andere Vermögenswerte eingetauscht werden. Die gleichen Token könnten auch Apotheken erhalten, um sie für das Programm zu gewinnen.
Blockchain-basierte Arzneimittel-Repository-Netzwerke gelten als ein wahrer Quantensprung in der Gesundheitsbranche und können gleichzeitig für erhebliche Kosteneinsparungen sorgen. Außerdem macht es Medikamente Patienten zugänglich, die nicht auf anderem Wege an diese gelangen können und schützt vor Arzneimittelfälschungen auf dem Markt.
JSON RPC API führt Ethereum-Nodes aus
Speziell Unternehmensanwendungen, die eine sichere und leistungsstarke Transaktionsverarbeitung benötigen und ein privates Netzwerk erfordern, sind ideal für Hyperledger Besu.
Mit der Schnittstelle von JSON RPC lassen sich Knoten in einem Ethereum-Netzwerk ausführen, verwalten, von Fehlern bereinigen und überwachen.
Diese API lässt sich über HTTP oder über WebSockets verwenden. Eine weitere Ethereum API wird von Hyperledger unterstützt, – die Pub/Sub API.
Sie unterstützt dabei typische Ethereum-Funktionen wie:
- Ether Mining
- Entwicklung von Smart Contracts
- Entwicklung von dezentralen Anwendungen, DApps
Über weitere APIs sollen zukünftig noch mehr Daten für User mittels Plugin-Verfahren austauschbar sein. Diese APIs machen wichtige unterstützende Dienste und Komponenten zugänglich. Dazu gehören beispielsweise:
- Blöcke
- Guthaben
- Transaktionen
- Smart Contracts
- Log-Dateien
- Ausführungsergebnisse
Neues Update für Hyperledger Besu angekündigt
Die Hyperledger Besu Version 1.5 ist für Mitte 2020 angekündigt und soll folgende Verbesserungen enthalten:
- Leistungsverbesserungen bei der Blockweitergabe, Blockerstellung und Blockvalidierung
- Verbesserungen beim Transaktionsmanagement
- Kürzere Abfragezeiten bei der JSON RPC API
- Verbesserungen des Datenschutzes
- Synchronisationsprozess mit Beam Sync
- Mining-Support
Übrigens ist Hyperledger Besu auch in der Lage Daten an den IOTA-Tangle zu senden. Mit dem sogenannte Connector von der IOTA-Foundation lassen sich Daten aus Hyperledger an den IOTA-Tangle senden.
Mit dem Connector können Nutzer von Hyperledger Besu aber auch alle anderen verfügbaren IOTA-Funktionen wie gebührenfreie Zahlungen mittels Iota-Token, verschlüsselte Datentransaktionen und öffentliche/private Nachrichtenketten (MAM) nutzen.