Problem mit dem Lightning Netzwerk, wieder ein Fehler in der lnd Implementierung

Es ist wieder so weit. Bitcoiner ‚Burak‘ hat wieder einen Teil des Lightning Netzwerks lahmgelegt. Huh, das sind doch alte Nachrichten, könnte man meinen. Nein! Es ist das zweite Mal in weniger als einem Monat, dass er es geschafft hat.

Teilweiser Absturz des Stromnetzes

Diesmal war es ein ähnliches Problem wie am 10. Oktober, nur noch ein bisschen heimtückischer. Bei Block 761.248 blieb lnd plötzlich stehen. Dabei handelt es sich um die Lightning Implementierung von Lightning Labs, die von vielen Nodes verwendet wird.

Dieser Block enthielt eine ungewöhnliche Transaktion. Es war wieder einmal Burak, der mit Parametern binnen Bitcoin herumspielte, die aber von Bitcoind (das lnd als Underlay verwendet) nicht richtig erfasst wurden.

Die Besonderheit: Die Transaktion hatte eine Nachricht in der OP_RETURN, die sich auf Core Lightning – den Konkurrenten von lnd bezog: „you’ll run cln. and you’ll be happy'“. Burak teilte die Lösung auch direkt auf GitHub:

Das Ändern des Parameters maxWitnessItemsPerInput von 500.000 auf 4.000.000 löst das Problem.

Die Ursache für das Problem in lnd war eher technischer Natur. In Bitcoin gibt es eine Konsensregel, die besagt, dass das Limit für „Stack Items“ maximal 1.000 beträgt. Bei einer Pay-to-Taproot Zahlung war er in der Lage, diese Regel mit 500.001 leeren „Pushes“ zu überschreiten. Dadurch entstand ein Konflikt zwischen btcd und Bitcoin Core.

Auf der Mainchain funktionierte die Zahlung einwandfrei, aber dieselbe Zahlung führte dazu, dass lnd Knoten beendet wurden.

Lösungen

Das Problem wurde sofort behoben und Node Dienste wie Umbrel, MyNode und Razpiblitz brachten bald Updates heraus, die es den Nutzern ermöglichten, auf LND v0.15.4-beta zu wechseln. Wenn Sie einen LND Knoten betreiben, ist es eine gute Idee, sich einen Moment Zeit zu nehmen, um mit diesem Problem aktiv zu werden!

Übrigens war das Problem Lightning Labs bereits bekannt, da Anthony Towns vor zwei Wochen darauf hinwies.

Burak hat dieses Problem ebenfalls entdeckt, aber die Gelegenheit genutzt, es auszunutzen, indem er die Transaktion im Mainnet durchführte. Er hätte das Problem auch auf andere Weise lösen können (mit einer Testnet Zahlung oder einer Offenlegung der Schwachstelle).

Infolgedessen wurde auch Buraks Vorgehen kritisiert. Ist das wirklich ethisch vertretbar?

https://twitter.com/r32a_/status/1587409132973334532

Auf Bitcoin Focus konnten Sie bereits vor zwei Wochen einen ausführlichen Bericht über die erste Ausgabe lesen! In Ausgabe #110 war zu lesen: Absturz des Stromnetzes legt Teil des Netzwerks lahm.

Author