Tangle

IOTA funktioniert nicht nach der herkömmlichen Blockchain-Technologie, sondern arbeitet mit dem innovativen Konzept eines „Tangle“, dt. Wirrwar. Das Tangle ist das verteilte Hauptbuch (engl. Distributed Ledger) in IOTA, es enthält die aktuelle Transaktionshistorie. Der Tangle ist die einzige Quelle der Wahrheit, jeder Client auf der ganzen Welt kann gültige Transaktionen an eine Node senden, diese Transaktion wird im gesamten Netzwerk repliziert, um diese einzige Version der Wahrheit zu bilden.

Hinweis: Wer den technischen deep dive sucht wird im englischem IOTA WIKI fündig.


Die IOTA-Architektur umfasst die folgenden grundlegenden Komponenten:

  • Clients: Benutzer eines IOTA-Netzwerks (Wallets, Apps usw.), die Transaktionen an Nodes senden, um sie an den Tangle anzuhängen.
  • Nodes: Verbundene Geräte, die für die Gewährleistung der Integrität des Tangle verantwortlich sind, diese Geräte bilden ein IOTA-Netzwerk.
  • Tangle: Eine angehängte Datenstruktur, das Tangle stellt eine wachsende, teilweise geordnete Menge von Messages dar, die durch kryptografische Verfahren miteinander verbunden sind und auf alle Nodes im Peer-to-Peer-Netzwerk repliziert werden. Das Tangle ermöglicht den Ledger-State (das Hauptkassenbuch, das durch die in den Messages enthaltenen Transaktionen gebildet wird), sowie die Möglichkeit, Daten zu speichern.

Mathematisch ausgedrückt ist der Tangle ein Directed Acyclic Graph – DAG (dt. gerichteter azyklischer Graph).

  • eine Menge von Transaktionen/Messages ist durch Pfade verbunden, dies ist ein Graph
  • jeder dieser Pfade besitzt eine eindeutig festgelegte Laufrichtung, damit ist es ein gerichteter Graph
  • lässt sich niemals ein Pfad finden, der zu seinem Ausgangspunkt zurückkehrt, ist der Graph azyklisch (im Kreis laufenden Pfade wären dagegen zyklisch)

grün =  bestätigt (Konsens)   /   lila = unbestätigt   /   weiß = neu angehängt (Tips)


Auf dem obigen Bild können wir sehen, wie der Tangle aussieht. Die Messages sind in dieser Darstellung des Graphen als Quadrate dargestellt und die Pfeile (Edges genannt) zwischen den Messages sind Referenzen. Auf der linken Seite des Graphen befinden sich die älteren Messages, während auf der rechten Seite des Graphen die neu angehängten Messages zu finden sind.  

Messages referenzieren bis zu acht vorherige Messages, sie können sich in einem der drei verschiedenen Zustände befinden: 

  • Bestätigt (grün): Messages gelten als bestätigt, wenn sie direkt oder indirekt von den Tips (lila) referenziert wurden, bei diesen Messages besteht Konsens.
  • Schwebend/unbestätigt (lila): Dies sind Messages, die darauf warten, referenziert zu werden.
  • Tip (weiß): Tips sind neu angehängte Messages, die noch nicht von anderen Messages referenziert wurden.

Transaktionsprozess

Die Erstellung und Verteilung einer neuen Message (Transaktion) erfolgt in nur wenigen Schritten:

  • Message erstellen: Mit Empfänger Adresse, Absender, Value und optional mit einer zusätzlichen Text Nachricht.
  • Signieren: Mittels des privaten Schlüssels (Seed) wird die Message signiert, zudem wird die Korrektheit der Message überprüft (gültige Signatur, korrekte UTXO-Salden usw.)
  • Tip-Auswahl:  Ein Node wählt zufällig bis zu acht nicht referenzierte Transaktionen (Tips) aus, die in der neuen Transaktion referenziert werden
  • Proof of Work: Dieser wird nur für den Spamschutz und nicht für den Konsensus benötigt. Es muss nun jedenfalls etwas Arbeit verrichtet werden und eine kleine Rechenaufgabe (Nonce) gelöst werden. PS: Ziel der Forschung ist es, PoW zukünftig vollständig zu entfernen.
  • Verteilung: Die Message wird per Gossip Protokoll an die Nachbarn weitergegeben.

Die Blockchain-Datenstruktur

Die Blockchain-Datenstruktur besteht aus einer Kette von sequentiellen Blöcken, wobei jeder Block eine begrenzte Anzahl von Transaktionen enthält. Folglich können neue Transaktionen nur an einer Stelle angehängt werden: Einem Block am Ende der Kette. Aufgrund dieser Einschränkung kommt es in Blockchain-Netzwerken häufig zu langsamen Bestätigungszeiten. Diese Einschränkung wird als Blockchain-Bottleneck bezeichnet.



Die Tangle-Datenstruktur

Die Tangle-Datenstruktur ist ein gerichteter azyklischer Graph (DAG), bei dem jede Transaktion an bis zu acht vorhergehende Transaktionen angehängt ist. Anstatt auf einen einzigen Ort zum Anhängen neuer Transaktionen beschränkt zu sein, können Sie Transaktionen überall im Tangle anhängen, daraus ergibt sich eine chaotische Ordnung in der sämtliche Transaktionen parallel ablaufen. Diese Funktionsweise wird eine nach oben hin offener Skalierung ermöglichen, da mit steigender Anzahl der Transaktionen auch die Bestätigungsraten ansteigen, statt sich genau gegenläufig zu entwickeln, wie es derzeit bei den klassischen Blockchains der Fall ist.

Quellen

www.iota.org