Digitale aktiver
Driftsforstyrrelser i Lightning-noder: hvad skete der med LND?

I oktober og begyndelsen af november 2022 blev noder med LND, en implementering af Bitcoins Lightning Network, ramt af to driftsforstyrrelser på under en måned. En bruger fik usædvanlige, men efter Bitcoins regler gyldige transaktioner medtaget i blokke. De afslørede fejl i LND’s behandling af data, så de berørte noder ikke længere kunne følge Bitcoin-kæden. Hele Lightning Network gik ikke ned, og Bitcoins konsensusregler blev ikke ændret. Brugeren var kendt som Burak på krypto-Twitter med brugernavnet @brqgoo.
Buraks handlinger
Ifølge oplysninger, der cirkulerede dengang og ikke er bekræftet her, betalte Burak 700 dollar til den store Bitcoin-minepool F2Pool for at få sin usædvanlige transaktion medtaget. Transaktionen indeholdt beskeden: »Du vil køre CLN, og du vil være glad.« CLN står for Core Lightning, en anden implementering af Lightning Network end LND (Lightning Network Daemon). Den beskrevne fejl ramte LND, mens Core Lightning ikke blev påvirket af netop denne fejl.
Hændelsen i begyndelsen af november var den anden inden for en måned. I oktober tweetede Burak: »Jeg har lige gennemført en tapscript-multisig, der kræver 998 af 999 underskrifter, og det kostede kun 4,90 dollar i transaktionsgebyr.« Transaktionen afslørede en behandlingsfejl, som forhindrede berørte LND-noder i at fortsætte synkroniseringen med Bitcoin-kæden. Lightning producerer ikke selv blokke; hændelsen betød altså ikke, at Lightning undlod at producere en blok.
Omkring den anden hændelse i begyndelsen af november 2022 offentliggjorde han et tweet med ordene: »For at finde lyset må vi nogle gange først røre ved mørket.« Nogle betragtede ham som en ondsindet angriber, mens andre så en person, der belastningstestede softwaren og afslørede svagheder. Bitcoin- og Lightning-udvikleren og underviseren Rene Pickhardt bemærkede, at hans Core Lightning-noder ikke var ramt. Det var efter hans vurdering ingen garanti mod andre, endnu ukendte fejl i Core Lightning.
https://twitter.com/renepickhardt/status/1587412127240830977?t=CruzE6Z16ST8V2CO6LcuGA&s=19
Lightning Labs, der udvikler LND og bidrager til det bredere Lightning-økosystem, reagerede med en akut fejlrettelse på GitHub. Version v0.15.4-beta fra 1. november 2022 rettede behandlingen af visse transaktioner med meget mange witness-elementer. I oktober var v0.15.2-beta allerede udgivet for at rette behandlingen af visse store blokke. Lightning Labs udvikler dermed én vigtig implementering, ikke alene hele Lightning Network.
Hvad er Lightning Network, og hvorfor er det vigtigt for Bitcoin?
Lightning Network er en løsning på lag 2, som skal øge kapaciteten for Bitcoin-betalinger. Den begrænsede plads i Bitcoin-blokke kan under stor belastning føre til højere gebyrer og længere bekræftelsestider. Lightning flytter mange betalingsopdateringer uden for hovedkæden, mens afviklingen fortsat bygger på Bitcoin. Det er en supplerende protokol oven på Bitcoin, ikke en erstatning for grundlagets regler.
I Lightning opdaterer parterne saldi uden for blockchainen, også kaldet off-chain-betalinger. Derfor behøver hver betaling ikke indgå i en Bitcoin-blok. Ofte nævnte millioner af betalinger i sekundet er skøn over skaleringspotentialet, ikke en dokumenteret fast kapacitet for hele netværket. Heller ikke »højst syv« Bitcoin-transaktioner i sekundet er en universel konstant; kapaciteten afhænger blandt andet af transaktionernes størrelse. For Lightning spiller kanalernes likviditet og de tilgængelige betalingsruter også en rolle.
Bitcoin-blokke har begrænset plads. Ubekræftede transaktioner kan vente i nodernes mempooler, og mineoperatører vælger normalt efter gebyr frem for en garanteret rækkefølge efter ankomst. Målet er i gennemsnit én blok hvert tiende minut, men de faktiske intervaller varierer. En betaling med lavt gebyr kan ved stor belastning vente timer eller dage på bekræftelse, selv om nye blokke fortsat bliver produceret. Det gør hurtige hverdagsbetalinger vanskeligere.
Lightning bruger betalingskanaler mellem to parter, og betalinger kan sendes gennem flere forbundne kanaler. En finansieringstransaktion åbner kanalen på Bitcoin; hver senere betaling åbner ikke en ny kanal. Parterne udveksler underskrevne saldoopdateringer uden at offentliggøre hver ændring på kæden. De vedligeholder den aktuelle tilstand, som kan håndhæves, ikke en offentlig hovedbog over alle betalinger. Ved lukning bekræftes en afviklingstransaktion på Bitcoin. Kanalen kan lukkes i fællesskab eller ensidigt; en ensidig lukning kan kræve ventetider og yderligere transaktioner.
I grundmodellen registreres finansieringen og lukningen på blockchainen, mens almindelige betalingsopdateringer foregår uden for kæden. En tvangslukning eller tvist kan dog kræve flere transaktioner, så »kun åbning og lukning« er for kategorisk. Lightning var fortsat under udvikling. Hurtigere betalinger og ofte lavere gebyrer kan fremme brugen af kryptovalutaer, men garanterer ikke bred udbredelse.












