Probleem bij lightning netwerk, opnieuw bug in lnd-implementatie

Het is weer zover. Bitcoiner 'Burak' heeft weer een deel van het lightning netwerk plat gelegd. Huh, dat is toch oud nieuws, denk je misschien. Nee! Het is de tweede keer in nog geen maand tijd dat hij het voor elkaar krijgt.

Deel lightning down

Deze keer was het een soortgelijk probleem als op 10 oktober, maar net iets geniepiger. Bij block 761.248 stopte lnd ineens. Dit is de lightning implementatie van Lightning Labs die door veel nodes worden gebruikt.

Koop gemakkelijk en snel Bitcoin bij Bitvavo. Ga aan de slag en betaal geen handelskosten voor je eerste aankoop tot €1.000 !

In dit block zat een bijzondere transactie. Het was wederom Burak die aan het spelen was met parameters bínnen bitcoin, maar die niet binnen bitcoind (wat lnd als onderlaag gebruikt) goed werden opgepakt.

Het bijzondere: de transactie had een boodschap in de OP_RETURN, verwijzend naar Core Lightning - de concurrent van lnd: 'you'll run cln. and you'll be happy''. Burak deelde ook direct op GitHub de oplossing:

- Changing the maxWitnessItemsPerInput parameter from 500,000 to 4,000,000 solves the issue.

Hetgeen voor het probleem zorgde in lnd, was nogal technisch. In bitcoin zit een consensus regel dat de limiet op 'stack items' maximaal 1000 is. In een Pay-to-Taproot betaling kon hij deze regel overschrijden met 500.001 lege 'pushes'. Hierdoor kwam er een conflict tussen btcd en Bitcoin Core.

Op de mainchain werkte de betaling goed, maar deze zelfde betaling zorgde ervoor dat lnd-nodes ermee stopten.

Oplossingen

Het probleem werd direct opgelost en node-diensten zoals Umbrel, MyNode en Razpiblitz kwamen allemaal al snel met updates waarin gebruikers naar LND v0.15.4-beta kunnen overstappen. Draai je een lnd-node, dan is het goed om hier even actief mee bezig te gaan!

Het probleem was overigens al bekend bij Lightning Labs, gezien Anthony Towns dit twee weken geleden al aankaartte.

Burak vond dit probleem ook maar maakte echter van de mogelijkheid gebruik om dit te misbruiken door op het mainnet de transactie te doen. Hij had dit op andere manieren kunnen aanpakken (met een testnet-betaling of een vulnerability disclosure).

Daardoor is er ook kritiek op het handelen van Burak. Is dit wel zo ethisch?

Op Bitcoin Focus kon je twee weken geleden al een uitgebreid verhaal lezen over het eerste probleem! In editie #110 lees je: Kortsluiting op lightning legt deel netwerk plat.

Wil je op de hoogte blijven over alle ontwikkelingen? Kom dan eens langs in onze Telegram chat, en download ook vooral onze Android Nieuws app of iOS Nieuws app!

Lees meer over:
Bitcoin nieuwslightning