Bug fryser bitcoin inne i Lightning Network i timevis

Sent på søndag, forskere oppdaget en kritisk valideringsfeil på LND, en populær implementering av Bitcoins Lightning Network forkjempet av Lyn Labs.

Nærmere bestemt hadde LNDs Bitcoin full node-implementering, BTCD, en feil dens Implementering av taproot. (BTCD er en full nodeimplementering for Bitcoin som er populær blant Lightning Network-brukere.)

Feilen påvirker LND versjoner 0.15.1 og eldre. LND oppfordrer alle brukere til å oppgradere til v0.15.2.

LND-feilen påvirket hvordan Lightning-noder fungerte og forhindret LND-brukere fra å gå ut av lag 2 Lightning Network til mainnet, lag 1 Bitcoin i noen timer. Mens feilen var uløst, LND-brukere kunne ikke opprette eller lukke nye Lightning-kanaler.

Massiv multi-sig Taproot-transaksjon avduket feilen

Forskere oppdaget LND-feilen mens de testet grensene for Bitcoin skriptspråk, et programmeringsspråk for Bitcoin. De ønsket å teste en ekstremt avansert smart kontrakt som krevde samautentisering av en rekke parter.

For å gjennomføre denne testen, en forsker, Burak, opprettet en stor 998-av-999 multi-sig pælerot Transaksjonen. Dette krevde 998 private nøkkelsignaturer for å autentisere sending av bitcoin - en ekstraordinær mengde medunderskrivere.

For å sette det 998-tallet i kontekst, tenk på at Lightning Network-brukere vanligvis åpner kanaler ved å bruke bare 2-av-2 multi-sig-transaksjoner.

998-av-999 multi-sig Taproot-transaksjonen var akseptert av produsenter av testnettblokker. Transaksjonen ble senere utvunnet i en mainnet Bitcoin-blokk. Deretter transaksjonen blakk LND.

Den transaksjonen forvirret metoden som ble brukt av LND for å beregne hva den siste Bitcoin-blokken var. Nærmere bestemt klarte ikke LND å analysere en ny blokk på grunn av dens feil bibliotek. Følgende melding vil vises i feillogger: "Kan ikke fullføre kjeden på nytt: readScript: skriptvitneelementet er større enn den maksimalt tillatte størrelsen."

Lyn Labs begynte straks arbeidet på en LND-feil fastsette, oppdaterer BTCDs wire-parsing-bibliotek, og planla å gi ut versjon 0.15.2

Les mer: Offline Bitcoin Lightning-betalinger vil snart være mulig

Fremhever behovet for kryssimplementering av vakttårntjenester

Etter feilløsningsprosessen begynte forskere å uttrykke et behov for vakttårntjenester som er implementeringsagnostiske.

Denne feilen påvirket bare LND. LND er en populær implementering av Lightning Network. Andre implementeringer inkluderer Éclair og Core Lightning.

Vakttårn er tredjepartstjenester som overvåker det offentlig synlige Bitcoin Lightning Network og lar brukere søke erstatning for dårlig oppførsel. Vakttårnene kunne overvåke alle implementeringer av Lightning for å beskytte brukere under utfall av en bestemt implementering.

For eksempel, fordi de fleste brukere blir med i Lightning som en 2-av-2 multi-sig transaksjon, de stoler vanligvis på at en motpart ikke lyver om den endelige balansen av bitcoin i hverandres besittelse når de stenger kanalen og går ut av nettverket til mainnet Bitcoin.

Hvis noen lyver om bitcoinen som er i deres besittelse ved forsøk på å stenge en Lightning-kanal, kan en bruker som kan bevise denne løgnen publisere en annen, s.k. Rettferdighetstransaksjon, og ta 100 % av bitcoinen i kanalen deres som belønning for å fange løgnen.

Et vakttårn som overvåker alle implementeringer (LND, Core Lightning, Éclair, etc.) kan beskytte en bruker under feil eller hacks, slik at de kan publisere Justice Transactions hvis noen prøver å stjele pengene deres under tjenesteavbrudd. Det er noen små, kryssimplementerte vakttårn som Eye of Satoshi, men de er ikke mye brukt.

For mer informerte nyheter, følg oss videre Twitter og Google Nyheter eller lytt til vår undersøkende podcast Nyskapt: Blockchain City.

Kilde: https://protos.com/taproot-bug-freezes-bitcoin-inside-lightning-network-for-hours/