Ali lahko večplastni sistem soglasja zagotovi odpornost omrežja na 51 odstotkov napadov do 90 odstotkov?
Gostujoča objava HodlX Pošljite svojo objavo
V zadnjem času opažamo, da vse več blokovnih omrežij postane žrtev 51 odstotkov napad. Ta napad je mogoč, ker so lahko pragovi precej nizki in znašajo nekaj več kot 50 odstotkov hashratea. Ko napadalec prevzame omrežje, ga lahko zlorabi na več načinov. Napadalec lahko na primer izvede dvojno porabo. Vendar je bolj pomembno, da medtem ko omrežje nadzirajo zlonamerni uporabniki, njegovega delovanja ni mogoče šteti za normalno. V bistvu takšni napadi blokirajo verigo blokov.
To pojasnjuje, zakaj je oblikovanje novega konsenza z visoko odpornostjo na 51-odstotni napad zelo pravočasna naloga. V svojem nedavnem članku, Priročnik za 99-odstotno soglasje o strpnosti, Vitalik Buterin predlaga način za dvig praga 51-odstotnega napada z 51 odstotkov vložka ali hašreta na 99 odstotkov. Ključno je uvedba dodatnih validatorjev, imenovanih opazovalci, ki ne sodelujejo pri ustvarjanju blokov. Opazovalci izvedejo naknadno potrditev verige blokov in lahko opozorijo omrežje, če najdejo ogrožene bloke. Za naknadno potrditev Vitalik predlaga, da algoritem, ki je odvisen od zakasnitve, naključno izbere 512 vozlišč vsakih 4.096 sekund.
Čeprav ta pristop vsekakor izboljšuje zaščito omrežja, ima velike napake. Najbolj kritične slabosti so odvisnost od časa, potrebnega za soglasje, odvisnost od pretoka omrežja in časovna sinhronizacija med opazovalci.
Tu je najnižji časovni interval D empirična vrednost, skozi katero lahko opazovalci pravilno izmenjujejo podatke. Izračun D upošteva slabo internetno povezavo in procesorsko moč opazovalcev. Bloki veljajo za veljavne le, če časovni interval potrditve, deljen z D, ni manjši od števila opazovalcev, ki so podpisali ta blok.
Ker je vrednost D najmanjša od vseh možnih, obstaja potencialna situacija, ko med intervalom D blok potrdi le en opazovalec. Torej je čas, potreben za konsenz, linearno odvisen od števila opazovalcev. To postavlja velike omejitve razširljivosti in decentralizacije omrežja.
V primeru omejenega števila opazovalcev (Buterin predlaga uporabo le 512 opazovalcev) je validacija le psevdocentralizirana. Znatno ali neomejeno povečanje števila opazovalcev lahko privede do bistveno daljšega zahtevanega časa D. V tem primeru bi preverjanje veljavnosti trajalo veliko dlje ali pa bi celo postalo nesmiselno.
Sodobna pasovna širina komunikacijskega kanala je še vedno omejena, kar ovira naknadno potrditev velikih blokov. Ob predpostavki, da je velikost transakcije 200 bajtov, kar je pravzaprav precej majhno in je mogoče le pri finančnih transakcijah brez pametnih pogodb ter da je v bloku 50.000 transakcij (sodobni blockchaini aktivno poskušajo doseči to raven), je velikost bloka 10Mb. Za prenos te količine podatkov v sekundi potrebujete kanal s hitrostjo 100 Mb / s. Glavni kanali lahko zagotovo zagotavljajo to raven pretoka, vendar bi bile regionalne povezave veliko počasnejše. To bi onemogočilo preverjanje veljavnosti bodisi zaradi zahteve po pridobivanju podpisov v določenem časovnem obdobju bodisi psevdo-decentralizirano, če so izbrani samo opazovalci z najboljšimi glavnimi kanali.
Druga pomanjkljivost je obvezna sinhronizacija časa med opazovalci, ki poveča ranljivost omrežja na potencialne napade, saj nobeno omrežje blockchain ne uporablja varnih protokolov časovne sinhronizacije (na primer SNTP). Delo z nezaščitenim NTP ustvarja več priložnosti za nesinhronizacijo bazenov opazovalcev, kar lahko pozneje popolnoma sabotira preverjanje veljavnosti.
V poskusu odprave zgoraj opisanih težav in izboljšanju odpornosti omrežja z 51-odstotnega napada na 90-odstotni bi pristop, ki uporablja dodatne vloge, lahko rešitev za omrežno soglasje. Namesto rešitve, ki jo je opisal Vitalik Buterin, bi v tem primeru omrežje zahtevalo pet vlog, ki so dinamično dodeljene vozliščem.
Zaradi te postavitve je za reševanje problema bizantinske tolerance napak (BFT), s katerim bi hkrati dobili 67-odstotni delež na več plasteh, treba imeti nadzor nad 90-odstotnim deležem. Poleg tega je odpornost tako visoka, da je treba več kot 53 odstotkov deleža, da se zlonamerne transakcije sploh pojavijo.
Tudi ob malo verjetnem pojavu omrežja z 90-odstotnim lastniškim deležem bodo stranke začele za nazaj zavračati bloke in prenehale zaupati ogroženemu omrežju ter učinkovito razdelile mrežo na dvoje. Ker so stranke, ki uporabljajo omrežje, njegov najdragocenejši del, ima 90 odstotkov nadzora nad deležem le nadzor nad mrtvim omrežjem brez strank, preostalih 10 odstotkov pa bo 100 odstotkov imetnikov kovancev v novi mreži.
Omrežje uporablja asinhrono validacijo blokov, da odpravi odvisnost konsenznega časa od števila validatorjev. Naslednji blok se začne generirati takoj, ko je ustvarjen trenutni in je zaključil osnovno naknadno potrditev. Popolna validacija se dogaja na različnih plasteh v tandemu (po vlogi preveritelja, hudournika, enakovredne stranke in odjemalca). Kadar koli se odkrije zlonamerni blok, se veriga blokov vrne v zadnje potrjeno stanje in se obnovi iz surovih transakcij.
Vprašanje potencialno slabih internetnih povezav je ublaženo z uporabo tehnologije, podobne BitTorrentu. Podatki se po omrežju prenašajo delno, kar zagotavlja hitrejše menjalne tečaje v regijah z nizko pasovno širino. To omogoča dostavo podatkov tudi do umetno izoliranih regij.
Ločljivost izziva časovne sinhronizacije je dvojna: notranji čas procesa (v klopi) se uporablja, kjer je to mogoče, sinhronizacija časa pa se izvaja prek zaščitenega lastniškega protokola SNTP.
Kot zaključek je predstavitev različnih vlog v konsenzu, kot je opisano zgoraj, danes najperspektivnejši pristop in upajmo, da lahko znatno izboljša varnost v verigi blokov.
Gleb Nikitin
Gleb Nikitin, vodja tehnologije in soustanovitelj pri #MetaHash