Skalerbarhet i Bitcoin og blokkeringsformeringsproblemet
HodlX gjestepost Send inn innlegget ditt
Mangelen på skalerbarhet er kjent for å være den fremste hindringen som står i veien for masseadopsjon av blockchain-teknologi. Alle eksisterende blockchain-prosjekter ser etter løsninger som kan forbedre ytelsen til nettverket. Mange nye prosjekter hevder at de har en magisk kule som kan løse problemet. Imidlertid er slike påstander ikke alltid gyldige. Dessverre er mange observatører og investorer ikke klar over kjernen og roten til dette problemet. Uten dyp etterforskning og betydelig teknisk bakgrunn er det vanskelig å fastslå skjulte flaskehalser og kompromisser. I dette innlegget skal vi diskutere en velkjent flaskehals som forhindrer at Bitcoin skaleres.
Rett etter oppfinnelsen av det desentraliserte peer-to-peer-nettverket Bitcoin, ble forskere interessert i hva som bestemmer grensene for Bitcoins skalering. Snart ble kjerneproblemet bestemt og beskrevet i form av spredning av blokkering eller forsinkelse av spredning av blokkering.
Det er en gjennomsnittlig tid som er nødvendig for at den nye blokken skal nå flertallet av noder i nettverket. I et stort desentralisert nettverk som Bitcoin, hver gang den nye blokken genereres, sendes den i henhold til Gossip-protokollen. Hvis noen noder har den nye gyldige blokken, informerer den noder som er koblet til den om sin nye besittelse. Deretter overfører noden denne blokken til de nodene som ba den om å gjøre det. Før blokken når hver fulle node i nettverket, passerer den gjennom syv mellomliggende noder. Det er viktig at hver ærlig node verifiserer blokken før den videreformidles til andre jevnaldrende. Åpenbart tar det hele en stund. Hver nye blokk rister på nettverket og lager noder og Ethernet-forbindelser mellom dem som arbeider med full kraft.
Man kan hevde at siden lanseringen av nettverket har det vært mange forbedringer i Gossip-protokollen. For eksempel introduserte Bitcoin-forbedringsforslaget BIP 0152 muligheten til å overføre bare korte transaksjons-IDer, i stedet for hele listen over transaksjoner, i blokkeringsdelen. Imidlertid, hvis noden ikke har den transaksjonen i sin mempool, må den be sine jevnaldrende om å overføre den i en egen melding. Hvis det er et stort antall slike transaksjoner i blokken, forsvinner forbedring fra BIP 0152.
Siden dataoverføring er den mest tidkrevende delen av blokkreléet, ble forskere interessert i å bestemme hvor mye tid som kreves for en datapakke av en viss størrelse for å nå 50%, 90% eller 95% av nodene i nettverket. Det ble funnet at for blokker større enn 20 kB, er forplantningsforsinkelsen for blokken nesten proporsjonal med blokkstørrelsen.
Ifølge forskning publisert i 2013 forårsaket hver ekstra kB data i blokken ekstra 80 ms forsinkelse av blokkeringsformering. Siden den gang har det blitt publisert et par akademiske artikler og undersøkelser om dette emnet hvert år. De oppdaterer de nevnte dataene og diskuterer ulike forbedringsforslag. Videre overvåker nettstedet den nåværende tilstanden til Bitcoin-nettverket og spredningstiden for blokkeringen. Det gir også diagrammer med historiske data om dette emnet.
Flertallet av veletablerte blockchain-nettverk har samme design som Bitcoin. Som et resultat følger blokkeringsformeringstiden i disse nettverkene de samme reglene. Dessverre har blokkeringsformeringstiden en massiv effekt på blockchain-sikkerheten. Jo lenger forplantningstid i nettverket, jo oftere gruver gruvearbeider på toppen av gamle blokker. Som et resultat forekommer gafling av hovedkjeden oftere, og prosentandelen av foreldreløse blokker stiger. Den lange forplantningsforsinkelsen fører til det såkalte Verifiers Dilemma.
Noen noder kan oppleve at å hoppe over blokkverifiseringstrinnet kan være en lønnsom strategi. I dette tilfellet står de overfor risikoen for gruvedrift på feil blokk. Imidlertid, hvis blokkverifiseringstiden er viktig, kan denne strategien være lønnsom. Forskere fant at en lang forplantningsforsinkelse reduserer nodens motstand mot 51% angrep og egoistisk gruvedrift.
For å løse det ovennevnte problemet prøver blockchain-utviklere ofte å holde blokkenes forplantningstid mindre enn 1% av den gjennomsnittlige blokkeringstiden..
Dette gjelder for Bitcoin, Ethereum og andre store blockchain-nettverk som er basert på konsensus om arbeidsbevis. Av denne grunn er blokkeringsformeringstiden til 50% av nodene i Bitcoin-nettverket ofte under 6 sekunder.
Selv om hurtigblokkrelé, som den som er beskrevet i BIP 0152, reduserer den gjennomsnittlige spredningstiden, kan det i verste fall ta mer tid enn grunnprotokollen. Selv i verste fall bør forplantningsforsinkelsen være rimelig, slik at gruvearbeidere vil holde noder synkronisert mesteparten av tiden, og alltid vil verifisere foreslåtte blokker..
Når folk snakker om blockerbarhetens skalerbarhet, nevner de systemets gjennomstrømning. Imidlertid glemte folk at forbedringer i transaksjonsgjennomstrømning ikke burde kompromittere nettverkets sikkerhet eller heve datalagringskrav for noder som ønsker å delta i nettverket. Disse modifikasjonene kan redusere antall uavhengige transaksjonsvalidatorer i nettverket, og dermed redusere desentralisering.
hvor
Bsize er blokkstørrelsen i byte;
Tsize er den gjennomsnittlige størrelsen på transaksjonsoppføringen i blokken;
Btime er gjennomsnittlig tid mellom påfølgende blokker i blockchain.
Åpenbart kan transaksjonsgjennomstrømningen økes ved å øke blokkstørrelsen, ved å redusere transaksjonsregistreringsstørrelsen eller ved å redusere intervallet mellom blokkene. Det er ganske vanskelig å redusere størrelsen på transaksjonsregistrene. Man kan i stedet prøve de to andre alternativene. Imidlertid vil disse handlingene øke prosentandelen tid som blir brukt på spredning av blokkering. Dermed kan sikkerheten og desentraliseringen av nettverket komme i fare.
Man kan merke at i den beskrevne Bitcoin-protokollen brukes nettverksressurser ineffektivt. Hver node behandler og overfører vitale data om en ny blokk bare en liten brøkdel av tiden. Nettverksbåndbredden er veldig viktig, men den brukes i sin helhet i bare noen få sekunder om gangen. Resten av tiden overfører denne noden bare ventende transaksjoner og tilleggsdata. Denne observasjonen har inspirert forskere til å lete etter mer effektive protokolldesigner som dramatisk kan forbedre transaksjonsgjennomstrømningen uten å kompromittere sikkerheten og desentraliseringen av nettverket. I vårt neste innlegg vil vi diskutere tilnærminger for å løse blokkeringsproblematikken som er blitt foreslått de siste årene.
Vinod Manoharan er en teknologientreprenør og grunnlegger og administrerende direktør for Jax Multiversal Holdings, et holdingselskap hvis portefølje inkluderer online spillselskaper, betalingsportaler og Blockchain-teknologiselskaper. Manoharan er også grunnleggeren av JAX.Network, en teknisk oppstart i Ukraina, fokusert på blockchain-teknologi og mer spesifikt å løse det beryktede blockchain-skalerbarhetstrilemmaet.
Utvalgt bilde: Shutterstock / whiteMocca