Skalabilnost bitcoina i problem širenja blokova
Gostujuća pošta HodlX Pošaljite svoj post
Poznato je da je nedostatak skalabilnosti glavna prepreka masovnom usvajanju blockchain tehnologije. Svi postojeći blockchain projekti traže rješenja koja bi mogla poboljšati performanse njihove mreže. Mnogi projekti u nastajanju tvrde da imaju čarobni metak koji bi mogao riješiti problem. Međutim, takve tvrdnje nisu uvijek valjane. Nažalost, mnogi promatrači i investitori ne shvaćaju srž i korijen ovog problema. Bez duboke istrage i znatne tehničke pozadine teško je utvrditi skrivena uska grla i kompromise. U ovom ćemo postu razgovarati o jednom poznatom uskom grlu koje sprečava skaliranje Bitcoina.
Ubrzo nakon izuma decentralizirane peer-to-peer mreže Bitcoin, istraživači su se zainteresirali za ono što određuje granice skaliranja Bitcoina. Uskoro je utvrđeno i opisano srž problema u smislu vremena širenja bloka ili kašnjenja širenja bloka.
Prosječno je vrijeme potrebno da novi blok dosegne većinu čvorova u mreži. U velikoj decentraliziranoj mreži poput Bitcoina, kad god se generira novi blok, emitira se prema protokolu ogovaranja. Ako neki čvor ima novi važeći blok, on obavještava čvorove povezane s njim o svom novom posjedu. Tada čvor prenosi ovaj blok onim čvorovima koji su to tražili. Prije nego što blok dosegne svaki puni čvor u mreži, on prolazi kroz sedam posredničkih čvorova. Važno je da svaki pošteni čvor provjeri blok prije nego što ga prenese drugim vršnjacima. Očito je da cijela stvar traje neko vrijeme. Svaki novi blok potresa mrežu i stvara čvorove i ethernet veze između sebe radeći punom snagom.
Netko bi mogao tvrditi da je od pokretanja mreže došlo do mnogih poboljšanja protokola Gossip. Na primjer, prijedlog za poboljšanje Bitcoina BIP 0152 uveo je mogućnost prijenosa samo kratkih ID-ova transakcija, umjesto cijelog popisa transakcija, u tijelo bloka. Međutim, ako čvor nema tu transakciju u mempoolu, mora tražiti od svojih vršnjaka da je prenesu u zasebnoj poruci. Ako je u bloku velik broj takvih transakcija, poboljšanje iz BIP-a 0152 nestaje.
Budući da je prijenos podataka dio blok releja koji oduzima najviše vremena, istraživači su se zainteresirali za utvrđivanje koliko je vremena potrebno da bi paket podataka određene veličine dosegao 50%, 90% ili 95% čvorova u mreži. Utvrđeno je da je za blokove veće od 20 kB kašnjenje širenja bloka gotovo proporcionalno veličini bloka.
Prema istraživanju objavljenom 2013. godine, svaki dodatni kB podataka u bloku uzrokovao je dodatnih 80 ms kašnjenja širenja bloka. Od tada se svake godine objavljuje nekoliko akademskih radova i istraživanja na ovu temu. Ažuriraju gore spomenute podatke i raspravljaju o raznim prijedlozima za poboljšanje. Štoviše, web mjesto prati trenutno stanje mreže Bitcoin i vrijeme širenja blokova. Također, pruža grafikone s povijesnim podacima o ovoj temi.
Većina dobro uspostavljenih blockchain mreža ima isti dizajn kao i Bitcoin. Kao rezultat, vrijeme širenja bloka u tim mrežama poštuje ista pravila. Nažalost, vrijeme širenja bloka ima ogroman utjecaj na sigurnost blockchaina. Što je dulje vrijeme širenja u mreži, rudari češće rudariju na starim blokovima. Kao rezultat toga, vilice glavnog lanca se javljaju češće, a postotak blokova bez roditelja raste. Dugo kašnjenje širenja dovodi do takozvane dileme verifikatora.
Neki čvorovi mogu otkriti da bi preskakanje koraka provjere bloka moglo biti isplativa strategija. U tom se slučaju suočavaju s rizikom rudarenja na pogrešnom bloku. Međutim, ako je vrijeme provjere bloka značajno, ova strategija može biti isplativa. Istraživači su otkrili da dugo odgađanje širenja smanjuje otpor čvora protiv 51% napada i sebičnog rudarenja.
Kako bi se pozabavili gore spomenutim problemom, programeri blokova često pokušavaju zadržati vrijeme širenja bloka manje od 1% od prosječnog vremena bloka.
To vrijedi za Bitcoin, Ethereum i druge velike blockchain mreže koje se temelje na konsenzusu o dokazima o radu. Iz tog razloga, vrijeme širenja bloka na 50% čvorova u Bitcoin mreži često je manje od 6 sekundi.
Iako brzi relej bloka, poput onoga opisanog u BIP 0152, smanjuje prosječno vrijeme širenja bloka, u najgorem slučaju to bi moglo potrajati više vremena od osnovnog protokola. Važno je da čak i u najgorem scenariju kašnjenje širenja treba biti razumno, tako da će rudari većinu vremena sinkronizirati svoje čvorove i uvijek provjeravati predložene blokove.
Kad god ljudi govore o skalabilnosti blockchaina, spominju protok transakcija sustava. Međutim, ljudi su zaboravili da poboljšanja protoka transakcija ne bi smjela ugroziti sigurnost mreže ili povećati zahtjeve za pohranom podataka za čvorove koji žele sudjelovati u mreži. Te bi izmjene mogle smanjiti broj neovisnih validatora transakcija u mreži, smanjujući time decentralizaciju.
gdje
Bsize je veličina bloka u bajtovima;
Tsize je prosječna veličina zapisa transakcije u bloku;
Btime je prosječno vrijeme između uzastopnih blokova u blockchainu.
Očito je da bi se protok transakcija mogao povećati povećanjem veličine bloka, smanjenjem veličine zapisa transakcije ili smanjenjem intervala između blokova. Prilično je teško smanjiti veličinu zapisa transakcija. Umjesto toga, netko može isprobati druge dvije mogućnosti. Međutim, ove će radnje povećati postotak vremena koje se troši na širenje bloka. Dakle, sigurnost i decentralizacija mreže mogu se ugroziti.
Moglo bi se primijetiti da se u opisanom Bitcoin protokolu mrežni resursi koriste neučinkovito. Svaki čvor obrađuje i prenosi vitalne podatke o novom bloku samo mali dio vremena. Njegova mrežna propusnost je zaista važna, ali istodobno se koristi samo nekoliko sekundi. Ostalo vrijeme ovaj čvor prenosi samo transakcije na čekanju i pomoćne podatke. Ovo je zapažanje nadahnulo istraživače da traže učinkovitije dizajne protokola koji bi mogli dramatično poboljšati protok transakcija bez ugrožavanja sigurnosti i decentralizacije mreže. U našem sljedećem postu razmotrit ćemo pristupe za rješavanje problema širenja blokova koji su predloženi posljednjih godina.
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šavanje zloglasne trileme skalabilnosti blockchaina.
Istaknuta slika: Shutterstock / whiteMocca