Veszélyes a bitcoin többféle implementációja? PlatoBlockchain adatintelligencia. Függőleges keresés. Ai.

Veszélyes a bitcoin többféle implementációja?

Ez egy szerkesztői vélemény Bill Scoresby, egy bitcoin-alapú kisvállalkozás tulajdonosa és számos, a bitcoin önőrzésére vonatkozó útmutató írója.

A hibák, amelyek miatt a közelmúltban sok LND csomópont kiesett a szinkronból a Bitcoin blokklánccal, ezek voltak valószínűleg egy alternatív megvalósítás okozta.

Talán azon tűnődsz: „Ki a világon használ mást, mint Bitcoin Core?” Lehet, hogy nem tudta, hogy a Bitcoin más megvalósításai is léteznek. Talán nem biztos abban, hogy mit jelent egy eltérő megvalósítás.

A Bitcoin Core úgy kezdődött, mint a szoftver, amely Satoshi Nakamoto C++-ban írt és adták ki a világnak. Frissítették a mai napig tartó új verziókkal. Egy alternatív megvalósítás egy olyan szoftver, amely ugyanazt teszi, mint a Bitcoin Core – ugyanazokat a konszenzusszabályokat érvényesíti –, de másképp írják, leggyakrabban más kódolási nyelven.

Hogyan törte meg a Lightning hálózat csomópontjait egy alternatív megvalósítás?

Az egyik fő Lightning Network csomópont verzió (LND) egy másik btcd nevű Bitcoin megvalósításra támaszkodik. Amikor egy fejlesztő létrehozott egy nagyon nagy multisig tranzakciót, a btcd nem látta érvényesnek, mert túl sok tanúadatot tartalmazott. Más Bitcoin-megvalósítások – ezek közül a legfontosabb a Bitcoin Core – nem rendelkeztek ilyen korláttal a Taproot tranzakciós tanúi adatokra vonatkozóan, ezért elfogadták a tranzakciót és az azt tartalmazó blokkot érvényesnek.

Az eredmény az volt, hogy a bányászok folyamatosan új blokkokat adtak a lánchoz, mert nem használtak btcd-t, és szabályaik szerint semmi sem volt baj, de az LND Lightning csomópontok nem tudták felismerni az új blokkok egyikét sem, mert a blokk tetejére épültek. azt az egy tranzakciót, amelyet érvénytelennek láttak.

Amikor a hiba november 1-jén ismét megtörtént, nem csak az LND-csomópontokat érintette. Egyes electrs-példányok (az Electrum Wallet háttérkiszolgálójának megvalósítása) szintén nem jutottak konszenzusra a lánc többi tagjával. Míg az LND csomópontokat a btcd hasonló problémája miatt konszenzusból kizárták, a Rust nyelven írt Bitcoin implementációja volt, hogy okozta az electrs csomópontok lemaradását, beleértve néhány nagyon jól látható szervert is a mempool.space által működtetett.

A tanúadatok méretének korlátozása létezik a DoS támadások megelőzésére, és a Bitcoin Core része is (bár a Core-nak nagyobb korlátja van a Taproot tranzakciókra). Úgy tűnik, hogy a másik két megvalósításban, amely kiesett a szinkronból, volt ez a kód fenntartotta a kisebb határt.

A megvalósítások közötti nagyon kis eltérések konszenzus hiányához vezethetnek.

A bitcoin többféle megvalósítása veszélyes

Satoshi nem tetszett a Bitcoin többszörös megvalósításának ötlete. "Nem hiszem, hogy a Bitcoin második, kompatibilis megvalósítása valaha is jó ötlet lenne." Az okot a következőképpen indokolta: „A tervezés nagy része attól függ, hogy minden csomópont pontosan azonos eredményt kap-e a lockstep-ben, hogy a második megvalósítás veszélyt jelentene a hálózatra.”

Fenyegetés? Mi a nagy baj?

Valószínűleg hallottad már, hogy az a lánc, amelyik a legjobban bizonyítja a munkát. Amikor két különböző bányász egyszerre talál egy blokkot, a lánc kettéválik, és a többi bányász elkezdi építeni azt a blokkot, amelyről először hall.

Amint egy új blokkot adnak a felosztás egyik oldalához, a legtöbb csomópont és bányász elfogadja ezt az új valódi láncként, és elhagyja a felosztás másik oldalát. Ezeket a blokkokat elavult blokknak nevezik, bár egyesek árva blokkoknak nevezik őket.

Mivel a bitcoin blokkok közötti átlagos idő 10 perc, valószínűleg az egész hálózat megismeri ezt az új blokkot, mielőtt az egyiket hozzáadnák a felosztás vesztes oldalához, és a legtöbb munkát végző lánc nyer.

„A csomópontok az érvényes láncot követik a legtöbb munkával… A kulcsszó itt érvényes. Ha a csomópont egy általa érvénytelennek ítélt blokkot kap, akkor nem számít, mennyi munkát végeznek a blokkon, a csomópont nem fogadja el azt a láncot. — Andrew Chow

A kulcsszó az „érvényes”. A fenyegetés akkor jelenik meg, amikor egy bányász olyan blokkot talál, amelyről néhány más bányász és csomópont szerint nem érvényes. A bányászok, akik szerint ez érvényes, megpróbálnak új blokkokat építeni erre a láncra. Azok a bányászok, akik szerint ez nem érvényes, megpróbálnak az utolsó érvényes blokkra építeni, amelyről tudnak. Az eredmény: két lánc, és nem lehet tudni, melyik igaz.

Hogy a csudába valósulhatna meg ilyesmi?

Nos, amint azt az LND-csomópontokkal kapcsolatos közelmúltbeli hiba esetében láttuk, ha a Bitcoin egyik implementációjában olyan hiba van, amely más megvalósításokban nincs, az konszenzus hiányához vezethet azzal kapcsolatban, hogy egy blokk érvényes-e vagy sem.

A Bitcoinnak nincs mechanizmusa ennek javítására. A protokollon kívüli közösségnek kell eldöntenie, mi történik ezután. Nagyon kellemetlenül hangzik.

Olyannyira, hogy Peter Todd Bitcoin-fejlesztő ezt mondta más megvalósításoknak meg kell felelniük a Bitcoin Core bug-for-bugnak.

Tessék: A többszörös megvalósítás veszélyes!

Melyek a Bitcoin egyéb megvalósításai és miért léteznek?

Először is, a legtöbben mindenki Bitcoin Core-t futtat.

Luke Dashjr körülbelül 43,000 XNUMX csomópontot lát, Ennek 98%-a Bitcoin Core-on fut és a Coin Dance nevű valami közel 15,000 XNUMX csomópontot lát, Ennek 96%-a Bitcoin Core-on fut. Tehát jelenleg úgy tűnik, hogy nagyon kevesen használnak alternatív megvalósításokat.

Ennek ellenére vannak olyan aktív projektek, amelyek más kódbázisokat próbálnak kiépíteni és fenntartani, amelyek megvalósítják a Bitcoin protokollt. Tartalmazzák:

Jameson Loppnak van egy kiváló oldal egy kimerítőbb listával és az összes többi megvalósításra mutató hivatkozásokkal.

Ezeken a projekteken rendkívül tehetséges fejlesztők dolgoznak, és mindegyik több mint néhány éve létezik. Miért kell annyi erőfeszítést tenni egy olyan dologba, ami ilyen problémának tűnik?

A Bitcoin engedély nélküli. A láncot bárki letöltheti; bárki kapcsolatba léphet a hálózattal; és senki sem akadályozhatja meg abban, hogy kódoljon vagy futtasson egy alternatív megvalósítást.

Mégis, egyértelműen néhány ember irányítja A Bitcoin adattárának módosítása és a választásuk folyamata informálisnak tűnik. Míg ott van a Bitcoin Improvement Proposal (BIP) folyamat A Bitcoin Core változtatásainak javaslata szintén meglehetősen informális.

Ezek egyike sem közvetlen probléma. Ahogy Marty Bent rámutat, a durva konszenzus erősség lehet. Ha a Bitcoin megváltoztatásának folyamata nehéz és nem egyértelmű, az azt jelenti, hogy a változtatásokat alaposabban ellenőrizni fogják.

A durva konszenzus következő lépése egynél több népszerű megvalósítás.

Veszélyesebb lehet, ha nincs több megvalósítás

Kétség sem férhet hozzá, hogy már most is nagyon nehéz feladat azoknak az embereknek lenni, akik hozzáférhetnek a Bitcoin Core-hoz. Egy olyan világban, ahol a Bitcoin központi szerepet játszik monetáris eszközként, ez a feladat sokkal nehezebb lesz. A fejlesztők egy kis csoportja nagyon értékes célponttá válhat. Legalábbis fel kell hívni a figyelmüket annak érdekében, hogy a következő szoftverkiadásban lobbizhassanak a különféle befoglalások vagy kizárások mellett.

Gondoljunk csak a lobbiiparra, amely jelenleg a politikában létezik. Miért ne alakulhatna ki ilyesmi azok körül, akik hozzáférnek a Bitcoin protokoll egyetlen megvalósításához?

A politikusokhoz hasonlóan most is úgy érzik, hogy hozzáférnek a hatalomhoz. Mint ilyenek, az emberek megcélozzák őket, kivéve, hogy ezeknek a fejlesztőknek nem lesz elég államuk ahhoz, hogy megvédjék őket. Milyen élet lesz ebből? Ki választaná önként?

Végső soron a globális pénzügyi rendszer igen nagy súlyt nehezít annak a kis csoportnak a vállán, akik egy GitHub adattárhoz hozzáférnek. Talán nem is különbözik annyira attól a globális pénzügyi rendszertől, amelyet megpróbálunk kikerülni, ahol az emberek monetáris jövője néhány jegybankár döntésén múlik.

Több megvalósítási lehetőség a mentéshez!

A Bitcoin hálózaton található többféle implementáció jelenléte és széles körben elterjedt használata mérsékelheti ezeket a nyomásokat azáltal, hogy sokkal nehezebbé teszi a rosszindulatú szereplők számára a Bitcoin protokoll megváltoztatását.

Ha a Bitcoin-hálózat résztvevői egyenletesebben oszlanak meg a különböző megvalósítások között, akkor több hely marad a jó ötletek felszínre kerülésére. Sokkal decentralizáltabb a Bitcoin módosítására irányuló javaslat vagy azok elutasítása, ha mindez nem egy táborban történik.

Nyilvánvaló, hogy a Bitcoin különböző megvalósításainak használata növeli a láncszakadás kockázatát. Egy katasztrofális láncszakadás – ahol a csomópontok és a bányászok jelentős része véletlenül elágazott – nem tenne jót a Bitcoinnak, és semmiképpen sem az ára. De ez nem veszélyeztetné a Bitcoin engedély nélküli természetét.

Egy központosított fejlesztői környezet, ahol mindenki csak a Bitcoin Core-ra épít, az engedély nélküliséggel fenyegetheti. A témáról szóló beszélgetésnek foglalkoznia kell a Bitcoin Core-ra való olyan erős támaszkodás kockázataival, ahelyett, hogy kizárólag arra összpontosítana, milyen problémákat okozhat egy alternatív megvalósítás.

Van egy nagyszerű, régebbi cikk erről a vitáról Írta: Aaron van Wirdum. Olvashatsz egy újabb, informatív szál erről.

Ez Bill Scoresby vendégbejegyzése. A kifejtett vélemények teljes mértékben a sajátjuk, és nem feltétlenül tükrözik a BTC Inc vagy a Bitcoin Magazine véleményét.

Időbélyeg:

Még több Bitcoin Magazine