Ko nozīmē darba apliecinājums?
Darba pierādījums apraksta sistēmu, kurai nepieciešami nebūtiski, bet reāli piepūles apjomi, lai atturētu no vieglprātīgiem vai ļaunprātīgiem skaitļošanas jaudas lietojumiem, piemēram, surogātpasta e-pastu nosūtīšana vai pakalpojumu atteikšanas uzbrukumu sākšana. Hal Finney 2004. gadā koncepciju par naudu pielāgoja, izmantojot ideju par "atkārtoti izmantojamu darba pierādījumu". Pēc tā ieviešanas 2009. gadā bitcoin kļuva par pirmo plaši pieņemto Finney idejas pielietojumu (Finney bija arī pirmā bitcoin darījuma saņēmējs). Darba pierādījums ir arī daudzu citu kriptovalūtu pamatā.
Darba paskaidrojums paskaidrots
Šis skaidrojums koncentrēsies uz darba pierādīšanu, jo tas darbojas bitcoin tīklā. Bitcoin ir digitālā valūta, kuras pamatā ir sava veida sadalīta virsgrāmata, kas pazīstama kā “blokķēde”. Šajā virsgrāmatā ir visu bitcoin darījumu ieraksts, kas sakārtots secīgos "blokos", lai nevienam lietotājam nebūtu atļauts divreiz iztērēt kādu no viņu īpašumiem. Lai novērstu viltojumus, virsgrāmata ir publiska vai "izplatīta"; citi lietotāji ātri to noraidīs.
Lietotāji praksē atklāj viltojumus, izmantojot hashes, garas skaitļu virknes, kas kalpo kā darba pierādījums. Ielieciet doto datu kopu, izmantojot hash funkciju (bitcoin izmanto SHA-256), un tas vienmēr radīs tikai vienu hash. Sakarā ar "lavīnas efektu", pat niecīgas izmaiņas jebkurā oriģinālo datu daļā radīs pilnīgi neatpazīstamu sajaukšanos. Neatkarīgi no sākotnējā datu kopas lieluma, konkrētās funkcijas ģenerētajam hash būs vienāds garums. Sajaukums ir vienvirziena funkcija: to nevar izmantot sākotnējo datu iegūšanai, tikai lai pārbaudītu, vai dati, kas radīja jaucēju, sakrīt ar sākotnējiem datiem.
Gandrīz jebkura hash ģenerēšana bitcoin darījumu kopumam mūsdienīgam datoram būtu niecīga, tāpēc, lai procesu pārvērstu par “darbu”, bitcoin tīkls nosaka noteiktu “grūtību” līmeni. Šis iestatījums ir noregulēts tā, lai jauns bloks tiktu "izrakts" - pievienots blokķēdei, ģenerējot derīgu jaucēju - apmēram ik pēc 10 minūtēm. Iestatīšanas grūtības tiek veiktas, izveidojot hash "mērķi": jo zemāks mērķis, jo mazāks ir derīgo hash kopums, un jo grūtāk to ģenerēt. Praksē tas nozīmē hash, kas sākas ar garu nulles virkni:, piemēram, bloka # 429818 hash ir 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Šajā blokā ir 2 022 darījumi, kas saistīti ar nedaudz vairāk kā 1000 bitcoin, kā arī iepriekšējā bloka galvene. Ja lietotājs mainīja vienu darījuma summu par 0, 0001 bitcoin, iegūtais hash būtu neatpazīstams, un tīkls noraidītu krāpšanu.
Tā kā dotais datu kopums var ģenerēt tikai vienu jaucējkrānu, kā tad kalnračiem jāpārliecinās, ka tie ģenerē jauktu zem mērķa? Viņi maina ievadi, pievienojot veselu skaitli, ko sauc par nonse ("skaitlis vienreiz lietots"). Kad ir atrasta derīga hash, tā tiek pārraidīta tīklā, un bloks tiek pievienots blokķēdei.
Kalnrūpniecība ir konkurences process, taču tā vairāk ir loterija, nevis sacensības. Vidēji kāds ik pēc desmit minūtēm ģenerēs pieņemamu darba pierādījumu, bet, kas tas būs, to var uzminēt kāds. Kalnračnieki apvienojas, lai palielinātu iespējas iegūt ieguves blokus, kas rada darījumu nodevas un ierobežotu laiku atlīdzību par jaunizveidotajiem bitkoiniem.
Darba pierādīšana padara ārkārtīgi sarežģītu jebkura blokķēdes aspekta izmainīšanu, jo šādai izmaiņai būtu jāpārmina visi nākamie bloki. Tas arī apgrūtina lietotāju vai lietotāju grupu monopolizēt tīkla skaitļošanas jaudu, jo jaucējfunkciju veikšanai nepieciešamās iekārtas un jauda ir dārga.
