KezdŇĎlap
Cikkek
Mi az a Proof of Work (PoW)?

Mi az a Proof of Work (PoW)?

K√∂z√©pszintŇĪ
Közzétéve Dec 6, 2018Frissítve Dec 12, 2022
8m

Bevezetés

A Proof of Work (gyakori r√∂vid√≠t√©se PoW) egy olyan mechanizmus, amely megakad√°lyozza a dupla k√∂lt√©seket. A legt√∂bb nagy kriptovaluta ezt haszn√°lja konszenzus algoritmusk√©nt. Ez a kriptovaluta fŇĎk√∂nyv√©nek biztos√≠t√°s√°ra szolg√°l√≥ m√≥dszer.

A Proof of Work volt az elsŇĎ konszenzus algoritmus, amely felbukkant, √©s a mai napig domin√°ns. Satoshi Nakamoto mutatta be a 2008-as Bitcoin feh√©r k√∂nyvben, de maga a technol√≥gia j√≥val kor√°bban sz√ľletett meg.¬†

Adam Back¬†HashCash¬†rendszere egy korai p√©lda a Proof of Work algoritmusra a kriptovalut√°k elŇĎtti idŇĎkbŇĎl. Azzal, hogy a felad√≥kt√≥l megk√∂veteln√©k, hogy az e-mail elk√ľld√©se elŇĎtt v√©gezzenek el egy kis sz√°m√≠t√°si mŇĪveletet, a c√≠mzettek cs√∂kkenthett√©k a spamek sz√°m√°t. Ez a sz√°m√≠t√°s gyakorlatilag semmibe sem ker√ľlne egy hiteles felad√≥nak, de gyorsan √∂sszead√≥dna annak, aki t√∂megesen k√ľldene e-maileket.


Mit jelent a dupla költés?

Dupla k√∂lt√©srŇĎl akkor besz√©l√ľnk, ha ugyanazt a p√©nzeszk√∂zt t√∂bbsz√∂r is elk√∂ltik. A kifejez√©st szinte kiz√°r√≥lag a digit√°lis p√©nzzel kapcsolatban haszn√°lj√°k, hiszen ugyanazt a fizikai k√©szp√©nzt neh√©z lenne k√©tszer elk√∂lteni. Amikor egy k√°v√©√©rt fizet, k√©szp√©nzt ad √°t a p√©nzt√°rosnak, aki val√≥sz√≠nŇĪleg elz√°rja azt a kassz√°ban. Nem mehet √°t a szemk√∂zti k√°v√©z√≥ba, √©s fizethet egy m√°sik k√°v√©t ugyanazzal a p√©nzzel.

A digit√°lis p√©nz√ľgyi rendszerekben fenn√°ll a lehetŇĎs√©g, hogy igen. Biztosan sokszoros√≠tott m√°r sz√°m√≠t√≥g√©pes f√°jlt ‚Äď szimpl√°n csak lem√°solja √©s beilleszti. Ugyanazt a f√°jlt elk√ľldheti e-mailben t√≠z, h√ļsz, vagy √∂tven embernek.¬†

Mivel a digit√°lis p√©nz csak adat, meg kell akad√°lyozni, hogy az emberek ugyanazt az egys√©get kim√°solj√°k √©s elk√∂lts√©k k√ľl√∂nb√∂zŇĎ helyeken. EllenkezŇĎ esetben a valuta pillanatok alatt √∂sszeomlik.¬†

A dupla k√∂lt√©s r√©szletesebb √°ttekint√©s√©hez n√©zze meg a Magyar√°zat a dupla k√∂lt√©shez c√≠mŇĪ cikk√ľnket.


Mi√©rt sz√ľks√©ges a Proof of Work?

Ha elolvasta a blokkl√°nc technol√≥gi√°r√≥l sz√≥l√≥ √ļtmutat√≥nkat, akkor tudja, hogy a felhaszn√°l√≥k tranzakci√≥kat k√∂zvet√≠tenek a h√°l√≥zaton. Ezek a tranzakci√≥k azonban nem tekinthetŇĎk azonnal √©rv√©nyesnek. Ez csak akkor t√∂rt√©nik meg, ha hozz√°adj√°k ŇĎket a blokkl√°nchoz.¬†

A blokkl√°nc egy nagy adatb√°zis, amelyet minden felhaszn√°l√≥ l√°that, √≠gy ellenŇĎrizhetik, hogy elk√∂lt√∂ttek-e m√°r a p√©nzt. K√©pzelje el a k√∂vetkezŇĎk√©ppen: √Ėnnek √©s h√°rom bar√°tj√°nak van egy jegyzett√∂mbje. B√°rmikor, amikor valamelyikŇĎj√ľk √°t akarja utalni a haszn√°lt egys√©geket, feljegyzik ‚Äď Al√≠z fizet Robinak √∂t egys√©get, Robi fizet Karolin√°nak k√©t egys√©get, stb.

Van itt m√©g egy bonyodalom ‚Äď minden tranzakci√≥n√°l arra a tranzakci√≥ra kell hivatkoznia, ahonnan a p√©nzeszk√∂z sz√°rmazik. Ha teh√°t Robi k√©t egys√©ggel fizetett Karolin√°nak, akkor a feljegyz√©s a k√∂vetkezŇĎk√©ppen n√©zne ki: Robi k√©t egys√©get fizet Karolin√°nak ebbŇĎl a kor√°bbi, Al√≠zzal folytatott tranzakci√≥b√≥l.

M√°r van egy m√≥dszer√ľnk az egys√©gek nyomon k√∂vet√©s√©re. Ha Robi megpr√≥b√°l egy √ļjabb tranzakci√≥t v√©grehajtani ugyanazokkal az egys√©gekkel, amelyeket az im√©nt k√ľld√∂tt Karolin√°nak, mindenki azonnal tudni fogja. A csoport nem engedi, hogy a tranzakci√≥t hozz√°adj√°k a jegyzett√∂mbh√∂z.

Nos, ez egy kis csoportban j√≥l mŇĪk√∂dhet. Mindenki ismeri a m√°sikat, √≠gy val√≥sz√≠nŇĪleg meg fognak egyezni abban, hogy ki adjon hozz√° tranzakci√≥kat a jegyzett√∂mbh√∂z. De mi a helyzet egy 10¬†000 fŇĎs csoport eset√©ben? A jegyzett√∂mb√∂s √∂tlet nem mŇĪk√∂dne j√≥l, mivel senki sem akarja egy idegenre b√≠zni a kezel√©s√©t.

Itt j√∂n a k√©pbe Proof of Work. Ez biztos√≠tja, hogy a felhaszn√°l√≥k ne haszn√°ljanak olyan p√©nzeszk√∂z√∂ket, amelyet nincs joguk elk√∂lteni. A PoW algoritmus a j√°t√©kelm√©let √©s a kriptogr√°fia √∂tv√∂z√©s√©vel lehetŇĎv√© teszi, hogy b√°rki a rendszer szab√°lyai szerint friss√≠tse a blokkl√°ncot.


Hogyan mŇĪk√∂dik a PoW?

A fent eml√≠tett jegyzett√∂mb√ľnk a blokkl√°nc. De nem egyes√©vel adjuk hozz√° a tranzakci√≥kat, hanem blokkokba foglaljuk ŇĎket. A tranzakci√≥kat bejelentj√ľk a h√°l√≥zatnak, majd a blokkot l√©trehoz√≥ felhaszn√°l√≥k hozz√°adj√°k ŇĎket a kijel√∂lt blokkhoz. A tranzakci√≥k csak akkor tekinthetŇĎk √©rv√©nyesnek, ha a kijel√∂lt blokk megerŇĎs√≠tett blokk√° v√°lik, ami azt jelenti, hogy felker√ľlt a blokkl√°ncra.

A blokk hozz√°fŇĪz√©se azonban nem olcs√≥. A Proof of Work megk√∂veteli, hogy a b√°ny√°sz (a blokkot l√©trehoz√≥ felhaszn√°l√≥) saj√°t erŇĎforr√°sainak egy r√©sz√©t haszn√°lja fel a jogosults√°ghoz. Ez az erŇĎforr√°s a sz√°m√≠t√°si teljes√≠tm√©ny, amelyet a blokk adatainak hashel√©s√©re haszn√°lnak, am√≠g meg nem oldj√°k a feladv√°nyt.

A hashel√©s azt jelenti, hogy a blokk adatait egy hashing f√ľggv√©nyen futtatja le a blokk hash l√©trehoz√°s√°hoz. A blokk hash √ļgy mŇĪk√∂dik, mint egy ‚Äěujjlenyomat‚ÄĚ ‚Äď ez a bemeneti adatok azonos√≠t√≥ja, √©s minden blokkhoz egyedi ujjlenyomat tartozik.

Gyakorlatilag lehetetlen visszaford√≠tani egy blokk hash-t, hogy megszerezz√ľk a bemeneti adatokat. Egy bemenet ismeret√©ben azonban trivi√°lis meggyŇĎzŇĎdni a hash helyess√©g√©rŇĎl. Csak¬†el kell k√ľldeni a bemenetet a f√ľggv√©nyen kereszt√ľl, √©s ellenŇĎrizni kell, hogy a kimenet ugyanaz-e.

A Proof of Work sor√°n olyan adatokat kell megadnia, amelyek hash-e megfelel bizonyos felt√©teleknek. De nem tudja, hogyan juthat el oda. Az egyetlen lehetŇĎs√©g az, hogy az adatokat egy hash f√ľggv√©nyen futtatja le, √©s ellenŇĎrzi, hogy megfelelnek-e a felt√©teleknek. Ha nem, akkor kiss√© meg kell v√°ltoztatnia az adatait, hogy m√°s hash-t kapjon. Ak√°r egy karakter megv√°ltoztat√°sa az adatokban teljesen m√°s eredm√©nyt fog hozni, √≠gy nem lehet megj√≥solni, hogy mi lesz a kimenet.

Ennek eredm√©nyek√©ppen, ha blokkot akar l√©trehozni, tal√°lgat√≥sat fog j√°tszani. √Āltal√°ban inform√°ci√≥t vesz az √∂sszes hozz√°adni k√≠v√°nt tranzakci√≥r√≥l √©s n√©h√°ny m√°s fontos adatr√≥l, majd mindezt √∂sszevonja. Mivel azonban az adat√°llom√°nya nem fog v√°ltozni, hozz√° kell adnia egy v√°ltoz√≥ inform√°ci√≥t. EllenkezŇĎ esetben mindig ugyanazt a hash-t kapn√° kimenetk√©nt. Ezt a v√°ltoz√≥ adatot nonce-nak nevezz√ľk. Ezt a sz√°mot minden egyes pr√≥b√°lkoz√°sn√°l megv√°ltoztatja, hogy minden alkalommal m√°s hash-t kapjon. √Čs ezt a folyamatot nevezz√ľk b√°ny√°szatnak.

√Ėsszefoglalva, a b√°ny√°szat a blokkl√°ncadatok √∂sszegyŇĪjt√©s√©nek folyamata, melynek sor√°n addig hasheli az adatokat egy nonce √©rt√©kkel egy√ľtt, am√≠g meg nem tal√°l egy bizonyos hash-t. Ha tal√°l egy olyan hash-t, amely megfelel a protokoll √°ltal meghat√°rozott felt√©teleknek, jogot kap arra, hogy az √ļj blokkot a h√°l√≥zatnak tov√°bb√≠tsa. Ekkor a h√°l√≥zat t√∂bbi r√©sztvevŇĎje friss√≠ti blokkl√°nc√°t, hogy az tartalmazza az √ļj blokkot.

A fŇĎbb kriptovalut√°k eset√©ben a felt√©telek teljes√≠t√©se hihetetlen√ľl nagy kih√≠v√°st jelent. Min√©l nagyobb a hash r√°ta a h√°l√≥zaton, ann√°l nehezebb √©rv√©nyes hash-t tal√°lni. Ennek c√©lja, hogy a blokkokat ne tal√°lj√°k meg t√ļl gyorsan.

Amint azt el tudja képzelni, sok hash kitalálása nagy számítógépes költséggel jár. Számítási ciklusokat és áramot pazarol. De a protokoll kriptovalutával jutalmazza, ha érvényes hash-t talál.

Foglaljuk össze, amit eddig tudtunk:

  • A b√°ny√°szat k√∂ls√©ges.

  • Jutalmat kap, ha √©rv√©nyes blokkot √°ll√≠t elŇĎ.

  • Egy bemenet ismeret√©ben a felhaszn√°l√≥ k√∂nnyen ellenŇĎrizheti a hash-t ‚Äď a nem b√°ny√°sz√≥ felhaszn√°l√≥k k√ľl√∂n√∂sebb sz√°m√≠t√°si energia r√°ford√≠t√°sa n√©lk√ľl ellenŇĎrizhetik, hogy egy blokk √©rv√©nyes-e.

Eddig minden rendben. De mi van akkor, ha megpróbál csalni? Mi akadályozza meg abban, hogy egy csomó csalárd tranzakciót adjon a blokkhoz, és érvényes hash-t hozzon létre?

Itt j√∂n a k√©pbe a nyilv√°nos kulcs√ļ kriptogr√°fia. Most nem megy√ľnk bele ennek a r√©szleteibe, de n√©zze meg a Mi az a nyilv√°nos kulcs√ļ kriptogr√°fia? c√≠mŇĪ cikk√ľnket. R√∂viden, n√©h√°ny √ľgyes kriptogr√°fiai tr√ľkk√∂t alkalmazunk, amelyek lehetŇĎv√© teszik b√°rmely felhaszn√°l√≥ sz√°m√°ra, hogy ellenŇĎrizz√©k, hogy valaki jogosult-e az elk√∂lteni k√≠v√°nt p√©nz√∂sszegek mozgat√°s√°ra.

Amikor l√©trehoz egy tranzakci√≥t, al√°√≠rja azt. A h√°l√≥zaton b√°rki √∂sszehasonl√≠thatja az al√°√≠r√°s√°t a nyilv√°nos kulcs√°val, √©s ellenŇĎrizheti, hogy egyeznek-e. Azt is ellenŇĎrzik, hogy val√≥ban el tudja-e k√∂lteni a p√©nz√©t, √©s hogy a bemenet √∂sszege magasabb-e, mint a kimenet √∂sszege (azaz, hogy nem k√∂lt-e t√∂bbet, mint amennyije van).

Minden olyan blokkot, amely √©rv√©nytelen tranzakci√≥t tartalmaz, a h√°l√≥zat automatikusan elutas√≠t. M√°r a csal√°s k√≠s√©rlete is k√∂lts√©ges lenne. A saj√°t erŇĎforr√°sait pazarolja el minden jutalom n√©lk√ľl.

Ebben rejlik a Proof of Work sz√©ps√©ge: megdr√°g√≠tja a csal√°st, de j√∂vedelmezŇĎv√© teszi a becs√ľletes munk√°t. Minden racion√°lis b√°ny√°sz a ROI-ra t√∂rekszik, √≠gy v√°rhat√≥an olyan magatart√°st tan√ļs√≠tanak, amely garant√°lja a bev√©telt.



Belépne a kriptovaluták világába? Vegyen bitcoint a Binance-en!



Proof of Work vs. Proof of Stake

Sz√°mos konszenzus algoritmus l√©tezik, de az egyik legjobban v√°rt a Proof of Stake (PoS). A koncepci√≥ 2011-re ny√ļlik vissza, √©s n√©h√°ny kisebb protokollban m√°r megval√≥sult. De a nagy blokkl√°ncok egyik√©ben sem fogadt√°k m√©g el.

A Proof of Stake rendszerekben a b√°ny√°szokat valid√°torokkal helyettes√≠tik. Nincs b√°ny√°szat, √©s nincs verseny a hash-ek kital√°l√°s√°√©rt. Helyette a felhaszn√°l√≥k v√©letlenszerŇĪen ker√ľlnek kiv√°laszt√°sra ‚Äď ha kiv√°lasztj√°k ŇĎket, blokkot kell javasolniuk (vagy ‚Äěkov√°csolniuk‚ÄĚ). Ha a blokk √©rv√©nyes, akkor jutalmat kapnak, amely a blokk tranzakci√≥inak d√≠jaib√≥l √°ll.

Nem ak√°rki ker√ľl kiv√°laszt√°sra - a protokoll sz√°mos t√©nyezŇĎ alapj√°n v√°lasztja ki a felhaszn√°l√≥kat. A jogosults√°ghoz a r√©sztvevŇĎknek z√°rolniuk kell egy stake-et, amely a blokkl√°nc nat√≠v valut√°j√°nak egy elŇĎre meghat√°rozott √∂sszege. A stake √ļgy mŇĪk√∂dik, mint az √≥vad√©k: ahogy a v√°dlottak nagy √∂sszegŇĪ p√©nzt fizetnek be, hogy ne hagyj√°k ki a t√°rgyal√°st, √ļgy az valid√°torok is z√°rolnak egy stake-et a csal√°s megelŇĎz√©se √©rdek√©ben. Ha tisztess√©gtelen√ľl cselekszenek, a stake-et (vagy annak egy r√©sz√©t) elvesztik.

A Proof of Stake sz√°mos elŇĎnnyel rendelkezik a Proof of Work mechanizmushoz k√©pest. A legjelentŇĎsebb a kisebb sz√©n-dioxid l√°bnyom ‚Äď mivel a PoS-ben nincs sz√ľks√©g nagy teljes√≠tm√©nyŇĪ b√°ny√°szfarmokra, az elfogyasztott villamos energia csak t√∂red√©ke a PoW rendszerben elfogyasztottnak.¬†

Ennek ellen√©re k√∂zel sincs a PoW teljes√≠tm√©ny√©hez. B√°r pazarl√°snak tŇĪnhet, a b√°ny√°szat az egyetlen konszenzus algoritmus, amely nagy l√©pt√©kben is bev√°lt. Alig t√∂bb mint egy √©vtized alatt t√∂bb billi√≥ doll√°r √©rt√©kŇĪ tranzakci√≥t biztos√≠tott. Ahhoz, hogy biztosan kijelenthess√ľk, hogy a PoS felveheti a versenyt a biztons√°g√°val, a stakel√©st megfelelŇĎen tesztelni kell √©lesben.¬†


Záró gondolatok

A Proof of Work volt az eredeti megold√°s a dupla k√∂lt√©s probl√©m√°j√°ra, √©s megb√≠zhat√≥nak, valamint biztons√°gosnak bizonyult. A Bitcoin bebizony√≠totta, hogy nincs sz√ľks√©g√ľnk centraliz√°lt entit√°sokra ahhoz, hogy ugyanazt a p√©nzt ne lehessen k√©tszer elk√∂lteni. A kriptogr√°fia, a hash f√ľggv√©nyek √©s a j√°t√©kelm√©let √ľgyes alkalmaz√°s√°val a decentraliz√°lt k√∂rnyezet r√©sztvevŇĎi meg tudnak √°llapodni egy p√©nz√ľgyi adatb√°zis √°llapot√°r√≥l.