#dusk $DUSK @Dusk .......Ich erwartete, dass ein Brücken-Bug aus etwas Kompliziertem hervorgeht. Der, der meine Aufmerksamkeit erregte, begann jedoch mit etwas viel Alltäglicherem: Adressen zu kopieren und einzufügen....

Eine BSC-Adresse kann für einen Menschen völlig sauber aussehen, während die tatsächliche Zeichenkette am Ende ein Leerzeichen, einen Zeilenumbruch oder einen Tab enthält.

Stell dir das vor wie beim Kopieren einer Hausadresse mit einer unsichtbaren zusätzlichen Zeile. Du kannst die Adresse korrekt lesen, aber die Software erhält etwas leicht anderes.....

Genau das war im Dusk-BEP20-Brückenablauf entscheidend..

Das Memo ist nicht einfach nur eine Notiz. Es teilt der Brücke mit, an welche BSC-Adresse die DUSK gesendet werden soll. Vor dem Fix konnte dieser Wert je nach Validierung, dem Review-Bildschirm und der Ausführung unterschiedlich behandelt werden—und so entstand Spielraum, sodass sich diese Stufen widersprechen.

Der Fix war überraschend einfach.....

Dusk's Web Wallet normalisiert das Memo jetzt einmal, indem es Leerzeichen entfernt, und verwendet anschließend denselben bereinigten Wert für die Validierung, den Review und die Ausführung.

Es ging noch tiefer.. ..

Dusk hat außerdem einen Test hinzugefügt, bei dem eine EVM-Adresse von Leerzeichen, einem Zeilenumbruch und einem Tab umgeben ist. Der Test prüft, dass der Review-Bildschirm die bereinigte Adresse anzeigt und dass die Ausführung exakt denselben normalisierten Wert erhält.

Auch dieses letzte Detail hat meine Aufmerksamkeit erregt....

Dusk's Dokumentation warnt, dass ein fehlendes oder ungültiges Brücken-Memo das automatische Routing verhindern und einen Transfer unter Umständen unrettbar machen kann. Der Fix fügt eine zusätzliche Sicherheitsebene hinzu, aber die Nutzer müssen das Ziel weiterhin selbst überprüfen.

Kopieren und Einfügen wirkt viel zu alltäglich, um gefährlich zu sein.

Genau deshalb sind Bugs darum herum so wichtig....

Gute Infrastruktur bedeutet nicht nur, dass das Protokoll funktioniert. Es geht darum, winzige Lücken zwischen dem, was der Nutzer sieht, dem, was die Software validiert, und dem, was letztlich ausgeführt wird, zu schließen.

Diese unsichtbaren Details sind es oft, wo Vertrauen entsteht..
$PROM $AAVE