Á gengi: hvernig eru mismunandi forritarar bitmagna hraðari upp á netið (hluti 1)

Borgaralaun - Dr. Henning Meyer Master (Júlí 2019).

Anonim

Bitcoin er hannað sem jafningjaforrit, þar sem hnútar tengjast handahófi við aðrar hnúður. Viðskipti og blokkir eru sendar yfir þetta net með þessum hnútum, þar til hver hefur fengið allt. Þetta virkar nokkuð vel, þar sem dreifður líkan gerir Bitcoin tiltölulega ritskoðun-þola; Það er ekkert miðpunktur við stjórn til að leggja niður eða þrýsting í samræmi.

En það hefur einnig verulegan hækkun: Peer-to-peer netið er tiltölulega hægur. Eins og svo, sóa miners (og laugir) stundum sósuaflmynstur ofan á gömlu blokkinni en nýrri blokk er að finna leið sína í gegnum netið. Sendingartap, því ávinningur sameinað námuvinnslu og landfræðileg þyrping miners, hvetja til aukinnar miðlægrar námuvinnslufræði. Þetta er almennt talið einn af flöskuhálsum fyrir sveigjanleika, þar sem stærri blokkir (sem geta falið í sér fleiri viðskipti) fjölga enn hægar.

Þess vegna hafa nokkur verkefni verið í þróun á undanförnum árum til að auka hraða útsprengingar. Þessar verkefni eru lögð áhersla á u.þ.b. tvö meginatriði: Lokaþjöppun til að takmarka magn gagna sem þarf að breiða yfir netið, og gengi hraða til að skera tímann sem það tekur fyrir blokkir til að breiða út.

Þessi tveir hluti röð gefur yfirlit yfir þessi verkefni. Hluti 1 mun ná yfir þjöppun.

Forstöðumaður fyrsta námuvinnslu

Hver bitcoin blokk inniheldur blokkarhaus sem vísar til allra gagna í þeirri blokk. A kjötkássi af þessum blokkarhausi verður að vera með í síðari blokkinni til þess að næsta blokk sé gild. Þannig eru allar blokkir á blockchain festar.

Þegar verkamaður finnur blokk, sendir hann út blokkarhausinn fyrst - fljótlega eftir afgangnum af blokkinni. Þessi haus, eins og heilbrigður eins og the hvíla af the blokk, er köflóttur fyrir gildi með því að taka á móti hnútum. Ef gilt er mun miners "minnka" ofan á "þessi blokk með því að nota blokkarhausinn. Blokkið (þar með talið hausinn) er einnig send til annarra hnúta.

Forstöðumaður First Mining er bragð sem lagt er af fyrrverandi Bitcoin Core forystu verktaki Gavin Andresen. Með Head First Mining, bíða ekki miners fyrir að loka blokk til að koma áður en þeir byrja námuvinnslu síðari blokk. Þess í stað eru þeir strax mínir ofan á blokkina hausinn eins fljótt og þeir fá það og senda einnig hausinn til annarra hnúta. Þetta bjargar augljóslega tíma.

Forstöðumaður fyrsta námuvinnslu hefur þó tvær ókostir. Í fyrsta lagi vita miners ekki viss um hvort blokkin sem þeir eru námuvinnslu ofan á er í raun gild. Þó að blokkarhausinn kann að virðast vera gilt (vegna fullnægjandi sönnunar á vinnu) getur blokkin td verið með ógild viðskipti. Sem slíkur er hluti af áhættu í þessari lausn. "Árás" samvinnufélaga með falsa blockheaders til að fá þá úrgangi er dýrt, en ekki ómögulegt.

Í öðru lagi, sem kannski stærri ókostur, hafa miners ekki hugmynd um hvaða viðskipti eru í blokkinni sem þeir eru námuvinnslu ofan á.Sem slíkur er eina leiðin til að tryggja síðari blokk þeirra gilda og ekki tvöfalt til að eyða viðskiptum, með því að alls ekki innihalda viðskipti. Aðeins eftir að miners fái lokið blokkinni munu þeir vinna á blokk sem felur í sér viðskipti.

Þetta þýðir auðvitað að sumar blokkir verða tómir, sem er ekki frábært fyrir netafgang. (En ef stækkunarglerið getur aukist vegna þess gæti það bætt við.)

Samningur blokkir

Eins og sést, senda Bitcoin hnúður yfirleitt hvor aðra blokkir yfir jafningjakerfið. Því miður getur þetta valdið verulegum útbreiddum bandbreidda toppa í hvert skipti sem ný blokk er að finna, sem hægt er að hægja á niðurbrotum á milli hnúta.

Compact blokkir, þróuð af Bitcoin Core verktaki Matt Corallo, er bragð sem ætlað er að draga úr gagnaflutningi. Þegar ný blokk er að finna, hafa hnúður aðeins samskipti við upphaflega mjög samhæfa hreppi viðskiptagagna. Vegna þess að hnútar hafa þegar fengið fulla viðskiptagögn þegar þau voru upphaflega send í gegnum netið, geta þeir notað þessa kjöt til að reikna út hvaða viðskipti eru innifalin í blokkinni og endurgera alla blokkina sjálfan.

En þetta bragð vinnur ekki alltaf fullkomlega. Ef hnút hefur ekki fengið fyrstu viðskiptin áður en kjötið er tekið, getur það ekki valið samsvarandi viðskipti. Þar að auki getur röng viðskiptin haft kjötkáss í hægri hakk, lurar hnút í að trúa því að það hafi fengið rétta viðskiptin - þar til hún reynir að endurreisa blokkina og finnur það ekki T bæta við.

Í báðum þessum tilvikum um bilun óskar hnúturinn einfaldlega eftir tilteknum viðskiptargögnum. Jafnvel með nokkrum fullum viðskiptum í þeim, mun Compact Blocks senda yfir netið miklu hraðar og þurfa verulega minni bandbreidd.

Xtreme Thinblocks

Xtreme Thinblocks, valkostur innifalinn í Bitcoin Unlimited, er svipað og Compact Blocks á marga vegu; til dæmis, frekar en að senda allar viðskiptagögn, senda Xtreme Thinblocks fleiri samsetta hylkja.

Sem aðal munurinn, nota Xtreme Thinblocks aukalega stærðfræðilegan bragð til að miðla viðskiptum á flóðum: Bloom Filters. Án þess að fara í of mikið smáatriði nákvæmlega hvernig þetta bragð virkar eru Bloom Filters samningur gagnasamskipta sem snúa að Compact Blocks bragðinu á hvolfi. Nodes geta notað Bloom Filters til að reikna út hvaða viðskipti í blokkum hnút vantar og beðið aðeins um þau.

Veikar blokkir

Þannig er gildi Bitcoin blokkir að hluta til ákvörðuð af blokkarhausinum. Nánar tiltekið, kjötið í þessum blokkarhausi verður að byrja með að minnsta kosti tilteknu magn af núllum, að hluta til vegna slembitals ("nonce") sem einnig er innifalið í blokkarhausanum. Að hafa nægilegt magn af núllum "sannar" að nauðsynlegt sönnun á vinnu var lokið.

Sérstök magn af núllum sem krafist er ákvarðast af erfiðleikum. Svo, sem dæmi sem þýðir ekki raunverulega að veruleika, segjum að erfitt sé átta.Það myndi þýða að kjötkássa í blockheader myndi þurfa að byrja með átta zeroes; Hættuspilari sem byrjar með sex eða sjö núllum myndi ekki gilda. Það gæti verið "næstum í gildi" en ekki alveg.

Veikur blokkir, tiltölulega gamall hugmynd, eru í raun "næstum gildir" blokkir. Þeir eru venjulegir blokkir á alla vegu: Þeir eru viðskipti og allur the hvíla - nema að kjötið í hausnum sínum byrjar ekki með nægum núllum.

Veikar blokkir geta verið gagnlegar. Með því að senda veikburða blokkir yfir netið geta miners bent á hvaða blokk þeir eru að vinna og hvaða viðskipti það felur í sér.

Þegar steinn er að finna einhvern hátt til að hylja blokkina rétt, hefur hann gilt blokk. Og þar sem allir aðrir miners vita nú þegar á hvaða blokk þessi verkamaður var að vinna, þarf hann virkilega aðeins að senda lágmarksgögn af gögnum: staðfestingu og réttan rétt. Svo þegar heildarupphæð gagna sem send eru yfir netið er í raun aukin (þar sem veikir blokkir eru sendar allan tímann) eru viðeigandi upplýsingar til mín ofan á takmörkuð.

Á morgun: Á gengi: Hvernig eru mismunandi þróunaraðilar bitcoin hraðari upp á netið (2. hluti)