Tudnia kell: Proof of Stake – mi az egyszerű szavakkal. Mi a Proof-of-Work

A Proof-of-Work és a Proof-of-Stake konszenzusos algoritmusok, amelyek a hálózat új blokkjainak érvényesítésére, valamint tranzakciók hozzáadására szolgálnak. Ennek megfelelően ezeknek a rendszereknek a működési elve közvetlenül érinti a bányászokat, akik a nap 24 órájában dekódolják a blokkokat. Mi a különbség a két algoritmus között, és melyik a jövedelmezőbb bányászati ​​szempontból? Tekintsük a működési elveiket, és készítsünk összehasonlító leírást is.

Működési igazolás: működési elv

A Proof-of-Work vagy PoW, ahogyan röviden nevezik, az angol fordításban „bizonyíték a munkavégzésről”. Valójában maga az algoritmus neve tartalmazza a működési elvét. Lehetővé teszi a hálózat számára annak ellenőrzését, hogy a bányász valóban elvégezte-e a kriptovaluták alapját képező SHA-256 vagy Scrypt függvény kiszámításával kapcsolatos összes munkát.

A PoW lényege a következő:

  • A bányásznak olyan összetett problémát kell megoldania, amelyre csak a kellően erős számítógépek képesek.
  • A megoldás során kapott eredményt könnyen ellenőrizni kell.

Ha a proof-of-work algoritmusról beszélünk, konkrétan a kriptovaluták kapcsán, akkor ez lehetővé teszi a csomópontok számára (megtudhatja, mik azok a csomópontok és hogyan működnek), hogy ellenőrizzék a bányászok munkáját, valamint a bányászok megbízhatóságát. számításokat.

Ez a mechanizmus arra ösztönzi a bányásztársadalmat, hogy folyamatosan frissítsék bányászati ​​berendezéseiket, mivel a hálózat összetettsége folyamatosan növekszik, így a Bitcoin hálózat teljes számítási teljesítménye már 2012-ben is meghaladta a legmodernebb szuperszámítógépét.

Érdemes megjegyezni, hogy a korszerűsítés szükségessége a bányászok szempontjából nem annyira előny, mint inkább hátrány. Végül is a berendezések folyamatos frissítése nagy pénzügyi költségeket igényel, ami néhány szereplőt kiszorít a piacról.

A tét bizonyítása: elvmunka

2012-ig a PoW volt az egyetlen kriptovalutákban használt algoritmus, de egy versenytárs is megjelent a láthatáron. Ez lett a Proof-of-Stake algoritmus, vagy PoS, ami angol fordításban azt jelenti, hogy „a tét ellenőrzése”. Működésének felépítése alapvetően különbözik a „tét igazolásától”. Ha az első algoritmusban a számítási teljesítményt a hálózaton belüli prioritás növelésére használták, akkor a PoS esetében a főszerep a pénztárcában lévő érmék számán van.

Vagyis annak érdekében, hogy növelje az esélyét, hogy elsőként fejtse meg a blokkot, a bányászott kriptovalutából a lehető legtöbb érmét kell tartania a pénztárcájában. Ez a megközelítés egyrészt nagyon előnyös a bányászok számára, mert már nem kell frissíteni a berendezéseiket, nagy mennyiségű áramot pazarolnak, és a hálózat megtámadása szinte lehetetlenné válik. De ennek is megvannak a maga hátrányai. Például, ha az egyik felhasználónak vagy egy közös csoportnak sikerül az összes érme nagy részét a kezében koncentrálnia, akkor képes lesz irányítani a hálózatot.

Munkabizonyítás és tét bizonyítása: kinek az oldalán áll a közösség?

A Proof-of-Work és Proof-of-stake algoritmusok (vagy Proof-of-work és Proof-of-stake) régóta a bányászok közötti komoly viták alapját képezik. Egyesek azt állítják, hogy a munka bizonyítása igazságosabb, mások szerint a tét igazolása. Lehetetlen határozott választ adni.

Ezenkívül ma már meglehetősen gyakran használnak egy hibrid változatot, amely mindkét algoritmust kombinálja. Amikor egy érme kibocsátásra kerül, a hálózat Proof-of-Work, és amikor a kibocsátás befejeződött, Proof-of-Take módban működik. Ez teljesen logikus. Végtére is, a munka ellenőrzésének szakaszában való aktív részvétel lehetővé teszi, hogy elegendő számú érmét halmozzon fel, hogy „szervesen” beékelje magát a részvények ellenőrzésének új szakaszába.

A PoS rendszer újdonsága és szenvedélyes vitái ellenére a legtöbb jelentős kriptovaluta nem hajlandó felhagyni a Proof-of-Work algoritmussal. Lehet, hogy ez a jövőben megtörténik, de ezt most nem tartják be. A Proof-of-Work és a Proof-of-stake versenytársak maradnak.

Mi a munka igazolása és a tét igazolása?

A Proof-of-Work és a Proof-of-Stake a két legismertebb konszenzus-algoritmus a kriptovalutákban. Olyan mechanizmusokat kínálnak az elvégzett munka bizonyítására, amelyek szerkezetükben különböznek egymástól.

Mi a Proof-of-Work lényege?

A Proof-of-Work (PoW - szó szerint: proof of work) egy algoritmus, amely megvédi az elosztott rendszereket a visszaélésektől (DoS támadások, spam levelek stb.), amelynek lényege két fő pontban csapódik le:

  1. egy bizonyos meglehetősen összetett és időigényes feladat elvégzésének szükségessége;
  2. az eredmény gyors és egyszerű ellenőrzése.

A PoW-problémák kezdetben nem az emberek számára készültek, ezek számítógépes megoldása mindig elérhető véges időn belül, de nagy számítási teljesítményt igényel. Ugyanakkor a kapott megoldás ellenőrzése sokkal kevesebb erőforrást és időt igényel.

Ki alkotta meg a Proof-of-Work kifejezést?

A Proof-of-Work koncepcióját először 1993-ban írták le a „Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology” című műben (szerzők: Cynthia Dwork és Moni Naor). Bár magát a kifejezést még nem használták a cikkben, a szerzők a következő ötletet javasolták:

„A megosztott erőforráshoz való hozzáféréshez a felhasználónak ki kell számítania valamilyen függvényt: meglehetősen bonyolult, de megvalósítható; Így megvédheti az erőforrást a visszaélésektől."

1997-ben elindította a Hashcash projektet, amelynek célja ugyanaz a levélszemét elleni védelem. A probléma a következőképpen fogalmazódott meg: „Keressen olyan x értéket, hogy az SHA(x) hash N kezdő nulla bitet tartalmazzon.”

A rendszer részleges inverziós kivonatolást kínált e-mailben. A megfelelő fejléc kiszámítása körülbelül 2 52 hash számítást igényel, amelyet minden küldésnél újra kell számolni. És ha a további számítások nem akadályoznak több közönséges levél küldését, akkor az állandó újraszámítás szükségessége nagyon erőforrásigényessé teszi a spam küldését. Ugyanakkor a számított kód helyességének ellenőrzése nagyon gyorsan megtörténik: egyszeri SHA-1 számítást használnak előre elkészített címkével.

1999-ben megjelent maga a Proof-of-Work kifejezés - a „Proofs of Work and Bread Pudding Protocols” (szerzők: Marcus Jacobsson és Ari Juels) cikkben használták a Communications and Multimedia Security folyóiratban.

Mi köze a Proof-of-Work-nak a kriptovalutákhoz?

A Bitcoin hálózatban a PoW mechanizmust használták a konszenzus elérésének eszközeként (általános vélemény arról, hogy a blokklánc melyik verzióját tekintik helyesnek). Ugyanakkor az első kriptovaluta megalkotója, Satoshi Nakamoto a fent említett Hashcash projekt ötletét vette alapul, hozzátéve egy változó bonyolultságú mechanizmust - csökkenti vagy növeli az N-t (a szükséges nullák száma). ) a hálózati résztvevők összteljesítményétől függően. A kiszámított függvény az SHA-256 lett.

Egyszerűen fogalmazva, a PoW mechanizmus lehetővé teszi egy hálózati csomópont (csomópont) számára annak ellenőrzését, hogy a bányász (amely az a csomópont, amely új blokkot ad hozzá a blokklánchoz) valóban elvégezte a számításokat. Ez a folyamat abból áll, hogy megpróbáljuk megtalálni a blokkfejléc (a blokklánc azon része, amely az előző blokkra mutató hivatkozást és a benne szereplő tranzakciók összegzett értékét tartalmazza) kivonatát, amely értékében megfelel az aktuális nehézségi szintnek.

Valóban „nehéz” a számítási komplexitás?

Ezeket a számításokat csak interaktívan lehet elvégezni, és a nehézséget olyan szintre állítják, hogy az valóban nehéznek bizonyuljon. Ugyanakkor a számítási eredmények ellenőrzése továbbra is egyszerű. A csomópontok mindig ellenőrizhetik, hogy a bányász megtalálta-e a megfelelő értéket, azonban mivel a blokk keresése nagyon munkaigényes és véletlenszerű, lehetetlen pontosan megjósolni, hogy melyik bányász oldja meg a problémát és találja meg a blokkot.

Ahhoz, hogy a rendszer egy blokkot érvényesnek ismerjen fel, a hash értékének kisebbnek kell lennie, mint az aktuális cél. Így minden blokk azt mutatja, hogy történt némi munka a megtalálás érdekében.

Minden blokk tartalmazza az előző blokk hash-jét, láncot alkotva. Lehetetlen egy blokkot megváltoztatni - csak azonos magasságú blokkot lehet létrehozni, amely tartalmazza az előző blokk hash-jét. Egy ilyen folyamat végrehajtásához meg kell találni az összes előző blokkot. Ennek a folyamatnak a nagy bonyolultsága megvédi a blokkláncot a jogosulatlan hozzáféréstől és a dupla költéstől.

Hogyan befolyásolta a munkabizonyítás a bányászatot?

A Proof-of-Work of Bitcoin egy egész bányászati ​​iparágat szült, és lendületet adott a speciális berendezések fejlesztésének, mivel a hash-blokkokra fordított számítási erőforrások óriásiak, és messze meghaladják a legnagyobb szuperszámítógépek kapacitását.

Ugyanakkor ott volt a hírhedt „az érem másik oldala” is: a PoW gyorsan szörnyeteggé változott, és felemésztette az áramot a bányászat jövedelmezőségéért folyó versenyben. 2012-ben a Bitcoin hálózat összteljesítménye már meghaladta a világ legerősebb szuperszámítógépének teljesítményét, és megjelent a láthatáron az első alternatíva - Proof-of-Stake.

Mi az a Proof-of-stake?

Egy alternatív konszenzusos mechanizmus, amelyet először 2012-ben vezettek be a PPCoin kriptovalutában (ma PeerCoin néven). Az ötlet az, hogy egy „tétet” használjunk erőforrásként, amely meghatározza, hogy melyik csomópont kapja meg a jogot a következő blokk bányászására.

A Proof-of-take megközelítésben a csomópontok egy bizonyos értéknél kisebb eredmény keresésekor is megpróbálnak adatokat kivonatolni, de ebben az esetben a nehézség arányosan és az adott csomópont egyensúlyának megfelelően oszlik el. Más szóval, a felhasználó fiókjában lévő érmék (tokenek) számának megfelelően.

Így egy nagyobb egyenleggel rendelkező csomópontnak nagyobb az esélye a következő blokk generálására. A séma meglehetősen vonzónak tűnik, elsősorban a számítási erőforrások csekély követelményei miatt, valamint azért, mert szó sincs „elpazarolt” teljesítményről.

Milyen érvek szólnak a Proof-of-take mellett és ellen?

Általában a következő érvek hangzanak el a PoS használata mellett:

  • A támadás végrehajtása jelentős forrásokat igényel, ami pénzügyi szempontból nem praktikus.
  • Ugyanakkor, ha a támadónak nagyszámú tokenje van, akkor ő maga is szenvedni fog a támadástól, mivel ez tönkreteszi a kriptovaluta stabilitását.

Aggodalomra okot adó érvek:

  • A PoS további motivációt ad a pénzeszközök egy kézben történő felhalmozására, ami negatívan befolyásolhatja a hálózat decentralizációját.
  • Ha létrejön egy kis csoport és elég nagy összeget gyűjt össze, akkor képes lesz rákényszeríteni a hálózatra vonatkozó szabályait a többi résztvevőre.

Ezenkívül megjegyezhetjük a Nothing-at-Take problémát, amely a PoS-rendszereket eredendően instabillá teszi sok kriptovaluta-rajongó szemében. A támadó megpróbálhatja elágazni a blokkláncot, azaz egy hosszabb alternatív láncot létrehozni „nem létező” erőforrások elköltésével. Sőt, más bányászok is támogathatják, mivel ők sem fogyasztanak „valódi” erőforrásokat. Egy villán keresztül a támadó visszautasíthat bizonyos tranzakciókat, és dupla költés támadást hajthat végre.

Melyik oldalon van a mérleg?

A Pow és a PoS támogatói között már régóta folyik a vita, de ezek a viták inkább elméleti jellegűek. A gyakorlat azt mutatja, hogy a fejlesztő szerepe a biztonsági kérdésekben továbbra is nagyon magas.

Ugyanakkor sokan a PoS és PoW rendszerek hibrid változatát tartják a legbiztonságosabb megoldásnak. Ezt a megközelítést már aktívan alkalmazzák – sok kriptovalutának van egy PoW szakasza, amikor a valutát klasszikus bányászattal bocsátják ki, és egy PoS szakasz, amely a kibocsátás befejezése után következik be.

Míg azonban a PoS-rendszerek mindig könnyebben megvalósíthatók és általában ugyanolyan megbízhatóak lesznek biztonsági szempontból, a legtöbb komoly kriptovaluta valószínűleg nem hagyja fel a PoW-t.

Egy időben a ForkLog a BitFury Group által írt fehér könyv adaptált fordítása volt, amely összehasonlítja a PoW és PoS rendszerek biztonsági elveinek működését.

Milyen egyéb bizonyítási mechanizmusok léteznek a kriptovalutákban?

A listájuk meglehetősen nagy lehet, ezért felsorolunk néhányat a leghíresebbek közül:

  • A Proof of Activity egy szabványos hibrid rendszer, amely egyesíti a PoW-t és a PoS-t;
  • A delegált tét igazolása egy általános kifejezés, amely a tét igazolásán alapuló mögöttes konszenzusos protokollok fejlődését írja le. A DPoS a , és ;
  • Égés igazolása – az „égetés” úgy történik, hogy az érméket olyan címre küldik, amelyről garantáltan nem lehet elkölteni. Az érméitől ily módon való megszabadulással a felhasználó élethosszig tartó bányászat jogát kap, amely egyben sorsolásnak is minősül az elégetett érmék tulajdonosai között;
  • A Proof of Capacity a „megabájt mint erőforrás” népszerű ötlet megvalósítása. A bányászat engedélyezéséhez jelentős mennyiségű lemezterületet kell lefoglalni;
  • Tárolás igazolása – hasonlóan az előző koncepcióhoz, amelyben a lefoglalt területet minden résztvevő megosztott felhőtárhelyként használja.
  • Fordítás

Továbbra is fordítunk remek cikkeket a Bytecoin.org webhelyről. Ma – „Alternatívák a munka igazolására, 1. rész: A tét igazolása”, Ray Patterson.
Olvassa el „A kriptovalutákban a munkabizonyítás evolúciójának rövid története” fordítását is: és.

A munkaigazolás kritikája

Mint mindannyian emlékszünk, a Proof of Work még 1993-ban született egy titkosíró családban; szülei DoS-ellenes és spamellenes védőként jósoltak neki karriert. 2008-ban azonban csábító ajánlatot kapott egy japán akcentussal rendelkező névtelen személytől: legyen egy elosztott időbélyeg-szerver alapja. A séma egyszerűnek tűnt: a hálózati csomópontok „szavaznak” a tranzakciós előzmények saját verziójára, erejüket a „ritka” hash kiszámításába fektetve. A legtöbb szavazatot kapott verziót más csomópontok fogadják el referencia verzióként.

Fontos szempont volt a nagy teljes hálózati kapacitás biztosítása: a potenciális támadókkal szembeni védelem az erőforrások potenciális 51%-ával. A PoW eredeti koncepciója azonban kis feladatokat tartalmazott, amelyeket az ügyfélnek el kell végeznie, hogy hozzáférjen a szerver erőforrásaihoz. Ennek a DoS védelmi modellnek a keretein belül még a kis kliens kapacitások sem zavarják az erőforrás méltányos használatát, a nagyokra pedig egyszerűen nem volt szükség. Ezért a bányászok munkájának motivációja egyszerűen megvalósult: „természetben”, bitcoinok, i.e. valójában pénzt.

És ez mindent megváltoztatott. A kriptovaluták világában a PoW szörnyeteggé vált, felfalja az áramot a bányászat jövedelmezőségéért folyó versenyben. Komoly állítások 2012 körül jelentek meg, amikor a Bitcoin-hálózat teljes ereje teljesítmény tekintetében „megelőzte” a világ legerősebb szuperszámítógépét. "Energiapazarlás!" - sikolyok hallatszottak mindenfelől. Figyelmen kívül hagyták a védők félénk tiltakozását az 51%-os támadástól való védelemről és a banki terminálok energiaétvágyáról, szerencsére már a láthatáron volt az első alternatíva - Proof of Stake.

Tét igazolása

Ötletként merült fel a bitcointalk egyik bejegyzésében még 2011-ben. Az első implementációt egy évvel később, 2012-ben adták ki a PPCoin kriptovalutában (ma PeerCoin néven). Ezt követően más projektekben is megjelentek hasonló protokollok, róluk később.

A PoS-nek különböző inkarnációi vannak, de egy közös gondolat: a korlátozott erőforrás, amelyre szavazni kell, nemcsak a külvilágban (égett vas és elektromosság), hanem magában a rendszerben is megtalálható - magukban a digitális érmékben. Az érmék tulajdonosai - birtokosai (stakeholderek) - természetesen nem költik el szavazás közben, hanem egy időre letiltják, és így jön létre a korlátozás. Nyilvánvaló, hogy bár a számítógépet be kell kapcsolni a bányászathoz, nem kell komoly számításokat végeznie.

Hogyan működik a PPCoin?

Tehát a bányász erőforrása az érméi (természetesen el nem költötték). Pontosabban: el nem költött tranzakciós kimenetek, amelyek mindegyike egy bizonyos számú érmének felel meg. A bányászat a következőképpen történik:

  1. Kiválasztjuk a kimenetét, amelyet legalább 30 napja kaptunk meg.
  2. Kernel struktúrát alkotunk, ami tartalmazza: a kimenetből származó determinisztikus adatokat (annak a blokknak az ideje, amelyben megjelent, a blokkon belüli számát stb.), aktuális időt stb. nStakeModifier (pszeudo-véletlen bitek időnként újraszámított blokkja).
  3. Kivonatolja a kernelt, és összehasonlítjuk a kapott értéket az aktuális céllal, amely függ a hálózat aktuális összetettségétől (nagyobb komplexitás - alacsonyabb cél), a kimenet „életkorától” (magasabb életkor - magasabb cél) és mennyiségétől (több érmék – magasabb cél).
  4. Ha a hash nagyobbnak bizonyul, mint a cél, visszatérünk az 1. lépéshez, és vesszük a következő kimenetet.
  5. Ha a kimenet „sikeresnek bizonyult”, elköltjük egy coinbase tranzakcióban (ezt elküldjük magunknak), hozzáadjuk a blokk jutalmát és a benne lévő tranzakciók jutalékait, és aláírjuk a teljes blokkot azzal a kulccsal, amelyhez a elköltött kimenet.
  6. Voila, a blokk készen áll. Kezdjük keresni a következőt.
Megjegyzések:
  • A blokkellenőrzés determinisztikus: az aktuális időt a blokkfejből veszik, a kimeneti adatokat a blokkláncból veszik, és az nStakeModifier is egyedileg kerül kiszámításra minden blokkhoz.
  • A kimenetnek „réginek” kell lennie, hogy a támadó ne kaphasson „jó” kimenetet a pénztárcája közötti pénzátutalással, amely azonnal lehetővé teszi a blokk megtalálását.
  • Az nStakeModifier a legújabb blokkok alapján kerül kiszámításra, ezért kiszámíthatatlan. Ez a bányászatot még kiszámíthatatlanabbá teszi (és ellenállóbbá teszi az esetleges támadásokkal szemben).
  • Az aktuális időbélyeg a 2. lépésben széles határok között változhat: plusz vagy mínusz egy óra. Ezért valójában minden kimenethez 7200 hash-t ellenőrizhet, és nem csak egyet.
  • Az „életkor” cél szorzója 90 napra korlátozódik. Ellenkező esetben egy támadó néhány NAGYON régi érmével nagy valószínűséggel több blokkot generálhat egymás után.

Lényegében a PoS bányászat folyamata ugyanaz, mint a PoW-ban. Azonban nem kell az erejével „fizetnie” a jegyekért: az opciók keresése a saját kimenetei nagyon korlátozott területén történik, és nem függ a CPU sebességétől. Esélyeit csak az érmék teljes száma és az aktuális hálózati nehézségek befolyásolják.

Ennek köszönhetően a következő nyereséget kapjuk:

  1. Takarékoskodjunk az energiával. Itt nem lehet vitatkozni, bár a PoW-nál használhatunk „hasznos munkát” (lásd Primecoin) vagy ASIC-rezisztens funkciókat (Cuckoo Cycle, CryptoNigh, Ethash stb.), ami a bányászati ​​területet a személyi számítógépekre korlátozná.
  2. Nincs végeláthatatlan „fegyverkezési verseny”: a teljes hashrate-ot most nem Moore szabálya és a termodinamika törvényei korlátozzák, hanem a résztvevők pénztárcájában lévő érmék teljes száma. Másrészt egy ilyen modellben nehéz megérteni, hogy a források nagy százaléka becsületes kezekben van-e?
  3. A támadás drágább lesz. Ha az érmék 51%-át meg akarom venni, a piac gyors drágulással reagál. Különben is, mi értelme támadni egy hálózatot, ha minden erőforrásomat ennek a hálózatnak a virtuális érméibe fektetem?
Úgy tűnik, minden nagyszerű: a fizikai munkát tulajdonképpen valamiféle virtuális erőforrással helyettesítettük. De nem éppen ebben van a probléma?

A tét igazolásának kritikája

Válaszolj a kérdésre: mennyit költenek el? Ha valaki megkeresi Önt, és felajánlja, hogy privát kulcsokat vásárol Öntől, amelyekből már az összes pénzt elköltötte, milyen áron állapodik meg? Mivel ezek a kulcsok már semmit sem érnek, és senkinek sincs szüksége rájuk, feltételezem, hogy minden ajánlat megfelel Önnek: pénz a semmiből!

Most képzeld el, hogy a múltban egy pillanatra X kiderült, hogy az összes érme 50%-a (vagy több) a támadó által megvásárolt kulcsokon volt. Az egyszerűség kedvéért feltételezhetjük, hogy X pillanat a második blokk létrehozása utáni időpont, és valaki megvásárolta mindkét blokk kulcsát, pl. Ha visszatért volna a múltba, akkor a teljes pénzkészlet 100%-a az övé lett volna.

Valójában nem kell fizikailag visszamennie az időben. Mostantól ezekkel a régi érmékkel bányászva „átírhatja a blokklánc teljes történetét”! Sőt, jutalmat kap minden új blokkért, és növeli a tőkét. Még tranzakciókat sem kell létrehoznia (bár pénzt utalhat át magának).

Egy ponton az alternatív lánca utoléri az igazit, sőt blokkok számában is felülmúlja azt. A teljes hálózat át fog váltani rá, mert nincsenek szintaktikai különbségek közöttük. De a fő különbség az lesz, hogy az egyikben az érmék több mint fele továbbra is a támadóé lesz. Így a „holt lelkek” eladásával könnyen elveszítheted az „élőket”.

Egy ilyen konkrét támadást természetesen meg lehet küzdeni. A PeerCoin például a szokásos ellenőrzőpontok gyakorlatát alkalmazza: a fejlesztői kulccsal aláírt blokkok, amelyeknél „mélyebb”, tilos a blokkláncot újraépíteni. De ez egy különleges megoldás, amely nem szünteti meg az általánosabb problémát – Semmi a tét.

A probléma az, hogy a bányászat – a szavazás – nem kerül semmibe, és nem igényel semmilyen fizikai erőfeszítést. Ha például egy ponton két blokk azonos magasságban jelenik meg (láncvilla), akkor a lánc mindkét változata egyszerre bányászható. A PoW-val ez nyilvánvaló okokból elvileg lehetetlen: az A lánc minden ellenőrzött hash-je a B lánc ellenőrizetlen hash-je. A PoS ezzel szemben lehetővé teszi, hogy egyszerre és bármilyen magasságban keressen az összes „párhuzamos világban” (azaz a múltat ​​is beleértve).

PoS-ban sokkal könnyebben hajthat végre dupla költési támadást. Elegendő mindig a következő blokk két változatát bányászni: az egyik olyan tranzakcióval történik, amely átutalja a pénzét az eladónak (aki nem vár N visszaigazolást), a másik pedig egy átutalással, amely átutalja azt Önnek. Ha előfordul, hogy mindkét blokkot megtalálja, akkor az elsőt elküldi az eladónak (és átveszi az árut), a másodikat pedig mindenki másnak. Nagy valószínűséggel a lánc második változata folytatódik, és a pénz visszatér hozzád.

A PoS problémája az, hogy előnyös, ha több alternatív ágat bányászhat egyszerre. Egyszerűen megteheti ingyen, a siker esélye nem nulla, ami azt jelenti, hogy növeli várható bevételét. A PoW nem engedi meg az ilyen csínytevéseket, ezért csak egy ágban bányászol (ez a te döntésed). Ennek eredményeként a PoW modellben előbb-utóbb megszületik a konszenzus, de a tiszta PoS-ban már nem lehet előre jelezni a konvergenciát.

Ha érdekli ez a probléma, akkor megtalálja a részleteket

Tudja meg, mi a Proof-of-Work protokoll, mikor jött létre, mik az előnyei és hátrányai, és hogyan kapcsolódik a kriptovaluta térhez.

Munka igazolása egy módszer a digitális valutablokk-lánc védelmére a különféle típusú támadásokkal szemben. A kifejezés szó szerinti fordítása „munka megerősítése”. Az algoritmus garantálja egy bizonyos műveletsorozat végrehajtásának ellenőrzését a rendszer egy adott csomópontja (azaz a bányász) által. A protokoll által létrehozott adat a talált blokkban lévő információ, amely a lánc előző csomópontjára mutató hivatkozást és a blokkban tárolt műveletek számát jeleníti meg. Minél erősebb a hardver, annál nagyobb az esélye annak, hogy a rendszer Önt választja a tranzakció megerősítéséért felelős csomópontnak. Ezért az ezen az algoritmuson alapuló elektronikus pénz sikeres bányászatának fő kritériuma a berendezés teljesítménye. Ez a tényező hozzájárult a felhasználók speciális csoportokba való egyesüléséhez, amelyeket „pooloknak” neveztek.

Munka igazolása egy biztonsági algoritmus az elosztott rendszerekben használt rosszindulatú támadások ellen. A lényeg a következő:

  • alkalmazás összetett és hosszadalmas folyamatokban;
  • az eredmény ellenőrzésének egyszerűsége és hatékonysága.

A PoW algoritmus problémáinak megoldására nagy teljesítményű számítástechnikát alkalmaznak. Az adatfeldolgozási folyamat általában egy bizonyos ideig tart. Maga a számítási folyamat nagyobb igénybevételt jelent a hardver erőforrások számára, mint a kapott adatok ellenőrzése.

A múlt század 90-es éveinek közepén megjelent egy cikk „Pricing via Processing or Combatting Junk Mail” címmel, amelyben a szerzők először terjesztették elő a Proof-of-Work koncepcióját. Az ötlet lényege az volt, hogy minden olyan személynek, aki bármilyen szolgáltatáshoz szeretne hozzáférni, egy nagyon összetett, egy számítástechnikai rendszer erőforrásait igénylő funkció műveletsorát kell végrehajtania. Ebben az esetben a folyamatnak egy bizonyos ideig kell tartania, ami várakozásra elfogadhatónak nevezhető. A kliens oldali számítási folyamatnak erőforrásigényesebbnek kell lennie, mint a szerver oldalon elindított, a kapott eredmények ellenőrzésének folyamata.

A javasolt funkciónak nem amortizálhatónak kell lennie, mert ellenkező esetben a számítási eljárás időtartama jelentősen megnő. A cikk szerzői azt sugallták, hogy a felhasználó számítógépén végrehajtott további matematikai műveletek nem akadályoznák az e-mailek normális küldését, viszont komoly akadályt jelentenének a kéretlen levelek küldésében. Egy ilyen rendszer ténylegesen mennyiségi korlátot írna elő a levelek meghatározott időn belüli küldésére.

Valamivel később valósult meg a funkciót megtestesítő Hashcash projekt, amelynek lényegét a fenti cikk ismerteti. A „munka igazolása” meghatározását először a „Proofs of Work and Bread Pudding Protocols” című tudományos tanulmány szerzői javasolták, amely a kilencvenes évek végén jelent meg.

5 évvel később Hal Finney egy kifinomult algoritmust javasolt, az úgynevezett „reusable proof of work” (RPoW), amelyet az elektronikus fizetési rendszerekben kellett használni. Néhány évvel később Satoshi Nakamoto megalkotta az első virtuális fizetőeszközt, amely a PoW algoritmust használta. Megoldja a tokenek kétszeres elköltésének problémáját.

A Proof-of-Work fő hátránya, amely az alternatív védelmi módszerek megvalósításával kapcsolatos összes tevékenység oka, a hálózat üzemeltetése során fellépő hatalmas energiafogyasztáshoz kapcsolódik. Egy platform összköltsége néha meghaladhatja egy kis üzem költségeit. Ennek az algoritmusnak a védelmében azonban elmondható, hogy jól megbirkózik a webhely biztonságának biztosításával és mindenféle támadó tevékenységének kiegyenlítésével. Az erőforrás további fejlesztése és népszerűsítése ezen múlik. Végül is ki fektetne be egy olyan projektbe, amely nem tudja megvédeni saját hálózatát a hackerektől?

A legelső virtuális pénznemben a PoW szükséges a konszenzus eléréséhez a hálózatban. Mivel a blokklánc több verziója létezhet minden felhasználó számára egy adott időpontban, az algoritmus meghatározza, hogy melyik verzió a megbízható. Ötletének megvalósításához Nakamoto a fent említett Hashcash projekt fejlesztéseit használta fel, némileg módosította az elkészült függvényt (hozzáadva egy mechanizmust a bonyolultságának megváltoztatására, amely az összes hálózati csomópont teljes számítási teljesítményétől függ). A kész függvényt nevezzük.

A PoW algoritmus szükséges a hálózati csomópontokhoz annak ellenőrzéséhez, hogy a bányász elvégezte-e a számításokat. Ez utóbbi összetett algoritmusok számításait végzi, melynek eredményeként egy új generált blokk („cella”) kerül a blokkláncba, amely bizonyos számú rekordot tárol a befejezett tranzakciókról. A proof-of-work mechanizmus megpróbálja megtalálni a csomópont fejlécének kivonatát, amely az előző "cellára" való hivatkozást és az újonnan generált csomópontban elhelyezett összes művelet teljes értékét tartalmazza. A hash mutatók megfelelnek a megállapított mértéknek.

A leírt műveletek összetettsége valójában meglehetősen nagy, és maga a számítási folyamat is végrehajtható a felhasználók részvételével. Ezzel szemben az eredmények ellenőrzésének eljárása nagyon egyszerű és nem igényel rendszererőforrásokat. Bármely csomópont kaphat bizonyítékot arra vonatkozóan, hogy egy bányász új blokkot generált. A bányászok által végzett számítási folyamatok összetettsége miatt azonban nagyon nehéz meghatározni, hogy melyikük fog gyorsabban megbirkózni, mint a többi.

Az új blokk érvényességének ellenőrzéséhez a hash értékét összehasonlítja az aktuális céllal. Ha kisebbnek bizonyul, a blokk érvényes. Ez egyértelműen mutatja azt a tényt, hogy bizonyos munkát elvégeztek egy blokk létrehozása érdekében.

A blokklánc felépítése olyan, hogy a lánchoz hozzáadott minden egyes létrehozott csomópont információt tárol az előzőről. A „sejtek” módosítása nem lehetséges. Csak ugyanazon a szinten lehet újat „csatolni”, amely az előző blokk hash-jét tárolja. Ehhez el kell végezni az összes korábbi csomópont generálását. Egy ilyen feladat meglehetősen nem triviális és erőforrás-igényes. Ez biztosítja a hálózat megbízható védelmét a harmadik felek által okozott interferencia és a tokenek kétszeres elköltése ellen.

Jelenleg még mindig vita folyik a PoW használatának célszerűségéről. A szakértők az algoritmusok következő típusú sebezhetőségeit azonosították:

  1. 51% – a Bitcoinra és más virtuális valutákra jellemző sebezhetőség fejlesztésük korai szakaszában. Lényege abban rejlik, hogy ha a hálózat erejének nagy része egy támadó kezébe kerül, akkor az utóbbi teljes irányítást szerez az új blokkok generálása és a tranzakciók végrehajtása felett. Lehetőséget kap arra is, hogy az elosztott adatbázisban bármilyen változtatást végrehajtson, egészen a teljes átírásig és létrehozza saját ágát, amelyet érvényesnek ismer el. Ennek eredményeként minden felhasználói pénz eltűnik elektronikus pénztárcáikból.
  2. Ugyanazokat az érméket kétszer költeni. Ebben az esetben ugyanazok az eszközök többször is felhasználhatók. Az ilyen típusú támadásoknak több fajtája létezik.
  3. Irányítás a bányászok felett. Támadás lehetséges olyan támadók részéről, akiknek a számítási teljesítménye a teljes hálózati teljesítmény 50%-ánál kisebb. Ez úgy érhető el, ha agresszív reklámozási módszerekkel vonzzák a bányászokat a medencébe. A támadó feladata, hogy nullára csökkentse a versenytársak (egyéni bányászok és készletek) számítási folyamatainak hatékonyságát.

Az adatvédelemmel kapcsolatos nyilvánvaló problémákon kívül a kérdéses algoritmusnak a következő hátrányai is vannak:

  1. A bányász által használt berendezés számítási teljesítménye és egy új blokk létrehozásának valószínűsége egyenesen arányos összefüggésben van egymással. Ezért minden bányász arra törekszik, hogy növelje az alkalmazott rendszerek teljesítményét. Az ilyen akciók eredménye az energiaforrások erős túlfogyasztása.
  2. A számítások eredményei csak a hálózaton belül jelentősek. Valójában a hálózat óriási számítási potenciállal rendelkezik, amelyet nem használnak fel hasznos (például termelési) problémák megoldására.

Mivel az algoritmus hiányosságai és problémái mindig nyilvánvalóak voltak, folyamatosan dolgoztak azok kiküszöbölésén. Ennek eredményeként új algoritmusokat javasoltak.

A PoW használata a Bitcoin működtetésére egy egész bányászati ​​ágazatot eredményezett. Olyan eszközöket hoztak létre, amelyek célja a kivonatolási blokkok rendkívül speciális problémáinak megoldása, amelyekkel még a világ legerősebb szuperszámítógépei sem tudnak megbirkózni.

A bányászat intenzív versenyhez vezetett ezen a területen. Sok nagy szereplő profitra törekedve elkezdte növelni számítási teljesítményét, ami a villamosenergia-fogyasztás jelentős növekedéséhez vezetett. 2012-ben a teljes Bitcoin hálózat felülmúlta a hatalom legerősebb számítógépét. Ugyanebben a pillanatban javasolták az akkoriban használt PoW algoritmus egyik első alternatíváját.

Munka igazolása a két legnépszerűbb konszenzus-algoritmus egyike, amelyre a kriptovaluta projektek épülnek. Ebben az áttekintésben elmondjuk, mi az a Proof-of-Work, mik a jellemzői, és összehasonlító elemzést végzünk fő versenytársával – Proof-of-stake algoritmus.

Mi a Proof-of-Work – az eredettől a lényegig

Az első ötlet, amely a Proof-of-Work kifejezésnek tulajdonítható, 1993-ban jelent meg Cynthia Dwork és Moni Naor munkájában, amely a „Pricing through Processing, Or, Combatting Junk Mail, Advances in Cryptology” nevet kapta. A munka készítői azt az ötletet terjesztették elő, hogy a megosztott erőforrásokhoz való hozzáférés érdekében a felhasználónak bizonyos összetett számításokat kell elvégeznie, amelyek megvédik ezt az erőforrást a hálózati résztvevők túlzott igénybevételétől. 4 évvel később elindult a Hashcash projekt, amelyet a levélszemét-elhárító rendszernek szenteltek. A rendszer az inverzió egy részének kivonatolását javasolta e-mail erőforrások használatával. Egy adott fejléc kiszámításához minden küldésnél 252 számításra volt szükség. Ha szabványos leveleket kellett küldeni, akkor nem volt akadály, de a spam küldésénél az újraszámítás nagyon nehéz feladattá vált. A kiszámított kód helyességének ellenőrzése pedig nem igényel sok időt, mivel egy speciális számítási típust, az SHA-1-et egy előre elkészített címkével használják.
Két évvel később munkavégzési idő (PoW) már hivatalos használatba is került, és először hivatalosan Jacobson és Jewels cikke foglalkozott vele a protokollok témájában. Egy idő után a Proof-of-Work (PoW) elvét használták Bitcoin hálózat kiépítése– a protokoll lehetővé tette a konszenzus elérését. Satoshi Nakamoto, a Bitcoin fejlesztője némileg módosította az eredeti verziót Munka igazolása, hozzátéve egy változó bonyolultságú mechanizmust, amely csökkentette vagy növelte a szükséges nullák számát a Bitcoin hálózat felhasználóinak teljes teljesítményéhez viszonyítva. Az SHA-256 funkció biztosította a rendszer teljes körű működését.


Meghatározás Munka igazolása Világos nyelven elmondható: a protokoll garantálja egy csomópont, vagy csomópont verifikációs képességét a bányász által végzett számításokhoz, amely maga a csomópont, új blokkokat hozva a hálózatba. Ebben az esetben a blokk fejlécének olyan hash-ét próbálják megkeresni, amely tartalmazza az előző blokkot és a benne szereplő műveletek összértékét, amely meghatározza a Proof-of-Work (PoW) bányászat bonyolultsági fokát.

A Proof-of-Work megkülönböztető jellemzői: hogyan működik mindez

Mi az a Proof-of-Work (PoW)? Először is, ez egy hatékony algoritmus, amely hatékonyan védi az elosztott rendszert a hacker támadásoktól, csaló tevékenységektől és egyéb jogosulatlan hozzáférésektől.

Hogy, hogyan működik a Proof-of-Work, a következő pontokban lehet levonni:

  1. Munkaigényes számítások kötelező elvégzése;
  2. Az eredmények gyors és egyszerű ellenőrzése.

Proof-of-Work funkció az, hogy ezt a technológiát eredetileg számítógépes teljesítményre tervezték, nem pedig élő felhasználók számára. A Proof-of-Work módszer jelentős számítási erőforrások felhasználásával jár, de biztosítja a feladat időben történő elvégzését a minimális idő alatt elért eredmény egyszerűsített ellenőrzésével.

Munkabizonyítvány vs. Proof-of-stake: algoritmusok összehasonlítása


Munkavégzés igazolása (PoW), angolra fordítva a munka bizonyítékaként, bizonyos mértékig hozzájárul a kriptovaluták dupla költésre való hajlamához. Ugyanakkor a Proof-of-Work (PoW) csökkenti ezt a mutatót, mivel a hálózaton belüli megerősített tranzakciók mennyisége nő, ami a hacker rendelkezésére álló számítási teljesítménytől való függést jelzi. A Proof-of-Work (PoW) kriptovaluták használatának garanciája az, hogy csökkenti a dupla költés kockázatát, és a felhasználók meghatározott számú tranzakció-visszaigazolást várnak el, valamint biztonsági rendszereket alkalmaznak a gyors fizetés kockázati mutatóinak csökkentésére.
Lehet, hogy nehéz azonnal megérteni, hogy ez a Proof-of-Work, de egyszerű szavakkal, ha párhuzamot vonunk a fő versenytárs PoS között, meg kell jegyezni, hogy ezek az algoritmusok hasonló támadásoknak lehetnek kitéve, de az eredmény más. . A fő veszélyt számukra a DoS, vagyis a szolgáltatásmegtagadás és a Sybill támadás vagy Sybil támadás jelenti. Az első támadás célja a rendszer normál működésének megszakítása, ami a hálózati csomópontok túlterhelésével érhető el. Például egy hacker eláraszthatja a hálózatot kolosszális mennyiségű olcsó tranzakcióval – emlékezzünk a Bitcoin hálózat elleni 2 évvel ezelőtti árvízi támadásra. A Sybil támadás használatakor a hálózatot aláássa, mert rengeteg helytelenül működő csomópont jön létre.
Algoritmus expozíciós szintje Munka igazolásaés versenytársa ezeknek a támadásoknak nemcsak a hálózaton belüli egyeztetés típusától függ, hanem a hálózati protokoll részleteitől is. Ugyanakkor ma már nincsenek olyan belső jellemzők, amelyek miatt ez vagy az a protokoll kevésbé lenne fogékony a támadásokra.


Egy másik támadás, amely a felhasználókat a kriptovagyonuk miatti aggódásra készteti önző bányászat, vagy önző bányászat. at Munkát igazoló bányászat, Ez a támadás szelektíven tesz közzé blokkokat, aminek következtében a felhasználók elpazarolják számítási erőforrásaikat. A Proof-of-Work (PoW) fejlesztők emiatt aggódnak, mert a rivális, drága erőforrásokkal nem terhelt PoS-szal ellentétben itt más a helyzet. Azonban a fejlesztők egyike sem erősítette meg az ilyen típusú támadások hatékonyságát, és egyesek úgy vélik, hogy a feltételezésben súlyos hibák vannak.
A munka igazolásának (PoW) meghatározása a támadásokkal szembeni ellenállás tekintetében a hálózat teljes számítási teljesítményén alapul. A Proof-of-take esetében azonban nincs egyenértékű az „egészségügyi állapottal”, hiszen ha a valuta egyenletesen oszlik el a hálózatban, akkor a támadás a villáján alapul, és ha a felhasználók jelentős részesedéssel rendelkeznek, fennáll a veszélye tranzakciók cenzúrája.

A Proof-of-Work (PoW) előnyei és hátrányai

A Proof-of-Work fő hátránya, ami az alternatív algoritmusok fejlesztésével kapcsolatos teljes zűrzavart indította el, a működés közbeni kolosszális energiafogyasztást jelenti. Az energiaforrások összköltsége néha meghaladja az ipari vállalkozások költségeit. Ennek a terméknek a védelmében azonban, amely egyébként az első volt a maga nemében, és már csak ezért is figyelmet érdemel, el kell mondanunk, hogy az algoritmus kiváló minőségű védelem erőforrások és létesítmények a hálózaton belül. De ez a minőség biztonság attól függ, hogy a felhasználó képes-e kezelni pénzeszközeit az esetleges lopástól való félelem nélkül.