Hyperledger Iroha für Blockchain-Einsteiger

Hyperledger Iroha gehört zu den Blockchain-Projekten der Linus Foundation und bietet ein permissioned Blockchain-Framework zur Verwaltung von digitalen Assets aller Art.

Das können Kryptowährungen sein, digitale Vermögenswerte, Datenströme, aber auch sensible Gesundheitsdaten. Die Enterprise-Blockchain ist besonders leicht für Blockchain-Entwickler aufzusetzen.

Das Unternehmen gibt den Prozess der Erstellung des Netzwerks, eines Assets und einer Transaktion mit einer Dauer von lediglich 5 Minuten an.

Für das Entwickeln ist es daher nicht zwingend notwendig, ein Blockchain-Experte zu sein. Gleichwohl natürlich spezifische Kenntnisse beim Entwickler vorhanden sein müssen.

Hier der vollständige Überblick über das interessanten, ebenfalls modulare, Blockchain-Projekt unter dem Dach des Hyperledger Greenhouse.

Was kann Hyperledger Iroha?

Iroha ist vom japanischen Kaizen-Prinzip inspiriert, bei dem es hauptsächlich um die Vermeidung von Überschuss geht.

Integriert in Produktionsketten und relevante Prozesse soll das Kaizen-Prinzip für einen effizienten Workflow sorgen, aber vor allem den Ausschuss von Rohstoffen und Materialien reduzieren.

Damit ist auch klar, wofür das Blockchain-Projekte Hyperledger Iroha vor allem gedacht ist.

Überall da, wo Unternehmen ein Blockchain-System benötigen, dass sowohl allgemeine Berechtigungen bietet, als auch die Verwaltung von digitalen Assets, Identitäten und serialisierte Daten enthält, ist das Hyperledger Iroha Protokoll perfekt eingesetzt. Seine Features im Überblick:

  • Die einfache Bereitstellung und Wartung des Netzwerks
  • Eine Vielzahl an Bibliotheken für Entwickler
  • Die rollenbasierte Zugriffskontrolle
  • Ein modularer Aufbau auf Basis des Architekturprinzips Command Query Separation CQW
  • Die Verwaltung von Vermögenswerten (Assets)
  • Das Identitätsmanagement

Das Architekturprinzip Command Query Separation, CQW, trennt Befehle in Abfrage (query) oder Kommando (command) ein und gehört in den Bereich der objektorientierten Programmierung.

Die Trennung in Lese- und Aktualisierungsvorgänge verhindert, dass Abfragen die Datenbank (Blockchain) ändern können. Vor allem bei komplexen Anwendungen kann eine komplizierte Objektzuordnung im Netzwerk die Leistung, Skalierbarkeit und Sicherheit reduzieren.

Durch die Trennung aber kann sich das System mit der Zeit immer besser entwickeln und verhindert, dass Aktualisierungsbefehle auf der Domainebene zu Mergekonflikten führen.

Mergekonflikte können immer dann auftreten, wenn mehrere Entwickler gleichzeitig am Sourcecode arbeiten.

Mithilfe vorgefertigter Befehle im System können Entwickler allgemeine Funktionen auf Hyperledger Iroha ausführen. Dazu gehören unter anderem die folgenden:

  • das Erstellen und Übertragen digitaler Assets
  • das Registrieren von Konten
  • das Übertragen von Assets zwischen Konten

Hyperledger Iroha für Programmiersprache C++

Blockchain-Entwickler bzw. Anwender des Iroha Netzwerks haben die Möglichkeit neue Befehle und Anwendungen zur Steuerung der Assets über C ++, GTest, Protobuf oder Boost zu programmieren.

C++ ist die ISO genormte Programmiersprache, die mit den anderen häufig verwendeten Programmiersprachen harmoniert. Standard Template Library (STL) sind Bibliotheken zu umfangreichen und Plattform-unabhängigen Problemlösungen.

In diesen Datenbänken liegen vor allem Low-Level Datenstrukturen und Algorithmen, mit denen sich nahezu jedes IT-Programmproblem lösen lässt.

Neben Java gehört C++ zu den Programmiersprachen, mit denen sich vor allem Programmieranfänger beschäftigen.

Damit ist auch hier Hürde zur Erstellung eines Iroha-Netzwerks praktischerweise ausgesprochen niedrig und ermöglicht daher die Entwicklung von Blockchain-Anwendungen auch für Nichtexperten.

GTest oder Google Test beschreibt ein umfangreiches plattformunabhängiges C++ Testing Framework, das dennoch sehr einsteigerfreundlich ist.

Die Dokumentation ist jeweils in einen Einsteiger- und Fortgeschrittenen-Teil gegliedert.

Mit GTest lassen sich sogenannte White Box Tests durchführen, bei denen über Komponenten-Schnittstellen die Fehlbedienung eines Testobjektes auf Softwarebasis getestet wird.

Mit Protobuf (Protocol Buffers von Google) können auch eigentlich inkompatible Schnittstellen miteinander kommunizieren. Das Datenformat ist seit 2008 genau wie der Compiler als Open-Source-Projekt online.

Compiler Programme übersetzen eine Programmiersprache in eine andere Programmiersprache. Programmierschnittstellen werden benötigt, um Protokolle unterschiedlicher Quellcodes zu serialisieren und auszutauschen.

Auch hier zeigt sich der leichte Einstieg in das Iroha Blockchain-Projekt von Hyperledger.

Boost bietet kostenlose übertragbare Quellbibliotheken an, bei denen ein breites Spektrum von Anwendungen im Vordergrund steht.

Alle Boost Bibliotheken sind vollkommen unabhängig von einer bestimmten Plattform. Vor allem die mit C++ entwickelten Bibliotheken können mit Boost erweitert und ins Iroha-Netzwerk integriert werden.

Fast alle modernen Betriebssysteme können Boost verarbeiten und einige Linux und Unix-Distributionen erhalten sogar bereits vorgefertigte Boost-Pakete.

Blockchain-Framework flexibel programmierbar

Unter dem Begriff Boost wird in der IT-Sprache eine umfangreiche Sammlung an Software-Bibliotheken für die Programmiersprache C++ verstanden.

Dabei deckt Boost auch ein breites Spektrum von Problemstellungen ab, die in den Standard STL nicht zu finden sind. Dazu gehören zum Beispiel:

  1. Die Behandlung von Threads. Das sind eigenständige Aktivitäten in einem Prozess, die unabhängig von anderen Prozessteilen abgewickelt werden können. Mehrere Threads können daher parallel ausgeführt werden. Mann spricht dann von Multithreading oder Hyperthreading. Sie ermöglichen das gleichzeitige Annehmen von Befehlen auf Servern und Clients.
  2. Komponenten für die Serialisierung sind objektorientierte Anwendungen zu Speicherung von Daten, die mit einem Objekt assoziiert werden. Im konkreten Fall von Hyperledger Iroha sind das die sogenannten Assets. Diese verhindern, dass mit dem Abbruch der Software auch die Existenz eines Objektes endet und gewähren im konkreten Fall die dauerhafte Abspeicherung der Daten in den Blöcken.
  3. Funktionen für die automatische Generierung von Webservices. Hier handelt es sich um ein Protokoll zur Beschreibung sowie dem Austausch von komplexen Datenstrukturen über die Schnittstellen der Webservices. Die selbstschreibenden und eigenständig agierenden Software-Komponenten können sich auch untereinander aufrufen. Bekannte Webservices werden durch Google und Amazon bezogen, bei denen auf das Internet bezogene Dienstleistungen angeboten werden.
  4. Der Zugriff auf Datenbanken, die als Grundlage für Programme dienen, die die dort hinterlegten Daten nutzen. Über Anwendungsprogramme lassen sich diese Datenbanken ansprechen und die Daten abrufen. Bei Datenbanken wird ein Ausschnitt aus der realen Welt in ein Datenbankschema abgebildet. In Tabellen befinden sich die Daten des Unternehmens, unter anderem Artikelbezeichnungen, Seriennummern oder Gesundheitsdaten. Logistiksysteme und Supply-Chains bieten die ideale Grundlage zur Einbindung von Hyperledger Iroha in Business-Systeme.
  5. Die Behandlung von Netzwerkfunktionen, bei denen Protokolle den Ablauf der Kommunikation zwischen den Systemen bestimmen. Solche Netzwerk-Protokolle enthalten Regel-Sammlungen und ermöglichen die Kommunikation mehrere Computer im Iroha-Netzwerk.

Integration EVM über Hyperledger Burrow in Iroha

Umständliche und schwer zu testende intelligente Verträge (Smart Contracts) gibt es auf dem Blockchain-Framework nicht, was auch das Risiko für Fehler reduziert.

Das Fehlen der Smart Contracts stellt einen der wesentlichen Unterschiede zur Ethereum-Blockchain dar. Allerdings können Ethereum-Entwickler die Iroha Integration als neue Blockchain in verteilten Anwendungen verwenden.

Im Rahmen eines internen Praktikums bei Hyperledger Iroha wurde ebenfalls unter Open-Source-Lizenz an einer Schnittstelle gearbeitet.

Damit ist es möglich, Daten von Iroha an den vollwertigen Ethereum-Klienten von Hyperledger Burrow zu senden. Durch die Unterstützung von Burrow EVM in Iroha sind EVM-Protokolle auslesbar.

Noch in Arbeit befindet sich auf Github das Projekt zum Entfernen des EVM-Datenspeichers, damit Benutzer Abfragen zum EVM-Status von Iroha aus durchführen können.

Für die Zukunft planen die Entwickler eine visuelle Programmiersprache auf der integrierten EVM. So soll es damit für Entwickler ein Umfeld zum Testen von verschiedenen intelligenten Vertrags-Engines geben. Eine davon ist die Ethereum Virtual Machine aus dem Hyperledger Burrow Projekt.

Das globale Geschäft ist immer großartig, und wir haben nach einer Lösung gesucht, die unseren Anforderungen entspricht, zu 100% offen ist und auf die spezifischen Anforderungen unserer Aufgabe ausgerichtet ist. Funktionen wie die Kontoverwaltung und die unterstützende Community von Iroha sowie die KYC-Anwendung von Soramitsu waren Schlüsselfaktoren für unsere Entscheidung, Iroha für D3 Ledger zu verwenden. Die bestehende Übernahme von Iroha in mehreren Ländern und der praktische Anwendungsfall bei der kambodschanischen Zentralbank waren zusätzliche Vorteile. (Aus dem Englischen), Alexander Yakovlev from Moscow Exchange Group’s National Settlement Depository, Quelle: Hyperledger.org

Unterschiede zu Ethereum und Bitcoin

Iroha besitzt keine native Kryptowährung, die für die Interaktion mit dem System erforderlich ist. Dieses Merkmal macht den Haupt-Unterschied zu Bitcoin aus.

Nur Personen mit dem erforderlichen Zugriff auf das System können mit diesem interagieren und die Anforderungen des Unternehmens im Netzwerk umsetzen. Bei Bitcoin und Ethereum kann jeder Mitglied werden und auf alle Daten zugreifen.

In Iroha erfolgt der Zugriff auf alle Daten stets über Abfragen. Iroha ist derzeit das einzige Ledger mit einem robusten Berechtigungssystem, bei dem die Berechtigungen für alle Befehle, Abfragen und Verbindungen zum Netzwerk festgelegt werden können.

Je umfangreicher ein Business Intelligence System wie die Iroha Blockchain-Plattform ist, umso besser hält das Netzwerk Veränderungen ohne Anpassungen seiner anfänglichen stabilen Struktur stand.

In der Informatik bedeutet Robustheit die Eigenschaft, auch unter ungünstigen Bedingungen noch zuverlässig zu funktionieren und eine Fehlertoleranz aufzuweisen.

Konsensverfahren YAC

Yet Another Distributed Consensus Algorithm steckt hinter der mysteriösen Abkürzung mit den drei Buchstaben und beschreibt den verteilten Konsensalgorithmus in Hyperledger Iroha.

Klassische Konsensverfahren können nicht ordnungsgemäß funktionieren, wenn die Anzahl der Ausfallknoten größer als 50 % der Clustergröße beträgt. Der YAC-Konsens basiert auf einer dynamischen Topologie und begrenzter Abstimmung.

Dieser Konsens erzeugt dynamisch eine Untergruppe in den Mitgliedern im Netzwerk und bestimmt daraus die Leader-Knoten, die an der Abstimmung teilnehmen dürfen.

Da hier die Sicherheitsvorkehrungen hinsichtlich der absoluten Mehrheit von größer als 50 % nicht greifen, wurde der höhere Grad der Fehlertoleranz durch den Protokollmechanismus ausgeglichen.

Der praktische dezentrale Konsensalgorithmus YAC soll die Probleme der ineffizienten Nachrichtenübermittlung und der Leader-Funktion lösen. Diese treten vor allem bei den klassischen byzantinischen fehlertoleranten Konsensalgorithmen auf.

YAC ist ebenfalls als Open-Source-Projekt angelegt und ermöglicht die Finalität in Transaktionen unter sehr geringen Latenzen im Netzwerk der berechtigungsfähigen Enterprise-Blockchain Iroha. Mit YAC wird folglich die byzantinische Fehlertoleranz im Iroha-Netzwerk sichergestellt.

Der Algorithmus ist skalierbar, in dem die Verzögerung bei der Abstimmung durch die Anzahl der validierenden Peers angepasst wird.

Onboarding-Prozesse mit KYC-Anwendungen auf Iroha

KYC-Anwendungen stehen für Know-Your-Costumer Applikationen, bei denen die Identität einer Person validiert wird. Notwendig ist dies beispielsweise bei Finanzgeschäften.

KYC-Prozesse sind Teil einer Gesetzgebung zur Verhinderung von Geldwäsche und Steuerhinterziehung.

Soramitsu Co., Ltd. und die PT Bank Central Asia Tbk haben die Blockchain Hyperledger Iroha im letzten Jahr versuchsweise eingesetzt, um unter Verwendung des verteilten Ledgers den Onboarding-Prozess von Kunden zu beschleunigen und um ein innovatives Modell für eine dezentrale autonome Wirtschaft namens Sora (XOR; sora.org) zu entwickeln.

Für das Erstellen und Überprüfen von Ansprüchen in Bezug auf die Identität von Personen sieht die Blockchain eine Möglichkeit zur selbstsouveränen Identitätslösung vor, bei der das System kryptografische Beweise für die verifizierten Dokumente speichert. Anschließend stehen diese mehreren Kooperationspartnern zur Nutzung bereit.

Dank rollenbasierter Berechtigungen zur Steuerung von Aktionen im Hauptbuch sowie eines hoch optimierten Datenmodells kann Hyperledger Iroha Daten sicher und schnell verarbeiten.

Dies macht das Framework folglich hauptsächlich für Identitätsmanagement, digitale Zahlungen, Vertragsverwaltung und Lieferkettenmanagement nützlich.

Hyperledger Iroha ist spezialisiert auf die Erstellung von reaktionsschnellen und leistungsfähigen Anwendungen, mit denen Endbenutzer interagieren können. Dazu gehören auch Mobil- und Webanwendungen.

Mithilfe von Hyperledger Iroha will das Fintech-Start-up, das auch Mitglied der Linux Foundation ist, eine sichere und bequeme Möglichkeit zur Verwaltung digitaler Identitäten schaffen.

Anfänger-Blockchain für verschiedene Branchen

Hyperledger Iroha stellt eine Schlüsselkomponente in der entwickelten selbstsouveränen Identitätslösung dar, da es die derzeit einzige Blockchain-Plattform für Unternehmen mit integrierten Funktionen für das Finanz- und Identitätsmanagement, einem schnellen und sicheren Konsensalgorithmus und einem benutzerfreundlichen Berechtigungsmodell ist.

Antworten

Schreibe einen Kommentar

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