Intels betriebsbereite Hyperledger Sawtooth Blockchain

Hyperledger Sawtooth ist ein Open-Source-Projekt – eine Enterprise-Blockchain-Plattform für den Aufbau verteilter Ledger-Anwendungen und -Netzwerke. Sie kann ab sofort von Unternehmen eingesetzt werden.

Möglichkeiten von Hyperledger Sawtooth

Verteilte Ledger liefern einen digitalen Datensatz (z. B. Asset Ownership), der ohne zentrale Autorität oder Implementierung gepflegt wird.

Die Design-Philosophie zielt darauf ab, die Verteilung der Ledger zu gewährleisten und intelligente Verträge sicherzumachen, insbesondere für den Einsatz in Unternehmen.

Sawtooth vereinfacht die Entwicklung von Distributed-Ledger-Anwendungen, indem es das Kernsystem von der Anwendungsdomäne trennt.

Anwendungsentwickler können die für ihre Anwendung geeigneten Geschäftsregeln in der Sprache ihrer Wahl spezifizieren, ohne das zugrundeliegende Design des Kernsystems kennen zu müssen.

Das Kerndesign von Sawtooth unterstützt Anwendungen dabei, die Transaktionsregeln, Genehmigungs- und Konsensalgorithmen auszuwählen, die für ihre individuellen Geschäftsanforderungen benötigt werden.

Verteilte Ledger liefern einen digitalen Datensatz (z.B. Asset Ownership), der ohne zentrale Autorität oder Implementierung gepflegt wird

Verteilte Ledger beim Hyperledger Sawtooth

Ein „verteiltes Ledger“ ist ein anderer Begriff für einen Blockchain (Was ist Blockchain?). Er verteilt eine Datenbank (ein Ledger) von Transaktionen an alle Teilnehmer eines Netzwerks (auch „Peers“ oder „Nodes“ genannt). Es gibt keinen zentralen Administrator und keine zentrale Datensammlung. Im Wesentlichen heißt das:

  • Verteilt: Die Blockchain-Datenbank wird von Teilnehmern gemeinsam genutzt und ist nachweislich auf allen Knoten im Netzwerk identisch. Alle Teilnehmer haben die gleichen Informationen.
  • Unveränderlich: Die Blockchain-Datenbank bildet eine unveränderliche Historie aller Transaktionen, die Block-Hashes verwendet, um das Erkennen und Verhindern von Manipulationsversuchen zu erleichtern.
  • Sicher: Alle Änderungen und Transaktionen werden aufgezeichnet und die Transaktionen werden mit bekannten Identitäten signiert.

Trennung zwischen Anwendungsebene und Kernsystem

Sawtooth vereinfacht die Entwicklung und Bereitstellung einer Anwendung durch eine klare Trennung zwischen der Applikationsebene und der Kernsystemebene.

Eine Anwendung kann eine native Geschäftslogik oder eine intelligente virtuelle Maschine sein. Tatsächlich können beide Arten von Anwendungen auf der gleichen Blockchain koexistieren.

Hyperledger Sawtooth ermöglicht es, diese Design-Entscheidungen in der Transaktionsverarbeitung zu treffen, sodass mehrere Arten von Anwendungen in derselben Instanz des Blockchain-Netzwerks existieren können. Jede Anwendung definiert die benutzerdefinierten Transaktionsprozessoren für ihre jeweiligen Anforderungen.

Sawtooth stellt mehrere Beispieltransaktionen zur Verfügung, die als Modelle für Low-Level-Funktionen dienen, wie z. B. die Pflege von Einstellungen und die Speicherung von On-Chain-Berechtigungen sowie für spezifische Anwendungen wie Performance-Analyse und Speicherung von Blockinformationen.

Transaktionsprozessor-SDKs sind in mehreren Sprachen verfügbar, um die Erstellung neuer Vertragssprachen wie Python, JavaScript, Go, C++ und Java zu vereinfachen. Eine mitgelieferte REST-API vereinfacht die Client-Entwicklung, indem sie die Validator-Kommunikation an den Standard HTTP/JSON anpasst.

 

Private Netzwerke mit den Sawtooth Permissioning Features

Mit Hyperledger Sawtooth sollen die Herausforderungen (privater) Netzwerke gelöst werden. Cluster von Sawtooth-Knoten können einfach und mit separater Berechtigung eingesetzt werden.

Es gibt keinen zentralen Dienst, der potenziell Transaktionsmuster oder andere vertrauliche Informationen durchsickern lassen könnte.

Die Blockchain speichert die Einstellungen, welche die Berechtigungen festlegen, wie z. B. Rollen und Identitäten, sodass alle Teilnehmer im Netzwerk auf diese Informationen zugreifen können.

Parallele Transaktionsausführung

Die meisten Blockchains erfordern eine serielle Transaktionsausführung, um eine konsistente Ordnung an jedem Knoten im Netzwerk zu gewährleisten.

Sawtooth enthält einen fortschrittlichen parallelen Scheduler, der Transaktionen in parallele Abläufe aufteilt. Basierend auf den Orten, auf die eine Transaktion zugreift, isoliert Hyperledger Sawtooth die Ausführung von Transaktionen voneinander, wobei kontextuelle Änderungen beibehalten werden.

Wenn möglich, werden Transaktionen parallel ausgeführt, wobei Doppelausgaben auch bei mehrfachen Modifikationen desselben Zustands vermieden werden. Die parallele Terminierung bietet ein erhebliches Potenzial zur Leistungssteigerung gegenüber der seriellen Ausführung.