Potřebujete vědět: Proof of Stake – co to je jednoduchými slovy. Co je Proof-of-Work

Proof-of-Work a Proof-of-Stake jsou konsensuální algoritmy, které se používají k ověřování nových bloků sítě a také k přidávání transakcí do nich. Princip fungování těchto systémů tedy přímo ovlivňuje těžaře, kteří dešifrují bloky 24/7. Jaký je rozdíl mezi těmito dvěma algoritmy a který z nich je z hlediska těžby ziskovější? Podívejme se na jejich principy fungování a také udělejme srovnávací popis.

Proof-of-Work: princip fungování

Proof-of-Work nebo PoW, jak se zkráceně nazývá, je přeloženo z angličtiny jako „důkaz práce“. Ve skutečnosti samotný název algoritmu obsahuje princip jeho fungování. Umožňuje síti ověřit, že těžař skutečně provedl veškerou práci při výpočtu funkce SHA-256 nebo Scrypt, která je základem kryptoměn.

Podstata PoW je následující:

  • Miner musí vyřešit složitý problém, který zvládnou jen dostatečně výkonné počítače.
  • Výsledek získaný během řešení by měl být snadno ověřen.

Pokud mluvíme o algoritmu proof-of-work, konkrétně v souvislosti s kryptoměnami, umožňuje uzlům (můžete zjistit, jaké uzly jsou a jak fungují) kontrolovat práci těžařů a také spolehlivost jejich výpočty.

Tento mechanismus stimuluje těžařskou komunitu k neustálému upgradu těžebního zařízení, protože složitost sítě se neustále zvyšuje, a tak celkový výpočetní výkon v bitcoinové síti již v roce 2012 překonal výkon nejmodernějšího superpočítače.

Za zmínku stojí, že nutnost modernizace z pohledu těžařů není ani tak výhodou, jako nevýhodou. Neustálá aktualizace zařízení totiž vyžaduje velké finanční náklady, což některé hráče vyřadí z trhu.

Proof-of-Stake: zásadapráce

Do roku 2012 byl PoW jediným algoritmem používaným v kryptoměnách, ale na obzoru se objevil konkurent. Stal se z něj algoritmus Proof-of-Stake neboli PoS, což v překladu z angličtiny znamená „kontrola sázky“. Struktura jeho fungování se zásadně liší od „důkazu o sázce“. Pokud byl v prvním algoritmu použit výpočetní výkon ke zvýšení priority v síti, pak v případě PoS hraje hlavní roli počet coinů v peněžence.

To znamená, že abyste zvýšili své šance, že budete první, kdo dešifruje blok, musíte mít v peněžence co největší počet coinů kryptoměny, kterou těžíte. Na jednu stranu je tento přístup pro těžaře velmi výhodný, protože již nemusí aktualizovat své zařízení, plýtvat velkým množstvím elektřiny a útok na síť se stává téměř nemožným. Má to ale i své nevýhody. Pokud se například jednomu z uživatelů nebo sjednocené skupině podaří koncentrovat ve svých rukou velký podíl všech coinů, pak budou moci ovládat síť.

Proof-of-Work a Proof-of-Stake: na čí straně je komunita?

Algoritmy Proof-of-Work a Proof-of-stake (nebo Proof-of-work a Proof-of-stake) jsou již dlouho základem vážných sporů mezi těžaři. Někteří tvrdí, že důkaz o práci je spravedlivější, jiní, že důkaz o sázce. Není možné dát nějakou jednoznačnou odpověď.

Navíc se dnes poměrně často používá hybridní verze, která kombinuje oba algoritmy. Když je vypuštěna mince, síť funguje na Proof-of-Work, a když je emise dokončena, na Proof-of-Stake. To je celkem logické. Koneckonců, aktivní účast ve fázi testování práce vám umožňuje nashromáždit dostatečný počet mincí, abyste se „organicky“ vklínili do nové fáze testování akcií.

Navzdory novosti a vášnivým diskusím o systému PoS není většina hlavních kryptoměn připravena opustit algoritmus Proof-of-Work. Možná se to stane v budoucnu, ale nyní to není pozorováno. Proof-of-Work a Proof-of-Stake zůstávají konkurenty.

Co je Proof-of-Work a Proof-of-Stake?

Proof-of-Work a Proof-of-Stake jsou dva z nejznámějších konsenzuálních algoritmů v kryptoměnách. Nabízejí mechanismy prokazování vykonané práce, které se liší svou strukturou.

Co je podstatou Proof-of-Work?

Proof-of-Work (PoW - doslova: proof of work) je algoritmus pro ochranu distribuovaných systémů před zneužitím (DoS útoky, spamové e-maily atd.), jehož podstata se scvrkává na dva hlavní body:

  1. potřeba provést určitý poměrně složitý a časově náročný úkol;
  2. schopnost rychle a snadno zkontrolovat výsledek.

Problémy PoW nejsou původně určeny pro lidi, jejich řešení pomocí počítače je vždy dosažitelné v konečném časovém rámci, ale vyžaduje velký výpočetní výkon. Kontrola výsledného řešení přitom vyžaduje mnohem méně prostředků a času.

Kdo vymyslel termín Proof-of-Work?

Koncept Proof-of-Work byl poprvé popsán v roce 1993 v práci „Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology“ (autorky: Cynthia Dwork a Moni Naor). Ačkoli samotný termín nebyl v článku ještě použit, autoři navrhli následující myšlenku:

„Aby uživatel získal přístup ke sdílenému zdroji, musí vypočítat nějakou funkci: poměrně složitou, ale proveditelnou; Tímto způsobem můžete chránit zdroj před zneužitím.“

V roce 1997 spustil projekt Hashcash, věnovaný stejné ochraně proti spamu. Problém byl formulován následovně: "Najděte hodnotu x takovou, aby hash SHA(x) obsahoval N úvodních nulových bitů."

Systém nabízel částečné inverzní hašování při odeslání e-mailem. Výpočet odpovídající hlavičky vyžaduje asi 2 52 hašovacích výpočtů, které je nutné přepočítat pro každé odeslání. A pokud dodatečné výpočty nevytvářejí překážky pro odesílání několika běžných dopisů, pak je odesílání spamu s nutností neustálého přepočítávání velmi náročné na zdroje. Kontrola správnosti vypočítaného kódu přitom probíhá velmi rychle: používá se jednorázový výpočet SHA-1 s předem připraveným štítkem.

V roce 1999 se objevil samotný termín Proof-of-Work - byl použit v článku „Proofs of Work and Bread Pudding Protocols“ (autoři Marcus Jacobsson a Ari Juels) v časopise Communications and Multimedia Security.

Co má Proof-of-Work společného s kryptoměnami?

V bitcoinové síti byl mechanismus PoW používán jako prostředek k dosažení konsensu (společný názor na to, která verze blockchainu je považována za správnou). Tvůrce první kryptoměny Satoshi Nakamoto zároveň vzal myšlenku výše zmíněného projektu Hashcash za základ a přidal k němu mechanismus různé složitosti – snižování nebo zvyšování N (požadovaný počet nul). ) v závislosti na celkové síle účastníků sítě. Vypočítaná funkce se stala SHA-256.

Jednoduše řečeno, mechanismus PoW poskytuje síťovému uzlu (uzlu) možnost ověřit, že těžař (což je uzel, který přidává nový blok do blockchainu) skutečně dokončil výpočty. Tento proces zahrnuje snahu najít hash hlavičky bloku (část blockchainu, která obsahuje odkaz na předchozí blok a souhrnnou hodnotu transakcí v něm obsažených), která bude svou hodnotou odpovídat aktuální úrovni obtížnosti.

Je výpočetní složitost skutečně „těžká“?

Tyto výpočty lze provádět pouze interaktivně a obtížnost je nastavena na takovou úroveň, že se to vlastně ukazuje jako obtížné. Kontrola výsledků výpočtu přitom zůstává jednoduchá. Uzly mohou vždy ověřit, že těžař našel správnou hodnotu, ale protože proces hledání bloku je velmi pracný a náhodný, není možné přesně předpovědět, který těžař problém vyřeší a blok najde.

Aby systém rozpoznal blok jako platný, jeho hodnota hash musí být menší než aktuální cíl. Každý blok tedy ukazuje, že na jeho nalezení byla vykonána nějaká práce.

Každý blok obsahuje hash předchozího bloku, který tvoří řetězec. Není možné změnit blok - je možné vytvořit pouze blok ve stejné výšce, který bude obsahovat hash předchozího bloku. K provedení takového procesu je nutné vykonat práci na nalezení všech předchozích bloků. Vysoká složitost tohoto procesu chrání blockchain před neoprávněným přístupem a dvojím utrácením.

Jak Proof-of-Work ovlivnil těžbu?

Proof-of-Work of Bitcoin dal vzniknout celému těžebnímu průmyslu a stal se impulsem pro vývoj specializovaného vybavení, protože výpočetní zdroje vynaložené na hashovací bloky jsou obrovské a daleko přesahují kapacitu největších superpočítačů.

Zároveň tu byla také notoricky známá „druhá strana mince“: PoW se rychle proměnil v monstrum, které hltalo elektřinu v závodě o ziskovost těžby. V roce 2012 již celkový výkon bitcoinové sítě překonal výkon nejvýkonnějšího superpočítače na světě a na obzoru se objevila první alternativa – Proof-of-Stake.

Co je Proof-of-Stake?

Alternativní mechanismus konsenzu poprvé implementovaný v roce 2012 v kryptoměně PPCoin (nyní známé jako PeerCoin). Cílem je použít „sázku“ jako zdroj, který určuje, který uzel získá právo těžit další blok.

V přístupu Proof-of-Stake se uzly také snaží hašovat data při hledání výsledku menšího než určitá hodnota, ale v tomto případě je obtížnost rozdělena proporcionálně a v souladu se zůstatkem daného uzlu. Jinými slovy, v souladu s počtem coinů (tokenů) na uživatelském účtu.

Uzel s větším zůstatkem má tedy větší šanci vygenerovat další blok. Schéma vypadá docela atraktivně, především kvůli malým nárokům na výpočetní zdroje a také proto, že zde není řeč o „plýtvání“ energií.

Jaké jsou argumenty pro a proti Proof-of-Stake?

Ve prospěch použití PoS jsou obvykle uvedeny následující argumenty:

  • Provedení útoku vyžaduje značné finanční prostředky, což jej činí z finančního hlediska nepraktickým.
  • Zároveň, pokud má útočník k dispozici velké množství tokenů, bude útokem trpět sám, protože to zničí stabilitu kryptoměny.

Argumenty, které vyvolávají obavy:

  • PoS poskytuje další motivaci k akumulaci finančních prostředků v jedné ruce, což může negativně ovlivnit decentralizaci sítě.
  • Pokud se vytvoří malá skupina a shromáždí dostatečně velké finanční prostředky, bude moci vnutit svá pravidla pro síť ostatním účastníkům.

Navíc si můžeme všimnout problému Nothing-at-Stake, který činí systémy PoS v očích mnoha nadšenců do kryptoměn ze své podstaty nestabilními. Útočník se může pokusit rozdělit blockchain, tj. vytvořit delší alternativní řetězec utrácením „neexistujících“ zdrojů. Navíc může být podporován jinými těžaři, protože také nespotřebovávají „pravé“ zdroje. Prostřednictvím forku může útočník odmítnout určité transakce a provést útok s dvojitou útratou.

Na které straně stupnice je?

Debata mezi zastánci Pow a PoS probíhá již delší dobu, ale povaha těchto debat je spíše teoretická. Praxe ukazuje, že role vývojáře v otázkách bezpečnosti je stále velmi vysoká.

Mnozí přitom považují hybridní verzi PoS a PoW systémů za nejbezpečnější řešení. Tento přístup je již aktivně praktikován – mnoho kryptoměn má fázi PoW, kdy je měna vydávána prostřednictvím klasické těžby, a fázi PoS, která nastává po dokončení emise.

Zatímco systémy PoS budou vždy snadněji implementovatelné a obecně stejně spolehlivé z hlediska bezpečnosti, většina seriózních kryptoměn pravděpodobně PoW neopustí.

ForkLog byl svého času adaptovaným překladem whitepaperu napsaného BitFury Group, který srovnává fungování bezpečnostních principů PoW a PoS systémů.

Jaké další důkazní mechanismy existují v kryptoměnách?

Jejich seznam může být poměrně velký, takže uvedeme několik z nejznámějších:

  • Proof of Activity je standardní hybridní schéma kombinující PoW a PoS;
  • Delegovaný důkaz o sázce je obecný termín, který popisuje vývoj základních konsenzuálních protokolů založených na prokázání sázky. DPoS se používá v , a ;
  • Proof of Burn – „spálení“ nastává zasláním mincí na adresu, ze které je zaručeno, že je nelze utratit. Tím, že se uživatel tímto způsobem zbaví svých mincí, získává právo na doživotní těžbu, která je rovněž strukturována jako loterie mezi všemi vlastníky spálených mincí;
  • Proof of Capacity je implementací populární myšlenky „megabajtů jako zdrojů“. Pro umožnění těžby je nutné alokovat značné množství místa na disku;
  • Proof of Storage – obdoba předchozího konceptu, kdy přidělený prostor využívají všichni účastníci jako sdílené cloudové úložiště.
  • Překlad

Pokračujeme v překládání skvělých článků z webu Bytecoin.org. Dnes – “Alternativy pro Proof of Work, Část 1: Proof of Stake” od Raye Pattersona.
Přečtěte si také překlad „Stručná historie evoluce proof-of-work v kryptoměnách“: a.

Kritika důkazu práce

Jak si všichni pamatujeme, Proof of Work se narodil v roce 1993 v rodině kryptografů; jeho rodiče mu předpověděli kariéru obránce anti-DoS a spamu. V roce 2008 však dostal lákavou nabídku od anonymního člověka s japonským přízvukem: stát se základem pro distribuovaný server časových razítek. Schéma se zdálo jednoduché: síťové uzly „hlasují“ pro svou verzi historie transakcí a investují svou sílu do výpočtu „vzácných“ hashů. Verze, která obdrží nejvíce hlasů, je přijata ostatními uzly jako referenční verze.

Důležitým bodem bylo zajištění velké celkové kapacity sítě: ochrana před potenciálním útočníkem s jeho potenciálními 51 % zdrojů. Původní koncept PoW však zahrnoval malé úkoly, které musí klient splnit, aby získal přístup ke zdrojům serveru. V rámci tohoto modelu ochrany DoS nebudou ani malé kapacity klientů narušovat spravedlivé využití zdroje a velké prostě nebyly potřeba. Motivace pro práci těžařů se proto realizovala jednoduše: „in naturálie“, bitcoiny, tzn. vlastně peníze.

A to vše změnilo. Ve světě kryptoměn se PoW stal monstrem, které požírá elektřinu v závodě o ziskovost těžby. Vážná tvrzení se objevila kolem roku 2012, kdy celkový výkon bitcoinové sítě „předběhl“ výkonově nejvýkonnější superpočítač na světě. "Plýtvání energií!" - ze všech stran se ozývaly výkřiky. Nesmělé protesty obránců ohledně ochrany před 51% útokem a energetického apetitu bankovních terminálů byly ignorovány, naštěstí už byla na obzoru první alternativa - Proof of Stake.

Důkaz o sázce

Vyšlo to najevo jako nápad v jednom z příspěvků na bitcointalku v roce 2011. První implementace byla vydána o rok později, v roce 2012, v kryptoměně PPCoin (nyní PeerCoin). Následně se podobné protokoly objevily v dalších projektech, více o nich později.

PoS má různé inkarnace, ale jednu společnou myšlenku: omezený zdroj, o kterém je třeba hlasovat, lze nalézt nejen ve vnějším světě (spálené železo a elektřina), ale uvnitř samotného systému – samotné digitální mince. Majitelé mincí - držitelé (stakeholders) - je samozřejmě během hlasování neutrácejí, ale na chvíli zablokují, a tím je dosaženo omezení. Je zřejmé, že ačkoli počítač musí být kvůli těžbě zapnutý, nemusí provádět žádné vážné výpočty.

Jak PPCoin funguje?

Zdrojem těžaře jsou tedy jeho mince (samozřejmě neutracené). Přesněji řečeno, neutracené transakční výstupy, z nichž každý odpovídá určitému počtu coinů. Těžba probíhá následovně:

  1. Vybereme váš výstup, který byl přijat nejméně před 30 dny.
  2. Vytvoříme strukturu jádra, která obsahuje: deterministická data z výstupu (čas bloku, ve kterém se objevil, jeho číslo uvnitř bloku atd.), aktuální čas atd. nStakeModifier (periodicky přepočítávaný blok pseudonáhodných bitů).
  3. Jádro zahašujeme a výslednou hodnotu porovnáme s aktuálním cílem, který závisí na aktuální složitosti sítě (vyšší složitost – nižší cíl), „stáří“ výstupu (vyšší věk – vyšší cíl) a jeho výši (více mince – vyšší cíl).
  4. Pokud se ukáže, že hash je větší než cíl, vrátíme se ke kroku 1 a provedeme další výstup.
  5. Pokud se výstup ukázal jako „úspěšný“, utratíme jej v coinbase transakci (zašleme si jej), přidáme odměnu za blok a provize ze zahrnutých transakcí a celý blok podepíšeme klíčem, který byl spojen s vynaložený výstup.
  6. Voila, blok je připraven. Začněme hledat další.
Poznámky:
  • Ověření bloku je deterministické: aktuální čas se bere z hlavičky bloku, výstupní data se berou z blockchainu, pro každý blok je také jednoznačně vypočítán nStakeModifier.
  • Výstup musí být „starý“, aby útočník nemohl převodem peněz mezi jejich peněženkami získat „dobrý“ výstup, který mu okamžitě umožní najít blok.
  • nStakeModifier se vypočítává na základě nejnovějších bloků, a proto je nepředvídatelný. Díky tomu je těžba ještě nepředvídatelnější (a odolnější vůči případným útokům).
  • Aktuální časové razítko v kroku 2 se může lišit v širokých mezích: plus minus hodinu. Proto ve skutečnosti pro každý výstup můžete zkontrolovat 7200 hashů, a ne pouze jeden.
  • Multiplikátor cíle „věku“ je omezen na 90 dní. Jinak by útočník mohl s několika VELMI starými mincemi s vysokou pravděpodobností vygenerovat několik bloků za sebou.

Proces těžby PoS je v podstatě stejná loterie jako v PoW. Nemusíte však „platit“ za lístek svou silou: hledání možností probíhá ve velmi omezeném prostoru vašich vlastních výstupů a nezávisí na rychlosti CPU. Vaše šance jsou ovlivněny pouze vaším celkovým počtem coinů a aktuální obtížností sítě.

Díky tomu získáváme následující zisk:

  1. Šetřeme energii. Zde není o čem polemizovat, i když pro PoW můžete použít „užitečnou práci“ (viz Primecoin) nebo funkce odolné vůči ASIC (Cuckoo Cycle, CryptoNigh, Ethash atd.), které by omezily oblast těžby na osobní počítače.
  2. Žádné nekonečné „závody ve zbrojení“: nyní není celkový hashrate omezen Moorovým pravidlem a zákony termodynamiky, ale celkovým počtem mincí v peněženkách účastníků. Na druhou stranu je v takovém modelu těžké pochopit, zda je velké procento zdrojů v poctivých rukou?
  3. Útok se prodraží. Pokud chci koupit 51 % coinů, trh zareaguje rychlým růstem ceny. Kromě toho, jaký má smysl útočit na síť, když jsou všechny mé zdroje investovány do virtuálních mincí této sítě?
Zdá se, že vše je skvělé: fyzickou práci jsme vlastně nahradili jakýmsi virtuálním zdrojem. Není ale právě v tom problém?

Kritika Proof of Stake

Odpovězte na otázku: kolik se utratí peníze? Pokud vás někdo osloví a nabídne vám odkoupení soukromých klíčů, ze kterých jste již utratili všechny peníze, na jaké ceně se dohodnete? Protože tyto klíče už nestojí za nic a nikdo je nepotřebuje, předpokládám, že se vám bude hodit jakákoli nabídka: jsou to peníze z ničeho!

Nyní si představte, že se na chvíli X v minulosti ukázalo, že 50 % (nebo více) všech coinů bylo na klíčích, které si útočník koupil nyní. Pro zjednodušení můžeme předpokládat, že okamžik X je čas bezprostředně po vytvoření druhého bloku a někdo si koupil klíče obou bloků, tzn. Pokud by se vrátil do minulosti, vlastnil by 100 % celé peněžní zásoby.

Ve skutečnosti se nepotřebuje fyzicky vracet v čase. Od této chvíle může „přepsat celou historii blockchainu“ těžbou s těmito starými mincemi! Navíc získáváte odměnu za každý nový blok a zvyšujete svůj kapitál. Nemusí ani vytvářet transakce (i když peníze na sebe může jen převádět).

Jeho alternativní řetězec v určité chvíli dožene ten skutečný a v počtu bloků ho dokonce předčí. Celá síť se na něj přepne, protože mezi nimi nejsou žádné syntaktické rozdíly. Hlavní rozdíl ale bude v tom, že v jedné z nich bude stále více než polovina mincí patřit útočníkovi. Takto můžete prodejem „mrtvých duší“ snadno přijít o „živé“.

S takovým specifickým útokem se samozřejmě dá bojovat. PeerCoin například používá praxi pravidelných kontrolních bodů: bloky podepsané klíčem vývojáře, „hlouběji“, než je zakázáno přestavět blockchain. Ale toto je konkrétní řešení, které neodstraňuje obecnější problém – Nic není v sázce.

Problém je v tom, že těžba – hlasování – nic nestojí a nevyžaduje žádnou fyzickou námahu. Pokud se například v určité chvíli objeví dva bloky ve stejné výšce (řetězová vidlice), pak lze obě verze řetězu těžit současně. S PoW je to v zásadě nemožné ze zřejmých důvodů: každý ověřený hash řetězce A je neověřený hash řetězce B. Na druhou stranu PoS umožňuje prohledávat všechny „paralelní světy“ najednou a v jakékoli výšce (tedy včetně minulosti).

V PoS je pro vás mnohem snazší provést útok dvakrát. Stačí vždy těžit dvě verze následujícího bloku: jednu s transakcí převodem vašich peněz prodejci (který nečeká na N potvrzení) a druhou s převodem převodu k vám. Pokud se stane, že najdete oba bloky, tak první pošlete prodejci (a obdržíte své zboží) a druhý všem ostatním. S vysokou pravděpodobností bude pokračovat druhá verze řetězce a peníze se vám vrátí.

Problém s PoS je v tom, že je výhodné těžit několik alternativních větví najednou. Jednoduše to můžete udělat zdarma, s nenulovou šancí na úspěch, což znamená, že zvýšíte svůj očekávaný příjem. PoW vám takové žerty neumožňuje, a proto těžíte pouze v jedné větvi (což je vaše volba). Výsledkem je, že v modelu PoW je dříve nebo později dosaženo konsensu, ale v čistém PoS již není možné předpovídat konvergenci.

Pokud vás tento problém zajímá, najdete podrobnosti

Zjistěte, co je protokol Proof-of-Work, kdy vznikl, jaké jsou jeho klady a zápory a jaký má vztah k kryptoměnovému prostoru.

Proof-of-Work je metoda ochrany blokového řetězce digitálních měn před různými typy útoků. Termín se doslova překládá jako „potvrzení práce“. Algoritmus zaručuje ověření provedení určité sekvence akcí konkrétním uzlem systému (tedy těžařem). Data, která protokol stanoví, jsou informace v nalezeném bloku, které zobrazují odkaz na předchozí uzel v řetězci a počet operací uložených v bloku. Čím výkonnější je váš hardware, tím vyšší je šance, že vás systém zvolí jako uzel odpovědný za potvrzení transakce. Proto je hlavním kritériem úspěšné těžby elektronických peněz na základě tohoto algoritmu výkon zařízení. Tento faktor přispěl ke sjednocení uživatelů do speciálních skupin, které se nazývaly „pooly“.

Proof-of-Work je bezpečnostní algoritmus proti škodlivým útokům používaný v distribuovaných systémech. Hlavním bodem je toto:

  • aplikace ve složitých a zdlouhavých procesech;
  • jednoduchost a účinnost kontroly výsledku.

K řešení problémů algoritmu PoW se používá vysoce výkonná výpočetní technika. Proces zpracování dat obvykle trvá určitou dobu. Samotný proces výpočtu je oproti kontrole přijatých dat náročnější na hardwarové zdroje.

V polovině 90. let minulého století vyšel článek „Pricing via Processing or Combatting Junk Mail“, ve kterém autoři poprvé předložili koncept Proof-of-Work. Smyslem myšlenky bylo, že každý člověk, který chce získat přístup k jakékoli službě, musí provést řadu operací velmi složité funkce, která vyžaduje zdroje výpočetního systému. V tomto případě musí proces trvat určitou dobu, kterou lze nazvat přijatelnou pro čekání. Výpočetní proces na straně klienta musí být náročnější na zdroje než proces kontroly získaných výsledků spuštěný na straně serveru.

Navržená funkce musí být neodepisovatelná, protože jinak se výrazně prodlouží doba výpočtu. Autoři článku navrhli, že dodatečné matematické operace prováděné na počítači uživatele nebudou překážkou běžného odesílání e-mailů, ale stanou se vážnou překážkou rozesílání spamu. Takový systém by ve skutečnosti uložil množstevní omezení na zasílání dopisů v určitém časovém období.

O něco později byl implementován projekt Hashcash, ztělesňující funkci, jejíž podstata je popsána ve výše uvedeném článku. Definici „proof of work“ poprvé navrhli autoři vědecké studie „Proofs of Work and Bread Pudding Protocols“, která vyšla na konci devadesátých let.

O 5 let později Hal Finney navrhl sofistikovaný algoritmus nazvaný „reusable proof of work“ (RPoW), který měl být použit v elektronických platebních systémech. O několik let později vytvořil Satoshi Nakamoto první virtuální měnu, která používala algoritmus PoW. Řeší problém dvojího utrácení tokenů.

Hlavní nevýhoda Proof-of-Work, která je důvodem všech činností spojených s implementací alternativních způsobů ochrany, je spojena s obrovskou spotřebou energie při provozu sítě. Celkové náklady na platformu mohou někdy převýšit náklady malého závodu. Na obranu tohoto algoritmu však bude řečeno, že si dobře poradí se zajištěním bezpečnosti webu a vyrovnáním akcí všech druhů útočníků. Na tom bude záviset další rozvoj a propagace zdroje. Vždyť kdo by investoval do projektu, který nedokáže ochránit vlastní síť před hackery?

V úplně první virtuální měně je PoW nezbytný k dosažení konsensu v síti. Protože pro každého uživatele může v daný okamžik existovat více verzí blockchainu, algoritmus určuje, která verze je spolehlivá. K realizaci svého nápadu Nakamoto využil vývoj výše zmíněného projektu Hashcash, přičemž hotovou funkci mírně upravil (přidal mechanismus pro změnu její složitosti, která závisí na celkovém výpočetním výkonu všech síťových uzlů). Hotová funkce se nazývá .

Algoritmus PoW je nezbytný pro síťové uzly k ověření, že těžař provedl výpočty. Ten provádí výpočty složitých algoritmů, v důsledku čehož je do řetězce bloků přidán nový vygenerovaný blok („buňka“), který ukládá určitý počet záznamů o dokončených transakcích. Mechanismus proof-of-work se pokouší najít hash hlavičky uzlu, který obsahuje odkaz na předchozí "buňku" a celkovou hodnotu všech operací umístěných v nově vygenerovaném uzlu. Hash indikátory odpovídají stanovenému stupni.

Složitost popsaných operací je ve skutečnosti poměrně vysoká a samotný výpočetní proces může být prováděn za účasti uživatelů. Postup kontroly výsledků je naopak velmi jednoduchý a nenáročný na systémové prostředky. Jakýkoli uzel může obdržet důkaz, že těžař vygeneroval nový blok. Vzhledem ke složitosti výpočetních procesů prováděných těžaři je však velmi obtížné určit, který z nich si poradí rychleji než ostatní.

Pro kontrolu platnosti nového bloku se jeho hash hodnota porovná s aktuálním cílem. Pokud se ukáže, že je menší, blok je platný. To jasně demonstruje skutečnost, že pro vytvoření bloku byla vykonána určitá práce.

Struktura blockchainu je taková, že každý vytvořený uzel přidaný do řetězce ukládá informace o tom předchozím. Úprava „buněk“ není možná. Můžete pouze „připojit“ nový na stejné úrovni, který uloží hash předchozího bloku. To bude vyžadovat generování všech předchozích uzlů. Takový úkol je zcela netriviální a náročný na zdroje. To zajišťuje spolehlivou ochranu sítě před rušením třetích stran a dvojnásobnou útratou tokenů.

V současné době stále existuje kontroverze ohledně vhodnosti použití PoW. Odborníci identifikovali následující typy zranitelnosti algoritmů:

  1. 51 % – zranitelnost charakteristická pro bitcoiny a další virtuální měny v raných fázích jejich vývoje. Jeho podstata spočívá v tom, že pokud se většina síly sítě dostane do rukou útočníka, ten získá plnou kontrolu nad generováním nových bloků a prováděním transakcí. Je mu také dána možnost provádět jakékoli změny v distribuované databázi, až po kompletní přepsání a vytvoření vlastní větve, která bude uznána jako platná. V důsledku toho zmizí všechny prostředky uživatelů z jejich elektronických peněženek.
  2. Utrácet stejné mince dvakrát. V tomto případě lze stejný majetek použít několikrát. Existuje několik druhů tohoto typu útoku.
  3. Kontrola nad horníky. Útok je možný od útočníků, kteří mají zařízení s výpočetním výkonem nižším než 50 % celkového výkonu sítě. Toho lze dosáhnout použitím agresivních reklamních metod k přilákání těžařů do bazénu. Úkolem útočníka je snížit efektivitu výpočetních procesů konkurentů (jednotlivých těžařů a poolů) na nulu.

Kromě zřejmých problémů s ochranou dat má daný algoritmus následující nevýhody:

  1. Výpočetní výkon zařízení používaného těžařem a pravděpodobnost vygenerování nového bloku mají přímo úměrný vztah. Každý těžař se proto snaží zvyšovat výkon používaných systémů. Výsledkem takového jednání je silná nadspotřeba energetických zdrojů.
  2. Výsledky výpočtů jsou významné pouze v rámci sítě, nemají jiné uplatnění. Ve skutečnosti má síť obrovský výpočetní potenciál, který se nevyužívá k řešení užitečných (například produkčních) problémů.

Protože nedostatky a problémy algoritmu byly vždy zřejmé, neustále se pracovalo na jejich odstranění. V důsledku toho byly navrženy nové algoritmy.

Použití PoW k provozování Bitcoinu dalo vzniknout celému těžebnímu průmyslu. Vznikla zařízení zaměřená na řešení vysoce specializovaných problémů hashovacích bloků, se kterými si jen těžko poradí i ty nejvýkonnější superpočítače na světě.

Těžba vedla v této oblasti k intenzivní konkurenci. Mnoho velkých hráčů v honbě za ziskem začalo zvyšovat svůj výpočetní výkon, což vedlo k výraznému nárůstu spotřeby elektrické energie. V roce 2012 celková bitcoinová síť předčila výkonově nejvýkonnější počítač. Přibližně ve stejný okamžik byla navržena jedna z prvních alternativ k tehdy používanému algoritmu PoW.

Proof-of-Work je jedním ze dvou nejpopulárnějších konsensuálních algoritmů, na kterých jsou postaveny kryptoměnové projekty. V této recenzi vám řekneme, co je Proof-of-Work, jaké jsou jeho vlastnosti, a provedeme srovnávací analýzu s jeho hlavním konkurentem – Algoritmus Proof-of-Stake.

Co je Proof-of-Work – od původu k podstatě

První myšlenka, kterou lze připsat termínu Proof-of-Work, se objevila v roce 1993 v práci Cynthie Dworkové a Moni Naorové, která se jmenovala „Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology“. Tvůrci této práce předložili myšlenku, že pro získání přístupu ke sdíleným zdrojům musí uživatel provést určité složité výpočty, které tento zdroj ochrání před nadměrným využíváním účastníky sítě. O 4 roky později byl spuštěn projekt Hashcash, který se věnoval antispamovému systému. Systém navrhl hašování části inverze pomocí e-mailových zdrojů. Pro výpočet konkrétní hlavičky bylo potřeba 252 výpočtů pro každé odeslání. Pokud bylo nutné posílat standardní dopisy, nevytvářely se žádné překážky, ale pro rozesílání spamu se přepočet stal velmi obtížným úkolem. A kontrola správnosti vypočítaného kódu nevyžaduje mnoho času, protože se používá speciální typ výpočtu, SHA-1, s předem připraveným štítkem.
Za dva roky termín Proof-of-Work (PoW) již vstoupil do oficiálního použití a byl poprvé oficiálně popsán v článku Jacobson a Jewels na téma protokoly. Po nějaké době byl použit princip Proof-of-Work (PoW). budování bitcoinové sítě– protokol umožnil dosažení konsensu. Satoshi Nakamoto, vývojář bitcoinu, mírně upravil původní verzi Proof-of-Work a přidal k tomu mechanismus různé složitosti, který snížil nebo zvýšil požadovaný počet nul vzhledem k celkovému množství výkonu uživatelů bitcoinové sítě. Funkce SHA-256 zajišťovala plný chod systému.


Definice Proof-of-Work Srozumitelně lze říci následující: protokol zaručuje ověřovací schopnost uzlu, respektive uzlu, pro provádění výpočtů těžařem, který je samotným uzlem, zavádějícím do sítě nové bloky. V tomto případě se pokusí vyhledat hash hlavičky bloku, který obsahuje předchozí blok a celkovou hodnotu operací v něm obsažených, což určuje stupeň složitosti těžby Proof-of-Work (PoW).

Charakteristické rysy Proof-of-Work: jak to všechno funguje

Co je Proof-of-Work (PoW)? Za prvé se jedná o efektivní algoritmus, který poskytuje účinnou ochranu distribuovaného systému před útoky hackerů, podvodnými aktivitami a jiným neoprávněným přístupem.

Že, jak funguje Proof-of-Work, lze uzavřít v následujících bodech:

  1. Povinné provádění pracně náročných výpočtů;
  2. Rychlá a snadná kontrola výsledků.

Funkce Proof-of-Work je, že tato technologie byla původně navržena pro napájení počítače, nikoli pro živé uživatele. Metoda Proof-of-Work zahrnuje použití značných výpočetních zdrojů, ale zajišťuje, že úkol bude dokončen včas se zjednodušeným ověřením dosaženého výsledku s minimální časovou náročností.

Proof-of-Work vs. Proof-of-Stake: porovnání algoritmů


Proof-of-Work (PoW), přeloženo do angličtiny jako důkaz o práci, přispívá do určité míry k náchylnosti kryptoměn k dvojnásobnému utrácení. Zároveň Proof-of-Work (PoW) tento ukazatel snižuje s rostoucím objemem potvrzených transakcí v rámci sítě, což ukazuje na závislost na množství výpočetního výkonu, který má hacker k dispozici. Zárukou používání kryptoměn Proof-of-Work (PoW) je snížení rizika dvojího utrácení a uživatelé očekávají konkrétní počet potvrzení transakcí a také použití bezpečnostních systémů pro snížení rizikových indikátorů pro rychlé platby.
Může být obtížné okamžitě pochopit, že se jedná o Proof-of-Work, ale zjednodušeně řečeno, pokud nakreslíme paralely mezi jeho hlavním konkurentem PoS, nelze si nevšimnout, že tyto algoritmy mohou být vystaveny podobným útokům, ale výsledek může být odlišný. Hlavní nebezpečí pro ně představuje DoS neboli denial of service a útok Sybill neboli útok Sybil. První útok je zaměřen na přerušení normálního fungování systému, čehož je dosaženo přetížením síťových uzlů. Hacker může například zaplavit síť obrovským množstvím levných transakcí – vzpomeňte si na záplavový útok na bitcoinovou síť před 2 lety. Při použití útoku Sybil je síť podkopávána vytvořením obrovského množství nesprávně fungujících uzlů.
Úroveň expozice algoritmu Proof-of-Work a jeho konkurenta těmto útokům závisí nejen na typu vyjednávání, které se v rámci sítě používá, ale také na detailu síťového protokolu. Zároveň dnes neexistují žádné vnitřní charakteristiky, které by mohly učinit ten či onen protokol méně náchylný k útokům.


Dalším útokem, který může uživatele přimět k obavám o jejich kryptoaktiva, je sobecká těžba, nebo sobecká těžba. Na Proof-of-Work těžba, Tento útok selektivně publikuje bloky, což způsobuje, že uživatelé plýtvají svými výpočetními prostředky. Vývojáři Proof-of-Work (PoW) se toho obávají, protože na rozdíl od konkurenčního PoS, který není zatížen drahými zdroji, je zde situace jiná. Žádný z vývojářů však zatím účinnost tohoto typu útoku nepotvrdil a někteří se domnívají, že v předpokladu jsou vážné chyby.
Definice Proof-of-Work (PoW) pokud jde o odolnost proti útokům, je založen na celkovém výpočetním výkonu sítě. Pro Proof-of-Stake však neexistuje ekvivalent ke „zdravotnímu stavu“, protože pokud je měna v síti distribuována rovnoměrně, útok je založen na jejím forku, a pokud mají uživatelé významný podíl, existuje riziko cenzura transakcí.

Výhody a nevýhody Proof-of-Work (PoW)

Hlavní nevýhoda Proof-of-Work, což je to, co celý zmatek kolem vývoje alternativních algoritmů odstartovalo, představuje kolosální spotřeba energie při provozu. Celkové náklady na energetické zdroje někdy převyšují náklady průmyslových podniků. Na obranu tohoto produktu, který byl mimochodem první svého druhu a zaslouží si pozornost už jen proto, je třeba říci, že algoritmus poskytuje vysoce kvalitní ochranu zdroje a zařízení v rámci sítě. Ale jde o kvalitu bezpečnostní závisí na schopnosti uživatele spravovat své prostředky bez obav z možné krádeže.