Domov
Články
Čo je dôkaz o práci (PoW)?

Čo je dôkaz o práci (PoW)?

Stredne pokročilý
Zverejnené Dec 6, 2018Aktualizované Apr 18, 2024
10m

Kľúčové poznatky

  • Proof of Work (Dôkaz o práci – PoW) je mechanizmus konsenzu vytvorený na zabránenie dvojitým výdavkom v systémoch digitálnych platieb.

  • PoW je kľúčovou súčasťou procesu ťažby, ktorý zahŕňa pridávanie nových blokov transakcií do blockchainu a vytváranie nových jednotiek kryptomeny.

  • Bitcoin a mnohé ďalšie kryptomeny používajú PoW ako metódu na zabezpečenie blockchainovej siete a údajov.

Úvod

Stručne povedané, Proof of Work (PoW) je mechanizmus vytvorený na zabránenie dvojitým výdavkom v systémoch digitálnych platieb. Bitcoin a mnohé ďalšie kryptomeny používajú PoW ako metódu na zabezpečenie blockchainovej siete a údajov. Takéto mechanizmy sa často označujú ako algoritmy konsenzu alebo mechanizmy konsenzu, pretože zahŕňajú viac strán, ktoré dosahujú konsenzus bez potreby vzájomnej dôvery.

Proof of Work bol prvým algoritmom konsenzu a spolu s algoritmom Proof of Stake (Dôkaz o vklade – PoS) zostáva jedným z najdôležitejších. Predstavil ho Satoshi Nakamoto v Bielej knihe Bitcoinu z roku 2008. Samotná technológia však bola vytvorená už dávno predtým.

HashCash Adama Backa je prvým príkladom algoritmu Proof of Work v časoch pred kryptomenami. Požadovaním od odosielateľov, aby pred odoslaním e-mailu vykonali menší prepočet, príjemcovia dokázali znížiť spam. Tento prepočet by legitímneho odosielateľa nestál prakticky nič, ale rýchlo sa zistí, ak niekto hromadne posiela e-maily.

Čo je dvojité míňanie?

K dvojitému míňaniu dochádza vtedy, keď sa rovnaké prostriedky minú viackrát. Tento výraz sa používa takmer výlučne v súvislosti s digitálnymi peniazmi – koniec koncov, v reálnom svete by ste mali problém minúť rovnakú fyzickú hotovosť dvakrát. 

Keď dnes platíte za kávu, odovzdáte hotovosť pokladníkovi, ktorý ju pravdepodobne zamkne v pokladni. Nemôžete ísť do kaviarne cez cestu a zaplatiť za ďalšiu kávu tou istou bankovkou. V systémoch digitálnej hotovosti však existuje možnosť, že by sa to dalo. 

Pred použitím príkazov kopírovať a prilepiť ste určite skopírovali počítačový súbor. Rovnaký súbor môžete poslať e-mailom desiatkam ľudí. Keďže digitálne peniaze sú len dáta, musíte ľuďom zabrániť v dvojitom míňaní, t. j. kopírovať a míňať rovnaké jednotky na rôznych miestach. Digitálny platobný systém, ktorý nedokáže zabrániť dvojitému míňaniu, sa okamžite zrúti.

Ak sa chcete podrobnejšie pozrieť na dvojité míňanie, pozrite si Vysvetlenie dvojitého míňania.

Prečo je potrebný algoritmus Proof of Work?

Ak ste si prečítali náš článok o technológii blockchain, budete vedieť, že používatelia kryptomien neustále vysielajú transakcie do siete. Tieto transakcie sa však nepovažujú za platné okamžite. Platnými sa stanú až po potvrdení a pridaní do blockchainu.

Blockchain Bitcoin napríklad funguje ako verejná databáza transakcií (ledger), ktorú môže vidieť každý používateľ. Predstavte si to takto: vy a traja priatelia máte poznámkový blok na sledovanie transakcií s vašimi bitcoinmi. Kedykoľvek chce jeden z vás vykonať prevod hodnoty, zapíšte si to:

Alice zaplatí Bobovi 5 BTC; Bob zaplatí Carol 2 BTC atď.

Ale zakaždým, keď uskutočníte transakciu, odkazujete na transakciu, z ktorej prostriedky pochádzajú. Ak by teda Bob platil Carol 2 BTC, záznam by v skutočnosti vyzeral takto: 

Bob zaplatí Carol 2 BTC, ktoré pochádzajú z predchádzajúcej transakcie s Alicou.

Takže máme spôsob, ako sledovať jednotky BTC. Ak sa Bob pokúsi uskutočniť ďalšiu transakciu použitím tých istých jednotiek, ktoré práve poslal Carol, každý to bude okamžite vedieť. Skupina nepovolí pridanie transakcie do poznámkového bloku, pretože tieto 2 BTC už boli minuté.

Teraz by to mohlo fungovať dobre v malej skupine. Všetci sa poznajú, a tak sa zrejme dohodnú, ktorý z kamarátov si má transakcie pridávať do poznámkového bloku. Čo ak chceme skupinu 10 000 účastníkov? Myšlienka poznámkového bloku nie je dobre škálovateľná, pretože nikto nechce dôverovať cudziemu, aby to robil.

Tu prichádza na rad algoritmus Proof of Work. Zabezpečuje, že používatelia nemíňajú peniaze, ktoré nemajú právo minúť. Použitím kombinácie teórie hier a kryptografie umožňuje algoritmus PoW komukoľvek aktualizovať blockchain podľa pravidiel systému.

Ako funguje algoritmus PoW?

Predstavte si, že náš poznámkový blok z vyššie uvedeného príkladu je blockchain. Transakcie však nepridávame po jednej, namiesto toho ich zhromažďujeme do blokov. Transakcie oznámime sieti a používatelia, ktorí vytvárajú blok, ich zahrnú do kandidátskeho bloku. Transakcie sa budú považovať za platné, až keď sa ich kandidátsky blok stane potvrdeným blokom, čo znamená, že bol pridaný do blockchainu.

Proces overovania transakcií a pridávania nových blokov sa nazýva ťažba. Ťažba je drahá a náročná, môže však prinášať aj odmeny. Odmena za blok sa skladá z poplatkov za transakcie od používateľov a úplne nových bitcoinov vytvorených protokolom. 

Mechanizmus Proof of Work vyžaduje, aby ťažiar (používateľ vytvárajúci blok) investoval zdroje (elektrická energia a výpočtový výkon) na hashovanie údajov svojho kandidátskeho bloku, kým sa nenájde riešenie hádanky.

Hashovanie údajov bloku znamená, že ich necháte prejsť cez hashovaciu funkciu, aby sa vygeneroval hash bloku. Hash bloku funguje ako „odtlačok prsta“ – ide o identitu vašich vstupných údajov a je jedinečný pre každý blok.

Inými slovami, ťažiar musí overiť a zhromaždiť čakajúce transakcie, usporiadať ich do kandidátskeho bloku a odovzdať údaje bloku prostredníctvom hashovacej funkcie, aby vytvoril platný hash. Ak sa ťažiarovi podarí nájsť platný hash svojho kandidátskeho bloku, odošle ho do siete, pridá blok do blockchainu a vyzdvihne si odmeny za ťažbu.

Keď ťažiar vysiela svoj kandidátsky blok a hash do siete, ostatní účastníci siete zopakujú proces hashovania, aby overili, že výstup je skutočne platný. 

Hoci na nájdenie platného hashu je potrebných nespočetné množstvo pokusov, potvrdenie, že vygenerovaný hash je správny, je triviálne. Stačí zadať rovnaký vstup (údaje bloku) cez hashovaciu funkciu a skontrolovať, či je výstup rovnaký.

V Proof of Work musíte poskytnúť údaje, ktorých hodnota hash zodpovedá určitým podmienkam. Ale neviete, ako sa tam dostať. Vašou jedinou možnosťou je odovzdať vaše údaje cez hašovaciu funkciu a skontrolovať, či zodpovedajú podmienkam. Ak nie, budete musieť mierne zmeniť svoje údaje, aby ste získali iný hash. Zmena čo i len jedného znaku vo vašich údajoch bude mať za následok úplne iný výsledok, takže nie je možné predpovedať, aký by mohol byť výstup.

Výsledkom je, že ak chcete vytvoriť blok, hráte hádanku. Zvyčajne si vezmete informácie o všetkých transakciách, ktoré chcete pridať, a niektoré ďalšie dôležité údaje, potom to všetko hashujete. Ale keďže sa vaša množina údajov nezmení, musíte pridať časť informáciu, ktorá je premenlivá. V opačnom prípade by ste vždy dostali rovnaký hash ako výstup. Tieto premenné údaje nazývame nonce. Je to číslo, ktoré budete meniť pri každom pokuse, takže zakaždým získate iný hash.

Stručne povedané, ťažba je proces zhromažďovania údajov o blockchaine a ich hashovania spolu s nonce, kým nenájdete konkrétny hash. Ak nájdete hash, ktorý spĺňa podmienky stanovené protokolom, získate právo vysielať nový blok do siete. V tomto bode ostatní účastníci siete aktualizujú svoje blockchainy, aby zahrnuli nový blok.

Pre hlavné kryptomeny sú dnes podmienky neuveriteľne náročné na splnenie. Čím vyšší je hash rate v sieti, tým ťažšie je nájsť platný hash. To sa robí preto, aby sa zabezpečilo, že sa bloky nebudú dať nájsť príliš rýchlo.

Ako si viete predstaviť, pokus o uhádnutie obrovského množstva hashov môže byť vo vašom počítači nákladný. Plytváte výpočtovými cyklami a elektrinou. Ale protokol vás odmení kryptomenou, ak nájdete platný hash.

Zopakujme si, čo zatiaľ vieme:

  • Ťažba je náročná a nákladná, ale zabezpečuje bezpečnosť siete.

  • Ťažiari, ktorí dokážu vytvoriť platný blok, dostanú odmeny vo forme novo vydaných kryptomien a poplatkov za transakcie.

  • Vygenerovanie platného hashu si vyžaduje čas, ale ostatní používatelia môžu ľahko skontrolovať jeho platnosť opakovaním procesu hashovania.

Zatiaľ je všetko v poriadku. Ale čo keď sa pokúsite podvádzať? Čo vám bráni vložiť do bloku množstvo podvodných transakcií a vytvoriť platný hash?

Tu prichádza na rad kryptografia použitím verejného kľúča. V tomto článku nepôjdeme do hĺbky, ale pozrite si Čo je kryptografia použitím verejného kľúča?, aby ste získali komplexný pohľad na vec. Stručne povedané, používame niekoľko šikovných kryptografických trikov, ktoré umožňujú každému používateľovi overiť, či má niekto právo presunúť prostriedky, ktoré sa pokúša minúť.

Keď vytvoríte transakciu, podpíšete ju. Ktokoľvek v sieti môže porovnať váš podpis s vaším verejným kľúčom a skontrolovať, či sa zhodujú. Tiež skontrolujú, či môžete skutočne minúť svoje prostriedky a či súčet vašich vstupov je vyšší ako súčet vašich výstupov (t. j. či nemíňate viac, ako máte).

Každý blok, ktorý obsahuje neplatnú transakciu, bude sieťou automaticky odmietnutý. Pokúšať sa podvádzať je drahé. Budete plytvať svojimi vlastnými zdrojmi bez akejkoľvek odmeny.

V tom spočíva krása algoritmu Proof of Work: podvádzanie je drahé, ale čestné konanie prináša zisk. Každý racionálny ťažiar sa bude snažiť dosiahnuť návratnosť svojej investície, takže možno očakávať, že sa bude správať spôsobom, ktorý s väčšou pravdepodobnosťou prinesie výnosy.

Proof of Work (PoW) verzus Proof of Stake (PoS)

Okrem PoW existuje mnoho ďalších algoritmov konsenzu, jedným z najobľúbenejších je Proof of Stake (PoS). Koncept pochádza z roku 2011 a bol implementovaný v sieti Ethereum a niekoľkých ďalších protokoloch.

V systémoch Proof of Stake sú ťažiari nahradení validátormi. Nie je tu žiadna ťažba a žiadne preteky v hádaní hashov. Namiesto toho sú používatelia náhodne vybraní – ak sú vybraní, musia navrhnúť (alebo „vytvoriť“) blok. Ak je blok platný, dostanú odmenu zloženú z poplatkov z transakcií bloku.

Nie je však možné vybrať hocijakého používateľa – protokol ich vyberá na základe množstva faktorov. Aby boli účastníci oprávnení, musia si zablokovať vklad, čo je vopred určená suma natívnej meny blockchainu. Stávka funguje ako kaucia: rovnako ako obžalovaní vložia veľkú sumu peňazí, aby ich odradili od vynechania súdneho procesu, validátori zablokujú stávku, aby odradili od podvádzania. Ak budú konať nečestne, ich podiel (alebo jeho časť) bude zobratý.

Proof of Stake má oproti Proof of Work určité výhody. Najpozoruhodnejším z nich je menšia uhlíková stopa – keďže v PoS nie sú potrebné výkonné ťažobné farmy, spotrebovaná elektrina je len zlomkom elektriny spotrebovanej v PoW. 

To znamená, že PoS nemá rovnakú históriu ako PoW. Hoci by to mohlo byť vnímané ako plytvanie, ťažba je jediným konsenzuálnym algoritmom, ktorý je testovaný už viac ako desať rokov. Od svojho uvedenia na trh zabezpečil algoritmus PoW siete Bitcoin transakcie v hodnote biliónov dolárov. Aby bolo možné s istotou tvrdiť, či PoS môže konkurovať jeho bezpečnosti, je potrebné dlhodobé testovanie stakingu.

Záverečné myšlienky

Proof of Work bol pôvodným riešením problému s dvojitým výdavkom a ukázal sa ako spoľahlivý a bezpečný. Bitcoin dokázal, že nepotrebujeme centralizované subjekty na to, aby sme zabránili tomu, aby sa tie isté prostriedky minuli dvakrát. Šikovným využitím kryptografie, hašovacích funkcií a teórie hier sa môžu účastníci v decentralizovanom prostredí dohodnúť na stave finančnej databázy.

Prečítajte si tiež

Zrieknutie sa zodpovednosti: Tento obsah tu vidíte „taký aký je“ a slúži len ako všeobecná informácia a na účely vzdelávania, bez akejkoľvek reprezentácie alebo záruky. Tieto informácie by ste nemali považovať za finančné, právne ani iné odborné poradenstvo a ani nie sú určené ako odporúčanie na nákup akéhokoľvek konkrétneho produktu alebo služby. Mali by ste požiadať o radu odborného poradcu. V prípade, že autorom článku je tretia osoba, upozorňujeme vás, že názory uvedené v článku sú názormi tohto prispievateľa/autora a nemusia nevyhnutne odrážať názory Akadémie Binance. Ďalšie podrobnosti nájdete v našom úplnom zrieknutí sa zodpovednosti, ktoré sa nachádza tu. Ceny digitálnych aktív môžu byť volatilné. Hodnota vašej investície môže klesať alebo stúpať a investovaná suma sa vám nemusí vrátiť. Za svoje investičné rozhodnutia nesiete výhradnú zodpovednosť a Akadémia Binance nezodpovedá za žiadne straty, ktoré vám môžu vzniknúť. Tento materiál by sa nemal považovať za finančné, právne ani iné odborné poradenstvo. Viac informácií nájdete v našich Podmienkach používaniaVarovaniach pred rizikom.