Egy újabb hiba rövid időre leállította a Lightning Network egy részét

Kevesebb mint egy hónapon belül már másodszor vált inkompatibilissé a btcd (a Bitcoin egy alternatív implementációja), és ezzel együtt az LND (az egyik Lightning implementáció) a Bitcoin-hálózat többi részével egy Burak nevű fejlesztő beavatkozása miatt.

Október 9-én Burak végrehajtott egy 998-0f-999 tapscript multisig tranzakciót. Ezt a btcd érvénytelennek tekintette, míg a Bitcoin Core és a többi implementáció helyesen érvényesnek ismert el. Mivel az LND Lightning Network implementációja a btcd-től függ, az inkompatibilissé vált a Lightning Network többi részével, így problémát okozott a felhasználóik körében a biztonságos tranzakciók végrehajtásában.

Lightning Network hiba

Ugorjunk egyet előre az időben egészen november 4-ig. Burak ismét visszatért, hogy megzavarja a btcd-t és az LND-t a fent látható tranzakciótípussal. Egy P2TR (pay-to-taproot) költés, amely N OP_SUCCESSx-et tartalmaz 500,001 push-hal, ami meghaladja a btcd-be bekódolt hardlimitet. Míg a korábbi 998-of-999 tapscript multisig tranzakció egy véletlen hibának tűnt, Burak tegnapi tranzakciója már inkább egy nyílt hackertámadásnak tekinthető.

Bizonyíték arra, hogy Burak tudta, hogy ez meg fogja törni az LND-t

Az OP_SUCCESSx tranzakcióval kapcsolatban meg kell jegyezni, hogy jellemzően nem kerülne be egy blokkba. Úgy tűnik azonban, hogy Burak megvesztegette a bányászokat azzal, hogy különösen magas díjat csatolt ehhez a tranzakcióhoz, aminek az F2Pool nem tudott ellenállni.

Lightning Network hiba

Ez a szituáció sok vitát váltott ki az elmúlt két napban. Hibázott Burak, amikor kihasználta ezt a hibát a mainneten? Vagy inkább megfelelő módon tudatni kellett volna a sebezhetőséget a btcd és az LND fejlesztői csapatával privátban, lehetővé téve számukra a kód befoltozását, mielőtt a hibát valóban kihasználnák? Az LND-nek a btcd-től kell függenie, amely a Bitcoin egy alternatív implementációja, viszont közel sem kap annyi figyelmet és felülvizsgálatot, mint a Bitcoin Core?

Nem tudhatjuk mi lenne a jó cselekedet.

Ez azonban a nyílt forráskódú elosztott rendszerek természete. Rengeteg sebezhetőség lappanghat odakint, és nincs egyértelmű módja a problémák kezelésének. Sokan támogatják a felelősségteljesen a hiba megosztását privátban a fejlesztőkkel. Míg mások a nyílt, ellenséges fellépést szorgalmazzák, amely kikényszeríti a problémát. Ez tehát az egyik olyan kompromisszum, amelyet akkor választunk, amikor úgy döntünk, hogy egy szabadpiaci monetáris hálózatot választunk.