Het is weer zover. Bitcoiner ‘Burak’ heeft weer een deel van het lightning netwerk platgelegd. Huh, dat is oud nieuws, zou je kunnen denken. Nee! Het is de tweede keer in minder dan een maand dat het hem lukt.
Deel bliksem uit
Deze keer was het een soortgelijk probleem als op 10 oktober, maar net iets verraderlijker. Bij blok 761.248 stopte lnd plotseling. Dit is Lightning Labs’ lightning implementatie die door veel nodes wordt gebruikt.
Dit blok bevatte een ongebruikelijke transactie. Het was opnieuw Burak die speelde met parameters bínnen bitcoin, maar die niet goed werden opgepikt binnen bitcoind (dat lnd als onderlaag gebruikt).
Sometimes to find the light, we must first touch the darkness.https://t.co/dhCwF0DxpE
— Burak (@brqgoo) November 1, 2022
De bijzonderheid: de transactie had een bericht in de OP_RETURN, verwijzend naar Core Lightning – de concurrent van lnd: ‘je zult cln. draaien en je zult blij zijn'”. Burak deelde de oplossing ook direct op GitHub:
– Het veranderen van de maxWitnessItemsPerInput parameter van 500.000 naar 4.000.000 lost het probleem op.
Wat het probleem in lnd veroorzaakte was nogal technisch. In bitcoin is er een consensusregel dat de limiet op ‘stack items’ maximaal 1.000 is. In een Pay-to-Taproot betaling kon hij deze regel overschrijden met 500.001 lege ‘pushes’. Dit veroorzaakte een conflict tussen btcd en Bitcoin Core.
Op de mainchain werkte de betaling prima, maar deze zelfde betaling zorgde ervoor dat lnd-nodes afhaakten.
Oplossingen
Het probleem werd onmiddellijk opgelost en node diensten zoals Umbrel, MyNode en Razpiblitz kwamen allemaal snel met updates waardoor gebruikers konden overschakelen naar LND v0.15.4-beta. Als je een lnd node draait, is het een goed idee om even de tijd te nemen om hiermee actief te worden!
Overigens was het probleem al bekend bij Lightning Labs, aangezien Anthony Towns dit twee weken geleden aankaartte.
Burak vond dit probleem ook, maar maakte van de gelegenheid gebruik om het uit te buiten door de transactie op het mainnet te doen. Hij had dit op andere manieren kunnen aanpakken (met een testnet betaling of een kwetsbaarheid onthulling).
Als gevolg daarvan zijn ook de acties van Burak bekritiseerd. Is dit echt ethisch verantwoord?
The ethical thing to do is to a vulnerability disclosure to the @lightning Labs team instead of taking down majority of the nodes in the network. https://t.co/Z9ZFxWSqI4
— Reza⚡️ (@r32a_) November 1, 2022
Op Bitcoin Focus kon je twee weken geleden al een uitgebreid verhaal lezen over de eerste kwestie! In editie #110 las u: Kortsluiting op bliksem legt deel van netwerk plat.