Problēma, ko risina darba pierādījums
Digitālu virsgrāmatu ir viegli kopēt un viegli rediģēt. Ja jebkurš varētu brīvi pievienot darījumus, viņš varētu arī iztērēt vienas un tās pašas monētas divreiz — klasiskā „dubultās tērēšanas“ (double-spend) problēma. Sistēmā bez centrālā operatora ir nepieciešams veids, kā neatkarīgiem dalībniekiem vienoties par to, kuri darījumi notikuši un kādā secībā, pat ja daži no viņiem ir negodīgi vai bezsaistē.
Agrākie digitālās naudas mēģinājumi paļāvās uz uzticamu pusi, kas kārtoja grāmatvedību. Bitcoin uzbūve, kas aprakstīta 2008. gada baltajā grāmatā, šo uzticamo pusi aizstāja ar publisku sacensību: dalībnieki tērē reālus resursus, lai pievienotu blokus, un tīkls seko kopīgam noteikumam, lai izvēlētos uzvarošo ķēdi. Konsenss rodas no izmaksām un matemātikas, nevis no varas.
Ko ieguvēji patiesībā aprēķina
Katrs bloka kandidāts satur darījumu kopu, atsauci uz iepriekšējo bloku un mazu maināmu skaitli, ko sauc par nonce. Ieguvēji izlaiž šos datus caur SHA-256 jaukšanas funkciju, kas jebkuru ievadi pārvērš fiksēta garuma, neparedzami izskatošā rezultātā. Mērķis ir atrast tādu ievadi, kas rada jaukumu (hash) zem noteiktas mērķa vērtības — praksē jaukumu, kas sākas ar noteiktu nuļļu skaitu.
Tā kā jaukšanas rezultātus nevar ne paredzēt, ne atšifrēt atpakaļ, vienīgais veids, kā atrast atbilstošu jaukumu, ir mēģinājumi un kļūdas: mainīt nonce, jaukt vēlreiz, atkārtot — miljardiem reižu sekundē. Šī brutālā spēka meklēšana ir „darbs“. To ir apzināti grūti izdarīt, bet ikvienam citam pavisam vienkārši pārbaudīt — viens jaukšanas aprēķins apstiprina, ka atbilde ir derīga. Šī asimetrija (grūti radīt, viegli pārbaudīt) ir darba pierādījuma kodols.
Sarežģītība un aptuveni desmit minūšu ritms
Bitcoin tiecas panākt jaunu bloku vidēji aptuveni ik pēc desmit minūtēm. Tīklam pievienojoties lielākai skaitļošanas jaudai (jaukšanas ātrumam, hash rate), bloki mēdz parādīties ātrāk, tāpēc protokols periodiski pielāgo sarežģītību — cik zemam jābūt mērķa jaukumam — lai vidējais temps saglabātos vienmērīgs. Aptuveni ik pēc divām nedēļām (2016 bloki) katrs mezgls no jauna aprēķina sarežģītību pēc neseno bloku laikiem.
Tieši šīs pašregulācijas dēļ lielāka ieguves jauda laika gaitā nenozīmē ātrāku bloku ražošanu; tā galvenokārt nozīmē, ka tā paša vienmērīgā bloku plūsmas nodrošināšanai tiek iztērēts vairāk darba. Precīzs jebkura atsevišķa bloka laiks ir nejaušs, tāpēc desmit minūtes ir ilgtermiņa vidējais rādītājs, nevis grafiks.
No blokiem līdz konsensam: garākā derīgā ķēde
Derīga bloka atrašana ir tikai puse stāsta. Mezgliem joprojām jāvienojas par vienu vēsturi, kad divi ieguvēji atrod blokus gandrīz vienā un tajā pašā brīdī. Noteikums ir tāds, ka mezgli seko derīgajai ķēdei ar vislielāko kopējo uzkrāto darba pierādījumu — bieži apkopoti kā „garākā ķēde“, lai gan patiesībā tā ir smagākā pēc kumulatīvā darba.
Katrs pilnais mezgls patstāvīgi pārbauda katru bloku pret Bitcoin noteikumiem: derīgi paraksti, nekādas dubultās tērēšanas, pareiza bloka atlīdzība un jaukums, kas sasniedz mērķi. Blokus, kas pārkāpj noteikumus, vienkārši noraida neatkarīgi no tā, cik daudz darba tajos ieguldīts. Īslaicīgas domstarpības (sazarojumi, forks) atrisinās, kad nākamais bloks pagarina vienu zaru, un godīgie ieguvēji ap to saplūst, jo atlīdzība slēpjas, būvējot uz pieņemtās ķēdes.
Kāpēc tas nodrošina tīklu
Lai pārrakstītu kādu pagājušu darījumu, uzbrucējam būtu no jauna jāveic šī bloka un katra nākamā bloka darba pierādījums un pēc tam jāapsteidz viss godīgais tīkls, lai izveidotu garāku ķēdi. Jo dziļāk darījums ir aprakts, jo vairāk darba būtu jāatkārto — tāpēc tirgotāji bieži gaida vairākus apstiprinājumus. Izmaksas pieaug proporcionāli tīkla kopējam jaukšanas ātrumam.
Tā ir intuīcija aiz „51 % uzbrukuma“: kontrolējot vairākumu jaukšanas jaudas, kāds varētu pārkārtot vai cenzēt nesenos darījumus. Taču šādu aparatūru ir dārgi iegādāties un darbināt, tā nevar viltot parakstus vai vienkārši nozagt monētas, un redzams uzbrukums varētu apdraudēt tieši tā aktīva vērtību, kura ieguvei uzbrucējs tērē resursus. Stimuli ir saskaņoti tā, ka godīga piedalīšanās parasti ir izdevīgāka nekā uzbrukšana. Drošība šeit ir ekonomiska un varbūtiska, nevis absolūta garantija.
Kompromisi un plašākas debates
Darba pierādījuma stiprā puse — reālas, ārējas izmaksas — ir arī tā visizplatītākās kritikas avots: enerģijas patēriņš. Bitcoin elektroenerģijas patēriņa aplēses ievērojami atšķiras un laika gaitā mainās, un ainu sarežģī pieaugošā izolētās, pārpalikuma vai atjaunīgās enerģijas daļa, ko izmanto daži ieguvēji. Saprātīgi cilvēki nav vienisprātis, un detaļas mainās; ir vērts pārbaudīt pašreizējus, uzticamus avotus, nevis paļauties uz kādu vienu skaitli.
Alternatīvas konsensa uzbūves, piemēram, likmes pierādījums (proof of stake), dažus citus tīklus nodrošina ar daudz mazāku enerģiju, izmantojot ekonomisku ķīlu, nevis skaitļošanu. Tās ietver citus pieņēmumus un kompromisus, un to godīga salīdzināšana ir atsevišķa tēma. Tieši Bitcoin gadījumā darba pierādījums paliek mehānisms, un tā drošība un emisijas grafiks ir ar to saistīti.