Problém, ktorý proof of work rieši
Digitálnu účtovnú knihu je ľahké skopírovať a ľahké upraviť. Ak by ktokoľvek mohol voľne pridávať transakcie, mohol by tiež minúť tie isté mince dvakrát — klasický problém "dvojitého míňania". V systéme bez centrálneho prevádzkovateľa potrebujete spôsob, ako sa nezávislí účastníci zhodnú na tom, ktoré transakcie sa uskutočnili a v akom poradí, aj keď niektorí z nich sú nečestní alebo offline.
Skoršie pokusy o digitálnu hotovosť sa spoliehali na dôveryhodnú stranu, ktorá viedla účtovníctvo. Dizajn Bitcoinu, opísaný v whitepaperi z roku 2008, nahradil túto dôveryhodnú stranu verejnou súťažou: účastníci vynakladajú reálne zdroje na pripájanie blokov a sieť sa riadi spoločným pravidlom pre výber víťazného reťazca. Konsenzus vzniká z nákladu a matematiky, nie z autority.
Čo ťažiari vlastne počítajú
Každý kandidátsky blok obsahuje dávku transakcií, odkaz na predchádzajúci blok a malé meniteľné číslo nazývané nonce. Ťažiari preženú tieto dáta cez hashovaciu funkciu SHA-256, ktorá premení akýkoľvek vstup na výstup s pevnou dĺžkou, ktorý vyzerá nepredvídateľne. Cieľom je nájsť taký vstup, ktorý vytvorí hash pod určitou cieľovou hodnotou — v praxi hash začínajúci určitým počtom núl.
Keďže výstupy hashu sa nedajú predpovedať ani spätne odvodiť, jediným spôsobom, ako nájsť vyhovujúci hash, je pokus a omyl: zmeniť nonce, opäť hashovať, zopakovať, miliardy krát za sekundu. Toto hľadanie hrubou silou je tou "prácou". Je zámerne ťažké ju vykonať, ale triviálne pre kohokoľvek iného ju overiť — jediný výpočet hashu potvrdí, že odpoveď je platná. Táto asymetria (ťažké vytvoriť, ľahké overiť) je jadrom proof of work.
Obtiažnosť a približne desaťminútový rytmus
Bitcoin sa zameriava na nový blok v priemere približne každých desať minút. Ako sa k sieti pripája viac výpočtového výkonu (hash rate), bloky by mali tendenciu prichádzať rýchlejšie, a tak protokol pravidelne upravuje obtiažnosť — ako nízky musí byť cieľový hash — aby udržal stabilné priemerné tempo. Približne každé dva týždne (2 016 blokov) každý uzol prepočíta obtiažnosť na základe nedávnych časov blokov.
Táto samoúprava je dôvodom, prečo väčší ťažobný výkon neznamená z dlhodobého hľadiska rýchlejšiu produkciu blokov; znamená to najmä to, že sa vynakladá viac práce na zabezpečenie toho istého stáleho prúdu blokov. Presné načasovanie ktoréhokoľvek jednotlivého bloku je náhodné, takže desať minút je dlhodobý priemer, nie rozvrh.
Od blokov ku konsenzu: najdlhší platný reťazec
Nájdenie platného bloku je len polovica príbehu. Uzly sa stále musia zhodnúť na jednej histórii, keď dvaja ťažiari nájdu bloky takmer v tom istom okamihu. Pravidlo hovorí, že uzly nasledujú platný reťazec s najväčším celkovým nahromadeným proof of work — často zhrnutým ako "najdlhší reťazec", hoci v skutočnosti je najťažší podľa kumulatívnej práce.
Každý plný uzol nezávisle overuje každý blok voči pravidlám Bitcoinu: platné podpisy, žiadne dvojité míňanie, správna odmena za blok a hash, ktorý spĺňa cieľ. Bloky, ktoré porušujú pravidlá, sú jednoducho zamietnuté, bez ohľadu na to, koľko práce sa do nich vložilo. Dočasné nezhody (forky) sa vyriešia, keď ďalší blok predĺži jednu vetvu, a čestní ťažiari sa na nej zhodnú, pretože odmena spočíva práve v budovaní na akceptovanom reťazci.
Prečo to zabezpečuje sieť
Aby útočník prepísal minulú transakciu, musel by nanovo vykonať proof of work pre daný blok a každý blok po ňom, a potom predbehnúť celú čestnú sieť, aby vybudoval dlhší reťazec. Čím hlbšie je transakcia pochovaná, tým viac práce by bolo treba nanovo vykonať — preto obchodníci často čakajú na niekoľko potvrdení. Náklad rastie spolu s celkovým hash rate siete.
To je intuícia za "útokom 51 %": ovládanie väčšiny hashovacieho výkonu by mohlo niekomu umožniť preusporiadať alebo cenzurovať nedávne transakcie. Získať a prevádzkovať takýto hardvér je však nákladné, nemôže falšovať podpisy ani priamo kradnúť mince a viditeľný útok by mohol podkopať hodnotu práve toho aktíva, na ktorého ťažbu útočník vynakladá zdroje. Stimuly sú nastavené tak, že čestná účasť je vo všeobecnosti výnosnejšia než útok. Bezpečnosť je tu ekonomická a pravdepodobnostná, nie absolútna záruka.
Kompromisy a širšia debata
Sila proof of work — reálny, vonkajší náklad — je zároveň zdrojom jeho najčastejšej kritiky: spotreby energie. Odhady spotreby elektriny Bitcoinu sa výrazne líšia a menia sa v čase, pričom obraz komplikuje rastúci podiel uväznenej, prebytočnej alebo obnoviteľnej energie, ktorú niektorí ťažiari využívajú. Rozumní ľudia sa nezhodnú a podrobnosti sa menia; oplatí sa overovať aktuálne a dôveryhodné zdroje, a nie sa spoliehať na jediné číslo.
Alternatívne dizajny konsenzu, ako je proof of stake, zabezpečujú niektoré iné siete s oveľa menšou spotrebou energie tým, že namiesto výpočtov používajú ekonomický kolaterál. Zahŕňajú odlišné predpoklady a kompromisy a ich férové porovnanie je samostatnou témou. Konkrétne pre Bitcoin zostáva proof of work daným mechanizmom a jeho bezpečnosť a harmonogram emisie sú naň naviazané.