Ich habe genug Netzwerkwartungen gesehen, um zu wissen, dass das naheliegendste Risiko meist die Kompatibilität ist. Altes Softwarewerk trifft auf neue Regeln, etwas geht kaputt, und alle merken es. Boreas hat mich an eine ruhigere Version dieses Problems denken lassen.

Was wäre, wenn nichts Offensichtliches kaputtgeht, aber die gleichen Transaktionsbytes je nach dem, wo sie in das System eintreten, unterschiedlich interpretiert werden?

Dusk’ Boreas-Upgrade hat explizite Grenzen zwischen Client-Transaktionen, ihrer kanonischen internen Form und dem gesetzt, was am Ende wirklich in das Ledger übernommen wird. Außerdem hält es historische Decodierer vor, sodass ältere Blöcke weiterhin nach den Regeln erneut abgespielt werden können, die ursprünglich für sie galten.

Das klingt fast langweilig, bis ich mir die Alternative vorstelle.

Ein Mempool nimmt eine Interpretation an. Ein Blockproduzent normalisiert eine andere. Ein Validator liest etwas leicht anders, während ein Archivknoten später versucht, die Transaktion unter neueren Annahmen erneut abzuspielen. Die Bytes haben sich nicht verändert. Ihre Bedeutung schon.

Ich bin nicht sicher, ob Nutzer so eine Meinungsverschiedenheit je bemerken würden, bis sie ernst wird.

Boreas scheint die Bedeutung von Transaktionen so zu behandeln, dass sie ebenfalls versioniert werden muss – nicht nur die Software.

Hier steckt trotzdem Komplexität drin. Alte Regeln zu unterstützen, während man neue erzwingt, bedeutet, dass mehr historische Logik im Knoten am Leben bleibt.

Aber vielleicht ist das unvermeidlich.

Ein Blockchain-Upgrade sollte nicht umschreiben, was die Transaktionen von gestern bedeutet haben, nur weil heutige Software sie anders versteht.
#dusk $DUSK @Dusk $ONG