Liquids Federation gab am 6. September rund 3.996 BTC im Wert von etwa 320 Millionen Dollar frei, nachdem die Sidechain L-BTC akzeptiert hatte, für die keine Bitcoin-Deckung bestand. Der Fehler begann mit einem Bug bei der Beweisvalidierung in Elements, der Software hinter Liquid, und endete mit einem autorisierten, aber außergewöhnlichen Peg-out über SideSwap.
Alpen-Labs-CEO Simanta Gautam zufolge konnten KI-Agenten den Fehler innerhalb von etwa einer Stunde lokal zurückverfolgen und reproduzieren. Das Problem betraf zwischengespeicherte kryptografische Prüfungen. Eine Änderung vom 1. September verkettete Felder des Cache-Schlüssels, ohne deren Grenzen zu kodieren. Dadurch konnten ein gültiger „Seed“-Beweis und ein anderer ungültiger Zielwert denselben Cache-Eingang erzeugen. Sobald der gültige Beweis den Cache vorbereitet hatte, konnte der betroffene Wrapper das Ziel akzeptieren, ohne die erforderliche erneute Prüfung durchzuführen.
Warum das wichtig ist
Der Vorfall zeigt, wie sich ein Konsensfehler und schwache operative Kontrollen gegenseitig verstärken können. SideSwap zufolge schickte ein Angreifer 4.000 L-BTC an den Peg-out-Service. Dieser verbrannte die Token mit gültiger Autorisierung, bevor die Unterzeichner der Federation 3.996 BTC freigaben. Das automatisierte System verfügte über keine Prüfungen zu Auszahlungshöhe, Geschwindigkeit, Verhältnis zum Bestand, Wallet-Historie oder menschlicher Freigabe.
Ein Auszahlungslimit vor der Autorisierung oder der Unterzeichnung durch die Federation hätte diesen konkreten Weg unterbrechen können. Ein Offline-Schlüssel oder eine verzögerte manuelle Weiterleitung hätte eine Pause geschaffen, auch wenn der Transfer aus den Reserven der Federation noch vor der Rückgabe der Mittel hätte erfolgen können.
Auswirkungen auf den Markt
Die am 8. September veröffentlichte Reparatur von Elements kodierte Feldlängen in Cache-Schlüsseln, ergänzte auf Kollisionen ausgerichtete Tests und führte eine Option ein, den Range-Proof-Cache zu umgehen. Am 9. September folgte Version 23.3.4. Liquid erklärte, dass normale Transaktionen am 17. September wieder aufgenommen wurden. Peg-outs blieben jedoch pausiert, bis eine vollständige Eins-zu-eins-Deckung mit BTC, Software-Updates, Tests und unabhängige Prüfungen abgeschlossen waren.
Die zentrale operative Frage lautet, ob ein wiederaufgenommenes Peg-out-System über eine unabhängige Kontrolle verfügt, die eine autorisierte Anfrage in Höhe der Reserven stoppen kann, bevor Bitcoin die Verwahrung der Federation verlässt. KI-gestützte Prüfungen können Fehler schnell aufdecken, doch die Auszahlungskontrollen bestimmen, wie groß der Verlust bei einem künftigen Validierungsfehler ausfallen kann.
Häufig gestellte Fragen
-
Wie ermöglichte der Liquid-Fehler im Proof-Cache, dass ungültige L-BTC akzeptiert wurden?
Eine Elements-Änderung vom 1. September verkettete Felder des Cache-Schlüssels, ohne deren Grenzen zu kodieren. Ein gültiger Beweis und ein anderer ungültiger Zielwert konnten dadurch denselben Cache-Eingang erzeugen, sodass ein gespeichertes Ergebnis die erneute Prüfung umging.
-
Wie viel Bitcoin gab Liquids Federation frei?
Die Federation gab rund 3.996 BTC frei, die zu diesem Zeitpunkt etwa 320 Millionen Dollar wert waren. SideSwap zufolge leitete sie fast den gesamten Betrag an die Adresse des Kunden weiter.
-
Welche Rolle spielte der Auszahlungsprozess von SideSwap bei dem Exploit?
SideSwap zufolge akzeptierte sein automatisierter Peg-out-Service eine Order über 4.000 L-BTC ohne Prüfungen zu Höhe, Geschwindigkeit, Verhältnis zum Bestand, Wallet-Historie oder menschlicher Freigabe. Die Federation unterzeichnete die außergewöhnliche Anfrage später, nachdem zwei Auszahlungsversuche fehlgeschlagen…
-
Hätte ein Auszahlungslimit den Bitcoin-Verlust verhindern können?
Ein Auszahlungslimit vor der Autorisierung oder der Unterzeichnung durch die Federation hätte diesen konkreten Auszahlungspfad unterbrechen können. Den zugrunde liegenden Fehler bei der Konsensvalidierung hätte es jedoch nicht behoben.
-
Welche Maßnahmen setzten Elements und Liquid nach dem Vorfall um?
Elements kodierte Feldlängen in Cache-Schlüsseln, ergänzte auf Kollisionen ausgerichtete Tests und führte eine Option ein, den Range-Proof-Cache zu umgehen. Danach folgte Version 23.3.4. Liquid hielt die Peg-outs pausiert, bis Deckungsprüfungen, Software-Updates, Tests und unabhängige Prüfungen abgeschlossen waren.