Egy kritikus hiba órákra lefagyasztotta a Bitcoin tranzakciókat a Lightning Networkön belül

Vasárnap késő este a fejlesztők egy kritikus érvényesítési hibát fedeztek fel az LND-n, a Bitcoin Lightning Network egyik népszerű implementációjában, amelyet a Lightning Labs fejleszt és támogat. Konkrétan, az LND Bitcoin teljes node  implementációjában, a BTCD-ben volt egy hiba a Taproot verziójában. (A BTCD a Bitcoin teljes node implementációja, amely népszerű a Lightning Network felhasználói körében.) A hiba az LND 0.15.1-es és régebbi verzióit érinti. Az LND arra kéri az összes felhasználókat, hogy frissítsenek a 0.15.2 verzióra.

Az LND hiba befolyásolta a Lightning csomópontok működését, és néhány órán keresztül megakadályozta, hogy az LND felhasználók a Layer-2-es Lightning Networkből a mainnet-re, Layer 1-es Bitcoinra lépjenek ki. Amíg a hiba nem volt megoldva, az LND-felhasználók nem tudtak új Lightning-csatornákat létrehozni vagy lezárni.

LND hiba

Egy nagyméretű multi-sig Taproot tranzakció leplezte le a hibát

A fejlesztők az LND hibát a Bitcoin Scripting Language, a Bitcoin egyik programozási nyelvének határait tesztelve fedezték fel. Egy rendkívül fejlett okos szerződést akartak tesztelni, amely számos fél általi társ-hitelesítést igényelt.

A teszt elvégzéséhez az egyik fejlesztő létrehozott egy nagy multi-sig Taproot tranzakciót. Ehhez 998 privát kulcsos aláírásra volt szükség a bitcoin küldésének hitelesítéséhez. Hogy ezt a 998-as számot kontextusba helyezzük, vegyük figyelembe, hogy a Lightning Network felhasználói jellemzően csak 2-2 multi-sig tranzakcióval nyitnak csatornát. Ezt a Taproot-tranzakciót a tesztnet blokkgyártói elfogadták. A tranzakciót később kibányászták egy mainnet Bitcoin blokkban. Ezután a tranzakció megtörte az LND-t.

Ez a hibás tranzakció így megzavarta az LND által használt azt a módszert, amely kiszámította, hogy mi volt a legutolsó Bitcoin-blokk. Konkrétan az LND a hibás könyvtára miatt nem tudott hozzáadni egy új blokkot. A hibanaplóban a következő üzenet jelent meg: „Unable to complete chain rescan. readScript. script witness item is larger than the max permitted size.”

A Lightning Labs csapata azonnal elkezdte az LND hiba javítását, és a javítás a 0.15.2 verzió kiadásával jelent meg.

Ez a hiba rávilágít a kereszt-implementációs watchtower szolgáltatások szükségességére

A hibaelhárítási folyamat után a fejlesztők ismét hangoztatták, hogy szükség lenne egy olyan watchtower (őrtorony) szolgáltatásra, amelyek figyeli a különféle implementációkat.

Ez a hiba most csak az LND-t érintette. Az LND a Lightning Network egyik népszerű implementációja, de léteznek más implementációk is, mint az Éclair és a Core Lightning.

A watchtower-ek olyan harmadik féltől származó szolgáltatások, amelyek felügyelik a nyilvánosan nyomonkövethető Bitcoin Lightning Network hálózatot. Egyúttal lehetővé teszik a felhasználók számára, hogy kártérítést kérjenek a hibás operációért. A watchtower-ek a Lightning összes implementációját figyelemmel tudnák kísérni, hogy megvédjék a felhasználókat bármelyik implementáció kiesése esetén.

Egy ilyen őrtorony, amely az összes implementációt (LND, Core Lightning, Éclair stb.) felügyeli, megvédhetné a felhasználót a hibák vagy hackelések során. Lehetővé téve számukra, hogy Justice Transaction-t tegyenek közzé, ha valaki megpróbálja ellopni a pénzüket a szolgáltatás kiesésekor. Ma már létezik néhány kisebb, implementációkon átívelő őrtorony, mint például az Eye of Satoshi, de ezeket nem használják még széles körben.

Jelen írás nem minősül befektetési tanácsadásnak. Részletes jogi információ