Kuidas P2P-protokollid püüavad lahendada Bitcoini kaevandamise tsentraliseerimise PlatoBlockchaini andmete luure. Vertikaalne otsing. Ai.

Kuidas P2P-protokollid püüavad lahendada Bitcoini kaevandamise tsentraliseerimist

Bitcoini kaevandusbasseinid tuginevad tsentraliseerimisele, kuid P2Pool ja muud protokollid on püüdnud vähendada vajadust usalduse järele kolmandate osapoolte vastu.

Aastal Eelmine artikkelKirjutasin Bitcoini kaevandamise detsentraliseerimise ja tsentraliseerimise olemusest ja sellest, kuidas seda kontseptualiseerida peamiselt kvalitatiivses mõttes. Artiklis on jaotatud kogu kaevandusvirn, alates basseini koordineerimisest kuni energiatootmiseni, et anda aimu kaevandusvirna erinevate kihtide vahelisest suhetest ja potentsiaalist maksimeerida detsentraliseerimist, rõhutades, et mida madalamal on virna. Kui minna energiatootmise poole, seda keerulisemaks ja kapitalimahukamaks muutub sellesse kihti detsentraliseerimise mõtestatud taseme toomine.

Käesolevas artiklis kavatsen süveneda kaevandusbasseinide ja kaevanduste koordineerimise teemasse, et hõlbustada iseseisvalt omandis olevate kaevanduste koostööd, et kaevandada plokiahelasse lisatavaid plokke.

Kaevandusbasseinide loomine

Kaevandamine on kaugele jõudnud nendest aegadest, mil sai lihtsalt nuppu klõpsata ja plokke usaldusväärselt sülearvuti protsessoriga ise kaevandada. Toona oli see sisuliselt amatöör-hobistlik ettevõtmine, mis ei nõudnud tegelikku kapitaliinvesteeringut ega asjatundlikkust, kuid tänapäeval on tegemist mitme miljardi dollari suuruse professionaalse turuga, kus on vaja ulatuslikke kapitaliinvesteeringuid. See on täiesti erinev pallimäng.

Selle mäetööstuse olemuse nihke üheks loomulikuks tagajärjeks oli kaevandusbasseinide loomine väga varakult. Kui kaevandamine jättis sülearvuti nurka töötama, ei olnud ploki leidmise dispersioon ja ettearvamatus tegelikult nii suur probleem – lõpuks oleksite seda teinud ja sülearvuti töös hoidmise energiakulu ei olnud tegelikult ökonoomne. tähtsust.

Kui asjad läksid üle GPU-dele ja ASIC-idele, tekkis nende tööshoidmiseks materiaalne investeeringukulu ja palju suurem elektrikulu. See ettearvamatus ploki leidmisel sai palju suuremaks probleemiks kaevurite jaoks, kes üritavad oma kapitaliinvesteeringutelt tulu teenida ja kasumlikult tegutseda. Siin tulevad pildile kaevandusbasseinid.

Need võimaldavad kaevuritel teha koostööd, et leida sama ploki kallal töötav kehtiv ploki päis, mis saadab mündibaasi preemia kaevandusbasseini, mis seejärel jaotab selle proportsionaalselt kõigi osalevate kaevurite vahel vastavalt sellele, kui palju tööd nad on teinud, et aidata leida plokk. Seda tõestab "aktsiate" sisseandmine kaevandusbasseinile; plokid, mis ei vasta võrgu raskuse sihtmärgile, kuid on piisavalt kõrged, et tõestada, et kaevandaja ei valeta ja tegelikult töötab riistvara ning püüab leida kehtivat plokki.

Kaevandusbasseinide tsentraliseerimine

Tsentraliseeritud kaevandusbasseinidel on üksikute kaevurite jaoks suur mõju. Need on tsentraliseerimispunktiks tehingute valimisel (või, mis veelgi olulisem, välistamisel) plokki lisamiseks. See annab igale kaevandusbasseini operaatorile täieliku kontrolli tehingute üle, mida nad otsustavad plokiahelas töödelda, ilma et kaevandusriistvara tegelikud omanikud saaksid selles osas kaasa rääkida, välja arvatud juhul, kui nad lahkuvad puulist, kui nad ei nõustu kriteeriumidega, mida operaator valib seadistamise.

Samuti hoiavad nad kinni üksikute kaevurite bitcoine seni, kuni need kaevurid otsustavad need basseinist välja võtta, jättes basseini operaatorile hoidja ja keskpunkti, mis võib kaevureid puuli kasutavatelt välja petta või saada valitsustelt survet arestida üksikute kaevurite raha või rakendada KYC-d. nõuded neile.

Niisiis, millised lahendused on selle probleemi lahendamiseks olemas?

P2Pool: algne detsentraliseeritud kaevandusbassein

P2Pool on algne detsentraliseeritud kaevandusbasseini protokoll. See on peer-to-peer protokoll, milles kaevurid kooskõlastavad omavahel, et kaevandamispreemiad jaotada, kui nad töötavad koos, et leida raskusastmele vastav kehtiv plokk. See koordineerimine saavutatakse kasutades seda, mida protokolli kujunduses nimetatakse "jagamisahelaks".

P2Pooli kaevurid võtavad plokke, mis ei vasta võrgu raskusastmele, ja kaevandavad tõhusalt oma plokiahela, mis koosneb kõigist selle üksiku ploki koopiatest, mille kallal bassein töötab. Kui nad saavutavad väiksema raskusastme eesmärgi, kus plokk muudetakse basseiniks, et tõestada, et nad kaevandavad tsentraliseeritud mudelis, edastavad nad selle ploki ülejäänud kaevuritele. P2Pooli “jagamisraskus” oli suunatud sellele, et kaevurid leiaksid aktsia umbes kord kolmekümne sekundi jooksul.

Olen kindel, et lugejad mõtlevad, kuidas töötab väljamaksed üksikutele kaevuritele. Mündibaasi tehing on üles ehitatud nii, et P2Poolis luuakse iga üksiku kaevandaja jaoks väljund, mis jagab raha otse mündibaasi tehingust. P2Pooli kaevurid kontrollivad, et kõik väljamaksed neile ja kõigile basseinis osalevatele on õiged ning et igale kaevurile, kes on aktsiaahelasse osa panustanud, makstakse iga uue lisatava aktsia eest oma töö eest õigesti välja. Kui mõni osalev kaevur ei struktureeri õigesti väljamakseid kõigile oma viimases aktsias, lõpetavad kõik teised P2Pooli kaevurid neid oma väljamaksetesse kaasamast ja "tõstvad" selle kaevandaja basseinist välja, kuna ta ei käitunud ausalt.

See disain tõi kaasa mõned skaleerimisprobleemid, mistõttu seda enam ei kasutata. Kui P2Poolis osalemine kasvab, suureneb ka jagamisahela aktsiate koondraskuste sihtmärk, mis sihivad ligikaudu kord kolmekümne sekundi jooksul. See tähendab, et väiksemate kaevurite jaoks muutub aktsiaahela raskuseni jõudmine mis tahes kolmekümne sekundi jooksul keerulisemaks. See tähendab, et väiksemate kaevurite puhul suureneb nende sissetulekute dispersioon või ettearvamatus, kui P2Pooli koondräsimäär suureneb. See toob kaasa ka suurema hulga aegunud plokke, kuna rohkem kaevureid leiab aktsiaahela jaoks konkureerivaid aktsiaid samal ajal, kui rohkem kaevureid liitub P2Pooliga, mis toob kaasa "raisatud töö" üksikute kaevurite seisukohast, kes ainult saavad. hüvitatakse, kui nende osa kuulub aktsiaahelasse.

Teine peamine mastaapsuse probleem seisneb selles, et väljamaksed lähevad otse üksikutele kaevuritele mündibaasi tehingust endast. Arvestades, et iga kaevandaja makstakse välja proportsionaalselt nende kaevandatud aktsiatega, mis on kaasatud aktsiaahelasse, nõuab iga P2Pooli kaevur mündibaasi tehingusse uut väljundit.

Sellel on kaks tagajärge. Esiteks: kaevandajatele antakse igas P2Pooli leitud plokis väikseid madala väärtusega UTXO-sid, millega kaasnevad hiljem nende väljundite tihendamise kulud ja/või palju suuremate tehingute kulud, kui nad lähevad oma münte kulutama. arvukalt üksikuid UTXO-sid, millega nad lõpetavad, mitte üheainsa asemel, kui nad pärast teatud perioodi tavapärasest reservist lahkuvad. Teiseks: iga uus mündibaasi väljund võtab enda alla plokiruumi, mida võivad teiste inimeste tehingud ära kasutada, ja teenib P2Poolile rohkem tasude tulu. Protokollis osalevatele kaevuritele on see kahekordne kaotus.

Need kaks probleemi aitasid kaasa protokolli aeglaselt hääbumisele ja lõpuks kasutuseta olekusse. Kõigi märkide põhjal, mis näitavad, et olen püüdnud leida täpset ja värsket statistikat (paljud vanad plokkide uurijad, kes jälgivad kaevanduskogumi osakaalu, on aastate jooksul tegevuse lõpetanud), tundub, et viimane P2Pooli kaevandatud plokk oli sisse lülitatud. Veebruar 12, 2019.

P2Pool maksekanalite väljamaksetega

Aastal 2017, kuu pärast SegWiti aktiveerimise lukustamist, tegi Chris Belcher ettepanek P2Pooli mastaapsuse parandamiseks ühesuunaliste maksekanalite ja kaevurite väljamakseid haldavate keskuste rühma abil.

Ettepaneku põhieesmärk on käsitleda suuremate mündibaaside tehingute probleemi, mis kaotavad kaevurite raha kahel erineval viisil. Kõrgel tasemel on idee lihtsalt maksta kogu mündibaasi tehing välja üksikutele kaevurite jaoks avatud maksekanalitega keskusesse ja tagada, et võimalus mündibaasi tehingust raha välja nõuda on aatomiliselt seotud kaevurite hüvitamisega. oma aktsiaid maksekanalite kaudu.

Mündibaasi tehingu ja väljamaksete maksekanalite vahelise ühtsuse eesmärgi saavutamiseks tuleb mündibaasi tehingu väljundskripti kohandada. Belcheri ettepanekus on see üles ehitatud mitme haru skriptina, millel on kolm kulutingimust:

  • Kaks kahest multisig. Võti üks: rummu (Hc). Teine võti: kaevur, kes leidis ploki (Mc).
  • Üks võti ja räsilukk. Võti: rummu (H). Hashlock: jaoturi (X) genereeritud juhuslik väärtus.
  • Üks võti ja ajalukk. Võti: kaevandaja, kes ploki leidis (M). Ajalukk: CSV suhteline kuuekuuline ajalukk.

Mündibaasi tehinguväljundi avamiseks saab kasutada mõnda neist kulutingimustest. Vaatame nüüd kaevurite maksekanali skripti, et saaksime näha, kuidas need kaks asja omavahel suhtlevad:

  • Kaks kahest multisig. Võti üks: rummu (Hc1). Teine võti: kaevandaja (Mc1).
  • Kaks kahest multisig ja hashlock. Võti üks: jaotur (Hu1). Teine võti: kaevandaja (Mu1). Hashlock: juhuslik väärtus, mille genereerib mündibaasis kasutatud jaotur (X).

Nüüd vaatame läbi, kuidas need kaks asja omavahel suhtlevad.

Kuna kaevurid toodavad aktsiaid, mida jagamisahelasse lisada, jälgib keskus edenemist. Jaotur värskendab iga jagamise kohta kanali olekut kaevurite abil, kes annavad neile osa, et maksta neile proportsionaalselt nende tehtud töö mahuga. Kuid nad annavad neile allkirja ainult teise skriptitee jaoks, mille kulutamiseks on vaja räsiluku eelkujutist – see tagab, et vaikimisi, ilma et jaotur neile esimese tee jaoks allkirja annaks, ei saa nad raha nõuda, välja arvatud juhul, kui jaotur kulutab mündibaasi. väljund ise, kasutades skripti teed koos räsilukuga, mis nõuab eelpildi avaldamist.

Lõpuks leiab üks P2Pooli kaevandajatest kehtiva ploki ja avaldab selle võrku. Sel hetkel saab jaotur värskendada kaevuritega kõiki maksekanaleid ja anda allkirja kanali esimesele skriptiteele, võimaldades igal kaevandajal oma kanali sulgeda ja teenitud preemiaid koguda igal ajal, ilma räsilukuta. eelpilt.

Sel hetkel märgib ploki leidnud kaevur mündibaasi esimesele skriptiteele, võimaldades jaoturil mündibaasilt raha nõuda. Sellele kaevandajale antakse kaevandamistasudest väike boonus, et motiveerida neid koostööle alla kirjutama. Kuid pidage meeles: kui kaevur keeldub koostööst, võib keskus lihtsalt kulutada ise räsiluku teed ja paljastada eelpildi, võimaldades kõigil kaevuritel oma õiglase osa tasust koguda.

Sellel on lihtsalt negatiivne külg, mis sunnib kõiki kanaleid ahelas sulgema ja kaevandamise jätkamiseks tuleb need uuesti avada. Viimane võimalus on olemas juhul, kui jaoturi operaator otsustab väljamaksete töötlemise peatada või kaob. Kuue kuu pärast saab ploki leidnud kaevandaja raha täielikult enda jaoks välja nõuda, kui jaotur pole koostööle reageerinud või on mündid räsiluku teele kulutanud.

See jätab Belcheri pakutud täiustustega ohumudeli osas kaks konkreetset probleemi. Otsustades, milliseid tehinguid plokki kaasata, jääb ruumi varieeruvusele selles osas, kui suur osa ploki kogutasust põhineb sellel, mida üksikud kaevurid otsustavad lisada nende kaevandatavatesse plokimallidesse.

Maksekanalite juurutamisel loob see veamarginaali, st tegelik kaevandatud ploki tasu ei võrdu sellega, mida kaevanduskeskus kaevurite maksekanalites kohustub. Juhul, kui tegelik tasuhinnangud on väiksemad kui ploki tasu, saab jaotur lihtsalt värskendada ühistu kuluteed kasutavaid maksekanaleid väiksema summaga ja seni, kuni nad ei taotle mündibaasi väljundit räsiluku teega, kaevuritel ei jää muud üle, kui nõustuda väiksema väljamaksega, mis vastab tegelikult kaevandamise tasule.

Juhul, kui kaevandamise tasu oli prognoositust veidi kõrgem, on keskuse huvides siiski kaevurite kanaleid selle kajastamiseks värskendada, kuna kaevurid, keda keskus ebaausalt kohtleb, võivad igal ajal lihtsalt lahkuda. Ainus äärmuslik juhtum, kus jaoturil võib olla mõttekas defekte tekitada ja lisatasu endale jätta, oleks see, kui keegi maksaks ebaharilikult suurt kaevandustasu, kuid lisaks sellele olukorrale on keskuse ja kaevurite huvides kohaneda mis tahes lahknevusega preemia hinnang ja tegelik ploki tasu.

Teine probleem on tõsiasi, et jaotur on keskne punkt, mida saab DDoS-i eemaldada ja sundida P2Pooli toimimist takistama. Belcheri ettepanek hõlmab mitme jaoturi kasutamist ja iga mündibaasi tehingu saatmist erinevatest plokkidest erinevatesse jaoturitesse. See eeldab aga, et kaevurid peavad avama kanalid kõigist nende kasutatavatest jaoturitest, mis Belcheri hinnangul, et jaotur, mis vajab kaevurite likviidsuse tagamiseks 50-kordset plokitasu (umbes 650 BTC), muutub kapitali uskumatult ebatõhusaks.

Braidpool: Teine iteratsioon

sisene Braidpool (hoiatus: link on otsene PDF-i allalaadimine GitHubist). Braidpool on Bob McElrathi ja Kulpreet Singhi ettepanek, mis põhineb Belcheri ettepanekul, kasutades maksekanaleid. Belcheri ettepanekusse on tehtud kaks suurt muudatust, mis parandavad lahendamata probleeme.

Esimene on muutus selles, kuidas keskused ja kaevurid omavahel suhtlevad. Nad teevad ettepaneku, et kaevurid lisaksid igale basseinile edastatavale aktsiale Tor v3 aadressi. Nii saab jaotur töötada ilma võrgu lõpp-punkti paljastamata, mis on vastuvõtlik DoS-i rünnakutele.

Jaoturi operaator saab seejärel luua ühenduse kaevuritega, et nendega kanaleid avada ja värskendada, leevendades kaevurite vajadust kasutada mitut jaoturit, et vältida ühte ründepunkti. See võimaldab Braidpoolil töötada ühe jaoturiga, muutes kogu süsteemi tugevamaks ja kapitalitõhusamaks.

Kuidas P2P-protokollid püüavad lahendada Bitcoini kaevandamise tsentraliseerimise PlatoBlockchaini andmete luure. Vertikaalne otsing. Ai.
Allikas: Braidpooli valge paber

Teine muudatus on suunatud atsüklilise graafi (DAG) kasutamine jagamisahela asemel. Aktsiaahela probleem seisnes selles, et kolmekümne sekundilise jagamisaja eesmärgi puhul suurenes aktsiate jaoks nõutav raskus, kuna kogum kasvas, muutes väiksemate kaevurite töö keerulisemaks. DAG-i nagu Ethereum kasutamine, kus see ei ole nullsummamäng, kus üks aktsia jõuab jagamisahelasse ja teised jäävad orvuks, võimaldab kaevuritel dünaamiliselt seada aktsiate jaoks raskusi, mida saab reguleerida vastavalt nende räsimäärale ja sellele, kuidas. sageli leiavad nad sellega aktsiaid.

DAG-i struktuur hõlmab kõiki, kes on selles osalenud tegelike leitud Bitcoini plokkide vahel, jagades preemiad proportsionaalselt kõigi vahel DAG-le tehtud töö alusel. See lahendab üksikute kaevurite dispersiooni skaleerimise probleemi, kui basseinid kasvavad.

Peale nende kahe muudatuse on ülejäänud struktuur täpselt nagu Belcheri ettepanek, mündibaasi ja kanali skriptid on samad.

Final Thoughts

Mõned lugejad võivad küsida, miks Betterhashi selles artiklis ei puudutatud. Kuigi detsentraliseerib plokki lisatavate tehingute valiku, ei detsentraliseerita see täielikult kõiki kogumi funktsioone – mis kõige tähtsam, rahalisi vahendeid käsitlevate kogumite hoidmise olemust. See jätab kaevurid avatud sundimisele, kui nad keelduvad raha väljamaksmisest, kui kaevandaja valib tehinguid, mida puul heaks ei kiida. Seetõttu ei peaks ma seda detsentraliseeritud kaevandusbasseiniks, kuigi see parandab veidi olukorda vaenulikus, kuid mitte päris konkurentsipõhises keskkonnas.

See artikkel on keskendunud P2Poolile ja pakutud iteratsioone selle skaleerimispiirangute parandamiseks. Et mitte tervet raamatut kirjutada, ei ole ma puudutanud teisi olemasolevaid ega potentsiaalseid kujundusi. Niipea, kui ma selleni jõuan, kavatsen kirjutada täiendava artikli, mis käsitleb muid kaevandusbasseinide detsentraliseerimise mehhanisme.

See on Shinobi külalispostitus. Avaldatud arvamused on täielikult nende omad ja ei pruugi kajastada BTC Inc või Bitcoin ajakiri.

Ajatempel:

Veel alates Bitcoin ajakiri