Dokaz o radu (PoW) nasuprot Proof of Stake (PoS): Izdanje Sharding
Gostujuća pošta HodlX Pošaljite svoj post
Problem skalabilnosti blockchaina trenutno je glavno ograničenje za masovno usvajanje blockchain tehnologije. U standardnom P2P blockchain dizajnu bez dopuštenja koji je uveo Satoshi Nakamoto, svaki čvor mora obraditi sve podatke u mreži.
Međutim, čvorovi u mreži često imaju različite mogućnosti. U Nakamotovom standardnom dizajnu, izvedba mreže ograničena je izvedbom najslabijih punih čvorova u mreži.
Jedan naivan pristup skaliranju blockchain mreže ograničava mrežno sudjelovanje za slabe čvorove. U ovom se slučaju mreža oslanja samo na takozvane “visoke čvorove” sa širokim i brzim mrežnim vezama koji mogu obraditi veliku količinu podataka.
Međutim, takva mreža neizbježno postaje centralizirana, jer je održavanje visokih čvorova često skuplje. U tom se kontekstu skaliranje postiže po cijenu decentralizacije, za koju se zna da je najvrjednija značajka blockchain mreža.
Istraživači širom svijeta iznijeli su različite prijedloge za rješavanje problema skalabilnosti. Oštrenje se smatra najperspektivnijim. Ipak, ne postoji zajednička vizija o tome kako primijeniti razlučivanje kako bi se pronašao najbolji prihvatljivi kompromis među brojnim parametrima mreže.
Projekti poput Ethereum 2.0, Algorand, Cardano, Near i Zilliqa razvili su vlastite blockchain dizajne temeljene na oštrini. Međutim, svi ti projekti imaju sličan obrazac u svojim nacrtima. Svi se oslanjaju na algoritam konsenzusa dokaza o udjelu (PoS) i pseudo-slučajni odabir validatora za povjerenstva u krhotinama..
Kako bi sudjelovao u procesu provjere bloka prema pristupu PoS sharding, svaki sudionik zaključava određenu količinu kovanica u ulog. Na primjer, u Ethereumu 2.0, jedan ulog od najmanje 32 kovanice odgovara 1 glasu tijekom kruga provjere valjanosti bloka.
Važno je napomenuti da svaki validator može dati više uloga i prikupiti više glasova. Kao takav, korisnik koji je uložio određeni broj uloga mogao bi postati validator na jednakom broju različitih krhotina na temelju pseudo-slučajnog mehanizma izbora odbora.
Neki zagovornici osipanja PoS-a često povezuju koncept “uloga” s pojmom “validator”. Mislim da su mnogi čitatelji vidjeli dopadljive naslove da je određena mreža kovanica X privukla više od 20 tisuća “validatora”.
Međutim, ova procjena ne odnosi se na broj sudionika. Riječ je o broju uloga. Nemoguće je znati tko je stavio te uloge. Moglo bi biti tisuću ili stotinu dionika. Također je moguće da većinu udjela kontrolira jedan entitet. U ovom je slučaju jasno da je mreža centralizirana.
Stoga navodno označavanje gore spomenutih udjela ovog jedinstvenog entiteta kao zasebnih validatora nije samo zbunjujuće i obmanjujuće, već i zlonamjerno.
Naš pristup je razlikovati sudionike od njihovih uloga. Za ilustraciju, izvršimo neke izračune. Pretpostavimo da postoji D broj različitih krhotina u mreži, a neki sudionici ulažu S broj uloga.
Tada je vjerojatnost da će ovaj sudionik biti izabran za validatora s jednim ili više glasova u određenoj krhotini pomoću idealne pseudo-slučajne funkcije
Također, to je matematičko očekivanje funkcije koje postiže 1 ako je sudionik validator, a 0 u suprotnom slučaju. Zbroj ovih funkcija na svim krhotinama je broj krhotina koje su potvrdili sudionici.
Dakle, matematičko očekivanje broja krhotina koje je sudionik potvrdio daje formula:
Na primjer, u mrežnoj mreži Ethereum 2.0 broj krhotina D je 64. Prema formuli, sudionik koji zaključa 44 uloga u prosjeku će validirati 32 krhotine.
To znači da će ovaj sudionik u prosjeku upravljati s 32 krhotine, odnosno s točno polovicom podataka u mreži. Taj će sudionik preuzeti i obraditi polovicu podataka u mreži. Netko može tvrditi da polovica nije cjelina. PoS oštrina reklamirana je kao glavni proboj za ublažavanje opterećenja slabih čvorova u sustavu.
Međutim, ovo nije tako veliko poboljšanje, a takvi će sudionici i dalje morati obrađivati veliko radno opterećenje kako bi održavali sustav. Stoga slabi čvorovi neće primijetiti očekivano poboljšanje performansi.
Može se tvrditi da nema potrebe za zaključavanjem 44 uloga. Ako sudionik ima ograničene resurse, mogao bi zaključati jedan ili dva uloga i obraditi jednu ili dvije krhotine. Nažalost, dizajn osipanja PoS pretpostavlja da se odbori za krhotine miješaju svake epohe kako bi se spriječili napadi prilagodljivih protivnika..
Prilagodljivi protivnici oštećuju ciljane čvorove, na primjer, napadima DDoS-a ili pomrčine. Korumpirani čvorovi gube ulog zbog osnovne kazne i napuštaju odbor. Na kraju bi zlonamjerni glumac mogao steći kontrolu nad cijelim odborom. U
za razliku od toga, u PoW sustavu čvor može nastaviti svoj rad odmah nakon napada.
Stoga je miješanje odbora važan dio osipanja PoS-a. Nakon takvog preslagivanja, odbori se ponovno biraju, a sudionici se dodjeljuju kao validacije drugim krhotinama.
Nažalost, da bi pošteno izvršili svoje dužnosti provjere valjanosti i provjerili transakcije, sudionici s jednim ulogom moraju preuzeti stanje te krhotine. Ovo je prilično velika količina prometa.
Sudionici bi trebali znati ili sve neutrošene transakcije ili sva stanja na računu kako bi nastavili s radom. Alternativa je izgubiti ulog ili postati marioneta drugih čvorova koji posjeduju potrebne podatke.
Izvršimo neke izračune. Pretpostavimo da je svaki ulog zaključan oko 180 dana, a svaki ulog se bira kao validator jednom dnevno. Primijetite da gornja formula i u ovom slučaju savršeno funkcionira. Postavili smo D = 64 i S = 180.
U prosjeku će ovaj sudionik na kraju preuzeti državu na 60 od 64 krhotine. To je gotovo cijela mreža. Evo još jednog primjera. Pretpostavimo da je sudionik zaključao 4 uloga. Zatim će, nakon 11 dana, preuzeti gotovo 32 krhotine, što iznosi polovicu stanja mreže.
Ipak, uzimamo u obzir teret koji prenose manji dionici. Druga strana medalje predstavlja bogate dionike s mnogo uloga. Zamislite poslužitelj s 64 procesorske jedinice koji potvrđuju 64 krhotine, gdje svaka procesorska jedinica provjerava svoju odgovarajuću krhotinu. Upravljanje ovim poslužiteljem prilično je jednostavan zadatak.
Kad god dođe do preslagivanja odbora, nema potrebe za preuzimanjem ili ažuriranjem bilo kakvih stanja krhotina. Potrebno je samo presložiti ključeve povezane s udjelima između procesnih jedinica prema rezultatima izbora u odboru.
Dakle, operacija koja je skupa za male dionike relativno je jeftina za veliki dionik koji na poslužitelju koristi ove 64 procesne jedinice. Mislim da pažljivi čitatelj razumije da je spomenuti poslužitelj pun čvor. Prema ovom dizajnu, oni koji si mogu priuštiti pokretanje ovog punog čvora uštedjet će mnogo više novca na mrežnom prometu.
Može se tvrditi da je 60 manje od 64, a pol države nije cijela država. Ipak, nije dugo očekivano rješenje koje vrijedi “proračun od milijardu dolara i 10 godina razvoja”.
Ipak, mali dionici sa slabim čvorovima moraju upravljati ogromnom količinom podataka ili ogromnom količinom mrežnog prometa. Ovaj zahtjev u potpunosti poništava svrhu skaliranja oštrenjem.
Različiti projekti koji imaju za cilj provesti oštrinu dokaza o udjelu mogu imati različito brojanje krhotina, intervale preslagivanja odbora i vremenske intervale za zaključavanje uloga.
Međutim, može se primijetiti “izvedba ispod očekivanja” za bilo koji praktični skup parametara. Kad god se takvi projekti susretnu s „kašnjenjem“, glavni timovi često ih predstavljaju kao razvojne probleme. Međutim, oni su, kao što sam upravo opisao, obične nedostatke u dizajnu svojstvene PoS oštrenju.
Zanimljivo je da nije bilo potrebe za provođenjem sjenila na temelju dokaza o ulozima kako bi se smanjilo opterećenje malih sudionika. Zamislimo da projekt predlaže sjenčanje na temelju dokaza o radu.
Za razliku od PoS dizajna, nudi postavku prikladnu za slabe čvorove, tako da mogu upravljati svojim radnim opterećenjima. U ovom su slučaju svi sudionici nagrađeni proporcionalno naporima u održavanju mreže. Kao rezultat, pokretanje slabih čvorova ostaje isplativo.
Još jedna prednost PoW oštrenja je odsutnost problema tipičnih za PoS, tj. Ništa u napadima i napadima brušenja uloga. Kao rezultat toga, dokaz o radu nudi bolji kompromis za skaliranje od onoga koji bi proo ulog mogao.
Vinod Manoharan tehnološki je poduzetnik i osnivač i izvršni direktor tvrtke Jax Multiversal Holdings, holding tvrtka čiji portfelj uključuje tvrtke za internetske igre na sreću, platne prolaze i tehnološke tvrtke Blockchain. Manoharan je također osnivač JAX.Mreža, tehnološki startup u Ukrajini, fokusiran na Blockchain tehnologiju i preciznije, rješavajući zloglasnu trilemu skalabilnosti Blockchaina.
Istaknuta slika: Shutterstock /wirow