Co znamená důkaz o práci?
Důkaz práce popisuje systém, který vyžaduje nezanedbatelné, ale proveditelné množství úsilí, aby se zabránilo zbytečnému nebo škodlivému využití výpočetní síly, jako je odesílání spamových e-mailů nebo zahájení útoků na odmítnutí služeb. Koncept byl adaptován na peníze Hal Finney v roce 2004 myšlenkou „opakovaně použitelného dokladu o práci“. Po svém zavedení v roce 2009 se bitcoin stal první široce přijímanou aplikací Finneyho nápadu (Finney byl také příjemcem první bitcoinové transakce). Důkaz práce tvoří základ mnoha dalších kryptoměn.
Důkaz o práci vysvětlen
Toto vysvětlení se zaměří na důkaz práce, jak funguje v bitcoinové síti. Bitcoin je digitální měna, která je podložena druhem distribuované knihy známé jako „blockchain“. Tato kniha obsahuje záznam všech bitcoinových transakcí, uspořádaných do sekvenčních „bloků“, takže žádný uživatel nemá dovoleno utratit žádný ze svých podílů dvakrát. Aby nedošlo k manipulaci, je účetní kniha veřejná nebo „distribuovaná“; změněná verze by ostatní uživatelé rychle odmítli.
Způsob, jakým uživatelé detekují manipulaci v praxi, je pomocí hasheů, dlouhých řetězců čísel, které slouží jako důkaz práce. Vložte danou sadu dat pomocí hašovací funkce (bitcoin používá SHA-256) a vygeneruje pouze jeden hash. Díky „lavinovému efektu“ však i malá změna jakékoli části původních dat povede k naprosto nerozpoznatelnému hašiši. Ať už je velikost původní sady dat jakákoli, bude hash generovaný danou funkcí stejnou délku. Hash je jednosměrná funkce: nelze jej použít k získání původních dat, pouze ke kontrole, zda data, která vygenerovala hash, odpovídají původním datům.
Generování jakéhokoli hašování pro sadu bitcoinových transakcí by bylo pro moderní počítač triviální, takže aby se tento proces změnil na „práci“, bitcoinová síť nastavuje určitou úroveň „obtížnosti“. Toto nastavení je upraveno tak, aby se nový blok „těžil“ - přidával se do blockchainu generováním platného hashu - přibližně každých 10 minut. Obtížnost nastavení je dosaženo stanovením „cíle“ pro hash: čím nižší je cíl, tím menší je sada platných hashů a tím těžší je vygenerovat. V praxi to znamená hash, který začíná dlouhým řetězcem nul: například hash pro blok # 429818 je 00000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Tento blok obsahuje 2, 012 transakcí, které se týkají více než 1 000 bitcoinů, jakož i záhlaví předchozího bloku. Pokud by uživatel změnil jednu částku transakce o 0, 0001 bitcoinu, by výsledné hash nebylo rozpoznatelné a síť by podvod odmítla.
Protože daná sada dat může generovat pouze jeden hash, jak se horníci ujistí, že generují hash pod cílem? Mění vstup přidáním celého čísla nazývaného nonce („number used once“). Jakmile je nalezen platný hash, je vysílán do sítě a blok je přidán do blockchainu.
Těžba je konkurenční proces, ale je to spíše loterie než závod. V průměru někdo vygeneruje přijatelný důkaz o práci každých deset minut, ale kdo to bude, je to kdokoli. Horníci se spojili, aby zvýšili své šance na těžební bloky, což generuje transakční poplatky a po omezenou dobu odměnu nově vytvořených bitcoinů.
Důkaz práce znesnadňuje změnu jakéhokoli aspektu blockchainu, protože taková změna by vyžadovala re-těžbu všech následujících bloků. Pro uživatele nebo skupinu uživatelů je také obtížné monopolizovat výpočetní výkon sítě, protože stroje a energie potřebné k dokončení hašovacích funkcí jsou drahé.
