Skalerbarhed af Bitcoin og blokeringsformeringsproblemet
HodlX gæstepost Send dit indlæg
Manglen på skalerbarhed er kendt for at være den største hindring, der står i vejen for masseadoptagelse af blockchain-teknologi. Alle eksisterende blockchain-projekter ser efter løsninger, der kan forbedre deres netværks ydeevne. Mange nye projekter hævder, at de har en magisk kugle, der kan løse problemet. Sådanne påstande er dog ikke altid gyldige. Desværre er mange observatører og investorer ikke klar over kernen og roden til dette problem. Uden dyb undersøgelse og betydelig teknisk baggrund er det vanskeligt at bestemme skjulte flaskehalse og kompromiser. I dette indlæg skal vi diskutere en velkendt flaskehals, der forhindrer Bitcoin i at skalere.
Kort efter opfindelsen af det decentrale peer-to-peer-netværk Bitcoin, blev forskere interesserede i, hvad der bestemmer grænserne for Bitcoins skalering. Snart blev kerneproblemet bestemt og beskrevet i form af blokeringstid eller forsinkelse af blokering.
Det er en gennemsnitlig tid, der er nødvendig for, at den nye blok når de fleste noder i netværket. I et stort decentraliseret netværk som Bitcoin, hver gang den nye blok genereres, udsendes den i henhold til Gossip-protokollen. Hvis en eller anden node har den nye gyldige blok, informerer den noder, der er forbundet til den, om dens nye besiddelse. Derefter overfører noden denne blok til de noder, der bad den om at gøre det. Før blokken når hver fulde node i netværket, passerer den gennem syv mellemliggende noder. Det er vigtigt, at enhver ærlig node verificerer blokken, før den videreformidles til andre jævnaldrende. Det er klart, det hele tager et stykke tid. Hver nye blok ryster netværket og opretter noder og Ethernet-forbindelser mellem dem, der arbejder med fuld effekt.
Man kan argumentere for, at siden lanceringen af netværket har der været mange forbedringer af Gossip-protokollen. For eksempel introducerede Bitcoin-forbedringsforslaget BIP 0152 muligheden for kun at overføre korte transaktions-id’er i stedet for hele listen over transaktioner i bloklegemet. Men hvis noden ikke har den transaktion i sin mempool, skal den bede sine jævnaldrende om at overføre den i en separat besked. Hvis der er et stort antal sådanne transaktioner i blokken, forsvinder forbedring fra BIP 0152.
Da datatransmission er den mest tidskrævende del af blokrelæet, blev forskere interesserede i at bestemme, hvor meget tid der kræves for at en datapakke af en bestemt størrelse når 50%, 90% eller 95% af noder i netværket. Det blev fundet, at for blokke, der er større end 20 kB, er blokformeringens forsinkelse næsten proportional med blokstørrelsen.
Ifølge forskning, der blev offentliggjort i 2013, forårsagede hvert ekstra kB data i blokken ekstra 80 ms forsinkelse af blokformering. Siden da er der offentliggjort et par akademiske artikler og undersøgelser om dette emne hvert år. De opdaterer de førnævnte data og diskuterer forskellige forbedringsforslag. Desuden overvåger webstedet Bitcoin-netværks nuværende tilstand og blokeringstid. Det giver også diagrammer med historiske data om dette emne.
De fleste veletablerede blockchain-netværk har samme design som Bitcoin. Som et resultat overholder blokformeringstiden i disse netværk de samme regler. Desværre har blokformeringstiden en massiv effekt på blockchain-sikkerhed. Jo længere udbredelsestid i netværket, jo oftere miner minearbejdere oven på gamle blokke. Som et resultat forekommer gafling af hovedkæden oftere, og procentdelen af forældreløse blokke stiger. Den lange udbredelsesforsinkelse fører til det såkaldte Verifiers Dilemma.
Nogle noder kan finde ud af, at spring over blokbekræftelsestrinet kan være en rentabel strategi. I dette tilfælde står de over for risikoen for minedrift oven på den forkerte blok. Men hvis blokverifikationstiden er vigtig, kan denne strategi være rentabel. Forskere fandt ud af, at en lang udbredelsesforsinkelse reducerer nodens modstand mod 51% angreb og egoistisk minedrift.
For at løse det førnævnte problem forsøger blockchain-udviklere ofte at holde blokformeringstiden mindre end 1% af den gennemsnitlige bloktid.
Dette gælder for Bitcoin, Ethereum og andre større blockchain-netværk, der er baseret på en konsensus om bevis for arbejde. Af denne grund er blokering af udbredelsestid til 50% af knudepunkterne i Bitcoin-netværket ofte under 6 sekunder.
Selvom hurtig blokrelæ, som den, der er beskrevet i BIP 0152, reducerer den gennemsnitlige blokformeringstid, kan det i værste fald tage mere tid end grundprotokollen. Det er vigtigt, at udbredelsesforsinkelsen selv i værst tænkelige tilfælde skal være rimelig, så minearbejdere holder deres noder synkroniseret det meste af tiden og altid vil kontrollere foreslåede blokke.
Når folk taler om skalerbarhed af blockchain, nævner de systemets gennemløb. Folk glemte dog, at forbedringer i transaktionens gennemløb ikke burde kompromittere netværkets sikkerhed eller hæve datalagringskravene til noder, der ønsker at deltage i netværket. Disse ændringer kan reducere antallet af uafhængige transaktionsvalidatorer i netværket og derved reducere decentralisering.
hvor
Bsize er blokstørrelsen i byte;
Tsize er den gennemsnitlige størrelse af transaktionsposten i blokken;
Btime er den gennemsnitlige tid mellem på hinanden følgende blokke i blockchain.
Det er klart, at transaktionsgennemstrømningen kunne øges ved at øge blokstørrelsen, ved at reducere transaktionsregistreringsstørrelsen eller ved at reducere intervallet mellem blokke. Det er ret svært at reducere størrelsen på transaktionsoptegnelserne. Man kan i stedet prøve de to andre muligheder. Disse handlinger vil dog øge den procentdel af tid, der bruges på blokformering. Således kan sikkerheden og decentraliseringen af netværket blive kompromitteret.
Man kan bemærke, at i den beskrevne Bitcoin-protokol bruges netværksressourcer ineffektivt. Hver knude behandler og transmitterer kun vitale data om en ny blok kun en lille brøkdel af tiden. Dens netværksbåndbredde er virkelig vigtig, men den bruges fuldt ud i kun få sekunder ad gangen. Resten af tiden transmitterer denne node kun ventende transaktioner og hjælpedata. Denne observation har inspireret forskere til at kigge efter mere effektive protokoldesign, der dramatisk kunne forbedre transaktionsgennemstrømningen uden at gå på kompromis med sikkerhed og decentralisering af netværket. I vores næste indlæg vil vi diskutere tilgange til løsning af blokformeringsproblemet, der er blevet foreslået i de seneste år.
Vinod Manoharan er en teknologivirksomhed og grundlægger og administrerende direktør for Jax Multiversal Holdings, et holdingselskab, hvis portefølje inkluderer onlinespilvirksomheder, betalingsgateways og Blockchain-teknologivirksomheder. Manoharan er også grundlæggeren af JAX.Netværk, en teknisk opstart i Ukraine med fokus på blockchain-teknologi og mere specifikt at løse det berygtede blockchain-skalerbarhedstrilemma.
Fremhævet billede: Shutterstock / whiteMocca