Hashgraph – Tratsch über Tratsch

Hashgraph wird als Blockchain-Killer gehandelt. Selbst IOTA soll im Angesicht der angeblich überragenden Transaktionsgeschwindigkeiten erblassen.

Denn Hashgraph verspricht gleich mehrere hervorragende Dinge:

  • Sichere Kommunikation mit sgn. byzantinischen Fehlertoleranz
  • Schnelle und kostenlose Transaktionen
  • Korrektheit, Konsistenz und Integrität der Daten
  • Faire Kommunikation

Der folgende Artikel handelt davon was Hashgraph ist, wie es funktioniert und warum die Behauptungen stimmen aber von Blockchain-Killer keine Rede sein kann.

Hashgraph – Tratsch auf einer neuen Ebene

In der Schule gab es sie schon und vermutlich haben Sie immer noch so jemanden in Ihrem Freundeskreis: Die Tratschtante. Nicht zwangsläufig eine Frau aber auf jeden Fall immer top-informiert über den neuesten Klatsch und sofort bereit ihn weiter zu tragen. Sie können sich sicher sein, wenn Sie ihr den neuesten Büroklatsch erzählen, weiß am nächsten Tag jeder der mit der Tratschtante Kontakt hatte bescheid.

Hashgraph denkt dieses Prinzip noch einen Schritt weiter: Wenn Sie wissen, dass Ihre Tratschtante in Verbindung mit einer zweiten Tratschtante steht, weiß übermorgen auch deren Bekanntenkreis über die pikanten Liebschaften in Ihrem Büro bescheid. Um Information möglichst schnell zu streuen, müssen Sie gezielt an solche Tratschtanten die Neuigkeiten verteilen.

Im Gegensatz zur nicht so stillen Post des Büroklatsches hat Hashgraph einen großen Vorteil: Es kann angenommen werden, dass ein jeder Bekannter im Normalfall ehrlich ist und nicht versehentlich die Information verfälscht.

Hashgraph und Kommunikation, Fairness und Korrektheit

Das Hashgraph-Whitepaper definiert einen simplen Algorithmus: Jeder Teilnehmer im Netzwerk, synchronisiert regelmäßig seinen aktuellen Wissensstand mit einigen anderen zufällig ausgewählten Teilnehmer. Außerdem merkt er sich mit wem er getratscht hat und teilt auch dies bei jeder Synchronisation mit.

Um die Korrektheit der Neuigkeiten zu bestimmen, wird, ähnlich wie bei Bitcoin, mit digitalen Signaturen gearbeitet. Das besondere an Hashgraph ist das Versprechen, dass die Transaktionen anhand des First-In First-Out Prinzips geordnet sind. Es ist also nur der Zeitpunkt entscheidend an dem die Nachricht abgeschickt wurde und nicht eine etwaige Fee an Miner – denn weder Gebühren noch Miner gibt es im Netzwerk.

Um die Nachrichten ordnen zu können, muss ein Konsensus im Netzwerk zwischen den Teilnehmern hergestellt werden. Der naive Ansatz wäre, die Netzwerkteilnehmer abstimmen zu lassen. Bei nur 100 Teilnehmern im Netzwerk wären das bereits mindestens 10.000 Nachrichten.

Der Hashgraph-Algorithmus löst das auf, in dem die Abstimmungen nur virtuell durchgeführt werden. Da wir annehmen können, dass jeder Teilnehmer ehrlich ist, ist es zulässig, anzunehmen, dass auch alle im Bekanntenkreis eines Teilnehmers gleich abstimmen.

Eine jede Synchronisation teilt dem anderen Knoten mit welche Synchronisationen statt gefunden haben sowie welche Transaktionen dem Knoten bekannt sind. Um also zu wissen, wer von welchem Ereignis erfahren hat, wird eine Eigenschaft ermittelt, die im Whitepaper als strongly seeing definiert wird.

Auf Deutsch könnte man das als unübersehbar übersetzen. Es bedeutet, dass es eine direkte Kette des Tratsches zwischen Teilnehmer A und Teilnehmer F gibt, solange klar ist, dass A sich mit B, B mit C, C mit D, D mit E und E mit F synchronisiert hat. Die Information wer mit wem getratscht hat, wird in einer speziellen Datenstruktur gespeichert die zwischen den Teilnehmern im Netzwerk synchronisiert wird. Diese Datenstruktur ist der Hashgraph.

Sie ist platzsparend, da es unerheblich ist, was C mit E synchronisiert hat wenn ich den Wissensstand von A habe und nur enthält mit wem sich die Knoten synchronisiert haben.

Formale Logik und mathematische Beweise

Das Whitepaper trumpft mit einer reihe formaler Definitionen auf die dann herangezogen werden die Behauptungen im mathematischen Sinne zu beweisen. Das bedeutet, dass alle Angaben unter der Annahme bestimmter Bedingungen erfüllt sind.

Es ist also defakto möglich nicht nur eine totale Ordnung der Transaktionen zu ermitteln, sich der Konsistenz der Daten absolut sicher zu sein sondern das auch noch relativ schnell in einem Peer-to-Peer-Netzwerk ohne Transaktionskosten implementiert zu sehen.

Das große Problem daran ist allerdings, dass eine sehr wichtige Grundanahme ist, dass es möglich zu einem beliebigen Zeitpunkt zu wissen Welche Netzwerke im Knoten sind.

Beim ersten Mal lesen scheint das harmlos zu sein. Es wird nur erwähnt, dass es klar sein muss wer wen sieht und es nötig ist zu wissen wieviele Knoten es insgesamt gibt um bestimmte Eigenschaften zu errechnen und angenommen wird.

Faktisch bedeutet das allerdings:

Hashgraph ist kein dezentrales Netz da eine Zugangs- und Abtrittskontrolle mit Register nötig sind.

So wie Ripple? Wo kann ich kaufen!?

Hashgraph ist im Moment keine Kryptowährung. Es ist ein Algorithmus und ein sg. SDK um verteilte Systeme zu bauen. Im Gegensatz zu Ripple, die eine Blockchain-Lösung mit zentralem Register für die Validator-Knoten aufgebaut haben, und einen Token handeln, ist Hashgraph eine Technologie.

Das Unternehmen hinter Hashgraph nennt sich Swirlds Inc. und bietet das SDK gratis zum Ausprobieren an. Ich habe mir ihre Beispielanwendungen auf Github angesehen und finde, dass es nach einem netten Framework aussieht.

Allerdings sehe Hashgraph weniger in Konkurrenz mit Bitcoin, IOTA oder einer anderen Blockchain sondern mehr in Konkurrenz mit Lösungen für verteilte Systeme wie verschiedene Queue-Bibliotheken, Space-Based-Bibliotheken oder RMI-Bibliotheken.

Es gibt also keine Token zu kaufen. Es ist nur ein Stück fein ausgedachter Technologie.

Einsatzgebiete für Blockchains

Blockchains und verteilte Kryptosysteme generell, kennen drei verschiedene Anwendungsfälle:

  1. Private Blockchains
  2. Permissioned Blockchains
  3. Public Blockchains

Private Blockchains sind komplett abgeschottet. Die Kontrolle über diese Blockchain liegt bei dem Schöpfer. Das macht Sinn für Systeme die nach außen hin unerreichbar sein sollen, wie zB. Sensornetzwerke und erlauben es echte Low-Energy-Ansätze für die Sensorknoten zu wählen. (Im Gegensatz zu IOTA).

Public Blockchains sind völlig offen und definieren ein Protokoll an das sich jeder zu halten hat. Bitcoin ist der bekannteste Vertreter dieser Gruppe. Es steht jedem offen einen Mining-Knoten, Full-Node oder nur ein Wallet zu erstellen. Es gibt keine zentrale Stelle die den Stecker ziehen könnte oder einzelne Mitglieder ausschließen könnte.

Permissioned Blockchains sind eine Mischung aus diesen beiden Kategorien. Ripple ist der bekannteste Vertreter dieser Gruppe da die Validator-Knoten (in Bitcoin-Terminologie „Miner“) nur von Unternehmen betrieben werden können die vom Unternehmen Ripple autorisiert wurden. IOTA kann auch dazu gezählt werden solange die Firma noch den Coordinator-Node betreibt. (Auch wenn das ein Thema für Kontroversen ist, siehe IOTA is centralized, Reddit IOTA decentralized discussion, etc.)

Besser als IOTA, Bitcoin und co?

Ob Hashgraph die bessere Lösung ist, muss anhand des Use-Cases entschieden werden. Ich habe hier einmal eine kleine Gegenüberstellung von IOTA, Bitcoin und Hashgraph gemacht. Sehen Sie und urteilen Sie selbst.

Hashgraph

IOTA

Bitcoin

Öffentlich

Nein

Ja

Ja

Zentralisiert

Ja

Teilweise

Nein

Verfügbarkeit der Technologie

Closed Source (mit Audits), Lizenzkosten

Open Source, gratis

Open Source, gratis

Transaktionsgeschwindigkeit

Schnell

Schnell beim Erstellen

Marktabhängig, schwankt ständig

IoT geeignet

Ja

Teilweise (nicht für low-energy)

Nein

Datenkonsistenz

Ja (eventual consistency)

Nein (nur hohe Wahrscheinlichkeit)

Nein (nur hohe Wahrscheinlichkeit)

Fälschungssicher

Ja

Ja

Ja

Transaktionskosten

Keine

Keine

Marktabhängig, schwankt ständig

Kurz zusammengefasst, heißt das für mich, dass IOTA, Bitcoin und Hashgraph jeweils Bereiche haben in denen Sie die Konkurrenz übertrumpfen. Wo welche Technologie zum Einsatz kommt muss also für jeden Einzelfall entschieden werden.

5 Replies to “Hashgraph – Tratsch über Tratsch”

  1. Interssant das hier gesagt wird IoT BitCoin = nein

    Gerne mal Satoshi School besuchen
    und erfahren wie das mit BitCoin funktioniert und somit auch die neue Technik überflüssig ist 😉

    Zentralisation braucht man nicht

    • Wenn du nur davon ausgehst, dass Transaktionen abgeschickt werden, stimmt das. Aber sobald du zB. das Register der UTXOs parsen möchtest, brauchst du einen relativ hohen Hauptspeicher in der Gegend von 2GB.

      Das ist weit weg von dem was schwachen Devices wie zB. den gängien aus der Atmega-Familie mitbringen. Ich habe vor einigen Jahren mit den 8080er Prozessoren von TI gearbeitet und weiß wie die in der Praxis zu programmieren sind.

      Es ist also möglich schwache Devices in ein IoT-Netz einzubringen wenn diese nur Signale geben. Du ignorierst aber gleich mehrere Dinge:
      a) Du musst Gebühren zahlen.
      b) Technisch musst du die TXs überwachen um zu überprüfen, dass die Daten tatsächlich in der Blockchain landen. Dafür brauchst du nicht die ganze UTXO-DB aber zumindestens Zeit und eine Super-Node die, die Blockchain überwacht in deinem IoT-Netz.

      Technisch ist’s also nicht die beste Wahl – bzw. weit weg davon – Bitcoin für IoT einzusetzen.

      Ihr könnt mich gerne anschreiben, wenn ihr weitere Hintergrundinformationen für eure Lehrpläne braucht.

    • durch die hohen Transaktionsgebühren – bzw. überhaupt Kosten – bei Bitcoin sind Mikrotransaktionen de facto nicht möglich! Da IoT-Geräte sicher keine tausenden Euro herumsenden, ist es somit absolut nicht sinnvoll.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.