Hvad er Bitcoins MiniSketch-protokol? Reduktion af krav til båndbreddeknude

Bitcoin Minisketch

At køre fulde Bitcoin-klienter er en vital komponent i netværkets bæredygtige decentralisering og en nyttig repræsentation af netværkets sunde vedtagelse. At betjene fulde noder er dog ikke en bekvem proces for almindelige brugere at få adgang til Bitcoin.

Fuld noder skal synkroniseres med hele Bitcoin blockchain (~ 200 GB) og opret forbindelse til flere jævnaldrende for videresendelse af transaktioner, der sendes over hele netværket. Standard fulde noder forbinder med 8 peers, og transaktionsrelæer tegner sig for en stor del af den båndbredde, der kræves til styring af en fuld node.

Bitcoin Minisketch

Gregory Maxwell, en førende Bitcoin-udvikler og medstifter af Blockstream, anslås, at transaktionsrelæer tegner sig for ca. 87 procent af fuld node-båndbreddekrav.

Derudover kan det tage flere dage at fuldføre fuld nodesynkronisering og involvere nogle grundlæggende tekniske viden om Bitcoin. Den ofte besværlige proces med at køre en fuld node er en væsentlig barriere for adoption, der stort set forhindrer mange mainstream-brugere i at starte en fuld klient.

Flere udviklinger har forbedret processen med at starte og drive en fuld klient, f.eks Casas hardwareknude og Pierre Rochard’s node-launcher – som inkluderer LN-kompatibilitet med Zap og Joule. At reducere byrden for fulde nodeoperatører er imidlertid en forsigtig langsigtet satsning og er fokus for flere forbedringer af Bitcoin, herunder MiniSketch.

MiniSketch er en foreslået metode til ‘sæt afstemning’ af mempool-sæt mellem noder i netværket, spydspids af Peter Wuille, Gregory Maxwell og Gleb Naumenko.

Synkronisering mellem noder

Før du dykker ned i MiniSketch, er det relevant at adressere synkroniseringsprocessen mellem noder og baggrunden for indstillet afstemning.

Sætafstemning er en proces inden for datalogi, hvor datasæt afregner (dvs. afstemmer) forskellene mellem deres datasæt for at konvergere på præcise kopier. Maxwell beskrev processen i en stykke af Bitcoin Magazine som beslægtet med at synkronisere telefonkontaktlister mellem to personer, der deler mange af de samme kontakter.

”Du kan sende dem hele din liste, men det passer ikke på et postkort og ville være temmelig spildt under alle omstændigheder, da de allerede kender de fleste af kontakterne … Det er faktisk muligt at kommunikere hele dit sæt kontakter til dem ved kun at sende så meget information som størrelsen på forskellen mellem dine lister, selv uden nogen idé på forhånd om, hvad de faktiske forskelle er. ”

At afstemme forskelle mellem datasæt på forskellige computere kræver båndbredde for at krydshenvise de specifikke uoverensstemmelser mellem de to sæt og konvergere på den identiske kopi. Algoritmer til forbedring af indstillet afstemning giver mere effektive stier til afstemning af forskelle mellem datasæt, hvilket reducerer kravene til båndbredde.

MiniSketch i Bitcoin er en implementering af PinSketch BCH-baseret sikker skitsealgoritme. BCH står for ‘Bose-Chaudhuri-Hocquenghem‘Og er koder, der bruges til cyklisk fejlkorrektion i computerprogrammering og implementeret i applikationer som satellitkommunikation.

I Bitcoin implementerer MiniSketch PinSketch for at optimere distributionen af ​​transaktioner i netværket, så fuld klienter kan oprette forbindelse til flere jævnaldrende med reducerede båndbreddekrav.

Datasættene, der afstemmes i Bitcoin, er de transaktioner, der modtages og videreformidles af peer-noder. De fleste noder indeholder mange af de samme transaktioner, men den rækkefølge, de modtages, forårsager undertiden uoverensstemmelser, hvilket forsinker synkroniseringen af ​​data mellem deres mempools og driver brugen af ​​båndbredde højere.

Noder i Bitcoin-netværket sender transaktioner via netværkets sladderprotokol, kendt som diffusion. Målet er at videresende transaktioner på tværs af netværket til et flertal af noder meget hurtigt. Dette fører til uoverensstemmelser i rækkefølgen af ​​transaktioner inden for mempools sammenlignet med for nylig synkroniserede blokke.

Minisketch

MiniSketch er designet til at forbedre den indstillede afstemningsproces ved at præsentere en mere effektiv mekanisme for node-mempools til at synkronisere og kun videregive nødvendige data mellem dem i stedet for hele datasættene.

Noder spilder betydelig båndbredde ved at skelne, hvilke noder der skal modtage, hvilke transaktionsdata for netværket, der skal synkroniseres, når transaktioner afhentes af minearbejdere fra mempool. MiniSketch gør det muligt for noder at krydshenvise dataene via en algoritme baseret på kun de data, der forekommer i det ene sæt, men ikke det andet.

Typisk fokuserer udvekslingen af ​​data mellem noder på at henvise til hele mempool-datasættene. MiniSketch tillader en meget mere kompakt synkronisering (afstemning) af transaktionsmempool-sæt ved at tegne forskellene mellem datasæt via ‘sæt kontrolsummer.’

Indstil kontrolsummer har en forudbestemt kapacitet og kan bruges til at tegne den symmetriske forskel mellem to datasæt. For eksempel, hvis Alice og Bob vil afstemme deres node-transaktionssæt, kan de bruge MiniSketch til at beregne en skitse af elementerne i deres datasæt.

En af parterne, lad os sige Bob, måler den symmetriske forskel mellem de to datasæt, der svarer til at finde et præcist antal forskelle mellem forskellige typer datasummer. Bob forsøger imidlertid kun at gendanne de forskellige data i Alice’s skitse fra sin skitse. Han sender derefter forskellene til Alice, og de kan begge afstemme deres transaktionssæt meget mere effektivt.

Ifølge MiniSketch Github ReadMe-fil:

”Dette vil altid lykkes, når størrelsen på forskellen (elementer, som Alice har, men Bob ikke plus elementer, som Bob har, men Alice ikke) ikke overstiger kapaciteten på den skitse, som Alice sendte. Den interessante del er, at dette fungerer uanset de faktiske indstillede størrelser – kun forskellen betyder noget. ”

Ifølge Maxwell i Bitcoin Magazine-stykket kunne MiniSketch muliggøre en potentiel reduktion i node-transaktionsrelæ overhead med 40X, hvilket er hvad deres simuleringer angav.

De to primære fordele ved MiniSketch er:

  1. Reduktion af knudebåndbredde.
  2. Knudernes evne til at oprette forbindelse til flere jævnaldrende.

Båndbreddens reduktion ved hjælp af MiniSketch er tydelig og kan bruges til mere effektiv blokformering satellitforbindelser med lav båndbredde.

Den reducerede båndbreddebelastning pr. Node ville også gøre det muligt for noder at oprette forbindelse til flere jævnaldrende end normalt – såsom 16 i stedet for 8. Andre fordele og anvendelser af MiniSketch, som citeret i Github-repoen, er dens potentielle kombination med DC-net til ‘kryptografisk anonym kommunikation med flere parter’ og hjælpe med at udtrække en kryptografisk nøgle fra ‘fuzzy’ biometriske data.

Især er MiniSketch også valgfri for nodeoperatører, da det ikke er en del af Bitcoins konsensus, der kræver, at noder opgraderer til den nyeste kernespecifikation. I stedet kunne operatører vælge at køre protokollen sammen med andre for at øge deres båndbreddeffektivitet.

En formel BIP for MiniSketch er endnu ikke tilgængelig, og et fremtidigt forslag kan integreres med en anden protokol kendt som ‘Invertible Bloom Lookup Tables‘Til forbedring af blokformering. Den valgfri eksistens af MiniSketch gør det også mindre tilbøjeligt til at blive efterslæbt med andre formelle konsensusændringsforslag til den ældre kryptovaluta.

De overordnede fordele ved MiniSketch er overbevisende for nodeoperatører, da det sænker barrieren for at betjene en fuld node og gør den mere effektiv. Flere fulde Bitcoin-klienter betyder mere robust decentralisering og et sundere netværk.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me