Obnovit stránku

Proof of Work a Proof of Stake (VŠE, CO VÍME)

Aktualizováno

Pokud se na Bitcoin díváte jako na svobodnou měnu, nejspíše vyzdvihujete jeho výhody jako je decentralizace a necenzurovatelnost. Vlastnosti, které jej činí jedinečným digitálním platidlem. Dnes si posvítíme na technologická řešení, díky kterým kryptoměny těchto unikátních možností dosahují. 

PoWvsPoS

Proof of Work a Proof of Stake (VŠE, CO VÍME) - OBSAH:

  1. Bitcoin jako síť
  2. Bitcoin jako databáze
  3. Algoritmy konsenzu
  4. Proof of Work
  5. Hash funkce
  6. Hashcash - protokol Bitcoinu
  7. Těžba bitcoinu
  8. Proof of Stake
  9. PoS vs PoW
  10. Další známé algoritmy
  11. Závěr

Bitcoin jako síť

Nejdříve si přiblížíme, jak vypadá decentralizovaná kryptoměnová síť. Nebudu vás ale trápit pojmy jako ad hoc síť nebo mesh topologie. Klíčová věc, kterou je třeba chápat, spočívá právě ve slově decentralizovaná.


Rozdíl v topologii centralizované a decentralizované sítě.
Bitcoin je v první řadě síť. Síť, ve které jsou si uzly rovny a neexistuje žádný centrální uzel, který by spravoval její provoz. Tyto uzly samozřejmě běží na protokolu Bitcoinu, díky čemuž spolu komunikují podle určitých pravidel. Odeslání transakce probíhá formou broadcastu. Transakce se tedy odešle do celé sítě a postupně ji zachytí všechny uzly. Tyto transakce se následně ukládají ve formě bloků do blockchainu.

Bitcoin jako databáze

Pro účely tohoto článku si můžeme blockchain definovat jako decentralizovanou databázi, respektive účetní knihu, v případě Bitcoinu a kryptoměn. Každý z uzlů ve výše zmíněné decentralizované síti uchovává celý blockchain. Každý uzel zná všechny transakce, které v Bitcoinu proběhly. Takováto decentralizovaná databáze přináší mnohé výhody, ale i problémy. Zejména je velmi drahá a těžkopádná.

i

Blockchain se v posledních letech stal velmi populárním slovem. Slýcháme o něm jako o disruptivní technologii, která dokáže změnit průmysl, vyřeší hlad, a vůbec spasí celý svět. Po období nejtvrdší popularity slova blockchain přišlo opatrné vystřízlivění a představy o nekonečných možnostech využití blockchainu už nejsou tak divoké. Asi se však shodneme na tom, že kryptoměny, a právě Bitcoin, jsou jeho zatím nejúspěšnějším a nejrozšířenějším využitím

Absence centrální autority však přináší problém spočívající v otázce komu tedy mohou uzly důvěřovat. Na základě čeho mohou do své databáze přidat uskutečněnou transakci, pokud neexistuje žádná autorita, která by ji potvrdila. Jak dosáhnout konsenzu obrovského množství počítačů v trustless síti, pokud navíc jednáme s něčím tak důležitým, jako jsou finanční prostředky?

Algoritmy konsenzu

Odpovědí na tento problém jsou algoritmy konsenzu. Jejich úlohou je zabezpečit, aby se uzly v decentralizované síti shodly bez potřeby centrální autority. Zároveň zabezpečují, že údaje jsou retrospektivně neměnitelné. Poskytují síti neoklamatelný matematický důkaz, na základě kterého se uzly shodnou na vykonání akce – například zápisu nových transakcí v podobě bloku do blockchainu. S koncepty snažícími se o decentralizovaný konsenzus se po vzniku Bitcoinu roztrhl pytel. V tomto článku se blíže podíváme na dva nejvíce skloňované, no zmiňujeme i další.

Proof of Work

Ze samotného názvu Proof of Work je zřejmé, že poskytuje důkaz na základě vykonané práce. V případě Bitcoinu nehovoříme o lidské práci, ale o výpočetním výkonu. Ten je potřebný k vytvoření důkazu, který uzly sítě akceptují. Pointa spočívá v tom, že takovýto důkaz je velmi náročné vytvořit, ale velmi snadné ověřit. V Bitcoinu se tento důkaz vytváří na základě výpočtu hashovací funkce.            

i

Nemyslete si, že Bitcoin při svém vzniku přinesl koncept Proof of Work. Návrh na něj vznikl už v roce 1997. Hashcash systém, který využívá Bitcoin, datujeme do roku 1997, kdy ho Adam Back použil jako ochranu před DoS útoky a spamem. Do peněz ho pak adaptoval Hal Finney v reusable proof-of-work system. Hal Finney je však známý zejména jako první člověk, který přijal transakci v Bitcoinu. Zemřel v roce 2014 a jeho tělo bylo kryogenicky zmrazeno. I proto se jím často zabývají teorie hledající identitu Satoshiho Nakamota, tvůrce Bitcoinu.

Hash funkce

Než si slovo hash zkusíte vyhledat a najdete kopu kanabinoidních drog, dovolte mi ho vysvětlit. Hash funkce je matematická funkce, která převede libovolná vstupní data na číslo o fixní délce. Tento hash představuje něco jako otisk vstupních dat. Přitom platí, že i nepatrná změna vstupních dat způsobí velkou změnu na výstupu. Stejné vstupní údaje tedy vždy poskytnou totožný výstup. Díky tomuto můžeme ověřovat pravost údajů, s čímž můžete přijít do kontaktu například při stahování softwaru. 

Hash funkce

Jen drobná změna na vstupu hash funkce mění celý výstup.

V informatice jsou hash funkce široce využívány. Jedno z důležitých využití si našly právě v kryptografii. Zde je využívána jejich jednosměrnost. Důležitá vlastnost hashovacích funkcí, jejíž podstata tkví v tom, že z hashe je prakticky nemožné rekonstruovat původní obsah vstupních údajů. Na tuto vlastnost se spoléhá mnoho systémů například při ukládání hesel. Vaše heslo není v databázi systému, do kterého se přihlašujete, uloženo jako obyčejný text. Je uložen pouze jeho otisk, který se jednoduše ověří po zadání hesla. Proof of Work, který využívá Bitcoin, stojí právě na vlastnostech kryptografických hashovacích funkcí.  

i

Je důležité neplést si hashovací funkci se šifrováním. Šifrování je, na rozdíl od hashe, obousměrné. Pomocí klíče dokážu ze šifry získat původní zprávu. Hashovací funkce si zakládají právě na tom, že jsou jednosměrné. Je matematicky nemožné získat z hashe původní údaje.

Hashcash

Bitcoin využívá pro svůj Proof of Work systém algoritmus Hashcash. Už z jeho názvu je jasné, že je tento Proof of Work založen na hashovací funkci. Originální algoritmus Hashcash používal funkci SHA-1. Bitcoin nasadil ve své době novější standard SHA-256. Využívá dokonce dvě iterace SHA-256 (SHA-256^2), čímž je ochráněn i před mnohými útoky možnými v budoucnosti. 

Neprolomitelnost kryptografického hashe Bitcoinu je nádherně vysvětlena v tomto videu:

Těžba bitcoinu

Vysvětlili jsme si, že Proof of Work funkce v Bitcoinu je založena na hashovacích funkcích. Jaká práce se však vykonává? Pojďme se podívat, jak do toho celého zapadá těžba. Těžař představuje uzel v síti, který na základě vykonané práce vytváří nový blok v blockchainu. V každém takovémto bloku se nachází:
  • Verze – číslo verze softwaru Bitcoinu,
  • Hash předcházejícího bloku – hash hlavičky předešlého bloku (SHA-256^2),
  • Merkle Root – hash všech transakcí zahrnutých v bloku,
  • Timestamp – časová pečeť, kdy byl blok vytvořen,
  • Target – obtížnost, hash hlavičky bloku musí být menší nebo roven targetu,
  • Nonce – proměnná, která se získává těžbou.
Obsah hlavicky

Obsah hlavičky bloku v blockchainu Bitcoinu.

Práce, kterou těžař vykonává, spočívá ve snaze najít předdefinovaný hash na základě daných vstupů. To znamená, že se snaží jít v protisměru jednosměrné funkce. Podle aktuální náročnosti těžby je definováno, jak má vypadat hash nového bloku. Tato náročnost se však mění také na základě hashratu, výkonu celé sítě. Přizpůsobuje se tak, aby se průměrný čas těžby bloků držel na 10 minutách. 


Bloky
Pokud jste někdy použili blockchain explorer, mohli jste vidět hashe bloků začínající spoustou nul. Právě ty určují náročnost těžby.

Těžař jednoduše vezme vstupy, které jsme si výše popsali, přidává nonce a posílá je do hash funkce Bitcoinu. Pokud se trefí a hash bloku splňuje požadavky v síti, je akceptován ostatními uzly a zapíše se do blockchainu. A proč to celé dělá? Protože za takovýto vytěžený blok dostává těžař odměnu v podobě nově uvolněných bitcoinů. Tato odměna v době psaní článku představuje 12,5 BTC. Odměna však podléhá halvingu. Každých 210 000 bloků se sníží na polovinu, a uvolňování nových bitcoinů se tak zpomaluje. 

Proof of Work Bitcoinu je tedy založen na hledání hashe, které vyžaduje obrovský výpočetní výkon. V síti je tím však zajištěna nepřekonatelná bezpečnost. 

Vyplatí se domácí těžba bitcoinu? A jak vlastně na to? Problematiku těžby pěkně shrnuje Bitcoinovej Kanál.

Proof of Stake

Nejčastěji využívanou alternativou k Proof of Work je mechanismus Proof of Stake. Funguje na odlišném konceptu bez potřeby těžařů. Ti jsou nahrazeni validátory, kteří uzamknou množství svých coinů, a získají tak právo ověřovat transakce. Za toto ověřování dostávají transakční poplatky. Ty fungují i u Bitcoinu a Proof of Work systému, nejsou ale primárním zdrojem příjmu těžařů.

Validátorem se stanete odesláním speciální transakce, kterou zamknete své prostředky jako depozit. Proces vytváření nových bloků potom funguje mechanismem, kterého se mohou účastnit všichni validátoři. Validátor, který vytvoří nový blok, je vybrán pseudonáhodně. Šance být vybrán se lineárně zvyšuje s množstvím uzamčených peněz. Pokud validátor validuje nesprávné transakce, o peníze v depozitu přijde. Jako důkaz své schopnosti pomoci se zabezpečením sítě zde tedy namísto energie investujete samotnou digitální měnu.

Algoritmu Proof of Stake využívá například kryptoměna PIVX, o které jsme psali.

Kromě toho rozlišujeme i různé další variace Proof of Stake. PoS založený na Byzantine Fault Tolerance, kde jsou validátoři náhodně vybráni, aby navrhli bloky. Samotný souhlas, zda navržené bloky považovat za kanonické, je uskutečněn volbami, kde každý validátor posílá hlas pro specifický blok. Dále Delegated Proof of Stake, který se snaží být demokratičtější využíváním reputačního systému. V něm své peníze někomu posunete a hlasuje za vás, podobně jako při volbě politiků.

PoS vs PoW

Každý z algoritmů má své výhody a nevýhody, nabízí různá uplatnění. PoW často čelí kritice za svou neefektivitu a neekologičnost. Pálení elektřiny k dosažení konsenzu je dle zastánců PoS mechanismu zbytečné. Ekologičnost PoW je diskutabilní téma, tento fundamentální rozdíl „pálení elektřiny“ však v samotném konceptu mění mnoho.

V PoS konceptu zamykáte měnu digitálního systému do samotného digitálního systému, abyste tento digitální systém validovali. PoW vyžaduje práci, tedy vnější prvek. Díky této provázanosti je útok na síť náročnější. PoW je však náchylný na jiné typy útoků, například 51% útok. PoS, na druhou stranu, neposkytuje neměnitelnost jako PoW. 

Zpětná neměnitelnost je jednou z nejdůležitějších výhod blockchainu. Díky návaznosti bloků není možné změnit údaje několik bloků dozadu, protože by to změnilo celý řetězec bloků následujících. Zásadní rozdíl je v tom, že pokud chcete měnit minulé záznamy v chainu s PoW, bude vás to něco stát. I kdybyste ovládali 100% těžebních strojů v síti, stále musí těžit, aby přepsaly minulost. To vyžaduje ohromnou a nenávratnou investici. Pokud však souhlasí všichni akteří v PoS systému, mohou přepsat minulost bez nákladů. 


i „Nezapomínejme, že PoS vznikl před PoW. Proof of Work byl vymyšlen jako lepší verze PoS. Nyní znovuvynalézáme PoS a je to vskutku vzrušující proces.“

Podstatné, na co nesmíme zapomínat, je škála využití PoW a PoS. PoW je nejrozšířenějším a nejúspěšnějším algoritmem konsenzu a žádný PoS systém se na takovou škálu nedostal. Proto můžeme říci, že nemáme dost znalostí, abychom posoudili jeho skutečné možnosti. Výzkum v této oblasti je obrovský, rychle se posouvá vpřed a jsou v něm velké investice. PoS, který se využívá dnes, je jiný, než ten před dvěma lety. Je ale rozdíl mezi výzkumy a skutečným provozem sítě s miliardami dolarů, kterou se lidé snaží napadnout každý den. Dokud se nepodařilo to druhé, dokud neprovozujeme síť, která je každodenně pod útokem, s miliardami dolarů, nedokážeme říci, jak moc je bezpečná.

Jiné nástroje pro konsenzus

Mechanismy pro konsenzus za poslední roky vznikaly stále rychleji a rychleji. S adopcí kryptoměn vzniklo mnoho různých algoritmů, které řeší různé problémy. Některé se od PoW a PoS liší jen drobně, jiné pracují s úplně odlišnými koncepty. 

infografika
Infografika zobrazující různé systémy pro vytvoření důkazu nebo konsenzu.

Proof of Activity

Zatímco se vedla diskuze PoW vs. PoS, tvůrce Litecoinu spolu se třemi dalšími autory přišli s něčím novým. Pokusili se PoW a PoS zkombinovat. Tento hybrid se nazývá Proof of Activity a snaží se přinést to nejlepší z obou světů. V PoA funguje těžba podobně jako u PoW. Těžaři ale nevytváří nový blok, jen jeho předlohu. Dále se systém chová jako PoS. Vybere se náhodný stakeholder, který validuje bloky. 

Kritici nicméně právem tvrdí, že takovýto hybrid přináší i problémy obou konceptů. 

Proof of Burn

Tento nástoj je velmi zajímavý. Používá se tak, že uživatel pošle coiny na adresu, ke které neexistuje privátní klíč. Jsou tedy neutratitelné, a můžeme říci, že je tak spálil. Využívá se ve speciálních případech jako součást jiných konceptů a pro zabezpečení stability. Například tento projekt druhé vrstvy na Bitcoinu využil pálení BTC ke svému startu.

Navzdory tomu, takto spálené coiny jsou navždy ztraceny. Kritikou tedy je, že peníze mohly raději putovat na charitu.

Proof of Capacity

PoC je ve své podstatě podobný PoW. Namísto samotného výpočtového výkonu zde však těžař poskytuje svou paměť. V ní se pracuje s údaji a vypočítává nonce podobně jako u PoW. Je však o dost více energeticky efektivní. Na druhou stranu, vytváří velkou redundanci kvůli nevyužité paměti, je lépe zneužitelný hackery a kvůli nízké ceně úložného prostoru v dnešní době nemusí být ani moc bezpečný. 

Proof of Location

PoL je fascinující koncept snažící se poskytnout decentralizované a svobodné určování polohy. Systém funguje na uzlech, které představují signální body pro určování polohy, schopné uzamknout peníze a vyhledat další věže v okolí. Čtyři takovéto uzly vytvoří zónu, ve které jsou schopny triangulovat polohu uživatelů. Uživatel v této zóně odešle požadavek a poplatek uzlům, které vypočítají jeho polohu a zapíšou ji do blockchainu. Uživatel tak dostane bezpečný důkaz své polohy. Na rozdíl od GPS a standardního určování polohy by tento mechanismus mohl přinést první skutečně decentralizovaný systém. 

FOAM je jeden z projektů, které se snaží vytvořit Proof of Location platformu.

Proof of Elapsed Time

Důkaz na základě uplynulého času je využíván zejména v blockchainech, které vyžadují povolení pro přidání do sítě. S tímto konceptem přišel Intel a jako důkaz se poskytuje čas strávený v systému. Je zaměřený na vyšší efektivitu. Díky svému charakteru umožňuje účast prakticky komukoliv. 

Proof of Crime

Na závěr přidám jednu specialitu. Proof of Crime je kryptoanarchistický koncept, která má vytvářet důvěru mezi vícero stranami nebo sloužit jako ověření od systému. Zakládá se na tom, že uživatel musí spáchat zločin. Dokáže tím svůj zájem participovat, a v temných zákoutích internetu je tak považován za důvěryhodného. Tento zločin však nemusí být z reálného světa. Stačí, když se při odesílání transakce vygeneruje kousek nelegálního softwaru, a zločin je spáchán.

i

V Alze zaplatíte bitcoiny! Společnost Alza.cz vyšla vstříc četným žádostem zákazníků a zavedla možnost objednávku uhradit nejoblíbenější kryptoměnou.

Závěr

Se současným spektrem mechanismů pro konsenzus je nemožné říci, který si zaslouží upřednostnit. Jako fanoušek kompromisů si dokážu představit různé kombinace. Lightning Network běžící na Bitcoinu, ve kterém zamykáte své peníze do kanálů a validujete transakce procházející vaším uzlem, za což dostáváte poplatek – to zní téměř jako PoS. Samotný Bitcoin přitom ale využívá PoW. 

Z pohledu těžařů je však situace jiná. Pokud máte kvalitní hardware, vyplatí se jít do Proof of Work coinů využívajících například Scrypt, Blake-256, CryptoNight, HEFTY1, Quark, SHA-3 nebo scrypt-jane. Chcete-li mít pohodlnější život těžaře, stačí kryptoměny uzamknout v nějakém PoS systému a vydělávat jen provozem serveru. 

i Mohlo by vás zajímat
1. Těžba kryptoměn. Jak začít těžit kryptoměny?
2. Proč vůbec potřebujeme kryptoměny? Dává to smysl!
3. Kryptoměny (KURZY). Ty nejznámější a nejdůležitější kryptoměny!
4. Bitcoin. Všechno co chcetě vědet na jednom míste!
5. Dogecoin (DOGE). Kryptoměna s nádechem recese!

Algoritmy konsenzu zabezpečují splnění cíle svobodné kryptoměny – decentralizace bez autority. I v této oblasti se ekosystém rychle posouvá vpřed. Pro obyčejného minera je stále obtížnější těžit majoritní kryptoměny, ale s dobrým výběrem a kvalitním hardwarem může být těžba profitabilnejší než v minulosti.



P-DC1-WEB29