Bug fryser bitcoin inde i Lightning Network i timevis

Sent på søndag, forskere opdaget en kritisk valideringsfejl på LND, en populær implementering af Bitcoins Lightning Network forkæmper af Lyn Labs.

Specifikt havde LND's Bitcoin full node implementering, BTCD, en fejl i dens gennemførelse af pælerod. (BTCD er en fuld nodeimplementering for Bitcoin, der er populær blandt Lightning Network-brugere.)

Fejlen påvirker LND version 0.15.1 og ældre. LND opfordrer alle brugere til at opgradere til v0.15.2.

LND-fejlen påvirkede, hvordan Lightning-noder fungerede og forhindrede LND-brugere i at forlade lag 2 Lightning-netværket til mainnet, lag 1 Bitcoin i et par timer. Mens fejlen var uløst, havde LND-brugere kunne ikke oprette eller lukke nye Lightning-kanaler.

Massiv multi-sig Taproot-transaktion afslørede fejlen

Forskere opdagede LND-fejlen, mens de testede grænserne for Bitcoin scriptsprog, et programmeringssprog for Bitcoin. De ønskede at teste en ekstremt avanceret smart kontrakt, der krævede co-autentificering af adskillige parter.

For at udføre denne test, en forsker, Burak, oprettet en stor 998-af-999 multi-sig pælerod transaktion. Dette krævede 998 private nøglesignaturer for at godkende afsendelse af bitcoin — et ekstraordinært antal medunderskrivere.

For at sætte det 998 tal ind i kontekst, overvej, at Lightning Network-brugere typisk åbner kanaler ved hjælp af kun 2-af-2 multi-sig-transaktioner.

998-af-999 multi-sig Taproot-transaktionen var accepteret af testnet-blokproducenter. Transaktionen blev senere udvundet i en mainnet Bitcoin-blok. Derefter transaktionen gik i stykker LND.

Denne transaktion forvirrede den metode, som LND brugte til at beregne, hvad den seneste Bitcoin-blok var. Specifikt var LND ikke i stand til at parse en ny blok på grund af dens defekte bibliotek. Det følgende besked vil blive vist i fejllogfiler: "Kæden kan ikke genscannes: readScript: scriptvidneelementet er større end den maksimalt tilladte størrelse."

Lyn Labs straks påbegyndt arbejdet på en LND-fejl fastsætte, opdaterer BTCD's wire-parsing-bibliotek og planlagde at frigive version 0.15.2

Læs mere: Offline Bitcoin Lightning-betalinger vil snart være mulige

Fremhæver behovet for krydsimplementering af vagttårnstjenester

Efter fejlløsningsprocessen begyndte forskere at udtrykke et behov for vagttårnstjenester, der er implementerings-agnostiske.

Denne fejl påvirkede kun LND. LND er en populær implementering af Lightning Network. Andre implementeringer inkluderer Éclair og Core Lightning.

Vagttårne ​​er tredjepartstjenester, der overvåger det offentligt synlige Bitcoin Lightning-netværk og tillader brugere at søge erstatning for dårlig opførsel. Watchtowers kunne overvåge alle implementeringer af Lightning for at beskytte brugere under udfald af en bestemt implementering.

For eksempel, fordi de fleste brugere tilslutter sig Lightning som en 2-af-2 multi-sig transaktion, de stoler normalt på, at en modpart ikke lyver om den endelige balance af bitcoin i hinandens besiddelse, når de lukker kanalen og forlader netværket til mainnet Bitcoin.

Hvis nogen lyver om bitcoin i deres besiddelse, når de forsøger at lukke en Lightning-kanal, kan en bruger, der kan bevise denne løgn, udgive en anden, såkaldt Retfærdighedstransaktion, og tage 100% af bitcoin i deres kanal som en belønning for at fange løgnen.

Et vagttårn, der overvåger alle implementeringer (LND, Core Lightning, Éclair, osv.) kunne beskytte en bruger under fejl eller hacks, hvilket giver dem mulighed for at udgive Justice Transactions hvis nogen forsøger at stjæle deres penge under serviceafbrydelser. Der er nogle små vagttårne ​​med krydsimplementering Satoshis øje, men de er ikke meget brugt.

For mere informerede nyheder, følg os på Twitter , Google Nyheder eller lyt til vores undersøgende podcast Fornyet: Blockchain City.

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