Interview mit Dan Middleton, Project Maintainer bei Hyperledger Sawtooth

Smart Contracts sicherer machen – mit Hyperledger Sawtooth

Gabriela Motroc

© Shutterstock.com / PlusOne

Hyperledger Sawtooth 1.0 ist jetzt verfügbar – und damit das zweite serienreife Blockchain-Framework. Wir haben mit Dan Middleton gesprochen, dem Projekt Maintainer des Projektes Hyperledger Sawtooth, über dessen besondere Merkmale sowie den Unterschied zwischen Sawtooth und Fabric gesprochen.

JAXenter: Hyperledger Sawtooth 1.0 wurde vor kurzem veröffentlich. Was ist das wichtigste Feature dieses Meilensteins?

Dan Middleton: Da wir uns mit Hyperledger auf Blockchain-Technologien für Unternehmen konzentrieren (anstatt auf Kryptowährungen) und als einer der Vorreiter auf diesem Feld anerkannt sind, ist das ein Meilenstein für die Hyperledger Community. Sawtooth hat eine Reihe von Alleinstellungsmerkmalen, auf die ich später zu sprechen kommen werde. Das Entscheidende bei einem 1.0 Release sind nicht die Features, sondern die Reife. Darauf gehe ich ebenfalls später noch genauer ein.

Knackpunkt ist, dass der Code ausgiebig getestet und überprüft wurde, die Plattform wurde im Einsatz erprobt und man kann jetzt seine Apps mit dem API bauen, ohne sich Sorgen machen zu müssen, dass das API die Apps verändert oder irgendetwas kaputt macht – ein Problem, mit dem viele andere Unternehmen beim Start in Verbindung mit anderen Blockchains gehabt haben.

JAXenter: Eine einzigartige Eigenschaft von Hyperledger Sawtooth ist, dass man Smart Contracts in seiner Lieblingssprache programmieren kann. Ihr unterstützt etwa Go, JavaScript und Python, um nur ein paar zu nennen. Ist Go eine gute Sprache, um Smart Contracts zu programmieren oder Blockchains zu erstellen?

Unternehmen sollen nicht nur die richtige Technologie, sondern auch die von Angestellten genutzten Sprachen nutzen können.

Dan Middleton: Sawtooth bietet SDKs, um Blockchain-Anwendungen für eine Reihe von Sprachen zu erstellen. Einige Sprachen eignen sich besser für die Client-, andere eher für die Serverseite. Ein Beispiel könnte sein, JavaScript für den Frontendclient und Go für das Backend zu nutzen. Wobei das Backend in diesem Fall der Smart Contract wäre.

Typischerweise sollte das Backend oder der Smart Contract in einer performativen Sprache geschrieben sein, beim Client sollten Dinge wie UI und die genutzten Geräte berücksichtigt werden. Das bedeutet nicht, dass man nicht alles in derselben Sprache schreiben kann. Viele unserer Beispiele nutzen auf beiden Seiten Python, weil es einfach zu lesen ist. Wir stellen verschiedene SDKs zur Verfügung, damit man nicht nur die richtige Technologie auswählen kann, sondern auch die Sprache(n) nutzen kann, für die das eigene Unternehmen Erfahrung und Personal hat.

JAXenter: Was ist der Unterschied zwischen Sawtooth und Fabric? Kannst Du ein paar Anwendungen für Sawtooth nennen?

Dan Middleton: Hyperledger Sawtooth 1.0 und Hyperledger Fabric 1.0 sind beides stabile Frameworks die bei Hyperledger gehostet werden. Die Designphilosophie von Sawtooth zielt darauf ab, Distributed Ledgers verteilt zu halten und Smart Contracts sicher zu machen – insbesondere für die Nutzung durch Unternehmen. Sawtooth ist das erste Projekt, das mit den Möglichkeiten der Byzantine Fault Tolerance veröffentlicht wird, was ein höheres Level an Robustheit darstellt, als es die Crash Fault Tolerance aufweist.

Lesen Sie auch:„Hyperledger Fabric kann man sich ähnlich einem Apache Web Server vorstellen“

Außerdem bietet Sawtooth als einzige Plattform das „Global State Agreement“, eine Garantie, dass jeder Knoten eine kryptographisch identische Kopie der Blockchain-Datenbank aufweist. Und Sawtooth lässt Entwickler Geschäftslogiken (Smart Contracts) in einer beliebten Sprache programmieren. Außerdem kann Sawtooth Transaktionen parallel ausführen, was den Durchsatz erhöht.

Zusammenfassend gibt es folgende Unterschiede zwischen Sawtooth 1.0 und Fabric 1.0:

  • State Agreement (eine kryptografisch verifizierte Datenbasis)
  • Byzantine Fault Tolerance Consensus
  • Unpluggable Consensus
  • Unterstützung von Mehrsprachigkeit
  • Ausführen paralleler Transaktionen

JAXenter: Kann Sawtooth in verschiedene Blockchain-Technologien integriert werden?

Dan Middleton: Ja. Im August haben wir eine erste Proof-of-Concept-Integration zwischen Hyperledger Sawtooth und Hyperledger Burrow durchgeführt. Im Ergebnis können EVM-Smart-Contracts mit Sawtooth bereitgestellt werden, wofür die Sawtooth-Ethereum-Transaktionsfamilie („Seth“) genutzt wird.

Wir haben dazu hier weitere Informationen bereitgestellt.

JAXenter: Was steckt unter der Haube? Wie hat sich Sawtooth seit seinen frühen Tagen bei Intel entwickelt?

Dan Middleton: Sawtooth hat als Forschungsprojekt gestartet, durch das zwei wichtige Innovationen entdeckt wurden: PoET und Transaktionsfamilien. Seitdem der Code Teil von Hyperledger ist, wurde er von vielen Unternehmen genutzt, die der Sawtooth Community geholfen haben, neue Probleme zu entdecken und zu lösen. Das Innenleben wurden auf Basis des ursprünglichen Forschungscodes komplett neu geschrieben und bieten jetzt neue Möglichkeiten, um Herausforderungen zu lösen, die in Feldversuchen beim Einsatz in Unternehmen aufkamen.

Einige der Features in Hyperledger Sawtooth 1.0 sind folgende:

  • On-chain Governance – Smart Contracts werden genutzt, um über Blockchain-Konfigurationen wie erlaubte Teilnehmer und Smart Contracts abzustimmen.
  • Verbesserte Engine zur Ausführung von Transaktionen – Erlaubt es, mehrere Transaktionen parallel ausführen, um Blockerstellung und –validierung zu beschleunigen.
  • Unterstützung für Ethereum – Verlässliche Smart Contracts nutzen und in Ethereum-Tools integrieren.
  • Dynamic Consensus – Das Blockchain-Consensus-Protokoll während des Betriebs verändern, während das Netzwerk wächst, um skalierbarere Algorithmen zu integrieren, sobald sie verfügbar sind.
  • Umfangreiche Sprachunterstützung – Sichere Smart Contracts in der bevorzugten Sprache programmieren, mit Unterstützung für Java, JavaScript, Python usw.

JAXenter: Was ist wichtig zu wissen bezüglich des aktuellen Reifestatus des Projekts?

Dan Middleton: Dieses Sawtooth Release ist das Ergebnis der gemeinschaftlichen Bemühungen mehrerer Unternehmen, ein Distributed Ledger für den Unternehmenskontext zu erstellen. Wir würden diese Vielfalt an Features und diese Reife heute nicht haben, wenn nicht alle diese und weitere Organisationen dazu beigetragen hätten (in alphabetischer Reihenfolge): Active Ticketing, Amazon Web Services, Bitwise.io, Cloudsoft, Context Labs, Dot BC Media, Ericsson, Hacera, Huawei, IBM, Intel, Microsoft Azure, Monax, Open Music Initiative, PokitDok, R3, T-Mobile, Wind River sowie verschiedene unabhängige Entwickler.

Die Betreuer kümmern uns darum, dass sich die 1.0 API nicht einfach so ändert.

Ein wichtiger Schritt beim Release der Version 1.0 war die deutliche Bewegung weg von der Featureentwicklung hin zu Stabilität und Stresstesting. Jede Änderung im Code geht durch einen filigranen Continious-Integration-Testvorgang. Außerdem durchläuft jeder geplante Release-Kandidat eine mehrtägige Evaluation auf einem Testnetzwerk aus mehreren Knoten. Zusätzlich wird der Code statistischen Analysen unterzogen und von externen Testern einem Penetrationstest unterzogen.

Natürlich, es gibt in allen Projekten Bugs und wir werden diese auch in Sawtooth finden und beheben, aber der Großteil der Arbeit aus der Community in den letzten Monaten hat darauf abgezielt, die Plattform abzuhärten und zur Reife zu bringen. Die Sawtooth-Betreuer kümmern sich darum, dass sich das 1.0er API nicht einfach so ändert. Unternehmen können also ruhigen Gewissens auf dem API aufbauen, da zukünftige Verbesserungen und Fixes rückwärtskompatibel sein werden.

JAXenter: Vielen Dank!

Hyperledger SawtoothDan Middleton ist der Project Maintainer von Hyperledger Sawtooth. Derzeit arbeitet er als Head of Technology im Bereich Blockchain bei Intel. Bereits zuvor hat Dan viel im Grenzgebiet zwischen Forschung und Vermarktung gearbeitet. Sein Tipp für alle, die sich mit der Blockchain programmieren wollen: Sucht euch was, das euch begeistert!

Verwandte Themen:

Geschrieben von
Gabriela Motroc
Gabriela Motroc
Gabriela Motroc ist Online-Redakteurin für JAXenter.com. Vor S&S Media studierte Sie International Communication Management an der The Hague University of Applied Sciences.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.