Adressverwaltung

Bevor mit dem Senden oder Empfangen von IOTA Token begonnen werden kann, sollte jeder grob verstehen, wie Adressen im IOTA Tangle funktionieren, denn die Benutzung der Adressen im Tangle funktioniert anders, als bei traditionellen Blockchain-System wie beispielsweise beim Bitcoin. Anstatt sowohl einen privaten als auch einen öffentlichen Schlüssel zu haben, generiert IOTA aus Ihrem Master Passwort (Seed) einen öffentlichen Schlüssel (Adresse).

 

Um diese Thematik besser zu erklären, müssen wir uns den Seed und die Adressgenerierung genauer anschauen:

Der Seed besteht aus 81 Zeichen (Trytes genannt). Ein Tryte ist ein englischer Großbuchstabe oder die Zahl 9. Ein guter Seed enthält nicht weniger als 81 Trytes (mehr als 81 werden ignoriert) und würde ungefähr so ​​aussehen: LZQOPW9MHGGGDB……….9NIZKMNGOL (eingekürzt)

Bitte beachten Sie, dass Ihr Seed niemanden gegenüber offengelegt werden sollte, wer im Besitz des Seeds ist, der hat Kontrolle über die Token. Während einer Transaktion (Senden oder Empfangen) wird Ihr Seed bei keinem Vorgang an Dritte übertragen. Wenn Sie beispielsweise für eine Transaktion eine Node oder ein anderes Gerät (z. B. eine Ladestation für Elektrofahrzeuge) verwenden, wird Ihr Seed nicht an diese Geräte übertragen. Es wird nur ein öffentlicher Schlüssel (eine „Adresse“) übertragen.

 

Wie werden Adressen generiert?

Der Seed wird als Ausgangspunkt verwendet, um eine Adresse zu generieren. IOTA behandelt Adressen deterministisch, dies bedeutet, dass derselbe Satz von Adressen immer in derselben Reihenfolge generiert wird. Dies bietet die Flexibilität, dass Sie keine private Schlüsseldatei auf einem Gerät speichern müssen, da Sie nur Ihren Seed benötigen, der zur (erneuten) Berechnung Ihrer Schlüssel verwendet wird.

Hier ist eine vereinfachte Übersicht über den Prozess der Adressgenerierung, die erklärt, warum Ihr Seed nie enthüllt wird:

  1. Dem Seed wird ein Index hinzugefügt (durch die Indizierung kann die zustandslose Wallet den zuletzt verwendeten Schlüssel finden). Der Begriff „Index“ lässt sich anhand von Seitenzahlen in einem Buch erklären, er legt die Reihenfolge der generierten Schlüssel fest.
  2. Index + Seed wird in einen untergeordneten Seed (Sub-Seed) gehasht.
    Hashing ist ein Einwegverfahren zum Generieren eines Werts fester Länge aus einer Zeichenfolge / einem Text unter Verwendung einer mathematischen Funktion. Dieser Wert oder Hash mit fester Länge wird ab diesem Zeitpunkt verwendet und es ist unmöglich, vom Hash auf Index + Seed zurück zurechnen. Der Hash wird in der Welt von IOTA als Sub-Seed bezeichnet.
  3. Anschließend wird dieser Sub-Seed gehasht, um einen privaten Schlüssel und eine Adresse zu generieren. Auch hier ist es nicht möglich, von der Adresse zum Sub-Seed zurückzukehren. Durch diese Einwegmechanismen wird Ihr Seed vor der Weitergabe geschützt.

 

 

Wiederverwendbarkeit von Adressen

Im Tangle kann jedem Seed eine unbegrenzte Anzahl von Empfangsadressen zugeordnet sein und jede dieser Adressen kann ein separates Guthaben an IOTA Token halten. Das bedeutet, dass jede Empfängeradresse wie ein separates Konto ist und der Seed ist das Master-Passwort, das alle ihm angehängten Adressen sehen und Token von diesen bewegen kann.

Bei einer klassischen Blockchain kann eine Adresse unbegrenzt wiederverwendet werden, dies gilt sowohl für das Empfangen als auch für das Senden von Coins bzw. Token. Im IOTA Tangle funktioniert das anders, dort kann eine Adresse nur solange eine unbegrenzte Anzahl von Einzahlungen erhalten, bis eine einzige ausgehende Transaktion gesendet wurde, danach ist diese Adresse angreifbar und sollte nicht mehr benutzt werden.

Erklärung: Bei jeder ausgehenden Transaktion wird ein Teil des privat key der Versandadresse offengelegt, je öfter ausgehende Transaktionen von der gleichen Adresse getätigt werden, desto mehr wird von dem privat key offengelegt und es desto leichter wird es für dritte, diesen privat key mittels einer Brute-Force-Attacke zu erraten.

Wichtig: Der Zugriff auf den privat key einer Adresse gefährdet nicht den Seed (Master Passwort) an sich oder den privat key anderer Adressen des Seeds, siehe oben.

Die offizielle Trinity Wallet von der IF verhindert eine mehrfach Nutzung der selben Sendeadresse, von daher braucht sich der normale Nutzer keine Gedanken darüber zu machen. Personen denen in der Vergangenheit Token gestohlen worden sind, haben in sehr fahrlässiger Art und Weise ältere Entwickler-Wallets genutzt und aufpoppende Warnungen ignoriert. Meiner Meinung nach sind diese Leute selber Schuld, wer mit der Brechstange bestehende Sicherheitsmaßnahmen umgeht braucht sich im Nachhinein nicht beschweren.

 

Praktisches Trinity Wallet Beispiel: Sie haben eine Adresse auf der bereits mehrere separate Einzahlungen stattgefunden haben, dass Gesamtguthaben beträgt 500 MIOTA. Jetzt bezahlen Sie von dieser Adresse aus eine Dienstleistung, dafür werden jetzt 100 MIOTA an eine andere Adresse versendet. Die Trinity Wallet kennzeichnet diese Adresse jetzt automatisch als „bereits verwendet“ und transferiert die übriggebliebenen 400 MIOTA Token auf eine neue Adresse (wird neu generiert) die ihrem Seed zugeordnet ist. Danach sollten Sie die ursprüngliche Adresse (mit den 500 MIOTA) nicht mehr für Einzahlungen verwenden, dies ist zwar weiterhin möglich, weil die Adresse immer noch ihrem Seed zugeordnet ist, nur ist diese durch den Sendevorgang nicht mehr zu 100% Sicher.

Eine Übersicht über die bereits verwendeten Adressen bekommen Sie, wenn Sie auf ihrer Wallet einloggen und in die jeweilige Kontoeinstellung navigieren. Klicken Sie dann auf die Schaltfläche "Adressen", alle nicht mehr funktionierenden Empfangsadressen sind mit einem Schrägstrich durchgestrichen.

 

Zukünftig wird es von der IF eine Lösung geben um Adressen wieder zu verwenden, die Ideen dafür liegen bereits in der Schublade, allerdings räumt man derzeit dem Coordicide eine höhere Priorität zu (Sep'19).