No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Å ajā rakstā es jums pastāstÄ«Å”u par DAG (Directed Acyclic Graph) un tā pielietojumu sadalÄ«tajās virsgrāmatās, un mēs to salÄ«dzināsim ar blokķēdi.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

DAG nav nekas jauns kriptovalÅ«tu pasaulē. Iespējams, esat dzirdējuÅ”i par to kā risinājumu blokķēdes mērogojamÄ«bas problēmām. Taču Å”odien mēs nerunāsim par mērogojamÄ«bu, bet gan par to, ar ko kriptovalÅ«tas atŔķiras no visa pārējā: decentralizācija, starpnieku trÅ«kums un pretestÄ«ba cenzÅ«rai.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Es arī parādīŔu, ka DAG patiesībā ir izturīgāks pret cenzūru un nav starpnieku, kas piekļūtu virsgrāmatai.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Mums pazÄ«stamajās blokķēdēs lietotājiem nav tieÅ”as piekļuves paÅ”ai virsgrāmatai. Ja vēlaties pievienot darÄ«jumu virsgrāmatai, jums tas ir "jālÅ«dz" bloka ražotājam (arÄ« "kalnraču"). Kalnrači ir tie, kas izlemj, kuru darÄ«jumu pievienot nākamajam blokam un kuru ne. TieÅ”i kalnračiem ir ekskluzÄ«va piekļuve blokiem un tiesÄ«bas izlemt, kura darÄ«jums tiks pieņemts iekļauÅ”anai virsgrāmatā.

Kalnrači ir starpnieki, kas stāv starp jums un izplatīto virsgrāmatu.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Praksē parasti neliels skaits kalnraču pÅ«lu kolektÄ«vi kontrolē vairāk nekā pusi no tÄ«kla skaitļoÅ”anas jaudas. Bitcoinam tie ir četri baseini, Ethereum - divi. Ja viņi vienojas, viņi var bloķēt jebkurus darÄ«jumus, ko vēlas.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Dažu pēdējo gadu laikā ir ierosinātas daudzas blokķēžu variācijas, kas atŔķiras pēc bloku ražotāju izvēles principiem. Bet paÅ”i bloku ražotāji nekur neiet, viņi joprojām "stāv pie barjeras": katram darÄ«jumam ir jāiet caur bloku ražotāju, un, ja viņŔ to nepieņem, tad darÄ«juma faktiski nav.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Tā ir neizbēgama problēma ar blokķēdi. Un, ja mēs vēlamies to atrisināt, mums ir radikāli jāmaina dizains un pilnÄ«bā jāatbrÄ«vojas no blokiem un bloku ražotājiem. Un tā vietā, lai veidotu bloku ķēdi, mēs savienosim paÅ”us darÄ«jumus, katrā darÄ«jumā iekļaujot vairāku iepriekŔējo hashes. Rezultātā mēs iegÅ«stam struktÅ«ru, kas matemātikā pazÄ«stama kā virzÄ«ts aciklisks grafs - DAG.

Tagad ikvienam ir tieÅ”a piekļuve reÄ£istram, bez starpniekiem. Ja vēlaties pievienot darÄ«jumu virsgrāmatai, vienkārÅ”i pievienojiet to. JÅ«s atlasāt vairākus vecāku darÄ«jumus, pievienojat savus datus, parakstāt un nosÅ«tāt savu darÄ«jumu vienaudžiem tÄ«klā. Gatavs. Neviens neliedz jums to darÄ«t, tāpēc jÅ«su darÄ«jums jau ir reÄ£istrēts virsgrāmatā.

Å is ir visdecentralizētākais un cenzÅ«rai droŔākais veids, kā bez starpniekiem pievienot darÄ«jumus virsgrāmatai. Jo visi vienkārÅ”i pievieno savus darÄ«jumus reÄ£istram, nevienam neprasot atļauju.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

DAG var uzskatÄ«t par treÅ”o posmu reÄ£istru attÄ«stÄ«bā. Vispirms bija centralizēti reÄ£istri, kur viena puse kontrolēja piekļuvi tiem. Pēc tam parādÄ«jās blokķēdes, kurās jau bija vairāki kontrolieri, kas ierakstÄ«ja darÄ«jumus virsgrāmatā. Visbeidzot, DAG vispār nav kontrolieru; lietotāji savus darÄ«jumus pievieno tieÅ”i.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Tagad, kad mums ir Ŕī brÄ«vÄ«ba, tai nevajadzētu radÄ«t haosu. Mums ir jāvienojas par reÄ£istra stāvokli. Un Ŕī vienoÅ”anās jeb konsenss parasti nozÄ«mē vienoÅ”anos par divām lietām:

  1. Kas notika?
  2. Kādā secībā tas notika?

Uz pirmo jautājumu varam viegli atbildēt: kad pareizi izveidota transakcija ir pievienota virsgrāmatai, tā ir notikusi. Un periods. Informācija par to var sasniegt visus dalÄ«bniekus dažādos laikos, taču galu galā visi mezgli saņems Å”o darÄ«jumu un zinās, ka tas ir noticis.

Ja tā bÅ«tu blokķēde, kalnrači izlemtu, kas notiks. NeatkarÄ«gi no tā, ko kalnracis nolemj iekļaut blokā, tas notiek. Viss, ko viņŔ neiekļauj blokā, nenotiek.

Blokķēdēs kalnrači atrisina arī otru vienprātības problēmu: kārtību. Viņiem ir atļauts pasūtīt darījumus blokā pēc saviem ieskatiem.

Kā noteikt darījumu secību DAG?

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Tikai tāpēc, ka mÅ«su grafiks ir vērsts, mums jau ir zināma kārtÄ«ba. Katrs darÄ«jums attiecas uz vienu vai vairākiem iepriekŔējiem vecākiem. Vecāki savukārt atsaucas uz saviem vecākiem utt. Vecāki acÄ«mredzami parādās pirms bērnu darÄ«jumiem. Ja kādu no transakcijām var sasniegt, pārejot no vecāk-bērniem, mēs precÄ«zi zinām secÄ«bu starp darÄ«jumiem Å”ajā darÄ«jumu ķēdē.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Taču secību starp darījumiem ne vienmēr var noteikt tikai pēc diagrammas formas. Piemēram, ja divas transakcijas notiek paralēlos grafika zaros.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Lai atrisinātu neskaidrÄ«bas Ŕādos gadÄ«jumos, mēs paļaujamies uz tā sauktajiem pasÅ«tÄ«jumu nodroÅ”inātājiem. Mēs tos saucam arÄ« par "lieciniekiem". Tie ir parastie lietotāji, kuru uzdevums ir nepārtraukti un sakārtoti sÅ«tÄ«t transakcijas uz tÄ«klu, t.i. lai katru no viņu iepriekŔējiem darÄ«jumiem varētu sasniegt, izmantojot pārejas pa vecāku un bērnu saitēm. PasÅ«tÄ«jumu nodroÅ”inātāji ir uzticami lietotāji, un viss tÄ«kls paļaujas uz tiem, lai nepārkāptu Å”o noteikumu. Lai racionāli Uzticieties viņiem, mēs pieprasām, lai katrs pasÅ«tÄ«juma nodroÅ”inātājs bÅ«tu zināma (ne anonÄ«ma) persona vai organizācija, un viņam ir ko zaudēt, ja tas pārkāpj noteikumus, piemēram, reputāciju vai uzņēmējdarbÄ«bu, kuras pamatā ir uzticÄ“Å”anās.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

PasÅ«tÄ«jumu nodroÅ”inātājus izvēlas lietotāji, un katrs lietotājs iekļauj savu uzticamo pakalpojumu sniedzēju sarakstu katrā darÄ«jumā, ko tas nosÅ«ta uz tÄ«klu. Å ajā sarakstā ir 12 pakalpojumu sniedzēji. Tas ir pietiekami mazs skaitlis, lai persona varētu pārbaudÄ«t katra identitāti un reputāciju, un pietiekami, lai nodroÅ”inātu, ka tÄ«kls turpina darboties neizbēgamu problēmu gadÄ«jumā ar pasÅ«tÄ«jumu nodroÅ”inātāju mazākumu.

Å is pakalpojumu sniedzēju saraksts dažādiem lietotājiem ir atŔķirÄ«gs, taču blakus esoÅ”o darÄ«jumu saraksti var atŔķirties atkarÄ«bā no pakalpojumu sniedzēja.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Tagad, kad mums ir pasÅ«tÄ«jumu nodroÅ”inātāji, mēs varam izolēt to darÄ«jumus DAG un pasÅ«tÄ«t visus citus darÄ«jumus atbilstoÅ”i viņu izveidotajam pasÅ«tÄ«jumam. Ir iespējams izveidot Ŕādu algoritmu (sk. Obaita baltā grāmata lai iegÅ«tu tehnisko informāciju).

Taču visa tÄ«kla secÄ«bu nevar noteikt uzreiz; mums ir vajadzÄ«gs laiks, lai pasÅ«tÄ«jumu nodroÅ”inātāji varētu nosÅ«tÄ«t pietiekamu skaitu savu darÄ«jumu, lai pārbaudÄ«tu iepriekŔējo darÄ«jumu galÄ«go secÄ«bu.

Un, tā kā secību nosaka tikai pakalpojumu sniedzēju darījumu pozīcijas DAG, visi tīkla mezgli agri vai vēlu saņems visus darījumus un nonāks pie viena secinājuma par darījumu secību.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Tātad, mēs esam vienojuÅ”ies par to, kas, mÅ«suprāt, ir noticis: ir noticis jebkurÅ” darÄ«jums, kas beidzas ar DAG. Mums ir arÄ« vienoÅ”anās par notikumu secÄ«bu: tas ir vai nu redzams no darÄ«jumu attiecÄ«bām, vai arÄ« izriet no pasÅ«tÄ«jumu sniedzēju nosÅ«tÄ«to darÄ«jumu secÄ«bas. Tātad mums ir vienprātÄ«ba.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Mums ir Ŕī vienprātÄ«bas versija pakalpojumā Obyte. Lai gan piekļuve Obitu virsgrāmatai ir pilnÄ«bā decentralizēta, vienprātÄ«ba par darÄ«jumu secÄ«bu joprojām ir centralizēta, jo 10 no 12 pakalpojumu sniedzējiem kontrolē veidotājs (Antons Čuryumovs), un tikai divi no tiem ir neatkarÄ«gi. Mēs meklējam kandidātus, kas vēlas kļūt par vienu no neatkarÄ«giem pasÅ«tÄ«jumu nodroÅ”inātājiem, lai palÄ«dzētu mums decentralizēt virsgrāmatas pasÅ«tÄ«Å”anu.

Nesen ir parādÄ«jies treÅ”ais neatkarÄ«gais kandidāts, kurÅ” vēlas uzstādÄ«t un uzturēt pasÅ«tÄ«jumu nodroÅ”inātāja mezglu ā€” Nikosijas universitāti.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Tagad kā mēs kontrolējam dubultos tēriņus?

Saskaņā ar noteikumiem, ja tiek konstatēti divi darÄ«jumi, kas tērē vienu un to paÅ”u monētu, uzvar darÄ«jums, kurÅ” ir pirmais visu darÄ«jumu galÄ«gajā secÄ«bā. Otrais ir nederÄ«gs ar konsensa algoritmu.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem
Ja ir iespējams izveidot kārtÄ«bu starp diviem darÄ«jumiem, tērējot vienu un to paÅ”u monētu (izmantojot vecāku un bērnu savienojumus), tad visi mezgli nekavējoties noraida Ŕādu mēģinājumu dubultot tēriņus.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

GadÄ«jumā, ja pasÅ«tÄ«jums nav redzams no vecāku attiecÄ«bām starp diviem Ŕādiem darÄ«jumiem, tie abi tiek pieņemti virsgrāmatā, un mums bÅ«s jāgaida vienprātÄ«ba un pasÅ«tÄ«juma izveidoÅ”ana starp tiem, izmantojot pasÅ«tÄ«juma nodroÅ”inātājus. Tad uzvarēs agrākais darÄ«jums, bet otrais kļūs nederÄ«gs.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Pat ja otrais darÄ«jums kļūst nederÄ«gs, tas joprojām paliek reÄ£istrā, jo tajā jau ir sekojoÅ”i darÄ«jumi, kas uz to atsaucas, kas neko nepārkāpa un nezināja, ka Å”is darÄ«jums nākotnē kļūs nederÄ«gs. Pretējā gadÄ«jumā mums nāktos noņemt labu nākamo darÄ«jumu mātesuzņēmumu, kas pārkāptu tÄ«kla galveno principu - jebkurÅ” pareizs darÄ«jums tiek pieņemts virsgrāmatā.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Å is ir ļoti svarÄ«gs noteikums, kas ļauj visai sistēmai bÅ«t izturÄ«gai pret cenzÅ«ras mēģinājumiem. 

Iedomāsimies, ka visi pasÅ«tÄ«jumu nodroÅ”inātāji sadarbojas, mēģinot "cenzēt" vienu konkrētu darÄ«jumu. Viņi var to ignorēt un nekad neizvēlēties to kā "vecāku" saviem darÄ«jumiem, taču ar to nepietiek, darÄ«jumu joprojām var iekļaut netieÅ”i kā vecāku darÄ«jumu kādam citam tÄ«kla lietotājam, kurÅ” neveic slepenas vienoÅ”anās. Laika gaitā Ŕāds darÄ«jums no parastajiem lietotājiem saņems arvien vairāk bērnu, mazbērnu un mazmazbērnu, kas aug kā sniega pikas, un arÄ« visiem saskaņotajiem pasÅ«tÄ«jumu veicējiem Å”ie darÄ«jumi bÅ«s jāignorē. Galu galā viņiem bÅ«s jācenzē viss tÄ«kls, kas ir lÄ«dzvērtÄ«gs sabotāžai.

No blokķēdes lÄ«dz DAG: atbrÄ«voÅ”anās no starpniekiem

Tādā veidā DAG joprojām ir izturÄ«gs pret cenzÅ«ru pat tad, ja pasÅ«tÄ«jumu nodroÅ”inātāju starpā notiek slepena vienoÅ”anās, tādējādi pārspējot cenzÅ«rai izturÄ«go blokķēdi, kurā mēs neko nevaram darÄ«t, ja kalnrači nolemj neiekļaut nevienu no darÄ«jumiem. Un tas izriet no galvenā DAG Ä«paÅ”uma: dalÄ«ba reÄ£istrā ir pilnÄ«gi neatkarÄ«ga un bez starpniekiem, un darÄ«jumi ir neatgriezeniski.

Avots: www.habr.com

Pievieno komentāru