Kas ir darba apliecinājums (PoW)?
Sākums
Raksti
Kas ir darba apliecinājums (PoW)?

Kas ir darba apliecinājums (PoW)?

Sarežģītākas tēmas
Publicēts Dec 6, 2018Atjaunināts Apr 18, 2024
10m

Galvenās atziņas

  • Darba apliecinājums (PoW) ir konsensa mehānisms, kas tika izveidots, lai novērstu dubultos tēriņus digitālo maksājumu sistēmās.

  • PoW ir ļoti svarīga daļa no ieguves procesa, kas ietver jaunu darījumu bloku pievienošanu blokķēdei un jaunu kriptovalūtas vienību izveidi.

  • Bitcoin un daudzas citas kriptovalūtas izmanto PoW mehānismu, lai aizsargātu savu blokķēdes tīklu un datus.

Ievads

Īsumā – darba apliecinājums (PoW) ir mehānisms, kas tika radīts, lai novērstu dubultos tēriņus digitālo maksājumu sistēmās. Bitcoin un daudzas citas kriptovalūtas izmanto PoW, lai aizsargātu savu blokķēdes tīklu un datus. Šādus mehānismus sauc par konsensa algoritmiem jeb konsensa mehānismiem, jo tie ietver vairākas puses, kas nonāk pie konsensa bez nepieciešamības uzticēties cits citam.

Darba apliecinājums bija pirmais konsensa algoritms, un līdzās likmes apliecinājumam (PoS) tas joprojām ir viens no svarīgākajiem. Darba apliecinājums sākotnēji tika aprakstīts 2008. gadā Satoshi Nakamoto publicētajā tehniskajā dokumentācijā, taču pati tehnoloģija radās daudz agrāk.

Viens no agrīnajiem darba apliecinājuma algoritma piemēriem pirms kriptovalūtu rašanās ir Adama Beka "HashCash". Sūtītājiem pieprasot veikt nelielu skaitļošanas uzdevumu pirms e-pasta ziņojuma nosūtīšanas, saņēmēji varētu izvairīties no surogātpasta. Parastam sūtītājam šāda skaitļošana neizmaksātu dārgi, taču masveida e-pastu sūtītājiem izmaksas strauji vien pieaugtu.

Kas ir dubultie tēriņi?

Dubultie tēriņi rodas, kad vieni un tie paši līdzekļi tiek iztērēti vairāk nekā vienu reizi. Šo terminu izmanto tikai digitālās naudas kontekstā – galu galā būtu visai grūti divreiz iztērēt vienas un tās pašas skaidrās naudas vienības. 

Mūsdienās, maksājot par kafiju, tu iedod kasierim skaidro naudu, kas, visticamāk, tiek ievietota kases aparātā. Tu nevari pēc tam aiziet uz kafejnīcu otrā ielas pusē un samaksāt par vēl vienu kafiju ar to pašu naudu. Taču digitālās naudas sistēmās šāda iespējamība teorētiski pastāv. 

Tu noteikti esi kādreiz veidojis datora faila kopiju, izmantojot kopēšanas un ielīmēšanas komandas. Vienmēr var viegli nosūtīt vienu un to pašu failu e-pastā desmitiem cilvēku. Tā kā digitālā nauda pēc būtības ir tikai dati, jānodrošina, lai to nebūtu iespējams iztērēt divreiz, proti, nokopēt un nosūtīt vienas un tās pašas naudas vienības dažādiem adresātiem. Digitālo maksājumu sistēma, kas nespēj novērst dubultos tēriņus, drīz vien sabruks.

Padziļināti dubulto tēriņu tēma ir apskatīta rakstā Dubulto tēriņu skaidrojums.

Kāpēc ir nepieciešams darba apliecinājums?

Ja esi lasījis mūsu rakstu par blokķēdes tehnoloģiju, tu noteikti zini, ka kriptovalūtu lietotāji pārraida darījumus tīklā. Tomēr šie darījumi netiek uzreiz atzīti par derīgiem. Tas notiek tikai pēc darījumu apstiprināšanas un pievienošanas blokķēdei.

Piemēram, Bitcoin blokķēde darbojas kā publiska darījumu datu bāze (virsgrāmata), kuru var redzēt ikviens lietotājs. Iztēlojies to šādi – tev un trim draugiem ir piezīmju grāmatiņa, ar kuru jūs sekojiet līdzi saviem Bitcoin darījumiem. Ikreiz, kad kāds no jums vēlas pārskaitīt līdzekļus, jūs šo informāciju pierakstāt:

Alise samaksā Kārlim 5 BTC; Kārlis samaksā Lienei 2 BTC utt.

Taču katru reizi, kad veicat darījumu, jūs norādāt arī darījumu, no kura tika iegūti attiecīgie līdzekļi. Tātad, ja Kārlis maksā Lienei 2 BTC, ieraksts faktiski būtu šāds: 

Kārlis maksā Lienei 2 BTC, izmantojot līdzekļus no iepriekš notikuša darījuma ar Alisi.

Tagad mums ir iespēja izsekot BTC vienībām. Ja Kārlis mēģinās veikt vēl vienu darījumu, izmantojot tos pašus 2 BTC, ko viņš nupat nosūtīja Lienei, visi to uzreiz varēs redzēt. Šī grupa neļaus ierakstīt tādu darījumu piezīmju grāmatiņā, jo šie 2 BTC ir jau iztērēti.

Tas varētu labi darboties nelielā grupā. Visi viens otru pazīst, tāpēc var vienoties par to, kurš no draugiem ierakstīs darījumus piezīmju grāmatiņā. Bet ko darīt 10 000 dalībnieku grupā? Ideja par piezīmju grāmatiņu nešķiet piemērota, jo neviens nevēlēsies uzticēt svešiniekam darījumu reģistrēšanu.

Šajā situācijā risinājums ir darba apliecinājums. Tas nodrošina, ka lietotāji nevar iztērēt naudu, kuru viņiem nav tiesību tērēt. Izmantojot spēļu teorijas un kriptogrāfijas kombināciju, PoW algoritms ļauj jebkuram atjaunināt blokķēdes datus atbilstoši sistēmas noteikumiem.

Kā darbojas PoW?

Iztēlosimies, ka iepriekšējā piemērā minētā piezīmju grāmatiņa ir blokķēde. Taču mēs nepievienojam darījumus pa vienam – tie tiek apvienoti blokos. Mēs paziņojam par darījumiem tīklā, un pēc tam lietotāji, kuri veido blokus, iekļauj šos darījumus potenciālajā blokā. Darījumi tiks atzīti par derīgiem tikai tad, kad attiecīgais potenciālais bloks tiks apstiprināts, proti, pievienots blokķēdes datu bāzei.

Darījumu validācijas un jaunu bloku pievienošanas procesu sauc par ieguvi. Šis process ir dārgs un sarežģīts, taču var būt arī ienesīgs. Bloka atlīdzība sastāv no lietotāju samaksātajām darījumu komisijas maksām, kā arī jauniem Bitcoin, ko izveidojis protokols. 

Darba apliecinājuma mehānisms paredz, ka ieguvējam (lietotājam, kurš veido bloku) ir jāiegulda resursi (piemēram, elektrība un skaitļošanas jauda), lai jauktu potenciālā bloka datus, līdz tiek atrasts uzdevuma atrisinājums.

Bloka datu jaukšana nozīmē to izmantošanu jaukšanas funkcijā, ģenerējot bloka jaucējkodu. Bloka jaucējkods kalpo kā "pirksta nospiedums" – tas apliecina tavu ievades datu identitāti un ir unikāls katram blokam.

Citiem vārdiem sakot, ieguvējam ir jāpārbauda un jāapkopo neapstiprinātie darījumi, jāsakārto tie potenciālā blokā un jāpiemēro bloka datiem jaucējfunkcija, lai iegūtu derīgu jaucējkodu. Ja ieguvējam izdodas atrast savam potenciālajam blokam derīgu jaucējkodu, viņš to pārraida tīklā, pievieno bloku blokķēdei un saņem ieguves atlīdzību.

Kad ieguvējs pārraida savu potenciālo bloku un jaucējkodu tīklā, citi tīkla dalībnieki atkārto jaukšanas procesu, lai pārliecinātos par iegūtā rezultāta derīgumu. 

Lai gan derīga jaucējkoda atrašanai ir nepieciešams veikt neskaitāmus jaukšanas mēģinājumus, jebkurš var pavisam vienkārši pārliecināties par ģenerētā jaucējkoda pareizību. Ir tikai jāpalaiž jaucējfunkcija, izmantojot tos pašus ievades datus (bloka datus), un jāpārbauda, vai tiek iegūts tāds pats rezultāts.

Darba apliecinājuma sistēmā tev jāiesniedz dati, kuru jaucējkods atbilst noteiktiem nosacījumiem. Taču tev nav zināms, kā tos iegūt. Vienīgā iespēja ir piemērot datiem jaukšanas funkciju, pārbaudot rezultāta atbilstību nosacījumiem. Neatbilstības gadījumā dati būs nedaudz jāpamaina, lai iegūtu atšķirīgu jaucējkodu. Pamainot datos pat vienu rakstzīmi, tiks iegūts pilnīgi atšķirīgs rezultāts, tāpēc nav iespējams paredzēt iznākumu.

Rezultātā, ja vēlies izveidot bloku, tev ir jāpiedalās šajā minēšanas spēlē. Parasti tiek ņemta informācija par visiem darījumiem, kurus vēlies pievienot, un nedaudz citu svarīgu datu, pēc tam to visu sajaucot kopā. Taču, tā kā tava datu kopa nemainās, tev jāpievieno kāds mainīgs informācijas fragments. Pretējā gadījumā tu vienmēr iegūsi vienu un to pašu jaucējkodu. Šos mainīgos datus sauc par vienreizējo kodu. Tas ir skaitlis, kas katrā mēģinājumā mainīsies, lai tu katru reizi iegūtu atšķirīgu jaucējkodu.

Rezumējot – ieguve ir process, kurā blokķēdes dati tiek apkopoti un jaukti kopā ar vienreizējo kodu, līdz tiek atrasts noteikts jaucējkods. Ja tev izdodas atrast jaucējkodu, kas atbilst protokola izvirzītajiem nosacījumiem, tu iegūsti tiesības pārraidīt jauno bloku tīklā. Šajā brīdī visi pārējie tīkla dalībnieki atjaunina savas blokķēdes, iekļaujot tajās šo jauno bloku.

Lielākajām mūsdienu kriptovalūtām šos nosacījumus ir ārkārtīgi grūti izpildīt. Jo lielāka ir jaukšanas jauda tīklā, jo grūtāk ir atrast derīgu jaucējkodu. Tas tiek darīts, lai nodrošinātu, ka blokus nevar atrast pārāk ātri.

Kā jau vari iztēloties, mēģinājumi uzminēt lielus jaucējkodu apjomus, izmantojot savu datoru, varētu izmaksāt ļoti dārgi. Tu tērētu skaitļošanas resursus un elektrību. Taču protokols atalgotu tevi ar kriptovalūtu gadījumā, ja tev izdotos noskaidrot derīgu jaucējkodu.

Apkoposim līdz šim noskaidroto.

  • Ieguve ir sarežģīta un dārga, taču gādā par tīkla drošību.

  • Ieguvēji, kuriem izdodas izveidot derīgu bloku, atlīdzībā saņem jaunizveidotas kriptovalūtas vienības un darījumu komisijas maksas.

  • Derīga jaucējkoda iegūšanai ir nepieciešams laiks, taču citi lietotāji var pavisam vienkārši pārliecināties par tā derīgumu, atkārtojot jaukšanas procesu.

Tiktāl viss ir saprotams. Bet kas notiktu, ja tu mēģinātu krāpties? Kas var tevi atturēt no krāpniecisku darījumu iekļaušanas blokā un derīga jaucējkoda iegūšanas?

Šajā nolūkā tiek izmantota publiskās atslēgas kriptogrāfija. Šajā rakstā mēs neiedziļināsimies šajā tēmā, taču tu vari lasīt par to vairāk sadaļā Kas ir publiskās atslēgas kriptogrāfija? . Īsāk sakot, tiek izmantoti daži kriptogrāfiski triki, kā rezultātā jebkurš lietotājs var pārbaudīt, vai maksātājam ir tiesības tērēt attiecīgos līdzekļus.

Izveidojot darījumu, tu to paraksti. Jebkurš tīkla dalībnieks var salīdzināt tavu parakstu ar tavu publisko atslēgu un pārliecināties par to savstarpējo atbilstību. Tāpat tiek pārbaudīts, vai tu drīksti tērēt savus līdzekļus, kā arī, vai tavs ieskaitīto līdzekļu apjoms pārsniedz izskaitīto līdzekļu summu (proti, vai tu netērē vairāk, nekā tev pieder).

Jebkuru bloku, kurā ir kaut viens nederīgs darījums, tīkls automātiski noraidīs. Pat mēģinājums krāpties izmaksās ļoti dārgi. Tu iztērēsi savus resursus bez nekādas atlīdzības.

Šeit arī slēpjas darba apliecinājuma priekšrocība: ir dārgi krāpties, bet izdevīgi rīkoties godīgi. Jebkurš saprātīgs ieguvējs centīsies gūt atdevi no ieguldītā kapitāla, tāpēc, visticamāk, rīkosies tā, lai garantētu sev ienākumus.

Darba apliecinājums (PoW) un likmes apliecinājums (PoS)

Bez PoW ir vēl daudz citu konsensa algoritmu, taču viens no populārākajiem ir likmes apliecinājums (PoS). Šīs idejas pirmsākumi meklējami 2011. gadā, un šis mehānisms jau ir ticis ieviests Ethereum tīklā un vairākos citos protokolos.

Likmes apliecinājuma sistēmās ieguvēji tiek aizstāti ar validētājiem. Netiek veikta ieguve, un nav jāsacenšas mēģinājumos uzminēt jaucējkodus. Tā vietā lietotāji tiek izvēlēti pēc nejaušības principa – ja tie tiek izvēlēti, viņiem ir jāpiedāvā (jeb "jāizveido") bloks. Ja bloks tiek atzīts par derīgu, validētājs saņem atlīdzību, kas sastāv no šajā blokā iekļauto darījumu komisijas maksām.

Tomēr ne katrs lietotājs var tikt izvēlēts – protokola veiktā izvēle ir atkarīga no dažādiem faktoriem. Lai kvalificētos, dalībniekiem ir jāiegulda likme – iepriekš noteikta blokķēdes pamata valūtas summa. Šī likme darbojas kā drošības nauda – līdzīgi kā likumpārkāpējiem ir jāiemaksā liela naudas summa, lai tādējādi motivētu tos piedalīties lietas izskatīšanā, validētāji veic ieguldījumu, lai tādējādi nebūtu motivēti krāpties. Rīkojoties negodīgi, viņi (pilnībā vai daļēji) zaudē savu ieguldījumu.

Likmes apliecinājumam ir zināmas priekšrocības salīdzinājumā ar darba apliecinājumu. Būtiskākā no tām ir saistīta ar mazāku oglekļa dioksīda pēdu – tā kā PoS gadījumā nav nepieciešama lieljaudas ieguves saimniecība, patērētās enerģijas apjoms veido vien nelielu daļu no tā apjoma, ko patērē PoW sistēmās. 

Taču PoS netiek izmantots tik plaši kā PoW. Lai arī ieguve varētu tikt uzskatīta par izšķērdīgu procesu, tas ir vienīgais konsensa algoritms, kas ir apliecinājis savu efektivitāti vairāk nekā desmit gadu laikā. Kopš PoW ieviešanas Bitcoin tīklā tas ir nodrošinājis darījumus triljoniem dolāru vērtībā. Lai varētu ar pārliecību nospriest, vai PoS ir uzskatāms par cienīgu konkurentu drošības jomā, steikinga sistēma ir pienācīgi jāpārbauda ilgtermiņā.

Noslēgumā

Darba apliecinājums bija sākotnējais risinājums dubulto tēriņu problēmai, un tas ir apliecinājis sevi kā drošu un uzticamu mehānismu. Bitcoin pierādīja, ka vienu un to pašu līdzekļu vairākkārtējas tērēšanas novēršanai nav nepieciešama centralizēta iestāde. Atjautīgi izmantojot kriptogrāfiju, jaukšanas funkcijas un spēļu teoriju, dalībnieki decentralizētā vidē var vienoties par finanšu datubāzes stāvokli.

Turpini lasīt

Atruna: šis saturs tiek tev nodrošināts nemainītā veidā un ir paredzēts tikai vispārīgai informācijai un izglītojošiem mērķiem; tas neietver nekādus apliecinājumus vai garantijas. Tas nav uzskatāms par finansiālu, juridisku vai cita veida profesionālu padomu un nav paredzēts kā ieteikums iegādāties kādu konkrētu produktu vai pakalpojumu. Aicinām tevi apspriesties ar atbilstošiem profesionāliem konsultantiem. Ja šo rakstu ir veidojis trešās puses autors, lūdzu, ņem vērā, ka tajā paustie viedokļi pieder attiecīgajam raksta autoram un neatspoguļo Binance Akadēmijas pārstāvju uzskatus. Pilnu atrunas tekstu lasi šeit. Digitālo aktīvu cenas var būt svārstīgas. Tavu ieguldījumu vērtība var samazināties vai pieaugt, un tu vari neatgūt ieguldīto summu. Tu uzņemies pilnu atbildību par saviem ieguldījumu lēmumiem, un Binance Akadēmija neatbild par taviem iespējamajiem zaudējumiem. Šī informācija nav uzskatāma par finansiālu, juridisku vai cita veida profesionālu padomu. Papildinformācijai lasi mūsu Lietošanas noteikumus un Brīdinājumu par riskiem.