© Liashko/Shutterstock.com
Hyperledger Fabric - smarte Programmiersprache für smarte Verträge

Smart Contracts mit .NET Core


Hyperledger Fabric, eine von der Linux Foundation unterstütze Blockchain, erlaubt das Entwickeln von Smart Contracts in Go, Node.js und Java. Mit einem experimentellen Paket lassen sich die Smart Contracts auch in .NET entwickeln. Dank .NET Core können die Smart Contracts via Docker – dem Deploymentmodell von Hyperledger Fabric – gestartet werden. In diesem Artikel wollen wir die Entwicklung von Smart Contracts mit C# genauer beleuchten.

Hyperledger Fabric [1] ist eine unter dem Dachverband Hyperledger mit Go entwickelte Open Source Blockchain [2]. Hyperledger selbst wurde Ende 2015 von der Linux Foundation gegründet. Unter dem Dachverband werden Open Source Blockchains und dazu passende Tools entwickelt. Große Unternehmen wie Intel, IBM, Cisco oder Red Hat unterstützen Hyperledger. Dabei wird nicht nur der Ansatz einer Blockchain, sondern vielmehr verschiedener Blockchain-Plattformen verfolgt.

Genauer handelt es sich bei Hyperledger Fabric (kurz: Fabric) um eine Technologie für Permissioned Blockchains bzw. private Blockchains – also eine Blockchain, die nicht wie Ethereum oder Bitcoin für alle öffentlich, sondern nur bestimmten Teilnehmern zugänglich ist. Dadurch können wir bei diesen Arten von Netzwerken das klassische Mining (Proof of Work, PoW) vernachlässigen. Vielmehr kommt hier der Konsens über Proof of Authority (PoA) (Kasten: „Proof of Authority“) zum Tragen.

Proof of Authority (PoA)

Entgegen dem klassischen Mining (Proof of Work), das darauf beruht, dass ein Miner ein kryptografisches Rätsel in Form einer Hash-Berechnung löst, existieren bei Proof of Authority (PoA) sogenannte Validator Nodes (oder auch Authorities, als eher physische Entität), denen die Erzeugung von neuen Blöcken erlaubt ist. Wenn die Mehrzahl von Validator Nodes in einem Netzwerk der Erzeugung des neuen Blocks zustimmen, wird dieser ein permanenter Teil des Netzwerks. Vorteil hierbei ist, dass keine CPU-Zeit zur Lösung des kryptografischen Rätsels benötigt wird, eine bessere Performanz erreicht wird und dadurch eine höhere Transaktionsgeschwindigkeit erzielt werden kann. Daher eignet sich PoA für das Enterprise-Umfeld.

Anstelle einer Domänensprache bietet Fabric die Entwicklung von Smart Contracts – oder auch Chaincode, wie das im Hyperledger-Umfeld genannt wird – in den Sprachen Java, Go und JavaScript (via Node.js) an, experimentell kann auch .NET verwendet werden. Folgend werden wir einen Chaincode mit C# entwickeln, der das Standardbeispiel FabCar von Hyperledger imple...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang