Was ist ein Chaincode?

Hyperledger Fabric bietet keine API, mit der Daten direkt in die Blockchain gelesen oder geschrieben werden können. Jede Anfrage an die Hyperledger Fabric Blockchain wird durch smart contracts, dem sogenannten Chaincode, gesteuert. Diese sind Programme (z. B.   in der Programmiersprache Go), die direkt auf den Peer-Knoten von Hyperledger Fabric installiert und ausgeführt werden. Chaincode stellen Funktionen zur Verfügung, die von den Clients aufgerufen werden müssen und steht somit zwischen den Clients und der Blockchain.

Anwendungsmöglichkeit für eine Blockchain

Neben der Entwicklung eines sicheren, dezentralen und kontrollierten Systems für Kryptowährungen sind auch andere Anwendungen denkbar, wie z. B. die Lösung des in vielen wirtschaftlichen Geschäftsprozessen vorherrschenden Vertrauensproblems. Dabei werden sogenannte Intermediäre wie Banken oder Notare ersetzt, die als vertrauenswürdige Aufsichtsbehörde innerhalb eines Geschäftsprozesses den Prozess absichern. Ihre Aufgabe werden dann von einer Blockchain übernommen, die unbestechlich, fälschungssicher und immer auf der Basis der gleichen Werte arbeitet.

Was ist die Idee einer Blockchain?

Im Gegensatz zu den heutigen Systemen, in denen die privaten Programme eines Teilnehmers zur Fortschreibung seiner privaten Datenbestands verwendet werden, verfügt eine Blockchain über ein gemeinsames Programm zur Verwaltung eines gemeinsamen Datenbestands über den Transaktionen transparent abgewickelt werden können. Alle Blockchainsysteme haben den Grundgedanken des Austauschs von Daten und Prozessen:

Die Blockchain ist ein verteiltes System, das aus vielen Knoten besteht, die miteinander kommunizieren. Jeder Knoten einer Blockchain speichert eine exakte Kopie der Daten und führt ein gleiches identisches Program (den Chaincode) aus, d. h. es findet eine verteilte Speicherung statt, wobei Änderungen an den jeweils gespeicherten Datenkopien nur über die verteilten Prozesse ermöglicht werden. Dabei ist der Chaincode als Programm das zentrale Element, da Transaktionen (und Abfragen) nur mittels Chaincode verarbeitet werden (Chaincode wird auch smart contract genannt). Transaktionen müssen von Chaincode-Prozessen der Blockchain bewilligt werden, damit sie ausgeführt werden und nur bewilligte Transaktionen können Änderungen an den gespeicherten Daten durchführen.

Veränderung an den Daten werden nur angefügt, sodass in chronologischer Reihenfolge die Änderungen festgehalten werden. Dadurch entsteht ein historischer Datenbestand, welcher mittels kryptographischer Verfahren miteinander verkettet ist.

Durch die verteilte Datenhaltung entsteht die Schwierigkeit, dass sich alle Knoten auf eine gemeinsame Änderungsreihenfolge für eine Datenänderung einigen. Deshalb muss man um eine Änderungen synchronisieren zu können, eine Übereinstimmung gefunden werden, in welcher Reihenfolge die Änderungen berücksichtigt werden sollen. Dafür verwendet man einen Konsensmechanismus.

Was ist Hyperledger Fabric?

Hyperledger Fabric ist eine Blockchain-Framework-Implementierung und eines der Hyperledger-Projekte der Linux Foundation. Als Grundlage für die Entwicklung von Anwendungen oder Lösungen mit einer modularen Architektur bietet Hyperledger Fabric die Möglichkeit, Komponenten wie Konsensus- und Mitgliedschaftsdienste mittels Plug-and-Play zu nutzen. Hyperledger Fabric nutzt die Containertechnologie, um smart contracts, sogenannte „Chaincodes“, zu hosten, die die Anwendungslogik des Systems beinhalten.

Willkommen

Nicht zuletzt die Beliebtheit von Bitcoin [Nakamoto, 2008] hat das Interesse an Blockchaintechnologien angefacht.

Dieser Blog soll eine Übersicht über das Hyperledger Fabric Projekt – eine Variante der Blockchain – sein, indem hier wichtigten Fakten gesammelt, präsentiert und bewertet werden.

Schlüsselwörter: Blockchain, Hyperledger, Hyperledger Fabric