close
Ugrás a tartalomhoz

Proof-of-work

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából

A proof-of-work (rövidítve: PoW, magyarul: a munka bizonyítéka) a kriptográfiai bizonyítások egyik formája, amelyben az egyik fél (nevezzük bizonyítónak) bebizonyítja másoknak (az igazolóknak), hogy bizonyos célokra bizonyos mennyiségű számítási erőfeszítést elköltöttek. A hitelesítők ezt minimális erőfeszítéssel megerősíthetik. A koncepciót Cynthia Dwork és Moni Naor találta fel 1993-ban, hogy megakadályozza a szolgáltatásmegtagadási támadásokat azzal, hogy valamilyen munkát – tipikusan számítógépes feldolgozási időt – követel a szolgáltatás igénylőjétől.

A proof-of-work kifejezést először 1999-ben hozta létre és formalizálta Markus Jakobsson és Ari Juels. A proof-of-work mechanizmust később a bitcoin népszerűsítette a blokkláncok és a kriptovaluták esetén, ahol a bányászok versengenek blokkok hozzáfűzéséért, és mindegyik bányásznak sikerességi valószínűsége tapasztalható a ráfordított számítási erőfeszítéssel arányosan.[1] A PoW és a PoS (proof-of-stake) a két legismertebb konszenzusos mechanizmus.[2] A kriptovaluták kontextusában ezek a leggyakoribb eljárások.[3]

A munkavégzés igazolására kétféle protokoll létezik.

  • A kihívás-válasz protokollok közvetlen interaktív kapcsolatot feltételeznek az igénylő (kliens) és a szolgáltató (szerver) között. A szerver választ egy kihívást, mondjuk egy halmazelemet egy megadott tulajdonsággal, az igénylő megtalálja a megfelelő választ a halmazban, amelyet visszaküld és ellenőriz a szolgáltató. Mivel a kihívást a szerver akkor és ott választja, nehézségei az aktuális terheléshez igazíthatók. Az kliensoldalon végzett munka korlátozott lehet, ha a kihívás-válasz protokoll ismert megoldással rendelkezik, vagy ismert, hogy egy bizonyos értéktartományra szűkíthető.
BERJAYA
  • A megoldás-ellenőrzési protokollok nem feltételeznek ilyen kapcsolatot: ennek eredményeként a problémát önállóan kell meghatároznia, mielőtt a kliens megoldást keresne, és a szervernek ellenőriznie kell a probléma választását és a megtalált megoldást is. A legtöbb ilyen séma korlátlan valószínűségi iteratív eljárás, például bitcoin esetében is használt Hashcash.
BERJAYA

Ezen protokoll esetében a variancia némileg alulmarad, mint a nem korlátozott valószínűségi protokolloknál. Ennek matematikai háttere, hogy az egyenletes eloszlás varianciája alacsonyabb, mint a Poisson-eloszlásé (azonos átlaggal).  A variancia csökkentésének általános technikája az, hogy több független részkihívást alkalmaz, mivel a több minta átlagának kisebb lesz a szórása.

Erőforrás szempontjából a PoW-eljárások három csoportra oszthatók:

  • CPU-függő, ahol a számítás a processzor sebességével fut, amely időben nagyon változik a csúcskategóriás szervertől az alacsony kategóriás hordozható eszközökig.[4]
  • Memóriafüggő[5] [6] [7] [8] ahol a számítási sebességet a fő memória hozzáférésekhez kötik (akár késés, akár sávszélesség), amelyek teljesítménye várhatóan kevésbé lesz érzékeny a hardver elévülésére.
  • Hálózatfüggő[9] ha az ügyfélnek kevés számítást kell végrehajtania, de néhány tokent a távoli szerverekről kell gyűjtenie, mielőtt kérést intézne a végső szolgáltató felé. Ebben az értelemben a munkát valójában nem a kérelmező végzi, de az adat távolról való megszerzésének hálózati ideje miatt ez is késéssel jár.

Proof-of-work bizonyításhoz alkalmazott függvények

[szerkesztés | forrásszöveg szerkesztése]

A proof-of-work bizonyításokhoz leggyakrabban használt algoritmusok:

  • Kvadratikus maradékfüggvények
  • Fiat–Shamir-aláírások
  • Ong–Schnorr–Shamir-aláírás
  • Részleges hash inverz
  • Hash-szekvenciák
  • Rejtvények
  • Diffie–Hellman-eljárás-alapú rejtvény
  • Moderate algoritmus
  • Mbound algoritmus
  • Hokkaido algoritmus
  • Cuckoo Cycle algoritmus
  • Merkle-fa-alapú algoritmusok

A bitcoin proof-of-work megoldása

[szerkesztés | forrásszöveg szerkesztése]

A bitcoin is egy proof-of-work alapú kriptovaluta, aminek a Hashcash PoW eljárás az alapja. A kettős költés vagy dupla költés[10] elleni védelmet decentralizált P2P protokoll biztosítja a coinok átadásának nyomon követésére, nem pedig az RPoW által használt hardveres számítási függvény. A bitcoin megbízhatósága jobb, mert számítás védi. A bitcoinokat a Hashcash proof-of-work funkcióval "bányásszák" ki az egyes bányászok, és a P2P bitcoin hálózat decentralizált csomópontjai ellenőrzik.[11]

Előzmények módosítása

[szerkesztés | forrásszöveg szerkesztése]

A blokklánchoz hozzáadott minden egyes blokkot, kezdve a szóban forgó tranzakciót tartalmazó blokkal, tranzakció-visszaigazolásnak neveznek, amely valójában egy azonosító kulcs a következő, még meg nem nyitott blokkhoz, ami a blokkláncot hamisíthatatlanná teszi.[12][13] Lehetetlen megváltoztatni az adatokat egy összegyűjtött blokkban anélkül, hogy a blokklánc összes többi blokkját törölnénk.[14][15] Ideális esetben a kriptovaluta-fizetést fogadó kereskedőknek és szolgáltatásoknak meg kell várniuk legalább egy visszaigazolás terjedését a hálózatban, mielőtt feltételeznék, hogy a fizetés megtörtént.[16] Minél több megerősítésre számít egy kereskedő, annál nehezebb egy támadónak sikeresen visszacsinálni egy tranzakciót a blokkláncon - kivéve, ha a támadó a hálózat összteljesítményének több mint felét ellenőrzi, ebben az esetben 51%-os támadásról beszélünk.[17][18]  

  1. "Proof of work jelentése". 2021. szeptember 23. dátummal az eredeti címről archiválva. Hozzáférés: 2021. március 21..
  2. premik (2022. december 9.). "Miért jobb a proof-of-work a proof-of-stake mechanizmusnál?". BitcoinBázis. Hozzáférés: 2023. július 23..
  3. "Cryptocurrencies and blockchain" (PDF). European Parliament. 2018. július. Hozzáférés: 2020. október 29.. the two best-known – and in the context of cryptocurrencies also most commonly used
  4. How powerful was the Apollo 11 computer?, a specific comparison that shows how different classes of devices have different processing power.
  5. Abadi, Martín (2005). "Moderately hard, memory-bound functions". 5: 299–327. {{cite journal}}: Cite journal requires |journal= (súgó)
  6. Dwork, Cynthia (2003). "On memory-bound functions for fighting spam". Advances in Cryptology: CRYPTO 2003. 2729. Springer: 426–444. doi:10.1007/978-3-540-45146-4_25.
  7. Coelho, Fabien (2005). "Exponential memory-bound functions for proof of work protocols". Cryptology ePrint Archive, Report.
  8. Tromp, John (2015). "Cuckoo Cycle; a memory bound graph-theoretic proof-of-work" (PDF). Financial Cryptography and Data Security: BITCOIN 2015. 8976. Springer: 49–62. doi:10.1007/978-3-662-48051-9_4.
  9. Abliz, Mehmud (2009. december). "A Guided Tour Puzzle for Denial of Service Prevention". Proceedings of the Annual Computer Security Applications Conference (ACSAC) 2009. Honolulu, HI: 279–288. doi:10.1109/ACSAC.2009.33.
  10. "Blokklánc, ethereum, altcoin és bitcoin szójegyzék". BitcoinBázis. Hozzáférés: 2023. július 23..
  11. "A blokklánc technológia". 2022. április 27. dátummal az eredeti címről archiválva. Hozzáférés: 2021. március 21..
  12. "Blockchain Facts: What Is It, How It Works, and How It Can Be Used". www.investopedia.com. Hozzáférés: 2023. szeptember 23..
  13. "What is the Bitcoin blockchain? A guide to the technology behind BTC". cointelegraph.com. Hozzáférés: 2023. szeptember 23..
  14. "Blockchain study notes and summary". developerknow.com. Hozzáférés: 2023. szeptember 23..
  15. "What is cryptocurrency? – the evolution of crypto". masterthecrypto.com. Hozzáférés: 2023. szeptember 23..
  16. "Proof of work". mirror.xyz. Hozzáférés: 2023. szeptember 23..
  17. "BitBeat: Mining Pool Rejects Short-Term Fixes To Avert "51% Attack"". www.wsj.com. Hozzáférés: 2023. szeptember 23..
  18. "A proof of work és proof of stake - gazdasági motiváló tényezők és biztonsági kockázatok". bullmarket.hu. Hozzáférés: 2025. április 11..
  • Ez a szócikk részben vagy egészben a Proof of work című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.