Dezentrale Datenspeicher in der Blockchain
Hyperledger Fabric
Hyperledger Fabric entstammt den Entwicklungslaboren von IBM. Das Framework dient als Grundlage für die Entwicklung dezentraler Anwendungen im Unternehmensumfeld auf Basis einer berechtigungspflichtigen Blockchain. Der Kern der Plattform ist in Go geschrieben.
Die modulare Architektur von Fabric erlaubt die Einbindung von Konsens-, Mitgliedschafts- und anderen Services als ladbaren Modulen. Ein einzigartiges Merkmal von Fabric ist das Konzept der privaten Kanäle (nach dem Vorbild privater Chats). Hyperledger Executive Director Brian Behlendorf bringt das Feature so auf den Punkt: «Wenn Sie über ein grosses Blockchain-Netzwerk verfügen und Daten nur mit bestimmten Parteien teilen möchten, können Sie einen privaten Kanal nur mit diesen Teilnehmern erstellen.»
Hyperledger Sawtooth
Hyperledger Sawtooth entstand aus dem Projekt Sawtooth Lake von Intel und wird derzeit unter dem Dach der Hyperledger Foundation unter einer Apache-2.0-Lizenz weiterentwickelt. Das Framework unterstützt sowohl berechtigungsfreie als auch berechtigungspflichtige Blockchains. Es skaliert auf sehr grosse Netze und ist stark auf Agilität hin ausgerichtet. Der Funktionsumfang von Hyperledger Sawtooth enthält grundlegende Funktionen wie die Steuerung der Kommunikation zwischen Knoten in einem Netzwerk, das Speichern von Daten in der Blockchain und die Handhabung von smarten Verträgen und Konsensalgorithmen. Als einziges der führenden Blockchain-Frameworks lässt es sich dynamisch zur Laufzeit erweitern.
Sawtooth sichert persistente Daten im On-Chain-Schlüsselwertspeicher, einem binären verteilten Speicher, der allen Validator-Knoten zur Verfügung steht. Die Daten lassen sich mit Hilfe von Transaktionen verändern. Jede Transaktion gehört hierbei zu einer sogenannten Transaktionsfamilie und wird mit Hilfe des zugehörigen Handlers verarbeitet. Der Handler einer Transaktionsfamilie nimmt den Payload der Transaktion entgegen, analysiert diesen, führt die erforderliche Geschäftslogik aus und schreibt die notwendigen Änderungen in den Speicher.
Anders als im Fall von Blockchain-Frameworks wie Ethereum kann Sawtooth Smart-Contracts-Code in beliebigen Programmiersprachen verarbeiten und ausserhalb der Blockchain aufbewahren. Anstatt den Code der smarten Verträge mit der Blockchain zu verteilen, muss jeder Validator-Knoten eine Software installieren, um die smarten Verträge ausführen zu können.