Problém, který proof of work řeší
Digitální účetní knihu lze snadno kopírovat a snadno upravovat. Kdyby mohl kdokoli volně přidávat transakce, mohl by také utratit tytéž mince dvakrát — klasický problém „dvojí útraty“. V systému bez centrálního provozovatele potřebujete způsob, jak se nezávislí účastníci shodnou na tom, které transakce proběhly a v jakém pořadí, i když jsou někteří z nich nepoctiví nebo offline.
Dřívější pokusy o digitální hotovost se spoléhaly na důvěryhodnou stranu, která vedla účetnictví. Návrh Bitcoinu, popsaný v bílé knize z roku 2008, nahradil tuto důvěryhodnou stranu veřejnou soutěží: účastníci vynakládají skutečné zdroje na připojování bloků a síť se řídí sdíleným pravidlem pro výběr vítězného řetězce. Konsensus vzniká z nákladů a matematiky, nikoli z autority.
Co těžaři vlastně počítají
Každý kandidátní blok obsahuje dávku transakcí, odkaz na předchozí blok a malé měnitelné číslo zvané nonce. Těžaři prohánějí tato data hashovací funkcí SHA-256, která z libovolného vstupu vytváří výstup s pevnou délkou a nepředvídatelným vzhledem. Cílem je najít vstup, který vytvoří hash pod určitou cílovou hodnotou — v praxi hash začínající určitým počtem nul.
Protože výstupy hashe nelze předpovědět ani zpětně odvodit, jediným způsobem, jak najít vyhovující hash, je pokus a omyl: změnit nonce, znovu hashovat, opakovat — miliardkrát za sekundu. Toto hledání hrubou silou je onou „prací“. Je záměrně obtížné jej provést, ale triviální pro kohokoli jiného ho ověřit — jediný výpočet hashe potvrdí, že odpověď je platná. Tato asymetrie (obtížné vytvořit, snadné ověřit) je jádrem proof of work.
Obtížnost a přibližně desetiminutový rytmus
Bitcoin usiluje o nový blok v průměru přibližně každých deset minut. Jak se k síti připojuje více výpočetního výkonu (hash rate), bloky by měly tendenci přicházet rychleji, takže protokol pravidelně upravuje obtížnost — jak nízký musí cílový hash být —, aby udržel průměrné tempo stabilní. Zhruba každé dva týdny (2016 bloků) každý uzel přepočítá obtížnost na základě časů nedávných bloků.
Toto samoúpravování je důvodem, proč více těžebního výkonu neznamená v čase rychlejší produkci bloků; znamená to hlavně to, že se vynakládá více práce na zabezpečení téhož stabilního proudu bloků. Přesné načasování kteréhokoli jednotlivého bloku je náhodné, takže deset minut je dlouhodobý průměr, nikoli rozvrh.
Od bloků ke konsensu: nejdelší platný řetězec
Nalezení platného bloku je jen polovina příběhu. Uzly se stále musí shodnout na jedné historii, když dva těžaři najdou bloky téměř ve stejném okamžiku. Pravidlo zní, že uzly následují platný řetězec s největším celkovým nahromaděným množstvím proof of work — často shrnovaný jako „nejdelší řetězec“, ačkoli ve skutečnosti je nejtěžší podle kumulativní práce.
Každý plný uzel nezávisle ověřuje každý blok podle pravidel Bitcoinu: platné podpisy, žádné dvojí útraty, správná odměna za blok a hash, který splňuje cíl. Bloky, které porušují pravidla, jsou jednoduše odmítnuty bez ohledu na to, kolik práce do nich bylo vloženo. Dočasné neshody (forky) se vyřeší, jakmile další blok prodlouží jednu větev, a poctiví těžaři se na ní sbíhají, protože stavění na přijatém řetězci je tam, kde je odměna.
Proč to zabezpečuje síť
Aby útočník přepsal minulou transakci, musel by znovu provést proof of work pro tento blok a každý blok po něm a poté předehnat celou poctivou síť, aby vytvořil delší řetězec. Čím hlouběji je transakce pohřbena, tím více práce by muselo být znovu provedeno — proto obchodníci často čekají na několik potvrzení. Náklady rostou s celkovým hash rate sítě.
To je intuice za „útokem 51 %“: ovládnutí většiny hashovacího výkonu by mohlo někomu umožnit přeuspořádat nebo cenzurovat nedávné transakce. Ale získat a provozovat takový hardware je nákladné, nemůže padělat podpisy ani přímo krást mince a viditelný útok by mohl podkopat hodnotu právě toho aktiva, na jehož těžbu útočník vynakládá zdroje. Pobídky jsou nastaveny tak, aby bylo poctivé zapojení obecně výnosnější než útočení. Bezpečnost je zde ekonomická a pravděpodobnostní, nikoli absolutní záruka.
Kompromisy a širší debata
Síla proof of work — skutečný, vnější náklad — je zároveň zdrojem jeho nejčastější kritiky: spotřeby energie. Odhady spotřeby elektřiny Bitcoinu se značně liší a v čase se mění a obraz komplikuje rostoucí podíl uvízlé, přebytečné nebo obnovitelné energie, kterou někteří těžaři využívají. Rozumní lidé se neshodnou a konkrétní údaje se posouvají; vyplatí se ověřovat aktuální, důvěryhodné zdroje spíše než jakékoli jediné číslo.
Alternativní konsensuální návrhy, jako je proof of stake, zabezpečují některé jiné sítě s výrazně menší energií tím, že místo výpočtů používají ekonomickou zástavu. Zahrnují jiné předpoklady a kompromisy a jejich spravedlivé srovnání je téma samo o sobě. Konkrétně pro Bitcoin zůstává proof of work daným mechanismem a jeho bezpečnost a harmonogram emise jsou s ním svázány.