Ospravedlňujeme sa, ale z technických príčin sa momentálne na našich pobočkách môže vyzdvihnutie objednávky časovo predĺžiť. Na oprave usilovne pracujeme. Ďakujeme za pochopenie.

PET PET

Prečo je Proof of Stake menej bezpečný ako Proof of Work?

Zobraziť katalóg

Článok

Aktualizované

Poslednú dobu sa zdá, že PoS získava na popularite. Na oko vyzerá ako užitočná optimalizácia, no je menej bezpečný ako Proof of Work. Tento článok si kladie za cieľ vysvetliť ako Proof of Stake (ne)funguje, aké má problémy a aké má výhody. Okrem toho sa pozrieme na to, prečo sú vôbec kryptopeniaze nadizajnovné tak, ako sú nadizajnované a prečo na bezpečnosti záleží.

Ako na šifrovanú komunikáciu a prečo šifrovať? (NÁVOD) – OBSAH

  1. Proof of Stake
  2. Načo sú nám kryptomeny?
  3. Vlastnosti kvalitných kryptomien
  4. Problém konsenzu v anonymnej sieti
  5. Sybil útok na hlasovanie
  6. Princípy Proof of Stake
  7. Triviálny DoS útok
  8. Distribuovaná náhoda
  9. Nothing at stake problem
  10. Problém protirečiacej histórie – validátor je offline
  11. Eclipse útok
  12. Motivácia cenzurovať
  13. Long-range útoky
  14. Čo vôbec rieši Proof of Stake?

Proof of Stake

Poslednú dobu sa zdá, že PoS získava na popularite napriek jeho negatívam. Na oko vyzerá ako užitočná optimalizácia a je veľmi náročné vysvetliť, prečo to nie je dobrý nápad.

Ak by vám stačil pohľad človeka, ktorý sa zhruba 10 rokov venuje Bitcoinu, 12 rokov kryptografii a bezpečnosti a 17 rokov programovaniu tak je tento:

Proof of Stake je jednoznačne menej bezpečný ako Proof of Work a nepoužíval by som ho na ochranu svojho majetku.

Proof of Stake
Nie je proof of stake ako proof of steak...

A tým by článok mohol skončiť. Avšak to by mohol povedať hocikto, však? Veď aj samotní developeri PoS majú skúsenosti a tvrdia opak. „Dont trust, verify!“ hovorí naše motto a v duchu toho sa pokúsim umožniť vám verifikovať toto tvrdenie.

Aby ste tomu porozumeli natoľko, že si budete istí pravdivosťou, je potrebné aby som vám odovzdal všetky znalosti, ktoré mám. Bohužiaľ ich nie je málo, ale verím, že pre ľudí, ktorí chcú poznať pravdu to nebude problém. Ako mám v obľube, začneme základnými predpokladmi a z nich potom logicky prídeme k dôsledkom, ktoré z nich vyplývajú.

Načo sú nám kryptomeny?

Rôzni propagátori kryptomien udávajú rôzne dôvody na ich existenciu. Jeden z najčastejšie uvádzaných sú lacnejšie transakcie, čo však nie je pravda. Prevádzkovať jeden server, je predsa lacnejšie ako prevádzkovať viacero serverov a kryptopeniaze sú dizajnované na prevádzku tisícov, možno až miliárd serverov.

Pozrime sa, čo napísal sám Satsohi. Tvrdil, že banky sa nemôžu vyhnúť arbitráži a teda nemôžu poskytovať skutočne nevratné platby. Prečo? Prečo si Satoshi proste nezaložil banku a neposkytol takúto službu? Pokiaľ by to urobil správne, isto by zarobil a s menším rizikom ako vymýšľať úplne nový systém a ešte sa aj vzdať kontroly nad ním.

Lebo štát zakázal.

Presne tak, najzákladnejšia vlastnosť Bitcoinu je obrana proti útočníkom vrátane štátu. Je jedno, či štátu veríte alebo nie, tento fakt sa nedá poprieť. Sám Satoshi sa odkazoval na to, že centralizovné systémy štát ľahko vypol (napr. Napster, či e-gold) a decentralizované nie (Bittorrent).

Proof of Stake
Tak ako Prsteň Moci nemožno použiť na konanie dobra, ani štát nie je možné použiť na zabezpečenie peňazí

Ak by sme predpokladali, že štáty sú dôveryhodné a dobré, dal by sa vytvoriť oveľa jednoduchší a efektívnejší mechanizmus: Stačilo by, aby niekoľko štátov (hoci aj všetky) digitálne podpisovali stavy účtov. Bitcoin má zmysel iba vtedy, ak je takáto bezpečnosť považovaná za slabú. Bez ohľadu na to, či ho považujete ako ochranu pred zhoršením štátu, s ktorým inak súhlasíte alebo nesúhlasíte so štátom v súčasnosti.

Vlastnosti kvalitných kryptomien

Pokiaľ už máme vyjasnené, že aby mala kryptomena zmysel, musí bojovať proti štátu (aspoň v oblasti peňazí), môžeme si vymenovať aké útoky jej od štátu hrozia a ako sa im brániť.

Proof of Stake
Nezabúdajme, že keď sa štátu niečo nepáči, použije proti tomu násilnú silu – bez ohľadu na režim.

Ak je prevádzkovateľ kryptomeny známy jedinec, stačí ho zavrieť do basy a celý systém skončil. Pokiaľ by sa prevádzkovateľ snažil byť anonymný, nebola by garancia, že sa sám nestane útočníkom (motivácia je príliš veľká). Nebolo by totiž možné vynútiť spravodlivosť ostatnými používateľmi siete. Historicky štát nedokázal vypnúť decentralizované siete ako napr. bittorrent, takže decentralizácia vyzerá ako riešenie. Lenže stále je tu možnosť kriminalizovať samotných používateľov, ak sú ich identity známe.

Navrhnúť systém tak, aby spoľahlivo fungoval aj keď sa účastníci nepoznajú je teda nutnosť ak je cieľom odolnosť voči štátom.

Problém konsenzu v anonymnej sieti

Anonymita zabraňuje štátu identifikovať človeka, ktorý má byť postihnutý za nejaké správanie. Výhodou je, že štát nemôže ubližovať ľuďom, ktorí porušujú nespravodlivé zákony (napr. proti slobode slova). Nevýhodou je, že je zároveň nemožné postihnúť ľudí za nemorálne správanie ako napríklad krádeže a podvody. Ak je každý anonymný, je racionálne predpokladať, že každý môže byť potenciálny útočník a podľa toho sa zachovať.

Z nočnej mory nedôvery nás dokážu vytrhnúť matematické dôkazy. Nemusíme veriť, že Pytagoras bol čestný človek, stačí, že Pytagorova veta sa dá matematicky dokázať. Je množstvo zaujímavých dôkazov, ktoré vedia automaticky overiť počítač, čo nám môže pomôcť pri dizajne kryptomien. Napríklad pomocou elektronického podpisu sa dá overiť, že peniaze má naozaj v úmysle presunúť ich vlastník v danej výške a konkrétnemu príjemcovi.

Lenže s peniazmi je tu jeden problém: musia byť vzácne. Pokiaľ by peniaze neboli vzácne, tzn. ktokoľvek by si mohol pripísať akékoľvek množstvo, veľmi rýchlo by to zneužili nečestní ľudia, aby získali hodnotu od druhých bez poskytnutia protihodnoty. Na to, aby boli peniaze vzácne je nutné aj zabrániť minúť jednotky, ktoré už boli minuté. Inak by bolo možné opakovaným míňaním dosiahnuť rovnaký efekt ako nekonečným tlačením.

Fyzikálne nič nebráni majiteľovi súkromného kľúča v podpísaní dvoch konfliktných správ-transakcií. Rovnako ako nám nič fyzikálne nebráni dosadiť do matematického vzorca za x dve rôzne čísla a zapamätať si oba výsledky. Lebo presne to sa deje pri podpisovaní.

Proof of Stake
Double spending je najznámejší problém, ktorý Bitcoin vyriešil.

Keďže sa tomu nedá zabrániť, je nutné problém vyriešiť inak – tým, že sa všetci dohodnú na tom, ktorá transakcia bude platná a táto dohoda sa nezmení. A tu nastáva problém, čo keď útočník podpíše dve transakcie a odošle ich dvom rôznym účastníkom naraz? Intuícia hovorí, že platiť by mala tá prvá, lenže ktorá je prvá? Áno, každý počítač má hodiny a pozná aktuálny čas. Ten nie je presný. Ale keby aj bol, ako môžem vedieť, že transakciu naozaj prijal niekto iný skôr? Môže predsa klamať!

Neexistuje matematický dôkaz pre fyzickú udalosť, ktorá nastala v nejakom čase. Matematické dôkazy zo svojej podstaty nemôžu brať vstupy z fyzického sveta. Čo s tým teda?

Jedna zdanlivá možnosť je zneplatniť všetky transakcie, ktoré majú konflikty a potrestať majiteľa tým, že jeho peniaze sa už nebudú dať použiť. Bohužiaľ, tak jednoduché to nie je. Ak by to bolo urobené takto, bolo by možné triviálne sabotovať druhých ľudí. Stačilo by poslať transakciu príjemcovi, počkať než za tie peniaze dodá tovar alebo službu, a potom vyrobiť konfliktnú transakciu. Tým by peniaze zmizli nevinnému príjemcovi, nie nečestnému odosielateľovi!

Proof of Stake
Sabotovať prijímateľov naivných kryptomien je triviálne

Ďalším riešením sa zdá byť jednoduché hlasovanie. Každý účastník hlasuje, ktorú transakciu videl ako prvú. Väčšina vyhráva a v momente odhlasovania príjemca vie, že dostal zaplatené.

Avšak, čo ak príde nový účastník siete, ako sa dozvie, komu patrí koľko peňazí? Prípadne účastník, ktorý bol offline, ako sa dozvie, čo sa udialo kým bol offline? Pokiaľ sa každé hlasovanie odkazuje na výsledok predošlého, môže tým vzniknúť reťaz, ktorá vždy povedie k aktuálnemu stavu.

Bohužiaľ tento prístup má zásadné problémy.

Sybil útok na hlasovanie

Hlasovanie väčšinou predpokladá, že každá osoba má jeden hlas. Toto však v IT svete a v anonymnej sieti nie je možné. Je ľahké vyrobiť si veľa identít a tým pádom veľa hlasov. Nečestní účastníci by mali motiváciu vytvoriť si veľa identít a neskoršie odhlasovať stav, ktorý je v konflikte s tým, ktorému veril prijímateľ.

Proof of Stake
Na realizovanie Sybil útoku môže stačiť dostatok IP adries. Poskytovateľ internetu ich nemusí ani kupovať.
  1. Útočník pošle obeti peniaze nechá sieť transakciu odhlasovať a získa za ne tovar alebo službu (anonymne, útočníka nie je možné vypátrať a postihnúť)
  2. Útočník v ďalšom hlasovaní prehlasuje ostatných a bude odkazovať na vymyslený minulý stav siete, kedy tie peniaze od neho k obeti neodišli
  3. Všetci noví/opäť online účastníci tomuto uveria a dovolia útočníkovi zaplatiť im
  4. Útočník získa ďalší tovar alebo službu od ďalšej obete a postup opakuje a vytvára v podstate nekonečnú infláciu – krádež

Treba si uvedomiť, že existujúci účastníci majú iba dve možnosti: podvoliť sa útočníkovi a akceptovať prepísanie histórie alebo ostať nekompatibilní s novými. Obe možnosti sú pre sieť veľmi zlé a tá sa stáva nepoužiteľnou.

Práve pre toto Satoshi vymyslel mining pomocou Proof of Work. Ten tu teraz nebudem rozoberať, poďme rovno na Proof of Stake, ktorý mnohí označujú za lepší.

Princípy Proof of Stake

Proof of Stake sa snaží problém hlasovania vyriešiť tým, že existuje konečné množstvo hlasov, ktoré sú nejako pridelené rôznym ľuďom, a tí potom hlasujú o stave siete. Hlasov sa teda nedá vyrobiť nekonečne veľa a malo by byť náročné pre jednotlivca alebo malú skupinu získať nadpolovičnú väčšinu, pretože hlasy sú naviazané na vzácny zdroj, v tomto prípade na peniaze použité v sieti.

Takto sa to aspoň prezentuje, realita je však zložitejšia.

Proof of Stake bežne funguje tak, že sa náhodne (podľa váhy hlasov) vyberie validátor, ktorý má za úlohu potvrdiť, ktoré z nových transakcií považuje za finálne. Nemá samozrejme dovolené potvrdzovať transakcie proti pravidlám siete. Môže iba vybrať, ktoré z navzájom protirečiacih, ale inak platných, transakcií sa budú považovať za pravdu. Po ňom sa vyberie ďalší náhodný validátor a ten potvrdzuje ďalšie transakcie.

Spôsobov ako implementovať Proof of Stake je veľa. O to ťažšie je vysvetliť, že Proof of Stake je málo bezpečný ako koncept. Niektoré zo spôsobov sú očividne úplne chybné, a to nám umožňuje ich efektívne vylúčiť.

Triviálny DoS útok

Zaujímavý problém pri Proof of Stake je možnosť, že validátor je offline. Pokiaľ by sieť vyžadovala, aby vybraný validátor za každú cenu potvrdil transakcie a neumožňovala by ho zmeniť, tak by sa dala veľmi ľahko zničiť. Nebolo by ani nutné mať 51 % hlasov. Útočník (napríklad štát, ktorý chce mať monopol na vydávanie a reguláciu peňazí), ktorý by mal za cieľ sieť zničiť by nakúpil napríklad 1 % z hlasov a počkal, kým ho zvolia. Potom by proste nerobil nič a nechal čakať sieť donekonečna. Pri jednom percente by musel čakať pár stoviek blokov. Ak by bloky trvali rovnako dlho ako v Bitcoine, trvalo by to asi najviac niekoľko dní.

Avšak pozor, propagátori PoS často argumentujú rýchlosťou a bloky sú oveľa častejšie. Neprekvapilo by ma, keby bolo možné takto navrhnutý PoS coin zničiť v priebehu hodiny.

Proof of Stake
Keď validátor nevytvorí blok do určitého časového limitu, preskočí sa a ide sa ďalej.

Takto zle navrhnutý PoS našťastie asi nikto nepropaguje. Tento útok sa musí vyriešiť tak, že sa účastníci nejako dohodnú, že vybraný validátor je offline. Toto však prináša problémy niektorým implementáciám.

Distribuovaná náhoda

Vytvoriť náhodné číslo výpočtom je veľmi náročné. Počítače/výpočty fungujú vždy na základe konkrétnych, nemenných pravidiel. Pomocou kryptografie však vieme dosiahnuť aspoň vlastnosti, ktoré sú pre nás dostatočné. Napríklad z nejakého počiatočného stavu vygenerovať nasledujúce číslo tak, že ho nikto iný nevie predpovedať.

Jeden z návrhov PoS vyberá overovateľov náhodne a teda vyžaduje nezávisle overiteľné náhodné čísla. Tieto sa však nemajú odkiaľ generovať – ak sa budú generovať z informácií v blockchaine, budú mať validátori motiváciu snažiť sa dáta upraviť tak, aby ovplyvnili pravdepodobnosť ich výberu. Pokiaľ sa náhoda vypočítava prostredníctvom hash funkcie, budú musieť hádať vstupy – tým sa z toho stane PoW!

Proof of Stake
Validátori sa môžu striedať pomocou vopred definovaného algoritmu.

Riešením môže byť round-robin výber – všetci validátori sa nejako usporiadajú a každý dostane nejaký počet výberov podľa výšky stake. Tým bude výber validátorov predpovedateľný, čo môže viesť k ďalším problémom. Napríklad ak útočník bude vybraný niekoľkokrát za sebou, bude o tom vedieť vopred a môže to využiť na double spend útok. Túto situáciu nie je možné detegovať, lebo (anonymný) útočník môže vystupovať ako viacero validátorov. Nedá sa jednoznačne povedať koľko blokov treba čakať, ale viac ako polovicu kola to nemá zmysel (inak by to znamenalo možnosť 51 % útoku).

Nothing at stake problem

Jeden z najznámejších problémov PoS sa volá „nothing at stake“. Je spôsobený tým, že, na rozdiel od PoW minerov, nič nebráni validátorom naraz potvrdzovať konfliktné verzie histórie. Validátor môže poslať rôzne verzie histórie rôznym častiam siete alebo poslať inú históriu klientovi, ktorý sa práve pripojil.

Najznámejšie riešenie tohto problému je potrestanie validátora, ktorý vytvoril dve histórie. Pokiaľ sieť identifikuje dva protirečiace si bloky podpísané tým istým kľúčom, stake priradený k tomuto kľúču sa zlikviduje alebo zhabe. Lenže ani táto operácia nie je priamočiara.

Proof of Stake
Bez penalizácie môže aj menšinový validátor útočiť.

Na pohľad sa zdá, že stačí zneplatniť všetky bloky od validátora, ktorý podpísal protirečiacu históriu. Ak by sa však stalo, že tento validátor by bol vybraný znovu, nemuselo by zneplatnenie nastať naraz a sieť by sa rozdelila. Jedna časť siete by videla dôkaz predtým ako vyprodukovala ďalší blok, iná potom. Úplné zneplatnenie by tak mohlo poškodiť aj nič netušiacich validátorov, ktorí vyprodukovali bloky medzi tým.

Potrestanie validátorov teda musí nastať neskôr a sieť sa na tom musí nejako dohodnúť. Dal by sa zvoliť konkrétny počet blokov, po ktorých sieť neprijme dôkazy o chybe validátora. Lenže validátor by mal stále možnosť prezentovať alternatívnu verziu histórie novým používateľom. Je preto nevyhnutné dáta o potrestaní uložiť do blokov.

Čo bráni útočníkovi vygenerovať celú históriu ktorá tvrdí, že potrestanie nenastalo?

To, že nemá 51 %. No v prípade PoS sa dá 51 % útok dosiahnuť „cestovaním v čase“. K tomu sa dostaneme v kapitole long-range útok.

Problém protirečiacej histórie – validátor je offline

Povedzme, že validátor bol offline, a niekto iný vyrobil blok, v ktorom tvrdí, že ten predtým bol offline. Po nejakom čase príde validátor online a rozhodne sa vytvoriť blok tak, ako keby offline nebol. Máme tým pádom dve histórie ktoré si navzájom odporujú. Tie majú teraz výšku jeden blok.

Jedna história tvrdí, že validátor online bol, druhá, že nebol. Nasledujúci validátor má rozhodnúť, ktorá z histórií je platná tým, že nad ňou nadviaže blok. Ak sa „náhodou“ stane, že ten istý validátor je zvolený opäť, bude mať motiváciu hlasovať za jeho verziu histórie. Samozrejme rovnako ako v prípade Bitcoinu sa dá problém zmierniť čakaním dlhšiu dobu.

Proof of Stake
Nie je možné určiť, ktorá z histórií je pravá a nie je možné zistiť, kto klame.

Na pohľad sa môže zdať, že aj tu pomôže potrestanie validátora. Lenže v tomto prípade sa nedá dokázať, ktorý z validátorov má pravdu. Nijaký validátor nepodpísal dve histórie. Tu nastupuje ďalší problém: ak boli obidve verzie distribuované do siete v približne rovnakom čase, niektorí validátori by hlasovali za jednu, iní za druhú. Jedna z nich napokon vyhrá.

Validátori, ktorí hlasovali za verziu, ktorá prehrala, teraz musia nadviazať na tú, ktorá vyhrala a tým podpísať konfliktné bloky! Teoreticky by mali byť potrestaní, lenže oni nemôžu za to, že sa poplietli. Tento prípad je trochu iný od predošlého a dal by sa identifikovať. No pokiaľ by neboli potrestaní vôbec, oplatilo by sa im hlasovať za obe verzie, aby získali odmenu v oboch prípadoch. Hlasovanie za obe verzie má však pre sieť nulovú hodnotu, lebo nerozhoduje o tom, ktorá história je platná.

Eclipse útok

Okrem Sybil útoku na hlasovanie, opísaného vyššie, existuje ešte Sybil útok na sieťovú infraštruktúru, ktorý je aplikovateľný na všetky P2P siete. V tomto prípade sa nazýva Eclipse útok. Funguje tak, že útočník ovládne všetky spojenia zo siete obete a nahradí ich svojimi servermi. Obeť si myslí, že komunikuje so širokou skupinou rôznych účastníkov siete, no v skutočnosti komunikuje s jediným účastníkom – útočníkom.

Proof of Stake
Používateľ si myslí, že má niekoľko nezávislých spojení do siete, no v skutočnosti sú všetky s útočníkom.

Toto môže vyzerať náročné, no napríklad pre poskytovateľ internetového pripojenia je to veľmi jednoduché. A netreba zabúdať, že poskytovateľ môže byť ovládnutý skorumpovaným štátom. Autentifikácia spojenia nemá veľmi zmysel pretože z princípu anonymnej P2P siete nie je možné vynútiť priradenie kľúčov k osobitným osobám. Tor môže pomôcť, pokiaľ ho poskytovateľ neblokuje, no pravdepodobne najistejšie riešenie je mať nezávislé internetové spojenie – iného poskytovateľa.

To však drvivá väčšina populácie nemá. Dalo by sa namietať, že mnohí majú mobily a mohli by mobilné spojenie použiť ako zálohu. No toto musí byť vykonané proaktívne. Nedá sa zmeniť spojenie keď nastane problém, lebo problém si používateľ takmer určite nevšimne. A keby si aj všimol, skoro každý, kto má viac ako jedno spojenie ho má poskytované od firmy v tom istom štáte.

Ako sa toto týka PoS? Ak by sa útočníkovi podarilo urobiť takýto útok na používateľa PoS coinu, mohol by všetky alternatívne histórie zatajiť. Tým by sa dočasne vyhol trestu za podpisovanie konfliktnej histórie. No je to ešte drsnejšie. Útočník by mohol poslať platne vyzerajúce dáta aj keby mal menej ako 50 % siete! Mohol by sa totiž tváriť, že všetci ostatní validátori sú offline.

Jediná obrana proti tomu je neakceptovať príliš veľa výpadkov v sieti. Lenže to prináša iný problém – pokiaľ by nastali skutočné plošné výpadky (napríklad kvôli chybe v protokole), celá sieť by sa natrvalo zastavila. Samozrejme, nemuselo by to byť pravidlo siete, lenže ako poznáme zo sveta HTTPS, väčšina ľudí klikne na tlačidlo „Akceptovať riziko“.

Oproti tomuto, v prípade PoW je aspoň vygenerovanie takejto histórie extrémne drahé a trvá dlho. Aj keby sa útočníkovi všetko toto podarilo, neoplatí sa mu útočiť, ak hodnota ukradnutého tovaru alebo služieb je nižšia ako hodnota spálenej energie. Počkať kým sa transakcia potvrdí v toľkých blokoch, v koľkých sa vyťaží viac peňazí ako je výška transakcie stačí na obranu pred týmto útokom.

Motivácia cenzurovať

Na rozdiel od PoW sa v PoS validátori pridávajú operáciou na blcokchaine – transakciou. No a na to, aby transakcia nastala, ju musí validátor potvrdiť. Existujúci validátori teda nemajú až takú motiváciu potvrdiť transakciu, pretože im uberá zisk.

Dokonca čelia väzňovej dileme. Ak každý z nich odmietne transakciu potvrdiť, všetci si uchránia dlhodobý zisk. Ten, kto ostatných podvedie, získa krátkodobý zisk a stratí dlhodobý. V prípade, že sieť podporuje smart kontrakty môžu validátori uzavrieť smart kontrakt, ktorý cenzúru vynúti. To je celkom vtipná irónia, keďže mnoho PoS projektov sa zároveň o smart kontrakty snaží.

Samozrejme, pokiaľ nový validátor zaplatí dosť vysoký poplatok, môže motivovať starých validátorov dostatočne na to, aby ho pridali. Aký je racionálny poplatok? Ten závisí od časovej preferencie. Ak má nový validátor nižšiu časovú preferenciu ako existujúci, má zmysel poplatok zaplatiť. Ak má vyššiu, nie je ekonomické, aby sa stal novým validátorom.

Long-range útoky

Ak validátor predá svoj stake, jeho kľúč sa nedá použiť na vytvorenie blokov po predaji, ale stále je možné vytvárať bloky pred predajom. V momente, keď validátor predal stake, neexistuje nič, čo by ho motivovalo neprodukovať alternatívnu históriu v minulosti. Samozrejme, problém by to bol iba vtedy, ak by sa presunulo viac ako 50 % stake.

Decentralizovaná kryptomena funguje s predpokladom, že viac ako 50 % siete sú čestní a motivovaní byť čestní. Lenže v prípade starých kľúčov táto motivácia nie je. Je síce pravda, že žiadny validátor teoreticky nemá kľúč k veľkému stake, no získať ďalšie kľúče môže byť jednoduché. Stačí ponúknuť odmenu iným validátorom, ktorí tiež stake predali.

Proof of Stake
Útok na sieť použitím starých kľúčov.

Ironicky je možné pomocou smart kontraktov a zero-knowleddge proofs urobiť takúto transakciu bez dôvery, dokonca na inej sieti, vrátane Lightning Network. Bývalý validátor, ktorému sú ponúknuté peniaze za prezradenie starého kľúča asi tuší, že kupujúci chystá útok. Prijať protihodnotu v tej istej sieti by preto bol zlý nápad, no vďaka možnosti použiť inú sieť to nie je problém. Keďže účastníci sú anonymní, je možné aby útočník zverejnil inzerát na anonymnom webe, že kupuje staré kľúče aj s auditovateľným programom, ktorý zabezpečí výmenu. Anonymní bývalí validátori mu ich poskytnú s istotou, že bude zaplatené (napríklad cez Bitcoin LN, ktorá má vysokú mieru súkromia).

Toto je neporovnateľne jednoduchšie a lacnejšie ako kúpiť väčšinu ASICs. Pre bývalých validátorov sú to peniaze zadarmo. V momente, keď má niekto 51 % v akomkoľvek historickom momente je možné triviálne vytvoriť alternatívnu históriu od toho momentu. Dodatočné náklady sú takmer nulové. Útočník môže túto alternatívnu verziu poslať novopripojeným účastníkom a získať od nich protihodnotu za bezcenný token.

Zároveň nastáva otázka, čo urobí zvyšok siete? Ak budú alternatívnu históriu ignorovať dôjde k rozdeleniu siete na dve. Ak ju prijmú, dávajú útočníkovi plnú moc útočiť aj naďalej. Keďže útočník môže zároveň cenzurovať pridávanie ďalších validátorov, nie je možné mu túto moc nijako zobrať – teda okrem hard forkov.

V podstate jediná možná obrana je fork vždy, keď niekto predáva stake. Forky ale vedú k centralizácii. Noví účastníci a tí, ktorí boli offline sa zrazu musia pýtať nejakej autority, v akom stave je sieť. Tým sme sa zase dostali k počiatočnému problému.

Čo vôbec rieši Proof of Stake?

Keď už vidíme aké problémy má Proof of Stake, je na mieste otázka „Možno to aj tak stojí za to?“. To, že má niečo problémy neznamená, že to treba zavrhnúť. Najmä ak benefit je vyšší ako cena.

Aby sme to mohli posúdiť, musíme najskôr pochopiť čo vlastne PoS rieši. Jedna z chybných teórií je, že PoS umožňuje škálovanie. Nie je to pravda. Ak by neexistovali iné obmedzenia, Bitcoinové bloky by mohli mať pokojne niekoľko TB a so škálovaním by nebol problém. Problém je, že sú iné obmedzenia. Na to, aby peniaze fungovali ako peniaze, nesmie byť možné ich vyrobiť „zo vzduchu“. A to sa dá v decentralizovanej sieti dosiahnuť iba tak, že všetci účastníci overujú všetky dáta.

Pokiaľ má každý overovať všetky dáta, vedie to nutne k obmedzeniam vyplývajúcim z výkonu siete, procesorov, pamätí... Tie sú rovnaké bez ohľadu na to, či ide o PoS alebo PoW. PoS chain tak musí mať rovnakú veľkosť ako PoW chain, aby si zachoval rovnakú mieru decentralizácie. Nepoznáme nejakú „správnu magickú konštantu“, ale vieme, že to nie je nekonečno.

Iné teórie hovoria, že PoS zvyšuje decentralizáciu alebo bezpečnosť. Ako je vysvetlené vyššie, nie je to pravda. PoS má horšiu decentralizáciu a bezpečnosť.

Ďalšia teória hovorí, že PoS nepáli užitočný kapitál. To však tiež nie je pravda. PoS zabraňuje použiť existujúci kapitál na iné investovanie, a to je ekvivalentné páleniu kapitálu. Na to, aby niekto získal stake, musí pracovať. Na to, aby niekto získal ASIC a elektrinu musí pracovať.

Aké sú hlavné výhody a nevýhody medzi PoW a PoS?

Môže sa zdať, že PoS zvyšuje rýchlosť, keďže netreba čakať na PoW. Lenže to nie je pravda, pretože kvôli problémom opísaným vyššie treba aj v PoS sieti čakať. Dôvodom prečo transakcie nie sú zabezpečené okamžite nie je PoW – bloky by mohli byť aj rýchlejšie. Dôvodom je, že propagácia informácií cez decentralizovanú sieť trvá dlho a toto má vplyv aj na PoS.

Čo reálne PoS dosahuje je, že sa konkrétne nepáli energia na PoW, takže teoreticky je lepší pre životné prostredie. Píšem „teoreticky“, pretože ak je pravda, že ľudia spôsobujú globálne otepľovanie produkciou CO2, potom je irelevantné koľko energie sa využíva a na čo. Nutné je zabezpečiť aby energia bola produkovaná z „čistých“ zdrojov. Ak nebude dostatok elektriny produkovanej z „čistých“ zdrojov, máme problém bez ohľadu na to, či existuje Bitcoin alebo neexistuje. Bitcoin by síce mohol ovplyvniť (negatívne aj pozitívne!) rýchlosť nasadzovania „čistej“ energie, no rozdiel asi nebude výrazný.

Bitcoin má však potenciál zabrániť jednej ekologickej katastrofe, ktorá je podľa mňa oveľa horšia ako globálne otepľovanie: jadrová vojna. Vojna bola v minulosti často financovaná pomocou štátnej inflácie. Asi najznámejší prípad bolo zrušenie zlatého štandardu v USA kvôli vojne vo Vietname, no financovanie vojny infláciou bolo realizované už v starovekom Ríme, keď sa zmenšoval obsah vzácnych kovov v minciach. V súčasnom svete keď niekoľko štátov má prístup k jadrovým zbraniam by väčší konflikt mohol znamenať obrovskú časť planéty zničenú jadrovými zbraňami a rádioaktívne častice vo vzduchu by spôsobili obrovské problémy aj neutrálnym územiam.

Proof of Stake
Čo je horšie? Roztopené ľadovce a vyhynuté druhy alebo milióny mŕtvych a trpiacich ľudí?

Neinflačný Bitcoin je obrovskou nádejou na zvrátenie tohto osudu. No na to, aby to dosiahol musí najskôr prežiť – s maximálnou mierou bezpečnosti, aj keby hraničila s paranojou.

Ako môžeme vidieť, Proof of Stake nie je taký bezpečný ako Proof of Work a na bezpečnosti záleží. V prípade, že by na nej nezáležalo, je PoS príliš zložitý. Vyzerá to, že PoS teda celkovo nemá veľmi zmysel. Je síce pravda, že mnohé projekty sa ho snažia použiť, no sú veľmi mladé, a investori sú neskúsení a chyby ešte neboli zneužité z rôznych dôvodov. Podobne ako v prípade dot com bubliny, sa môže ukázať, že je to nezmysel a časom spľasnúť. Tým však nemožno garantovať, že bublina spľasne skoro. Hoci článok popiera užitočnosť Proof of Stake, autor nemôže garantovať, že to pochopí veľká masa a predá PoS coiny a nezodpovedá za finančné straty z rozhodnutí na základe článku.

Martin Habovštiak

Martin Habovštiak

Martin je programátor so špecializáciou na bezpečnosť, súkromie, Bitcoin a systémové programovanie. Bol dlho aktívnym členom Progressbaru a spoluzaložil Bratislavskú Paralelnú Polis. Vymyslel Turbo kanály, našiel zraniteľnosti v rôznom software a má bohatý profil na GitHube. Viac o ňom sa dozviete na jeho osobnej stránke, kde môžete aj využiť platené mikrokonzultácie cez Lightning Network.


4,8 94×
TREZOR T
Hardvérová peňaženka – šifrovacia, podporuje 500 mien, USB-C, microSD, Password Manager
179,90 €
Na sklade > 5 ks
Do polnoci objednáš, ráno v AlzaBoxe máš!
Info
Objednávací kód: TREZBIT1d
4,8 468×
TREZOR Bitcoin Wallet White
Hardvérová peňaženka – šifrovací, OLED displej 128×64, ľahké použitie na Windows, OS X, Linux, USB
59,90 €
Na sklade > 5 ks
Do polnoci objednáš, ráno v AlzaBoxe máš!
Info
Objednávací kód: TREZBIT
4,8 468×
TREZOR One Black
Hardvérová peňaženka – podpora 600 kryptomien (Bitcoin, Litecoin, Ethereum…), Password manager, U2F a ďalšie funkcie na správu digitálnej identity, OLED displej 128×64, jednoduché použitie na Windows, OS X, Linux, USB
59,90 €
Na sklade > 5 ks
Do polnoci objednáš, ráno v AlzaBoxe máš!
Info
Objednávací kód: TREZBIT1
4,8
Bitcoin a jiné kryptopeníze budoucnosti
E-kniha - autor Dominik Stroukal, 200 strán
7,21 €
Ihneď k čítaniu
Objednávací kód: EK25934
4,7
Bitcoin: Peníze budoucnosti
Elektronická kniha - autor Dominik Stroukal a Jan Skalický, 170 stran
4,69 €
Ihneď k čítaniu
Objednávací kód: EK22762
Vytlačiť
P-DC1-WEB11
Zavoláme Vám a odborne poradime
+421 2 5710 1800
Otázka na objednávku
Otázka na tovar
Prosím, zadajte svoj telefón:
Zavolajte mi
Na vašom súkromí nám záleží My, spoločnosť Alza.cz a.s., IČO 27082440, používame súbory cookies na zaistenie funkčnosti webu a s vaším súhlasom o. i. aj na personalizáciu obsahu našich webových stránok. Kliknutím na tlačidlo „Rozumiem“ súhlasíte s využívaním cookies a predaním údajov o správaní na webe na zobrazenie cielenej reklamy na sociálnych sieťach a reklamných sieťach na ďalších weboch.
Viac informácií Menej informácií