Proof-of-Work
Author
Albert FloresProof-of-work (PoW) systém (či protokol, funkce) je způsob, kterým uživatel platebního systému dokazuje hodnotu platebního prostředku pomocí vynaložené práce.
V současné době je tento pojem často užíván ve spojitosti s kryptoměnami a vynaložením výpočetního výkonu těžařů některých kryptoměn pro vytváření bloků.
Popis funkce
PoW je způsob, pomocí nějž se u některých decentralizovaných kryptoměn (například Bitcoin) zajišťuje bezpečnost sítě (ověřování transakcím, aby nemohla být transakce zaznamenána dvakrát). Slouží ale i k motivování účastníků sítě k udržování jejího chodu.
Ověřování transakcí se zde neděje v nějakém centrálním počítači, ale v celé kryptoměné síti. V případě PoW se tomu říká těžba a lze si pod ní představit statisíce počítačů připojených k internetu, kteří mají spuštěný potřebný software, zajišťují chod transakcí a vzájemně se kontrolují, aby nedošlo k podvodu.
Ověřování probíhá tak, že se ke všem těžařům dostanou neověřené transakce v podobě bloku. Těžaři je vezmou a v systému PoW se k nim přidá tzv. +more nonce - krátký nesmyslný text, který je pro každého těžaře jiný. Data ve spojitosti s nonce pak každý těžař převede s pomocí hashovací funkce na hash - krátký řetězec symbolů. Jeho podoba je však vždy ovlivněna nonce.
Aby byl hash schválený, musí jeho podoba splňovat všechny požadavky systému. Pokud je nesplňuje, koloběh se opakuje s novým nonce. +more Pokud splňuje, těžař má právo schválit daný blok a získat za odměnu předem daný počet kryptoměn. Správnost hashe lze zároveň jednoduše ověřit. Tím se zabraňuje podvodu v transakcích.
Vytvořit hash je jednoduché, ale požadavky na hash s růstem výkonu celé sítě rostou, těžba je tedy čím dál víc komplikovanější. Proto je k získání odměny třeba čím dál větší výpočetní výkon (proto Proof of Work, v překladu důkaz prací).
V současnosti je však výkon sítě již natolik velký, že se jedincům těžení prakticky nevyplatí, proto se seskupují do těžařských spolků (mining poolů), které jsou počítány jako jedna jednotka, jeden uzel. Když nějaký mining pool schválí blok, rozdělí se odměna podle toho, kolik výpočetního výkonu každý jeho těžař přidal do poolu.
Náročnost těžení je vždy nastavená tak, aby vytěžení jednoho bloku trvalo přibližně 10 minut. Odměna v roce 2023 dosahovala například u Bitcoinu 6,25 BTC za blok a každých 210 000 bloků se bude snižovaz na polovinu.
Příklad funkce PoW:
Alice chce poslat Bobovi 1 BTC. Aby byla tato transakce validní, musí někdo z těžařů "natěžit" blok, ve kterém je tato transakce zaznamenána. +more Aby se nemohlo stát, že by tato transakce byla zaznamenána 2x (tzv. problém dvojnásobného utrácení), musí proběhnout hlasování o tom, kdo tento blok našel. Čím větší výpočetní výkon těžař má, tím má větší šanci na to, že blok objevil on.
51% útok
Tzv. 51% útok je situace, kdy má nějaký těžař nebo mining pool více 1/2 výkonu celé sítě. +more Tím by bylo možné znehodnotit již proběhnuté transakce, ale i tak by útočník nemohl používat adresy, ke kterým nemá přístup. Jediné co by se stalo by bylo to, že by se zmenšila důvěra v tu danou kryptoměnu, pád hodnoty a zánik sítě. V případě BTC byl 19. 5. 2018 výpočetní výkon celé sítě 27 191 117,75 TH/s. Ale i tak pro jistotu někteří těžaři opouštějí některé mining pooly aby snížili jejich výkon.
Měny fungující na systému hlasování PoW
Bitcoin * Bitcoin cash * Peercoin (dříve) * Ethereum (začíná se testovat, PoS) * Monero
Výhody a nevýhody Proof of Work
Výhody PoW:
* Mnoho těžařů se nezávislé podílí na chodu kryptoměnové sítě * Na rozdíl od PoS těžaři nemusí vlastnit danou kryptoměnu * Odměna za těžbu je předem jasně stanovená
Nevýhody PoW:
* Oproti PoS nutnost obrovského výpočetního výkonu * Oproti PoS obrovská spotřeba energie * Riziko spojené s vlastnictvím nadpolovičního výkonu sítě * Nové mince znehodnocují stávající kryptoměnu