Wie wir heute auf dem offiziellen IOTA Blog von IOTA Co-Founder Dominik Schiener erfahren konnten, steht ein Update der IOTA Reference Implementation (IRI) unmittelbar bevor. Dieses Update soll ein das Einfrieren von IRI verhindern, wenn sich in einem Side Tangle eine bestimmte Anzahl an Tips (IOTA Transaktionen) auf einen zu alten Meilenstein im Main Tangle bezieht.

Im Diagramm sehen wir den Main Tangle auf der linken Seite (blau) mit periodisch ausgegebenen Meilensteinen (grün). Der Side Tangle auf der rechten Seite (orange) wird konstruiert, indem man auf einen alten Meilenstein verweist und dann eine sehr lange Kette von Transaktionen aufbaut, die sich erst viel später auf den Main Tangle beziehen.

iota-maintangle-sidetangle

Da jede IOTA-Transaktion zwei vorherige Transaktionen referenzieren muss, stellt IRI eine Methode namens „getTransactionsToApprove“ zur Verfügung, die folgendes tut – sie findet zwei gültige Tips, die eine neue Transaktion verwenden kann, um an den Tangle angehangen zu werden. Im aktuellen IRI-Code validiert der „Random Walker“ bei jedem Aufruf dieser Methode alle Transaktionen vom letzten Meilenstein bis zur ausgewählten Transaktion. Wie Sie in der Abbildung sehen können, wird der „Walker“, wenn er im Side Tangle landet, versuchen, eine potentiell sehr große Anzahl von Transaktionen auf einmal zu validieren. Bei einem ausreichend großen Side Tangle führt das schiere Volumen der Validierungen schnell dazu, dass IRI nicht mehr reagiert.

Laut dem Tangle-Whitepaper soll verhindert werden, dass Transaktionen, die auf einen zu alten Meilenstein verweisen (sog. „Lazy-Tips“) bestätigt werden. Da es sich bei der oben gezeigten Abbildung um sehr viele Tips handelt, die auf eben diesen veralteten Meilenstein verweisen, können diese folgerichtig allesamt als „Lazy-Tips“ behandelt werden.

IRI 1.5.2 soll genau das tun. Unter der Haube merkt sich IRI während der Validierung den letzten Meilenstein, auf den sich jede Transaktion bezieht. Diese Information erlaubt es dem Walker sofort zu erkennen, wenn eine Transaktion den Main Tangle zu weit in der Vergangenheit zurückverweist, um valide zu sein. Mit anderen Worten, der Walker kann „Lazy-Tips“ leichter erkennen und ohne Weiteres überspringen, während er zusätzlich jede Transaktion, die er findet, markiert, so dass er beim nächsten Mal nicht mehr versucht, sie zu validieren.

Laut Schiener ist noch diese Woche mit einem Update zu rechnen, wenn die Tests bis dahin alle erfolgreich verlaufen. Überlastete Nodes, die dadurch regelmäßig nicht synchron laufen, sollten damit dann hoffentlich der Vergangenheit angehören.

Bildquellen

Kommentar verfassen