Problem koji dokaz o radu rješava
Digitalnu knjigu transakcija lako je kopirati i lako uređivati. Kad bi svatko mogao slobodno dodavati transakcije, mogao bi iste novčiće potrošiti dvaput — klasičan problem "dvostruke potrošnje". U sustavu bez središnjeg operatera potreban vam je način da se neovisni sudionici slože koje su se transakcije dogodile i kojim redoslijedom, čak i kad su neki od njih nepošteni ili izvan mreže.
Raniji pokušaji digitalnog novca oslanjali su se na pouzdanu stranu koja bi vodila knjige. Bitcoinov dizajn, opisan u bijeloj knjizi (whitepaper) iz 2008., zamijenio je tu pouzdanu stranu javnim natjecanjem: sudionici troše stvarne resurse kako bi dodali blokove, a mreža slijedi zajedničko pravilo za odabir pobjedničkog lanca. Konsenzus proizlazi iz troška i matematike, a ne iz autoriteta.
Što rudari zapravo izračunavaju
Svaki kandidatski blok sadrži skup transakcija, referencu na prethodni blok i mali promjenjivi broj koji se naziva nonce. Rudari propuštaju te podatke kroz hash funkciju SHA-256, koja bilo koji ulaz pretvara u izlaz fiksne duljine nepredvidljivog izgleda. Cilj je pronaći ulaz koji proizvodi hash ispod određene ciljne vrijednosti — u praksi, hash koji počinje s određenim brojem nula.
Budući da se izlazi hasha ne mogu predvidjeti niti obrnuto inženjerirati, jedini način da se pronađe odgovarajući hash jest pokušaj i pogreška: promijeni nonce, ponovno hashiraj, ponovi, milijarde puta u sekundi. To pretraživanje grubom silom je "rad". Namjerno ga je teško izvesti, ali ga je bilo kome drugome trivijalno provjeriti — jedan izračun hasha potvrđuje da je odgovor valjan. Ta asimetrija (teško proizvesti, lako provjeriti) srž je dokaza o radu.
Težina i ritam od otprilike deset minuta
Bitcoin cilja na novi blok u prosjeku svakih otprilike deset minuta. Kako se mreži pridružuje sve više računalne snage (hash rate), blokovi bi obično počeli stizati brže, pa protokol povremeno prilagođava težinu — koliko nizak ciljni hash mora biti — kako bi održao stabilan prosječni tempo. Otprilike svaka dva tjedna (2.016 blokova) svaki čvor ponovno izračunava težinu iz nedavnih vremena blokova.
Ta samoprilagodba razlog je zašto veća rudarska snaga ne znači bržu proizvodnju blokova tijekom vremena; uglavnom znači da se troši više rada kako bi se osigurao isti stabilan tok blokova. Točan trenutak bilo kojeg pojedinačnog bloka je slučajan, pa je deset minuta dugoročni prosjek, a ne raspored.
Od blokova do konsenzusa: najdulji valjani lanac
Pronalazak valjanog bloka samo je pola priče. Čvorovi se i dalje moraju složiti oko jedne povijesti kad dva rudara pronađu blokove gotovo u istom trenutku. Pravilo je da čvorovi slijede valjani lanac s najvećim ukupno nakupljenim dokazom o radu — često se sažima kao "najdulji lanac", iako je zapravo najteži prema kumulativnom radu.
Svaki puni čvor neovisno provjerava svaki blok prema Bitcoinovim pravilima: valjani potpisi, bez dvostruke potrošnje, ispravna nagrada za blok i hash koji zadovoljava cilj. Blokovi koji krše pravila jednostavno se odbacuju, bez obzira na to koliko je rada uloženo u njih. Privremena neslaganja (grananja) razrješavaju se kako sljedeći blok produljuje jednu granu, a pošteni rudari se okupljaju oko nje jer je izgradnja na prihvaćenom lancu ondje gdje je nagrada.
Zašto to osigurava mrežu
Da bi prepisao prošlu transakciju, napadač bi morao ponovno izvesti dokaz o radu za taj blok i za svaki blok nakon njega, a zatim nadmašiti cijelu poštenu mrežu kako bi izgradio dulji lanac. Što je transakcija dublje zakopana, to bi se više rada moralo ponovno izvesti — zbog čega trgovci često čekaju nekoliko potvrda. Trošak raste s ukupnim hash rateom mreže.
To je intuicija iza "napada 51%": kontroliranje većine hash snage moglo bi nekome omogućiti preslagivanje ili cenzuriranje nedavnih transakcija. No skupo je nabaviti i pokretati taj hardver, on ne može krivotvoriti potpise niti izravno ukrasti novčiće, a vidljiv napad mogao bi potkopati vrijednost upravo one imovine koju napadač troši resurse da bi je rudario. Poticaji su usklađeni tako da je pošteno sudjelovanje općenito isplativije od napada. Sigurnost je ovdje ekonomska i probabilistička, a ne apsolutno jamstvo.
Kompromisi i šira rasprava
Snaga dokaza o radu — stvaran, vanjski trošak — ujedno je izvor njegove najčešće kritike: potrošnja energije. Procjene Bitcoinove potrošnje električne energije uvelike variraju i mijenjaju se tijekom vremena, a sliku komplicira sve veći udio zarobljene, viška ili obnovljive energije koju neki rudari koriste. Razumni se ljudi ne slažu, a pojedinosti se mijenjaju; vrijedi provjeriti aktualne, vjerodostojne izvore umjesto bilo koje pojedinačne brojke.
Alternativni dizajni konsenzusa poput dokaza o ulogu (proof of stake) osiguravaju neke druge mreže s daleko manje energije koristeći ekonomski kolateral umjesto računanja. Uključuju drugačije pretpostavke i kompromise, a pošteno ih uspoređivati vlastita je tema. Za Bitcoin konkretno, dokaz o radu ostaje mehanizam, a njegova sigurnost i raspored izdavanja vezani su uz njega.