Ali je nevarno imeti več implementacij Bitcoina? Podatkovna inteligenca PlatoBlockchain. Navpično iskanje. Ai.

Ali je nevarno imeti več implementacij Bitcoina?

To je uredniško mnenje avtorja Bill Scoresby, lastnik malega podjetja s sedežem v bitcoinih in pisec več vodnikov za samostojno skrbništvo nad bitcoini.

Napake, ki so pred kratkim povzročile neusklajenost številnih vozlišč LND z verigo blokov Bitcoin, so bile verjetno zaradi alternativne izvedbe.

Morda se sprašujete: »Kdo na svetu uporablja kaj drugega kot Bitcoin Core?" Morda niste vedeli, da obstajajo druge izvedbe Bitcoina. Morda niste prepričani, kaj drugačna izvedba sploh pomeni.

Bitcoin Core se je začel kot programska oprema, ki Satoshi Nakamoto napisal v C++ in dal v svet. Posodobljena je bila z novimi različicami, ki vodijo do danes. Nadomestna izvedba je programska oprema, ki dela isto kot Bitcoin Core – uveljavlja ista pravila soglasja – vendar je napisana drugače, največkrat v drugem kodirnem jeziku.

Kako je alternativna izvedba prekinila vozlišča v omrežju Lightning?

Ena od glavnih različic vozlišča Lightning Network (LND) temelji na alternativni izvedbi Bitcoina, imenovani btcd. Ko je razvijalec ustvaril zelo veliko transakcijo z več podpisi, je btcd ni videl kot veljavno, ker je vsebovala preveč podatkov prič. Druge implementacije Bitcoina – kar je najpomembnejše Bitcoin Core – niso imele takšne omejitve za podatke prič transakcije Taproot in so zato sprejele transakcijo in blok, ki jo je vseboval, kot veljaven.

Rezultat je bil, da so rudarji dodajali nove bloke v verigo, ker niso uporabljali btcd in v skladu z njihovimi pravili ni bilo nič narobe, vendar vozlišča LND Lightning niso mogla prepoznati nobenega od teh novih blokov, ker so bili zgrajeni na vrhu bloka, ki vsebuje ta ena transakcija se jim je zdela neveljavna.

Ko se je napaka znova pojavila 1. novembra, niso bila prizadeta samo vozlišča LND. Nekateri primerki electrs (izvedba zalednega strežnika za denarnico Electrum) tudi niso dosegli soglasja s preostalo verigo. Medtem ko so bila vozlišča LND izločena iz soglasja zaradi podobne težave v btcd, je bila implementacija Bitcoina, napisana v Rustu, povzročil zaostanek vozlišč elektr, vključno z nekaterimi zelo vidnimi strežniki vodi mempool.space.

Obstaja omejitev glede velikosti podatkov o pričah za preprečevanje napadov DoS, in je tudi del Bitcoin Core (čeprav ima Core večjo omejitev za transakcije Taproot). Zdi se, da sta drugi dve implementaciji, ki nista bili sinhronizirani, imeli kodo, ki ohranili manjšo mejo.

Zelo majhne razlike v implementacijah lahko povzročijo pomanjkanje soglasja.

Imeti več implementacij Bitcoina je nevarno

Satoshi ni bila všeč zamisel o več implementacijah Bitcoina. "Ne verjamem, da bo druga, združljiva implementacija Bitcoina kdaj dobra ideja." Razlog, ki ga je navedel, je bil: "Toliko zasnove je odvisno od tega, da vsa vozlišča dobijo popolnoma enake rezultate v koraku, da bi bila druga izvedba grožnja omrežju."

Grožnja? Kaj je tako hudo?

Verjetno ste že slišali, da je veriga z največ dokazi o delu prava veriga. Ko dva različna rudarja istočasno najdeta blok, se veriga razcepi in drugi rudarji začnejo graditi na tistem bloku, za katerega prvi slišijo.

Takoj, ko je na eno stran razcepa dodan nov blok, večina vozlišč in rudarjev to sprejme kot novo pravo verigo in opusti drugo stran razcepa. Ti bloki se imenujejo zastareli bloki, čeprav jih nekateri imenujejo osiroteli bloki.

Ker je povprečni čas med bloki v Bitcoinu 10 minut, je verjetno, da bo celotno omrežje izvedelo za ta novi blok, preden bo eden dodan na poraženo stran delitve in zmaga veriga z največ dela.

»Vozlišča bodo z največ dela sledila veljavni verigi ... Ključna beseda tukaj je veljavna. Če vozlišče prejme blok, za katerega ugotovi, da je neveljaven, ni pomembno, koliko dela je opravljenega na vrhu tega bloka, vozlišče te verige ne bo sprejelo.« — Andrew Chow

Ključna beseda je "veljaven". Grožnja se pojavi, ko rudar najde blok, za katerega nekateri drugi rudarji in vozlišča menijo, da ni veljaven. Rudarji, ki menijo, da velja, bodo poskušali zgraditi nove bloke v tej verigi. Rudarji, ki mislijo, da ni veljaven, bodo poskušali graditi na zadnjem veljavnem bloku, za katerega vedo. Rezultat: Dve verigi in nikakor ne moremo vedeti, katera je prava.

Kako za vraga bi se kaj takega zgodilo?

No, kot smo videli v primeru nedavne napake z vozlišči LND, lahko, če obstaja napaka v eni implementaciji Bitcoina, ki je ni v drugih implementacijah, lahko pride do pomanjkanja soglasja o tem, ali je blok veljaven ali ne.

Bitcoin nima mehanizma za odpravo tega. Skupnost zunaj protokola se mora odločiti, kaj se bo zgodilo naslednje. Sliši se zelo neprijetno.

Tako zelo, da je razvijalec bitcoinov Peter Todd to rekel druge izvedbe se morajo ujemati z napako za napako Bitcoin Core.

Izvolite: večkratne izvedbe so nevarne!

Katere so druge izvedbe Bitcoina in zakaj obstajajo?

Prvič, skoraj vsi uporabljajo Bitcoin Core.

Luke Dashjr vidi približno 43,000 vozlišč, 98 % jih uporablja Bitcoin Core in nekaj, kar se imenuje Coin Dance, vidi blizu 15,000 vozlišč, 96 % jih uporablja Bitcoin Core. Tako je trenutno videti, da zelo malo ljudi uporablja alternativne izvedbe.

Kljub temu obstajajo aktivni projekti, ki poskušajo zgraditi in vzdrževati druge kodne baze, ki izvajajo protokol Bitcoin. Vključujejo:

Jameson Lopp ima odlična stran z bolj izčrpnim seznamom in povezavami do vseh drugih izvedb.

Na vseh teh projektih delajo izjemno nadarjeni razvijalci in vsak obstaja že več kot nekaj let. Zakaj bi vložili toliko truda v nekaj, kar se zdi tako velik problem?

Bitcoin je brez dovoljenj. Vsakdo lahko prenese verigo; kdorkoli lahko komunicira z omrežjem; in nihče vam ne more preprečiti kodiranja ali izvajanja alternativne izvedbe.

Pa vendar, jasno nekateri ljudje so glavni spreminjanja repozitorija Bitcoin in postopek njihove izbire se zdi neuraden. Medtem ko obstaja Proces Bitcoin Improvement Proposal (BIP). za predlaganje sprememb Bitcoin Core, je tudi precej neformalen.

Nič od tega ni neposreden problem. Kot poudarja Marty Bent, grobo soglasje je lahko moč. Če je postopek spreminjanja Bitcoina težaven in nejasen, to pomeni, da bodo spremembe temeljiteje preverjene.

Naslednji korak grobega soglasja je imeti več kot eno priljubljeno izvedbo.

Če nimate več izvedb, je lahko bolj nevarno

Nobenega dvoma ni, da je že tako zelo težko delo biti eden od ljudi, ki imajo dostop do Bitcoin Core. V svetu, kjer ima bitcoin osrednjo vlogo denarnega instrumenta, bo to delo postalo veliko težje. Majhna skupina razvijalcev bi lahko postala zelo vredna tarča. Vsaj njihovo pozornost bodo iskali, da bi lobirali za različne vključitve ali izključitve v naslednji izdaji programske opreme.

Pomislite na industrijo lobiranja, ki trenutno obstaja v politiki. Zakaj se kaj takega ne bi razvilo okoli ljudi, ki imajo dostop do edine implementacije protokola Bitcoin?

Tako kot zdajšnji politiki bodo zanje veljali, da imajo dostop do oblasti. Kot take jih bodo ljudje ciljali, le da ti razvijalci ne bodo imeli moči države, da bi jih branili. Kakšno življenje bo to? Kdo bi ga prostovoljno izbral?

Konec koncev je globalni finančni sistem precej težka bremena, ki ga lahko nosijo majhne skupine ljudi, ki imajo dostop do enega repozitorija GitHub. Morda ni tako drugačen od svetovnega finančnega sistema, od katerega se poskušamo izogniti, kjer je denarna prihodnost ljudi odvisna od odločitev nekaj centralnih bankirjev.

Več izvedb na pomoč!

Prisotnost in široka uporaba več implementacij v omrežju Bitcoin lahko ublažita te pritiske, tako da zlonamernemu akterju veliko težje spremenita protokol Bitcoin.

Če so udeleženci v Bitcoin omrežju enakomerneje porazdeljeni med različne izvedbe, je več prostora za dobre ideje, da pridejo na površje. Predlaganje sprememb Bitcoina ali njihovo zavračanje je veliko bolj decentralizirano, če ni vse narejeno v enem taboru.

Jasno je, da uporaba različnih izvedb Bitcoina poveča tveganje za razcep verige. Katastrofalna delitev verige – kjer se je precejšen del vozlišč in rudarjev pomotoma odcepil – ne bi bila dobra za Bitcoin in zagotovo ne za njegovo ceno. Vendar to ne bi ogrozilo bitcoinove narave brez dovoljenja.

Centralizirano razvojno okolje, kjer vsi gradijo samo na Bitcoin Core, bi lahko ogrozilo brezdovoljenje. Pogovor o tej temi mora obravnavati tveganja tako velikega zanašanja na Bitcoin Core, namesto da bi se osredotočil samo na težave, ki bi jih lahko povzročila alternativna izvedba.

Obstaja odličen, starejši članek o tej debati avtorja Aaron van Wirdum. Preberete lahko tudi novejši, informativna nit o tem.

To je gostujoča objava Billa Scoresbyja. Izražena mnenja so v celoti njihova lastna in ne odražajo nujno mnenj BTC Inc ali Bitcoin Magazine.

Časovni žig:

Več od Bitcoin Magazine