Munka igazolása

A munka igazolása ( angolul  proof-of-work, POW, PoW ) a hálózati rendszerek védelmének elve a szolgáltatásokkal való visszaélésekkel (például DoS-támadásokkal vagy spam - levelezések megszervezésével ) szemben, amely egy meglehetősen hosszú munka elvégzésének szükségessége alapján történik. a kliens oldal (problémamegoldás keresése), melynek eredménye könnyen és gyorsan ellenőrizhető a szerver oldalon (lásd egyirányú funkció ). Az alkalmazott számítások fő jellemzője az időköltségek aszimmetriája - ezek jelentősek a megoldás megtalálásához és nagyon kicsik az ellenőrzéshez [1] . Az ilyen sémákat ügyfélrejtvénynek , számítási rejtvénynek vagy CPU - árazási függvénynek is nevezik .

Ezt a védekezési módot nem szabad összetéveszteni a captchákkal , amelyek az ember számára könnyű, de a számítógép számára nehéz vagy teljesen megoldhatatlan feladatokat kínálnak. A munka bizonyítása kezdetben arra irányul, hogy egy korábban ismert algoritmus segítségével valamilyen véges idő alatt megoldást találjunk, de viszonylag kis számú műveletre van szükség a kapott megoldás ellenőrzéséhez [1] . A POW-technológiák a kriptovaluta rendszerekben a legnagyobb elterjedtségben és fejlesztésben részesültek.

Történelem

A munkavégzés igazolására vonatkozó követelményt először a "Pricing via Processing or Combatting Junk Mail" [1] című cikk vetette fel 1993-ban. A szerzők a következő ötletet javasolták: a megosztott erőforrás eléréséhez a felhasználónak ki kell számítania valamilyen függvényt, ami nagyon összetett és erőforrás-igényes, de ésszerű időn belül megoldható. A függvény kiszámítása a kliens oldalon sokkal bonyolultabb, mint az eredmény ellenőrzése a szerver oldalon. Egy függvény egyik kötelező feltétele az amortizáció hiánya – ha több megoldás is születik, akkor azok számával arányosan időigényes lenne. A szerzők szerint az ilyen kiegészítő számítások nem akadályozzák több hétköznapi levél elküldését egy hétköznapi felhasználó számítógépéről, de az állandó számítások szükségessége igen erőforrásigényessé teszi a kéretlen levelek küldését. Független becslések szerint az ilyen rendszerek valójában jelentősen korlátozzák az egy számítógépről naponta elküldhető levelek számát [2] .

1997-ben Adam Back elindította a Hashcash projektet , amelynek célja a spamvédelem. A feladat a következőképpen fogalmazódott meg: „Keress olyan x értéket, amelyre az SHA(x) hash N kezdő nulla bitet tartalmazna.”

1999-ben megjelenik a munka bizonyítéka kifejezés  - a "Proofs of Work and Bread Pudding Protocols" (szerzők - Markus Jacobsson és Ari Jewels) cikkben használták a Communications and Multimedia Security folyóiratban [3] .

2004. augusztus 16-án Hal Finney a cypherpunk fórumnak írt levelében az újrafelhasználható munkabizonyítvány ( RPOW  , RPoW ) használatát javasolta az elektronikus valuta megszervezéséhez [4] .

Satoshi Nakamoto hamarosan javasolta a bitcoin kriptovalutát , ahol a munka igazolását a kettős költekezés nagymértékben bonyolítására használják . Azt javasolták, hogy egy információblokk hash-jét az SHA-256 függvény segítségével találják meg a paraméterek kiválasztásával úgy, hogy az eredmény adott számú magas bitje legyen nulla. Ezt követően más kriptovalutákban (például Litecoin ) az SHA-256 helyett a KDF -et kezdték használni , mint például a scrypt , a bcrypt , a PBKDF2 és mások [5] .

Példák az alkalmazható függvényekre

A munkaigazolási rendszerekben leggyakrabban használt funkciók listája:

Lehetséges biztonsági rések és támadások a hadifogoly-alapú információs rendszerek ellen

A szakértők továbbra is vitatják, hogy a POW-védelem kellően hatékony-e a DoS támadásokkal és a spamekkel szemben [16] [17] .

Támadás 51%

A Bitcoin , mint sok más kriptovaluta, potenciálisan „51%-os támadásnak” lehet kitéve: ha egy támadó a hálózat teljes számítási teljesítményének több mint felét irányítja, akkor lehetősége van csak a saját blokkjainak megerősítésére, miközben figyelmen kívül hagyja a többieket. . Ezzel nemcsak az összes kibocsátott kriptovalutát kaphatja meg egyszerre, hanem blokkolhatja az összes vagy kiválasztott tranzakciót, ami potenciálisan azokból a tranzakciókból származó kriptovaluta "eltűnéséhez" vezethet, amelyek nem fognak szerepelni a tranzakciókban. a blokklánc új verziója [11] .

Dupla költés

A kettős költés (dupla költés) ugyanazon vagyontárgyak ismételt átruházása. Ez a támadás több altípusra oszlik.

Önző bányászat

Az önző bányászat során a támadó  célja a hálózat irányítása, annak ellenére, hogy 50%-nál kisebb teljes kapacitású számítási erőforrásokkal rendelkezik. Ezt az a tény éri el, hogy a támadó azt állítja, hogy az ő medencéje jövedelmezőbb a bányászat szempontjából, mint a többi medence, ami vonzza a külső bányászokat. A támadó úgy tesz közzé blokkokat, hogy más bányászok és készletek számítási erőforrásait elpazarolják. Az algoritmus hozzávetőleges menete a következő:

  1. A medence titokban mindenki elől bányászza ki privát láncát.
  2. Ha a pool új blokkot talál a privát láncához, akkor:
    1. Ha az eredeti lánc villás, akkor a támadó közzéteszi a blokkját, így a lánca meghosszabbodik és igazzá válik, a becsületes bányászok láncát pedig eldobják.
    2. Ha még nincs elágazás, akkor a medence továbbra is titokban bányászza saját magánláncát, növelve előnyét.
  3. Ha a nyilvános lánc blokkot talál a nyilvános lánc számára, akkor:
    1. Ha a nyilvános lánc megelőzi a titkos láncot, akkor a támadó csoportja eldobja a nem publikált blokkjait, és az új nyilvános blokkból kezdi a bányászatot.
    2. Ha a láncok egyenlőek, akkor a támadó készlete közzéteszi az összes blokkját, így a lánc résébe kerül.
    3. Ha a nyilvános lánc néhány (N) blokkkal a privát lánc mögött van, akkor a készlet még egy blokkot (N+1) tesz közzé, ami egy új őszinte blokkot izolál.

Szinte minden esetben a becsületes bányászok a vesztesek, és arra kényszerítik őket, hogy csatlakozzanak a bűnözői csoporthoz [20] .

A hadifogságon alapuló információs rendszerek kritikája

A hadifogoly-megközelítés ellenzői számos lehetséges biztonsági probléma mellett a következő hátrányokat is kiemelik:

A hadifogoly hiányosságaitól való megszabadulásra tett kísérletek a POS ( angolul  proof-of-stake , proof of stake) és számos hibrid opció megjelenéséhez vezettek .

Példák hibrid technológiákra

Számos kriptovalutában találhatunk példákat a POS és a POW ötleteit ötvöző hibrid sémákra. Ezekben a blokklánc mindkét típusú blokkból áll, ami a tranzakciós előzmények átírását nehéz feladattá teszi, mivel a POW blokkok ellenőrzőpontként szolgálnak, tekintettel a teljes láncban folyó munka teljes összetettségére. Az ilyen algoritmusokban a POW-blokkok általában a valós munka mutatóiként szolgálnak, ami további garanciát jelent a kereskedők számára a tranzakciókkal végzett munka során. A POW-blokkokkal devizakibocsátást lehet végezni, a POS-blokkokat pedig a betétből származó potenciális bevételnek tekinthetjük [24] .

Tevékenység igazolása

Egy még nem implementált algoritmus prototípus, ami abból áll, hogy a birtokosok csak akkor lépnek be az általános folyamatba, ha a hadifogoly résztvevők némi munkát végeztek, ami 51%-kal csökkenti a támadás esélyét, mivel a többségi tulajdonos nem lesz képes rá. az új blokkok létrehozásának kizárólagos ellenőrzésére [25] .

Az algoritmus működése:

  1. A hadifogolybányász a megfelelő nehézségű hash-t keresi.
  2. A megtalált hash a hálózatba kerül, miközben nem blokk, hanem csak az első lépés, egyfajta sablon, ami a létrehozásához szükséges.
  3. A 256 pszeudo-véletlen bitből álló hash N számként értelmezhető, amelyek mindegyikéhez egy satoshi tartozik.
  4. Egy-egy kapcsolat jön létre minden satoshi és a jelenlegi tulajdonos nyilvános kulcsa között.
  5. Amint mind az N tulajdonos aláírja ezt a blokkot, a kimenet egy teljes értékű blokk lesz.
  6. Ha az egyik birtokos nem elérhető, vagy nem vesz részt a bányászatban, akkor a többi bányász folytatja a sablonok generálását a jelöltek különböző kombinációival.
  7. Egy ponton a szükséges blokkot a szükséges számú alkalommal aláírják. A blokkjutalmat a hadifogolybányász és az összes N birtokos között osztják szét.

Égési bizonyíték

A pénzt egy véletlenszámú hash címre küldik, garantáltan nem lehet elkölteni erről a címről, mivel a kulcsok felvételének valószínűsége nulla. Cserébe a bányász állandó lehetőséget kap, hogy megtaláljon egy PoB blokkot, és jutalmat kapjon érte. A bányászat ebben az esetben úgy van elrendezve, hogy a siker esélye az elégetett érmék számától függ. Hasonlóan, az égetés olyan, mint egy vissza nem térítendő POS letét vagy egy virtuális hardverbe történő befektetés a hadifogolybányászathoz. Gazdasági szempontból ez az algoritmus alkalmasabb a kriptovaluta fejlesztésének későbbi szakaszaira, amikor a pénzkínálat nagy része már létrejött [26] .

A kapacitás igazolása

A kapacitás igazolása (vagy a hely bizonyítéka ) algoritmus a következő: bányászathoz jelentős mennyiségű memóriát kell lefoglalni a számítógépen, ami után a nyilvános kulcsból és véletlen számokból nagyszámú nagy adatblokk jön létre . ismételt kivonattal . Minden adatblokkban az utolsó fejlécből kapunk egy indexet, ami után kiválasztunk egy kis darabot a blokkból ezzel az indexszel, egy darabot .  Minél több memóriát foglalunk le, annál több darabot kapunk. Teljesülnie kell annak a feltételnek, hogy a darab és az utolsó fejléc hash-je kisebb legyen, mint a cél. Így a memória minden megabájtja a lottószelvény analógjaként szolgál, és növeli a bányászat sikerének esélyét [27] .

A kutatás igazolása

A kutatási bizonyítási algoritmust a GridCoin projekt fejlesztette ki , hogy a PoW hálózatok számítási teljesítményét tudományos problémák megoldására irányítsa a BOINC platformon . A kutatás igazolása egyszerre használja a munka bizonyítását a résztvevők díjazására az elvégzett számításokért, valamint a tét igazolását, hogy ösztönözze a projektben való hosszú távú részvételt [28] .

Energiahatékonyság

A hadifogoly-alapú rendszerek rendkívül erőforrás-igényesek.

Lásd még

Jegyzetek

  1. 1. 2 . _ _ _ _ _
  2. A "Munkabizonyítvány" bizonyítottan nem működik Archiválva : 2017. január 20., a Wayback Machine , 2004 "Ha megpróbáljuk gazdaságtalanná tenni a spam küldését, akkor napi 1750 üzenetre kell korlátoznunk a feladókat"
  3. Proofs of Work és Bread Pudding Protocols archiválva 2017. július 26-án a Wayback Machine -nél (1999  )
  4. RPOW – A munka újrafelhasználható bizonyítékai archiválva 2017. október 5-én a Wayback Machine -nél (2004  )
  5. A kriptovaluták működésének bizonyítása: Rövid történelem. 1. rész archiválva 2017. szeptember 5-én a Wayback Machine -nél (2015  )
  6. Hashcash – A szolgáltatásmegtagadás elleni ellenintézkedés (2002  )
  7. Vissza, Adam HashCash . Letöltve: 2022. június 25. Az eredetiből archiválva : 2017. szeptember 29. Népszerű munkaigazolási rendszer. Első bejelentés 1997 márciusában.
  8. Gabber, Eran; Jakobsson, Markus; Matias, Yossi; Mayer, Alain J. A kéretlen e-mailek visszaszorítása biztonságos osztályozással  (neopr.)  // Pénzügyi kriptográfia. - 1998. - S. 198-213 .
  9. Wang, Xiao-Feng; Reiter, Michael. Védekezés a szolgáltatásmegtagadási támadások ellen rejtvényaukciókkal  //  IEEE Symposium on Security and Privacy '03 : Journal. - 2003. - május.
  10. Coelho, Fabien Egy (majdnem) állandó erőfeszítést igénylő megoldás-ellenőrző munkaellenőrzési protokoll Merkle fák alapján . Cryptology ePrint Archívum, Jelentés . Letöltve 2017. október 29. Az eredetiből archiválva : 2016. augusztus 26..
  11. 1 2 Bitcoin: Egyenrangú elektronikus készpénzrendszer archiválva 2014. március 20-án a Wayback Machine -nél 
  12. 1 2 Dwork, Cynthia; Naor, Moni Pricing via Processing, or, Combatting Junk Mail, Advances in Cryptology  //  CRYPTO'92: Lecture Notes in Computer Science No. 740: folyóirat. - Springer, 1993. - P. 139-147 .
  13. Waters, Brent; Juels, Ari; Halderman, John A.; Felten, Edward W.Új ügyfélrejtvény-outsourcing technikák a DoS-rezisztenciához  (neopr.)  // 11. ACM konferencia a számítógépes és kommunikációs biztonságról. – 2004.
  14. Dwork, Cynthia; Goldberg, András; Naor, MoniA levélszemét elleni küzdelem memóriához kötött funkcióiról  (neopr.)  // Advances in Cryptology: CRYPTO 2003. - Springer, 2003. - 2729. kötet . - S. 426-444 .
  15. Tromp, John. Kakukkciklus; a memóriához kötött gráfelméleti proof-of-work  //  Pénzügyi kriptográfia és adatbiztonság: BITCOIN 2015 : folyóirat. - Springer, 2015. - P. 49-62 .
  16. Laurie, Ben; Clayton, Richard. A munkavégzés igazolása nem működik  (neopr.)  // WEIS 04. - 2004. - május.
  17. Liu, Debin; Camp, L. Jean. A munka igazolása működhet  (neopr.)  // Ötödik Workshop on Economics of Information Security. - 2006. - június.
  18. Támadások a kriptovaluták világában archiválva : 2016. szeptember 19. a Wayback Machine -nél 
  19. Hashrate-alapú kettős költés elemzése Archiválva : 2017. szeptember 4. a Wayback Machine -nél (2012  )
  20. Attacks in the World of Cryptocurrencies Archiválva : 2016. szeptember 19. a Wayback Machine -nél (2015  )
  21. 1 2 Bitcoin energiafogyasztási index archiválva 2022. január 25-én a Wayback Machine -nél 
  22. 1 2 Ethereum energiafogyasztási index (béta) archiválva : 2017. október 11. a Wayback Machine -nél 
  23. A kriptovaluták működésének bizonyítása: Rövid történelem. 2. rész archiválva : 2016. március 14. a Wayback Machine -nél 
  24. Alternatívák a munka igazolására, 2. rész Archiválva : 2016. március 4., a Wayback Machine -nél (2015  )
  25. Tevékenység igazolása: A Bitcoin munkabizonyítványának kiterjesztése Proof of Stake segítségével Archiválva : 2017. október 17. a Wayback Machine -nél 
  26. Egyenrangú kriptovaluta égési bizonyítvánnyal "Bányászat erőteljes hardver nélkül" archiválva 2017. október 10-én a Wayback Machine -nél (2014  )
  27. Proofs of Space: When Space is of the Essence Archiválva : 2017. november 5. a Wayback Machine -nél 
  28. ↑ Kutatás igazolása - Gridcoin  . wiki.gridcoin.us. Letöltve: 2018. szeptember 4. Az eredetiből archiválva : 2018. szeptember 4..
  29. A Bitcoin globális számítási teljesítménye most 256-szor gyorsabb, mint az 500 legjobb szuperszámítógép együttesen! Archiválva : 2017. június 8. a Wayback Machine -nél (2013  )