Bitcoin & Co : IOTA verstehen

in #iota9 years ago

Bitcoin & Co: IOTA verstehen

IOTA macht seit längerem in der Kryptowelt Furore: Kryptogeld geht auch ganz ohne Blockchain und das möglicherweise sogar besser.

Hier gibt es einen Eindruck in die Technologie.

Hier, bevor du mit IOTA loslegst, gib deinen Lesern doch noch mal eine Einführung "Kryptogeld in zwei Sätzen" oder so.

Kryptogeld, konkret Bitcoin damals, hat versprochen, dass man Unabhängigkeit vom Finanzsektor haben kann, ohne dafür auf Tauschwirtschaft zurückfallen zu müssen. Außerdem ist ein kostenloses, globales Bezahlsystem dank Internet eigentlich längst überfällig — zusammen Kryptographie ist das jetzt alles erreichbar. Ok. Hat Bitcoin, was das angeht, nun eigentlich liefern können? Leider nur teilweise. Man ist bei Bitcoin nicht anonym, Transaktionen kosten Geld und schnell ist auch was anderes. Deshalb gibt es ja die Altcoins, also konkurrierende Konzepte, die Bitcoins Schwächen ausbügeln sollen. Viele verbinden ja mit Bitcoin und umso mehr mit Altcoins in erster Linie Scams und falsche Versprechungen, wo nur die Gründer reich werden . Das ist nicht unberechtigt. Deshalb hat sich der Begriff Shitcoin eingebürgert für "Innovationen" im Bereich Kryptogeld, die ohne fundierte technische Konzepte Marketing-Hype machen.

Wer bei Kryptogeld dabei sein will, muss den Shitcoin sehen und meiden. Selbst wenn man den offensichtlichsten Shitcoins erfolgreich aus dem Weg geht, bleibt noch die Schwierigkeit neue technische Konzepte zu beurteilen. Bitcoin kann auf siebenjähriges Bestehen zurückblicken. Altcoins müssen sich dagegen irgendwie erfolgreich beweisen. Mit diesem Gedanken im Hinterkopf stelle ich hier Altcoins vor. Zuletzt hatten wir NXT — ein Exot, weil NXT auf proof-of-stake beruht statt auf proof-of-work. IOTA ist noch exotischer, weil es noch nicht einmal eine Blockchain gibt sondern ein sogenanntes Tangle, was eigentlich nur ein Netz von Transaktionen bezeichnet. Siehe dazu auch die graphische Übersicht.

560f7ccbbaebf67c.jpg

Gerade Blockchain verstanden, proof-of-work, proof-of-stake, und jetzt also das Tängel. Ich hol mir mal nen Kaffee .

IOTAS value proposition geht so: — Bezahlsystem für das Internet of things — Es gibt keine Transaktionskosten und Mikrotransaktionen sind also möglich — Skalierung ist bereits gelöst und kein Problem — Wem es was bedeutet:

IOTA wird durch die deutsche IOTA-Stiftung betrieben.

Hab ich Internet of things gehört?

Diese Smart-Fridge-Scheiße? Darauf komme ich am Ende noch mal zu sprechen. Ein dezentrales Netzwerk ohne Miner. IOTA läuft genauso wie Bitcoin als peer-to-peer Netzwerk, d.h. es gibt nur die gleichberechtigten Nodes. Als Besonderheit gibt es aber in dem Netzwerk noch nicht einmal Miner. Was die Miner sonst machen würden, macht also der Nutzer jetzt und das geht so: Mal angenommen ich will eine Transaktion abschicken. Der Miner würde die validieren und für seinen Service Geld nehmen. Stattdessen muss ich jetzt selber ran: Um meine Transaktion abzuschicken, muss ich selber zwei ausstehende Transaktionen auswählen und diese validieren. Meine Transaktion wird gleichermaßen dann von einem anderen Nutzer validiert, der irgendwann später seinerseits eine Transaktion losschicken will und dafür zwei alte Transaktionen validieren muss.

Kleiner klarstellender Einschub:
Manchmal fällt in Bezug auf IOTA auch der Begriff proof-of- work. Das hängt damit zusammen, dass ich tatsächlich beim Validieren von Transaktionen ein kleines Rätsel lösen muss. IOTAs proof-of-work hier dient aber nur ganz simpel dem Schutz vor Spam und spielt für die Konvergenz des Netzwerks später keine Rolle. IOTA basiert anders als Bitcoin nicht zentral auf proof-of-work und hat auch kein analoges Konzept wie NXTs proof- of-stake. Durch dieses Validieren von zwei Transaktionen entsteht jetzt ein Graph. Mach mal ein Bild.

Ich nehm mal dieses hier aus der offiziellen Dokumentation.

560f7ccbbaebf67c.jpg

Die jüngsten Transaktionen sind ganz rechts. Jede Transaktion zeigt auf zwei ältere Transaktionen, wir nennen diese mal die Eltern. Mathematisch gesprochen sehen wir einen gerichteten Graphen ohne Zirkel. Gerichtet heißt hier: Die Kinder zeigen auf ihre Eltern. Was "ohne Zirkel" bei einem Eltern-Kind-Graph heißt, darf sich jeder selber denken. Die grauen Transaktionen haben keine Kinder, wurden also noch nicht validiert. Diese nicht validierten Transaktionen werden TIPS genannt (Tip = Spitze. hier die Spitze des Graphen). Die roten Transaktionen wurden bereits validiert, haben also mindestens ein Kind. Nun zu den grünen Transaktionen: Eine Transaktion ist grün, wenn von jedem Tip — in grau — ein Weg zu dieser Transaktion existiert. Warum spielt das eine Rolle? Wenn ich eine Transaktion validiere, prüfe ich diese auf Richtigkeit. Um aber ultimativ die Richtigkeit einer Transaktion zu prüfen, muss ich auch prüfen, ob die Eltern, auf die Transaktion zeigt richtig sind! Die Kinder haften für ihre Eltern! So ist es. Für die grünen Transaktionen können wir also sagen: Alle aktuellen Transaktionen sind sich einig, dass diese valide sind. Das scheint ein analoges Sicherheitskriterium zu sein wie Bitcoins sechs Bestätigungen. Joah. Wir versuchen jetzt, eine Intuition für dieses Tangle zu entwickeln und gucken, was das so kann.

Eigenschaften des Tangles

Erst einmal vorab: Tatsächlich ist das Tangel IOTAs Art und Weise, alle Herausforderungen zu lösen, die Bitcoin mit der Blockchain und proof-of-work löst. Und die zentrale Eigenschaft des Tangles ist genau, dass jede Transaktion auf zwei Eltern zeigt. Du meintest vorhin: eine Transaktion prüft die Korrektheit der Eltern und folglich die Korrektheit deren Eltern usw. Wie geht denn das praktisch? Es fängt ganz einfach an. Am Anfang gab es die sogenannte Genesis-Transaktion, die ist per Definition korrekt. Darauf folgende Transaktionen müssen natürlich die naheliegenden Kriterien erfüllen: — Es wird nicht mehr IOTA ausgegeben als verfügbar ist und — die Transaktion ist vom rechtmäßigen Besitzer signiert. Das kann ich für alle Transaktionen ausgehend von meinen Eltern prüfen, also für meinen gesamten Stammbaum bis Adam und Eva. Mit jedem Schritt in Richtung Vergangenheit verdoppelt sich die Anzahl der Transaktionen, die ich prüfen muss erst einmal. Tatsächlich gibt es dann aber einen Punkt in der Vergangenheit, wo alle existierenden Transaktionen die Großgroßgroß...Großeltern jeder einzelnen heutigen Transaktion sind (mit Ausnahme von Stämmen von Transaktionen, die irgendwann verwaist sind und die wir ignorieren können). Das ist analog zur Menschheitsgeschichte. Egal, wen ich auf der Straße anspreche: geh ich nur lange genug in seinem Stammbaum zurück, sind irgendwann immer alle lebenden Menschen seine Vorfahren — mit Ausnahme von Geschlechtern, die ausgestorben sind. Praktisch bedeutet das, ich muss gar nicht immer bis zur Genesis-Transaktion zurückgehen. Wenn ich die Korrektheit von alten Transaktionen genau einmal prüfe und mir dann merke, kann ich diese Information für die Validierung neuer Transaktion immer wieder verwenden.

Ich behaupte mal, das hab ich einigermaßen verstanden. Was wir aber noch nicht angesprochen haben, ist das komplexere Szenario, wenn jede Transaktion für sich zwar valide ist, aber zwei Transaktionen sich gegenseitig widersprechen. Oh ich weiß: Das gute alte .. Double-Spending-problem

Die Lösung von IOTA ist so einfach wie genial. Ich will also selber eine Transaktion absenden, hab dafür zwei Eltern ausgewählt und prüfe jetzt also deren Korrektheit und gucke dabei prinzipiell den gesamten Stammbaum an Transaktionen an. Und, Gott bewahre!, da gibt ein Besitzer von IOTA seine Coins zweimal aus in zwei verschiedenen Transaktionen. Wie bei Bitcoin können wir das Problem jetzt aut die Frage reduzieren: Welche Transaktion ist die richtige. Und wie bei Bitcoin ist für die Stabilität des Netzwerks ausschlaggebend, wie schnell alle Nodes sich auf eine richtige Transaktion einigen. Ein ehrlicher IOTA-Node macht das jetzt so: Ich hab bei der Auswahl meiner Eltern ja die Wahl. Also wähle ich jetzt nicht einmal, sondern 100mal ein hypothetisches Elternpaar aus und gucke jeweils den resultierenden Stammbaum an. Der Witz ist jetzt: eine der beiden widersprüchlichen Transaküonen kommt in den Stammbäumen häufiger vor als die andere. Und zwar desto häufiger, je mehr Kinder sie hat. "Kinder" sind nichts anderes als Validierungen. Wenn eine der widersprüchlichen Transaktion ein Tip ist, hat sie überhaupt keine Kinder! Ich kann also zählen, wie oft eine Transaktion in meinen 100 hypothetischen Stammbäumen vorkommt und wähle im Konfliktfall zwischen zwei Transaktionen diejenige, . ... die am häufigsten vorkommt, genau. Wir haben also ein objektives Kriterium für die richtige Transaktion.

Und ist das schon alles oder gibt es jetzt noch einen Haken, wie das bei N,XT der Fall war?

Ich hab den Haken noch nicht gefunden Aber schauen wir halt gemeinsam. Was passiert, wenn ich als eigennütziger Node nicht wie oben vorgehe, sondern den Stammbaum mit der falschen statt der richtigen Transaktion wähle? Dann bekommt die falsche Transaktion anstelle der richtigen eine weitere Bestätigung. Aber was passiert mit meiner Transaktion, die ich abschicken wollte? In ihrem Stammbaum ist jetzt die falsche Transaktion drin. Das heißt die ehrlichen Nodes werden meine Transaktion vermeiden, wenn sie für ihre zukünftigen Transaktionen Eltern auswählen. Wenn aber kein Kind meine Transaktion als vater oder Mutter Wählt, bleibt meine Transaktion kinderlos und unbestätigt im Abseits. Ja! Wenn ich also will, dass meine Transaktion schnell bestätigt wird, spiele ich lieber ehrlich und mein Egoismus dient dem Gemeinwohl. Ich glaub, du provozierst hier mit diesem Spruch niemanden. Achso, ich stell jetzt mal ne ganz intelligente Frage: Skaliert das denn auch? Das ist eine geradezu wundersame Eigenschaft des Tangles: Es skaliert IA. Je mehr Transaktionen eingespielt werden, desto mehr werden auch bestätigt. Ab einem bestimmten Aktivitätslevel im Netzwerk sind instantane Transaktionen zu erwarten, wo die Geschwindigkeit nur durch die Latenz im Netzwerk beschränkt ist, wie beim Absenden einer E-Mail. Kaufen oder nicht kaufen? Kommen wir erst einmal zur

Bewertung der Technologie

Nach allem, was ich verstehe, könnte das Tangle funktionieren:

Es ist noch kein fundamentaler Nachteil wie bei NXTs proof-of-stake sichtbar

IOTA ist möglicherweise Bitcoins ursprünglicher Version näher: ein sicheres, dezentrales, schnelles, kostenloses, globales Bezahlsystem

Die Platzierung als Nr. 7 nach Marktkapitalisierung ist ganz ansehnlich für technisch derart neues Konzept

Des weiteren gibt es eine aktive Community und einen Slack-ChanneI, wo man selber die Entwickler alles fragen kann Was ich nicht verstehe: IOTA vermarktet sich über das Internet of Things — Ja, IOTA ist wohl anders als Bitcoin für Machine-to-Machine-Payments geeignet. Problem ist nur, dass das Internet of Things nicht existiert. Ich hab keinen Smart Fridge und weiß nicht, ob da wirklich eine Revolution auf uns wartet.

Warum vermarkten die sich nicht als generelle KryptogeId-AIternative und stellen entsprechende Software bereit, damit ich eines Tages mit IOTA mein MDMA kaufen kann?
— Das macht Byteball evtl. besser. Die kritische Analyse der Technologie läuft noch

Wie sicher wird das Tangle in der Praxis sein? Welche neuen Angriffsvektoren ergeben sich?
Geht es wirklich komplett ohne physische Komponente und proof-of-work?

— Antworten der engagierten Entwickler werden leider schnell recht technisch und für mich nicht mehr nachvollziehbar

Coin Marketplace

STEEM 0.04
TRX 0.31
JST 0.073
BTC 63406.11
ETH 1675.05
USDT 1.00
SBD 0.41