Bug fryser bitcoin i Lightning Network i timmar

Sent på söndagen, forskare upptäckt en kritisk valideringsbugg på LND, en populär implementering av Bitcoins Lightning Network som försvaras av Lightning Labs.

Närmare bestämt hade LND:s Bitcoin full nod-implementering, BTCD, en bugg dess införande av Pålrot. (BTCD är en fullständig nodimplementering för Bitcoin som är populär bland Lightning Network-användare.)

Felet påverkar LND version 0.15.1 och äldre. LND uppmanar alla användare att uppgradera till v0.15.2.

LND-felet påverkade hur Lightning-noder fungerade och hindrade LND-användare från att lämna lager 2 Lightning Network till mainnet, lager 1 Bitcoin under några timmar. Medan felet var olöst, LND-användare kunde inte skapa eller stänga nya Lightning-kanaler.

En massiv multi-sig Taproot-transaktion avslöjade buggen

Forskare upptäckte LND-felet medan de testade gränserna för Bitcoin skriptspråk, ett programmeringsspråk för Bitcoin. De ville testa ett extremt avancerat smart kontrakt som krävde samautentisering av många parter.

För att utföra detta test, en forskare, Burak, skapas en stor 998-av-999 multi-sig Taproot transaktion. Detta krävde 998 privata nyckelsignaturer för att autentisera att skicka bitcoin — ett extraordinärt antal medundertecknare.

För att sätta den 998-siffran i ett sammanhang, tänk på att Lightning Network-användare vanligtvis öppnar kanaler med bara 2-av-2 multi-sig-transaktioner.

998-av-999 multi-sig Taproot-transaktionen var accepteras av tillverkare av testnätblock. Transaktionen bröts senare i ett mainnet Bitcoin-block. Sedan transaktionen pank LND.

Den transaktionen förvirrade metoden som användes av LND för att beräkna vad det senaste Bitcoin-blocket var. Specifikt kunde LND inte analysera ett nytt block på grund av dess felaktiga bibliotek. Det följande meddelande skulle visas i felloggar: "Det går inte att slutföra omsökning av kedjan: readScript: skriptvittnesobjektet är större än den högsta tillåtna storleken."

Lightning Labs började genast arbetet på ett LND-fel fast, uppdaterar BTCD:s trådanalysbibliotek och planerade att släppa version 0.15.2

Läs mer: Offline Bitcoin Lightning-betalningar kommer snart att vara möjliga

Belyser behovet av korsimplementerande vakttornstjänster

Efter bugglösningsprocessen började forskare uttrycka ett behov av vakttornstjänster som är implementerings-agnostiska.

Denna bugg påverkade bara LND. LND är en populär implementering av Lightning Network. Andra implementeringar inkluderar Éclair och Core Lightning.

Vakttorn är tredjepartstjänster som övervakar det offentligt synliga Bitcoin Lightning Network och tillåter användare att söka ersättning för felaktigt beteende. Vakttornen kunde övervaka alla implementeringar av Lightning för att skydda användare under avbrott i en viss implementering.

Till exempel, eftersom de flesta användare går med i Lightning som en 2-av-2 multi-sig transaktion, de brukar lita på att en motpart inte ljuger om slutbalansen bitcoin i varandras ägo när man stänger kanalen och lämnar nätverket till mainnet Bitcoin.

Om någon ljuger om bitcoin i sin ägo vid försök att stänga en Lightning-kanal kan en användare som kan bevisa denna lögn publicera en annan, s.k. Rättvisa transaktion, och ta 100% av bitcoin i deras kanal som en belöning för att fånga lögnen.

Ett vakttorn som övervakar alla implementeringar (LND, Core Lightning, Éclair, etc.) skulle kunna skydda en användare under buggar eller hack, vilket gör att de kan publicera rättvisa transaktioner om någon försöker stjäla sina pengar under serviceavbrott. Det finns några små, korsimplementerade vakttorn som Satoshis öga, men de används inte i stor utsträckning.

För mer informerade nyheter, följ oss vidare Twitter och Google Nyheter eller lyssna på vår undersökande podcast Innoverat: Blockchain City.

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