Tangle – Eine Einführung [blockcentric #2]

Keine Kommentare

Der Tangle ist eine verteilte Datenbank, arbeitet mit einem Peer-to-Peer-Netzwerk und hat als Basis ein Konsens- und Validierungssystem. Also genau die Eigenschaften, mit denen auch die Blockchain aufwartet. Von nun an stellt sich also nicht nur die Frage: „Warum die ganzen Altcoins?“, sondern auch: „Wozu, zum Teufel, eine alternative Blockchain-Implementierung?“ Jonas hat in seinem Blogpost schon einen hervorragenden Überblick über die Blockchain gegeben. Diese hat eine ganz bestimmte Eigenschaft:

Jede Transaktion ist mit Kosten verbunden.

Klingt erst einmal gar nicht so übel – und das ist es auch nicht. Miner werden für die Bestätigung der Transaktionen entlohnt. Das heißt, die Miner haben ein kommerzielles Interesse daran, am System teilzunehmen. Diese Idee ist grundlegend für die Blockchain.

Warum nun also der Tangle?

Der Tangle verwirft die Idee des Mining. OK – damit wird also gleichzeitig ein Wesensmerkmal der ursprünglichen Blockchain über Bord geworfen. Wie werden Transaktionen dann nun bestätigt? Wie wird Konsens erreicht? Und was hat das für Auswirkungen auf die möglichen Anwendungsfälle des Tangle? All diese Fragen werden wir versuchen im Folgenden zu klären.

Miner = Teilnehmer

Elementar ist im Tangle, dass es keinen Unterschied zwischen Minern und simplen Teilnehmern am Netzwerk gibt. Jeder, der Transaktionen im Tangle versenden möchte, muss implizit „minen“ – also Transaktionen bestätigen. Eine Transaktion wird nur im Netzwerk veröffentlicht, wenn der Versender zuvor:

1. die Transaktion mit seinem privaten Schlüssel signiert.

2. zwei Transaktionen validiert und in seiner aktuellen Transaktion referenziert.

3. ein Proof of Work, analog zu Hashcash, erfüllt.

Schritt 2 macht den Tangle besonders. Jede neue Transaktion referenziert, also bestätigt, zwei vorherige Transaktionen. Dies kreiert die Architektur des Tangle. Wir können uns den Tangle als einen Graphen vorstellen. Die Knoten des Graphen sind Transaktionen. Die Kanten eines Knoten zeigen jeweils auf die bestätigten Transaktionen. Von jedem Knoten gehen also zwei Kanten aus. Wie in Abbildung 1 illustriert, entsteht auf diese Weise ein gerichteter, azyklischer Graph, keine Kette von Blöcken wie bei der Blockchain.

Die Architektur des Tangle. Ein gerichteter, azyklischer Graph. Jeder Knoten zeigt auf zwei seiner Vorgänger, und bestätigt diese.

Abbildung 1: Die Architektur des Tangle.

Die grauen Knoten in Abbildung 1 sind sogenannte Tips – neue Transaktionen, die noch nicht bestätigt wurden. Jede neue Transaktion wählt aus dieser Menge der Tips zufällig zwei Transaktionen und bestätigt diese.

Worüber ist man sich einig?

Ziel ist ein Konsens über die Validität von Transaktionen. Jeder Tip bestätigt direkt zwei vorherige Transaktionen, jeder Vorgänger dann wiederum zwei seiner vorherigen Transaktionen und so weiter. Ein Tip bestätigt also indirekt viele Vorgängertransaktionen. Zugegeben, der Tangle ist ein komplexes Konstrukt. Es ist gar nicht so offensichtlich, dass Transaktionen irgendwann von jedem Tip indirekt bestätigt sind. Das ist aber der Fall. In Abbildung 2 wurden alle Transaktionen, die indirekt durch alle Tips bestätigt sind, grün eingefärbt. Bei diesen Transaktionen ist Konsens erreicht.

Konsens im Tangle ist für Transaktionen erreicht, die von der Mehrheit der Tips direkt oder indirekt bestätigt werden.

Abbildung 2: Konsens im Tangle.

Es gibt einen Teilgraphen, hier bestehend aus den weißen Blöcken, der durchaus noch invalide Transaktionen enthalten kann. Es ist nicht sichergestellt, dass dort alle Transaktionen valide sind. Zudem gibt es Transaktionen, die von nahezu allen Tips indirekt bestätigt sind. Aber eben nur nahezu.

Wann ist man sich sicher?

Es kann dauern, bis eine Transaktion irgendwann derart tief im Tangle vorgedrungen ist, dass sie indirekt durch alle Tips bestätigt ist. Aber muss ich darauf immer warten? Nein, und das ist cool! Es kann sogar mit einer bestimmten Wahrscheinlichkeit abgeschätzt werden, als wie valide eine entsprechende Transaktion angesehen werden kann. Tips bestätigen zwei Transaktionen, die sie per Zufall erhalten. Genau umgekehrt läuft es dann, wenn die Validität einer Transaktion überprüft werden soll: Es wird n mal mit einem bestimmten Algorithmus ein Tip ausgewählt und überprüft, ob dieser die Transaktion indirekt bestätigt. Ist dies m mal der Fall, so ist die Wahrscheinlichkeit, dass die Transaktion als bestätigt angesehen werden kann, m/n. Es ist nun jedem selbst überlassen, welche Wahrscheinlichkeitsgrenze den Übergang von unbestätigt zu bestätigt markiert. In bestimmten Szenarien, zum Beispiel bei Transaktionen mit sehr geringem Wert, kann durchaus schon eine niedrige Grenze akzeptiert werden. Eben passend zum aktuellen wirtschaftlichen Risiko.

Und am Anfang war … schon alles da!

Alles Coins, die im Tangle vorhanden sind, waren dies von Anfang an. Es gibt eine Ursprungstransaktion, von der aus alle Coins mit weiteren Transaktionen verteilt wurden. Es ist also kein Mining neuer Coins erforderlich.

Nun in die Praxis

Zugegeben, der Tangle wurde hier sehr oberflächlich eingeführt. Meiner Meinung nach birgt diese neue Distributed-Ledger-Technologie viele interessante Möglichkeiten. Der interessierte Leser möge im Whitepaper detaillierte Informationen finden. Vor allem auch zu möglichen Angriffen – und warum diese hoffentlich fehlschlagen werden. Initial stand die Frage „Warum nun also der Tangle?“ Wir haben geklärt, dass es keinen Unterschied mehr zwischen Minern und Teilnehmern gibt. Aber welchen praktischen Nutzen hat dies?

1. Keine Transaktionskosten
Es gibt keine Miner. Also gibt es auch niemanden, der für seine Arbeit entlohnt werden muss. Jede Transaktion wird ohne Transaktionskosten übertragen. Der Absender arbeitet dafür – und entlohnt sich selber implizit mit der veröffentlichten Transaktion.

2. Skalierung
Im Tangle gilt: Je mehr, desto mehr. Je mehr Teilnehmer Transaktionen im Netzwerk veröffentlichen, desto mehr Transaktionen werden auch bestätigt. Die Transaktionsrate im Tangle skaliert also mit der Anzahl der aktiven Teilnehmer.

3. Hardwareanforderungen
Jeder kennt das Bild der Mining-Farm, die grundsätzlich Unmengen an elektrischer Energie dazu verwenden, Transaktionen zu bestätigen. Dieses Problem ist erkannt, und es gibt bereits alternative Lösungen. Das PoW im Tangle arbeitet als reiner Spamschutz – ist also weniger aufwändig als das PoW der Blockchain.

IoT!

Distributed-Ledger-Technologien und IoT – ergibt das einen Sinn? Ich denke ja. Es ist selbstverständlich, dass wir für die Nutzung verschiedener Services bezahlen. Und Technologien wie der Tangle legen die Grundlage dafür, dass dies auch im IoT zur Selbstverständlichkeit werden kann. Ein smartes Haus kann deutlich besser entscheiden, ob es nun die lokale Batterie laden soll oder nicht, wenn es weiß, wie das Wetter wird. Das Haus kann für die Nutzung der Wetterdaten dann direkt bezahlen. Der Nutzen vom Tangle geht aber deutlich über die reine Nutzung als Technologie einer Kryptowährung hinaus. Letztlich ist es die Idee, die Technologie als generelles Rückgrat für IoT-Geräte zu verwenden. Beispielsweise als sehr sicheren, stark verteilten Speicherort für Sensordaten. Oder auch als Plattform für authentifizierte Übertragung von Nachrichten. Das sind interessante Anwendungsgebiete, die aber erst in weiteren Posts erörtert werden sollen.

In unserer Kolumne “blockcentric” bloggen wir, zusätzlich zu den bewährten Themen des codecentric-Blogs, über die Blockchain. Dabei möchten wir das Thema uneingeschränkt sowie breit gefächert betrachten: Technologie, Projekte, Organisation und Geschäft. Die Artikel können Ergebnisse unserer 20%-Zeit-Projekte sowie Neuigkeiten aus dem Themenbereich sein und zielen darauf ab, Ihnen die Blockchain näher zu bringen.

Blockcentric Logo

Auch auf unserer Blockchain Landing Page können Sie sich über unsere Aktivitäten und Angebote in dem Bereich informieren.

Wir freuen uns auf Ihr Feedback zur Kolumne und spannende Diskussionen über Ihre Use Cases.

Bisher veröffentlichte blockcentric-Posts

Jannik Hüls

Jannik unterstützt seit 2016 das codecentric Team in Münster. Er beschäftigt sich mit der technischen Umsetzung von IT-Architekturen und der Integration von Anwendungskomponenten. Aktuell vor allem mit den Möglichkeiten von Serverless-Architektur. Zudem berät er unsere Kunden im Identity- und Accessmanagement.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentieren

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