Mit der Kryptowährung IOTA in die Zukunft der Maschinenökonomie

Dieser Artikel basiert grob auf einem Vortrag, welchen ich am 2. März 2018 im Rahmen einer Vortragsreihe öffentlich in Wiesbaden hielt.
Eine vollständige Videoaufnahme des Vortrags können Sie hier finden!


Status quo

Der Bitcoin, als erste und älteste Kryptowährung, wird dieses Jahr im Oktober zehn Jahre alt. Innerhalb dieser Dekade, vor allem in den letzten zwei Jahren, ist jedoch eine enorme Anzahl an neuen Währungen veröffentlicht worden.

coinmarketcap.com

Auf der Website coinmarketcap.com, welche es sich zur Aufgabe gemacht hat möglichst alle sich im Umlauf befindliche Kryptowährungen zu listen, finden sich aktuell mehr als 1500 verschiedene Kryptowährungen. 
Die Website sortiert Kryptowährungen basierend auf ihrer Marktkapitalisierung. Diese errechnet sich aus der Anzahl der sich aktuell im Umlauf befindlichen Coins oder Tokens multipliziert mit dem aktuellen Handelspreis. Diese Metrik ist keinesfalls Kryptowährungen vorenthalten. Sie kann für quasi jedes Gut errechnet werden. Das Edelmetall Gold besitzt im Vergleich zu der Gesamt-Marktkapitalisierung aller Kryptowährungen von etwa 500 Mrd. US-Dollar eine Marktkapitalisierung von circa 8 Billionen US-Dollar. Natürlich ist die Marktkapitalisierung nur ein Weg um Kryptowährungen zu sortieren. Aber es ist ein Weg, der einen guten Eindruck über die Verbreitung und Bedeutung einer Währung gibt.

Natürlich stellt sich jedoch bei mehr als 1500 Kryptowährungen die Frage, wie sinnvoll all diese wohl sein können. Und gelinde gesagt befinden sich unter diesen eine große Anzahl an Währungen, die Sicherheitslücken besitzen, einen Use Case versuchen zu lösen, dem es keiner wirklichen Lösung bedarf oder auch solche, die schlicht und ergreifend Betrugsversuche sind. 
Außerdem lässt sich feststellen, dass fast alle Kryptowährungen auf einer Blockchain basieren. Das Wort Kryptowährung impliziert jedoch keinesfalls, dass nicht auch andere kryptographische Verfahren zur Bildung einer solchen Währung zum Einsatz kommen könnten.
Aus dem obigen Screenshot der Top-12 Kryptowährungen auf coinmarketcap.com basieren gerade einmal zwei nicht auf Blockchain-Technologie. Dies sind namentlich Ripple sowie IOTA, um welches sich dieser Artikel drehen wird.

Zum Einsteig wäre es zunächst einmal sinnvoll zu klären, was IOTA eigentlich ist und welchen Use Case es hat beziehungsweise lösen möchte. Dafür eignet am besten dieses Zitat der IOTA Foundation:

IOTA is a revolutionary new transactional settlement and data transfer layer for the Internet of Things.

IOTA versteht sich also viel mehr als ein (Transaktions-)Netzwerk als es dem Begriff Kryptowährung vielleicht gerecht werden würde.
Es möchte außerdem eine Datenaustauschschicht für Geräte des Internet-of-Things (IoT) sein.

Die Währung ist also, im Gegensatz zu vielen anderen Kryptowährungen, nicht primär für den zwischenmenschlichen Austausch gedacht, obwohl dies keinesfalls unmöglich oder missbilligt wäre.

Die Währung wurde im Jahr 2015 erstmals veröffentlicht und wird seit 2017 durch die eben bereits erwähnte IOTA Foundation fortentwickelt und verwaltet. Bei dieser handelt es sich um eine eingetragene Non-Profit Stiftung mit Sitz in Berlin. Die Foundation ist also nicht als Besitzer von IOTA zu sehen sondern eher als Urheber und Treiber.


Hauptmerkmale

Der Tangle

IOTA macht so ziemlich alles anders, als es andere Kryptowährungen tun.
Zunächst einmal basiert es, wie schon angesprochen, nicht auf Blockchain-Technologie, wie es beispielsweise beim Bitcoin oder Ethereum der Fall wäre.
Stattdessen kommt als technische Grundlage der Währung ein sogenannter Directed Acyclic Graph oder kurz DAG zum Einsatz. Hierbei handelt es sich um eine Art von Graph aus der Graphentheorie, welcher gerichtet (directed) ist. 
Dies bedeutet, dass alle Knotenpunkte des Graphen an ihren Verbindungen (Kanten) Pfeilspitzen besitzen, die Richtung der Verbindungen ist also nicht trivial. Außerdem ist der Graph nicht-zyklisch (acyclic) angelegt, es also unmöglich von einem Knotenpunkt wieder zu diesem zurück zu gelangen — also sich im Kreis zu bewegen.
In Artikeln oder Infomaterial der Foundation wird sich jedoch meist der Begriff Tangle finden. Schlussfolgernd lässt sich sagen, dass der Tangle für IOTA ist, was die Blockchain für den Bitcoin ist.

Außerdem besitzt eine Transaktion im IOTA-Netzwerk per Definition keine Transaktionsgebühren. Und damit ist nicht gemeint, dass die Gebühr sich im unteren Cent-Bereich befindet — sie ist wirklich exakt immer 0 und wird es auch immer bleiben.

Zusätzlich sind bei IOTA durch das block-lose Design tendenziell deutlich höhere Transaktionsgeschwindigkeiten möglich. Es muss nicht auf einen nächsten Block gewartet werden sondern eine Transaktion ist rein durch die Auslastung der Knotenpunkte im Netzwerk in ihrer Geschwindigkeit beschränkt — diese Tatsache wird es in der Zukunft erlauben, die Transaktionsgeschwindigkeit einfacher verbessern zu können.

Zu guter Letzt besitzt das IOTA-Netzwerk die Fähigkeit theoretisch unendlich skalierbar zu sein. An dieser Stelle steht nur das theoretisch, da das Netzwerk im Vergleich zu größeren Kryptowährungen einfach noch nicht battle-tested ist, in Kürze wird jedoch erläutert werden, was diese unendliche Skalierbarkeit überhaupt technisch möglich wird und auch erreicht werden kann.


Funktionsweise

Bei einem Blockchain-basierten Ansatz entsteht quasi natürlicherweise die Problematik, dass viele Transaktionen unbedingt im nächsten Block inkludiert werden möchten und so ein enormer Flaschenhals entsteht. 
Beim Bitcoin beispielsweise passen in einen Block, welcher etwa alle zehn Minuten erzeugt wird, circa 2000 Transaktionen — dies entspricht etwa sieben Transaktionen pro Sekunde. Dieses Nadelöhr, welches sich durch das Mining ergibt, ist also quasi unabdingbar.

Im Tangle von IOTA dagegen ist dieser Flaschenhals wenig bis garnicht mehr vorhanden. Das System dahinter ist einfach wie auch genial:
Eine neue Transaktion, welche im Netzwerk getätigt wird, muss, um valide zu sein, zwei weitere, möglichst unbestätigte, Transaktionen im Tangle referenzieren und diese somit bestätigen.
Durch diese Vorgehensweise ergibt sich ein umgekehrter Ausgang als zum Beispiel beim Bitcoin:
Je mehr Transaktionen im Netzwerk getätigt werden, desto mehr andere werden auch bestätigt werden. Mehr Traffic bedeutet bei IOTA also mehr Durchsatz und somit eine bessere Skalierung. Dieser Sachverhalt ist verwirrend wie auch einzigartig. In vielen anderen Computernetzwerken sinkt der Durchsatz mit steigender Nutzeranzahl, bei IOTA ist dies durch diese Idee genau andersherum, selbst Spam-Transaktionen helfen dem Netzwerk, denn auch diese müssen zwei andere Transaktionen bestätigen.


Besonderheiten einer Transaktion

Transaktionen im IOTA-Netzwerk besitzen außerdem zwei weitere erstaunliche Besonderheiten, die sich in dieser Kombination so quasi nirgendwo anders finden werden, für die Zukunft der Maschinenökonomie jedoch unabdingbar sein werden.

Zuerst lässt sich festhalten, dass Transaktionen über eine Wert von 0 getätigt werden können; Eine Tatsache, die bei objektiver unnütz erscheinen mag jedoch mit Kenntnis der zweiten Besonderheit Sinn ergibt.
So ist es außerdem möglich, beliebige Daten als Zeichenkette an eine Transaktion anzuhängen. Diese können eine Größe bis zu 2KB betragen.
Diese beide Besonderheiten erlauben es Maschinen also nun, einfach Datensätze neben monetärem Wert an andere Maschinen versenden zu können.

Tanglestash
Ich habe in einer Open Source Eigenentwicklung einen Algorithmus namens Tanglestash entwickelt, welcher es ermöglicht, dass 2KB Limit an Daten innerhalb einer Transaktion zu sprengen und Zeichenketten sowie sogar komplette Dateien beliebiger Größe ohne weitere Konvertierung im Tangle von IOTA zu persistieren. Das Modul ist auf NPM verfügbar und frei erhältlich.
Weitere Informationen sowie den Quellcode finden Sie unter: tanglesta.sh 
Gefällt Ihnen die Idee, so würde ich mich lediglich über einen Star auf GitHub freuen!

Im Umlauf befindliche Tokens

Es befinden sich genau 2.779.530.283.277.761 IOTA im Umlauf — die Währung trägt denselben Namen, wie das Netzwerk.
Hierbei ist wichtig zu bemerken, dass bei IOTA kein Mining möglich ist. 
Dies führt dazu, dass sich bereits alle jemals erschaffenen IOTA in Zirkulation befinden. Es wird auch per Definition niemals ein weiterer Token dazu kommen, die Währung ist damit nicht inflationär.


Nodes (Knotenpunkte)

Wie auch andere Kryptowährungen besteht das IOTA-Netzwerk nicht nur aus Endbenutzern. Die Aufgabe der sogenannten Nodes ist jedoch eine grundlegende andere als in Währung in denen Mining existiert. Die Aufgaben eines IOTA-Nodes beschränken sich auf drei wesentliche Dinge und das Netzwerk ist allgemein deutlich weniger abhängig von diesen als es beispielsweise das Bitcoin-Netzwerk von den Miner ist. Im IOTA-Netzwerk können Nodes nämlich auf zwei Arten betrieben werden. Entfernt im Internet sowie auf dem eigenen lokalen Gerät. Dies erlaubt es einem Endanwender sein eigener Node zu sein und sich so nicht mehr hundertprozentig von einem anderen Node abhängig zu machen — eine Möglichkeit, die zum Beispiel beim Bitcoin quasi unmöglich ist. Das Mining für sich selber durchzuführen hat heutzutage eine verschwindend geringe Erfolgschance.

Die drei Grundaufgaben sind namentlich:

  1. Das Speichern der gesamten Historie des Tangles. Diese wird synchron auf allen Nodes gespeichert. Die Informationen besitzen also eine enorme Redundanz.
  2. Die Synchronisation neuer Transaktionen mit den Nachbarn des Nodes. Ein Node sollte laut Empfehlung der IOTA-Referenzimplementierung neun Nachbarn besitzen, mit denen er sich andauernd synchronisiert.
  3. Zu guter Letzt fertigen Nodes nach eigenem Willen sogenannte Snapshots an, um Speicherplatz zu sparen. Dies kann beispielsweise jede Nacht geschehen, aber auch nur jährlich oder jedoch nie (sogenannte Permanodes).
    Bei einem Snapshot wird die bisherige Kopie des Tangles auf der Festplatte des Nodes gelöscht. Als einziges bleibt immer eine Liste erhalten, welche speichert und festhält, welche Adressen eine positive Bilanz an IOTA zum Zeitpunkt es Snapshots hielt und die Höhe dieser. Es gehen bei einem Snapshot also zwar Informationen verloren, nie jedoch IOTAs.
    Diese Tatsache ist jedoch so vorgesehen und nicht weiter tragisch. In einer Maschinenökonomie fallen zwar viele Daten an, diese besitzen jedoch häufig nur eine kurze Dauer des Interesses — es handelt sich meist nicht um Informationen, die dauerhaft gespeichert werden müssten. Ist dies doch der Fall, so kann immer noch auf eine anderweitige Speicherung solcher kritischer Daten zurückgegriffen werden.

Aufbau eines Kontos (Wallet)

Ein Wallet (Konto) im IOTA-Netzwerk besitzt einen grundlegend anderen Aufbau als eines in anderen Kryptowährungen. So muss der Besitzer nur einen 81 Zeichen langen sogenannten Seed generieren. Dieser darf aus lateinischen Großbuchstaben sowie der Zahl 9 bestehen. Der Seed folgt keiner tieferen Logik oder einem Algorithmus, er ist eine beliebige Kombination dieser Zeichen. Aus diesem Seed können nun beliebig viele Private Keys abgeleitet werden, welche selbstverständlich privat gehalten werden müssen. Aus diesen wiederum ergeben sich Empfängeradressen, welche nun mit anderen geteilt werden können. Der dahinterliegende Algorithmus wird die Adresse immer in derselben Reihenfolge zurückgeben. So ist es möglich alle auf den eigenen Adresse befindliche IOTAs nur mittels des 81 Zeichen langen Seeds abzurufen. Außerdem muss dabei jedoch beachtet werden, dass durch diesen Algorithmus jede Adresse jedoch nach dem Senden von dieser nicht mehr zum Empfangen benutzt werden sollte. Andernfalls kann es zum langsam aber sicheren Aufdecken der Private Keys kommen.


Ablauf einer Transaktion

Eine Transaktion besteht immer aus den folgenden grundlegenden Teilen:

  • Inputs der Transaktion (aus eigenen Adressen stammend)
  • Output der Transaktion (Empfängeradresse)
  • Transaktionswert
  • Angehängte Daten
  • Zeitstempel
  • Zwei referenzierte Transaktionen (Tips)
  • Nonce (Ergebnis des Proof-of-Work)
Ablauf einer Transaktion

Der Ablauf einer Transaktion besteht grob aus drei Phasen:
Zunächst wird die neue Transaktion mittels der Private Keys signiert. Dies bestätigt quasi, dass man selbst auch der rechtmäßige Besitzer der Inputs ist.
Im zweiten Schritt wählt ein Node für einen zwei valide Transaktionen aus, welche nun in der eigenen Transaktion referenziert werden müssen.
Zu guter Letzt wird ein Proof-of-Work (PoW) durchgeführt. Dieser ist jedoch keinesfalls mit dem PoW des Bitcoins oder anderer Mining-basierter Kryptowährungen vergleichbar. Der Sinn des PoW im IOTA-Netzwerk ist es nur, schadhaftes Spamming einzudämmen. Zwar kommt Spamming, wie eingangs erwähnt, dem Netzwerk tendenziell auch zugute, jedoch kann bei der Erreichung von 34% der aktuellen neuen Transaktionen tendenziell eine Attacke gegen das Netzwerk gefahren werden. Der PoW benötigt daher im Gegensatz zum Bitcoin meist eine einstellige Sekundendauer zur Fertigstellung. Im Zuge des PoW wird eine Nonce erzeugt, welche ebenfalls Teil der fertigen Transaktion wird. Der PoW-Algorithmus hat im Kern also eine ähnliche Aufgabe wie Hashcash
Die fertige Transaktion wird abschließend an einen Node gesendet, der diese dann im Netzwerk an seine Nachbarn verteilt, alternativ kann wie gesagt das eigene Gerät der Node sein und die Transaktion direkt an die eigenen Nachbarn verteilen.

Mittels dieser Informationen ergibt sich nun auch, warum bei IOTA keine Transaktionsgebühr nötig oder vorhanden ist. Jeder Teilnehmer übernimmt die Arbeit, welche für die Durchführung einer Transaktion nötig ist, komplett selbst auf dem eigenen Gerät noch dazu. Dadurch wird sich nicht von einer dritten Instanz abhängig gemacht, die somit auch, im Gegensatz zum Mining, nicht entlohnt werden muss — die Transaktionen können somit, abgesehen vom kurzen PoW, komplett kostenfrei getätigt werden.


Kritikpunkte

Obwohl ich mich selbst als großen Fan IOTAs bezeichnen würde besitzt die Technologie, wie andere auch, einige valide Kritikpunkte, welche ich definitiv als solche wahrnehme beziehungsweise teile. In diesem Kapitel werden daher die zwei größten Kritikpunkte behandelt und in Perspektive gesetzt werden.

Der mit Abstand größte Kritikpunkt an IOTA ist das Vorhandensein des sogenannten Coordinators (Coo). Dies ist ein Server, letztendlich auch ein Node, den die IOTA Foundation betreibt. Er hat als einzige Aufgabe, etwa jede Minute eine Transaktion als Milestone auszuwählen und damit alle dahinter liegenden Transaktionen bis zum letzten Milestone zu bestätigen.
Der Quellcode des Coordinators ist allerdings Closed Source und somit ist weder genau klar, was dieser prüft und nach welcher Logik er Transaktionen auswählt.
Fakt ist jedoch, dass der Coordinator einen Sinn im IOTA-Netzwerk hat; Er soll das Netzwerk vor verschiedenen Attacken, vor allem der sogenannten 34%-Attacke schützen. Diese kommt zustande, wenn ein Angreifer knapp mehr als ein Drittel der neuen Transaktionen (Tips) generiert und diese bösartig veranlagt sind. In Zukunft sollen Tips mittels eines Random-Walk Monte Carlo ausgewählt werden, also einem Algorithmus, der die Tips mehr oder weniger zufällig auswählt. Das Problem in den aktuellen, noch jungen Jahren des Tangles ist es jedoch, dass es derzeit noch zu einfach ist 34% der neuen Transaktionen aufzubringen. Eine Attacke und zum Beispiel damit verbundenes Double-Spending werden also in Zeiten niedriger TPS (Transactions per Second) möglich. Aus diesem Grund ist die Aussage der IOTA Foundation, dass der Coordinator noch dieses Jahr abgeschaltet werden soll, vorausgesetzt die TPS sind hoch genug.
Nichtsdestotrotz handelt es hierbei natürlich um ein reines Versprechen und solange der Coordinator noch besteht ist das IOTA-Netzwerk natürlich nicht vollständig verteilt. Auf der anderen Seite bin ich der festen Überzeugung, dass der Coordinator sinnvoll ist und die Foundation damit einen richtigen Schritt gegangen ist. Natürlich erkenne ich diesen Kritikpunkt jedoch als definitiv valide an.

Der zweite große Kritikpunkt lautet, dass der Betrieb eines Nodes sich nicht lohnen wird und daher niemand Nodes betreiben wird. Es ist korrekt, dass ein Node-Betreiber keine Gegenleistung erhält, da er ja kein Mining betreibt.
Ich bin jedoch der Überzeugung, dass die sich dieses Problem in gewisser Weise von alleine lösen wird. Möchte eine Firma IOTA in einem ihrer Produkte verwenden so macht es nur Sinn auch einen eigenen Node zu betreiben um die Anwendung darüber an das IOTA-Netzwerk anzuschließen. Einerseits kann somit eine bessere Geschwindigkeit als bei öffentlichen Nodes erreicht werden und außerdem weiß man als Betreiber, was der Node macht und kann Monitoring betreiben. Zu guter Letzt kann man sich in diesem Szenario als Unternehmen sicher sein, dass der verwendete Node nicht bösartig ist und Tips überreicht, welche eine Attacke auf das Netzwerk fahren möchten. Dieser Kritikpunkt ist meiner Meinung daher etwas weniger valide als der des Coordinators.

Bisher Ungelöste Problemstellungen, die IOTA lösen kann

Bisher Ungelöste Problemstellung #1
Bisher Ungelöste Problemstellung #2
Bisher Ungelöste Problemstellung #3

Use Cases für IOTA

E-Mobility
Optimiertes Fahrspurensystem
Data Marketplace

Investoren & Interessenten

Zwei der beiden bedeutendsten Interessenten am IOTA-Ökosystem sind namentlich Volkswagen sowie Bosch.

Erst kürzlich kündigte der CDO Volkwagens Johann Jungwirth an, dass eine Zusammenarbeit mit der IOTA Foundation besteht. Er wird in diesem Zug auch Mitglied des Aufrichtsrats der Foundation und wird dort eine beratende Tätigkeit ausführen. Volkswagen plant den Einsatz von IOTA in einer künftigen Iteration ihres Connected-Car-Systems.

Die Robert Bosch GmbH steht darüber hinaus bereits seit 2015, dem Jahr der Veröffentlichung von IOTA, mit der IOTA Foundation in Kontakt und investierte im Jahr 2017 eine nicht näher spezifizierte „bedeutende Zahl“ in die Kryptowährung IOTA. Bosch ist ein großer Automobilteilezulieferer vor allem für deutsche Automobilkonzerne. Daher kündigte Bosch an, die Technologie hinter IOTA in der Zukunft in ihre Teile einbauen zu wollen.

Insgesamt ist hierbei festzuhalten, dass IOTA erstaunlicherweise eine Technologie ist, die dem deutschsprachigen Raum sehr nahesteht.
Diese Tatsache ist vor allem in sofern interessant, als dass quasi alle anderen Kryptowährungen und auch Technologien im Gesamten häufig sehr US-zentriert sind. Diese Tatsache kommt aber sicherlich unter anderem daher zustande, dass die IOTA Foundation ihren Sitz in Berlin hat und die ursprünglichen Erschaffer aus Europa stammen.

Fazit

Insgesamt ist meiner Meinung nach festzuhalten, dass IOTA als Technologie viele neue Ideen in den Bereich der Kryptowährungen brachte. Die Ideen sind disruptiv und häufig sehr clever. Außerdem ist IOTA im Gegensatz zu vielen anderen Kryptowährungen sehr auf einen Use Case fokussiert. Die Features, die IOTA mitbringt, sind extra geschaffenen worden für Machine-to-Machine Kommunikation und versuchen nicht zehn Probleme auf einmal zu lösen.
Ich bin der Überzeugung, dass IOTA unter der Führung der Foundation als Technologie, Währung und Netzwerk in den kommenden Jahren stark wachsen und vielleicht einmal in unseren Alltag übergehen wird!

Vielen Dank für Ihre Aufmerksamkeit!

Wenn Sie mehr über mich erfahren oder mich kontaktieren möchten, so finden Sie weitere Informationen auf meiner persönlichen Website: www.jakob.codes