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 Apr 18, 2024
10m

A legfontosabb tudnivalók

  • A Proof-of-Work (PoW) konszenzusmechanizmust az√©rt hozt√°k l√©tre, hogy megelŇĎzze a dupla k√∂lt√©st a digit√°lis fizet√©si rendszerekben.

  • A PoW kulcsfontoss√°g√ļ r√©sze a b√°ny√°szati folyamatnak, amely sor√°n √ļj tranzakci√≥blokkokat adnak a blokkl√°nchoz, √©s √ļj kriptovaluta-egys√©geket hoznak l√©tre.

  • A Bitcoin √©s sz√°mos egy√©b kriptovaluta a PoW-m√≥dszert haszn√°lja a blokkl√°nch√°l√≥zatuk √©s az adataik v√©delm√©re.

Bevezetés

R√∂viden, a Proof-of-Work (PoW) mechanizmust az√©rt hozt√°k l√©tre, hogy megelŇĎzze a dupla k√∂lt√©st a digit√°lis fizet√©si rendszerekben. A Bitcoin √©s sz√°mos egy√©b kriptovaluta a PoW-m√≥dszert haszn√°lja a blokkl√°nch√°l√≥zatuk √©s az adataik v√©delm√©re. Az ilyen mechanizmusokra gyakran haszn√°lj√°k a konszenzusalgoritmus vagy a konszenzusmechanizmus kifejez√©st, mert a seg√≠ts√©g√ľkkel t√∂bb r√©sztvevŇĎ f√©l jut konszenzusra, an√©lk√ľl, hogy b√≠zniuk kellene egym√°sban.

A Proof-of-Work volt az elsŇĎ konszenzusalgoritmus, √©s a mai napig az egyik legfontosabb a Proof-of-Stake (PoS) mellett. A PoW mechanizmust Satoshi Nakamoto mutatta be a Bitcoin 2008-as feh√©r k√∂nyv√©ben, 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√∂vetelt√©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 jelentŇĎs t√©tell√© v√°lna ann√°l, aki t√∂megesen k√ľld e-maileket.

Mi az 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 fizetsz, k√©szp√©nzt adsz √°t a p√©nzt√°rosnak, aki val√≥sz√≠nŇĪleg elz√°rja azt a kassz√°ban. Nem mehetsz √°t a szemk√∂zti k√°v√©z√≥ba, √©s fizethetsz egy m√°sik k√°v√©t ugyanazzal a p√©nzzel. A digit√°lis p√©nzrendszerekn√©l viszont fenn√°ll ennek a lehetŇĎs√©ge.¬†

Biztosan m√°solt√°l m√°r sz√°m√≠t√≥g√©pes f√°jlt a m√°sol√°s-beilleszt√©s parancsokkal. Emellett e-mailben k√∂nnyed√©n elk√ľldheted ugyanazt a f√°jlt emberek tucatjainak. Mivel a digit√°lis p√©nz csak adat, meg kell akad√°lyozni a dupla k√∂lt√©st, vagyis hogy az emberek ugyanazt az egys√©get kim√°solj√°k √©s elk√∂lts√©k k√ľl√∂nb√∂zŇĎ helyeken. Az a digit√°lis fizet√©si rendszer, mely nem tudja megakad√°lyozni a dupla k√∂lt√©st, nagyon gyorsan √∂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 olvastad a cikk√ľnket a blokkl√°nc-technol√≥gi√°r√≥l, akkor tudod, hogy a kriptovaluta-felhaszn√°l√≥k folyamatosan k√ľldenek tranzakci√≥kat a h√°l√≥zatra. Ezek a tranzakci√≥k azonban nem tekinthetŇĎk azonnal √©rv√©nyesnek. Ez csak akkor t√∂rt√©nik meg, ha megerŇĎs√≠t√©s√ľk ut√°n hozz√°adj√°k ŇĎket a blokkl√°nchoz.

A Bitcoin blokkl√°nc p√©ld√°ul egy nyilv√°nos tranzakci√≥-adatb√°zisk√©nt (fŇĎk√∂nyv) mŇĪk√∂dik, amelyre minden felhaszn√°l√≥ r√°l√°t. K√©pzeld el √≠gy: Neked √©s h√°rom bar√°todnak van egy jegyzett√∂mbje, amelyen nyomon k√∂vetitek a bitcoin-tranzakci√≥itokat. Ha valamelyikŇĎt√∂k b√°rmikor √©rt√©k√°tutal√°st szeretne kezdem√©nyezni, akkor le√≠rj√°tok azt:

Alíz 5 BTC-t fizet Robinak; Robi 2 BTC-t fizet Karolinának, stb.

√Ām minden tranzakci√≥ alkalm√°val hivatkoztok arra a tranzakci√≥ra, amelybŇĎl a p√©nzeszk√∂z√∂k sz√°rmaznak. Teh√°t, ha Robi kifizetett Karolin√°nak 2¬†BTC-t, akkor a bejegyz√©s val√≥j√°ban a k√∂vetkezŇĎk√©ppen n√©zne ki:¬†

Robi 2 BTC-t fizet Karolinának, ami az Alízzal folytatott korábbi tranzakciójából származik.

Most m√°r van egy m√≥dszer√ľnk a BTC-egys√©gek nyomon k√∂vet√©s√©re. Ha Robi megpr√≥b√°l egy √ļjabb tranzakci√≥t v√©grehajtani ugyanazzal a 2¬†BTC-vel, amit az im√©nt k√ľld√∂tt Karolin√°nak, azt mindenki azonnal tudni fogja. A csoport nem engedi, hogy a tranzakci√≥t hozz√°adj√°k a jegyzett√∂mbh√∂z, mert azt a 2¬†BTC-t m√°r elk√∂lt√∂tt√©k.

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, melyeket 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?

K√©pzelj√ľk el, hogy 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 jel√∂lt blokkhoz. A tranzakci√≥k csak akkor tekinthetŇĎk √©rv√©nyesnek, ha a jel√∂lt blokk megerŇĎs√≠tett blokk√° v√°lik, ami azt jelenti, hogy beker√ľlt a blokkl√°ncadatb√°zisba.

A tranzakci√≥k valid√°l√°s√°nak √©s az √ļj blokkok hozz√°fŇĪz√©s√©nek folyamat√°t nevezz√ľk b√°ny√°szatnak. Ez dr√°ga √©s neh√©z tev√©kenys√©g, de a jutalom is magas lehet. A blokkjutalom a felhaszn√°l√≥kt√≥l sz√°rmaz√≥ tranzakci√≥s d√≠jakb√≥l √©s a protokoll √°ltal l√©trehozott, vadonat√ļj bitcoinokb√≥l √°ll.¬†

A Proof-of-Work megk√∂veteli, hogy a b√°ny√°sz (a blokkot l√©trehoz√≥ felhaszn√°l√≥) erŇĎforr√°sokat ‚Ästp√©ld√°ul villamos √°ramot √©s sz√°m√≠t√°si teljes√≠tm√©nyt¬†‚Äď ford√≠tson a jel√∂ltblokkok hashel√©s√©re, am√≠g meg nem oldj√°k a feladv√°nyt.

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

M√°s sz√≥val egy b√°ny√°sz dolga hiteles√≠teni √©s √∂sszegyŇĪjteni a folyamatban l√©vŇĎ tranzakci√≥kat, jel√∂ltblokkba foglalni ŇĎket, √©s a blokk adatait √°tk√ľldeni egy hashing f√ľggv√©nyen, hogy √©rv√©nyes hash-t hozzon l√©tre. Ha a b√°ny√°sznak siker√ľl √©rv√©nyes hash-t tal√°lnia a jel√∂ltblokkj√°hoz, akkor elk√ľldi azt a h√°l√≥zatra, hozz√°adja a blokkot a blokkl√°nchoz, √©s begyŇĪjti a b√°ny√°szjutalmakat.

Amikor egy b√°ny√°sz tov√°bb√≠tja a jel√∂ltblokkj√°t √©s hash-k√≥dj√°t a h√°l√≥zat fel√©, a h√°l√≥zat r√©sztvevŇĎi megism√©tlik a hashing folyamatot, hogy ellenŇĎrizz√©k a kimeneti adatok √©rv√©nyess√©g√©t.¬†

Hab√°r sz√°mtalan hashingk√≠s√©rlet kell egy √©rv√©nyes hash megtal√°l√°s√°hoz, a gener√°lt hash helyess√©g√©nek ellenŇĎrz√©se mindenki sz√°m√°ra pofonegyszerŇĪ. Csak el kell k√ľldeni ugyanazt a bemenetet (blokkadatokat) a hash 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.

√Ė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 neh√©z √©s dr√°ga, de v√©delmet ny√ļjt a h√°l√≥zatnak.

  • Azok a b√°ny√°szok, akiknek siker√ľl √©rv√©nyes blokkot l√©trehozniuk, jutalmul √ļjonnan kibocs√°tott kriptovalut√°t √©s tranzakci√≥s d√≠jakat kapnak.

  • Egy √©rv√©nyes hash gener√°l√°sa idŇĎbe telik, de a hashing folyamat megism√©tl√©s√©vel m√°s felhaszn√°l√≥k k√∂nnyed√©n ellenŇĎrizhetik annak √©rv√©nyess√©g√©t.

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√©zd meg a Mi az a nyilv√°nos kulcs√ļ kriptogr√°fia? c√≠mŇĪ cikk√ľnket. R√∂viden, l√©tezik n√©h√°ny √ľgyes kriptogr√°fiai tr√ľkk, amelyek b√°rmely felhaszn√°l√≥ sz√°m√°ra lehetŇĎv√© teszik, hogy ellenŇĎrizz√©k, hogy valaki jogosult-e az elk√∂lteni k√≠v√°nt p√©nz√∂sszegek mozgat√°s√°ra.

Amikor l√©trehozol egy tranzakci√≥t, al√°√≠rod azt. A h√°l√≥zaton b√°rki √∂sszehasonl√≠thatja az al√°√≠r√°sod a nyilv√°nos kulcs√°val, √©s ellenŇĎrizheti, hogy egyeznek-e. Azt is ellenŇĎrzik, hogy val√≥ban el tudod-e k√∂lteni a p√©nzed, √©s hogy a bemenet √∂sszege magasabb-e, mint a kimenet √∂sszege (azaz, hogy nem k√∂ltesz-e t√∂bbet, mint amennyid 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 viselked√©st. Minden racion√°lis b√°ny√°sz a befektet√©se megt√©r√ľl√©s√©re t√∂rekszik, √≠gy v√°rhat√≥an olyan magatart√°st tan√ļs√≠tanak, amely nagyobb es√©llyel hoz bev√©telt.

Proof of Work (PoW) vs. Proof of Stake (PoS)

A PoW mellett sz√°mos egy√©b konszenzusalgoritmus l√©tezik, de az egyik legn√©pszerŇĪbb a Proof-of-Stake (PoS). A koncepci√≥ 2011 √≥ta l√©tezik, √©s az Ethereum mellett j√≥ n√©h√°ny m√°s protokoll is ezt alkalmazza.

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.¬†

Ezzel egy√ľtt a PoS nem rendelkezik a PoW-hez hasonl√≥ eredm√©nyekkel. B√°r pazarl√≥nak lehet tekinteni, a b√°ny√°szat az egyetlen olyan konszenzusalgoritmus, amely t√∂bb mint egy √©vtizedes akt√≠v m√ļlttal rendelkezik. Indul√°sa √≥ta a Bitcoin PoW-rendszere t√∂bb ezer milli√°rd 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 hossz√ļ t√°von, megfelelŇĎen kell tesztelni.

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.

További olvasnivaló

FelelŇĎss√©gi nyilatkozat: A jelen bejegyz√©s tartalm√°t annak mindenkori form√°j√°ban bocs√°tjuk rendelkez√©sre √°ltal√°nos t√°j√©koztat√°si √©s oktat√°si c√©llal, √©s semmilyen felelŇĎss√©get vagy szavatoss√°got nem v√°llalunk az alkalmaz√°s√°val kapcsolatban. Az itt le√≠rtak nem tekintendŇĎk p√©nz√ľgyi, jogi vagy egy√©b szakmai tan√°csad√°snak, sem egy konkr√©t term√©k vagy szolg√°ltat√°s megv√°s√°rl√°s√°ra tett javaslatnak. Javasoljuk, hogy k√©rj tan√°csot a megfelelŇĎ szaktan√°csad√≥kt√≥l. Mivel a jelen cikket k√ľlsŇĎ szerzŇĎ √≠rta, felh√≠vjuk figyelmedet, hogy az itt kifejtett n√©zŇĎpontok a harmadik f√©l szerzŇĎ √°ll√°spontj√°t r√©szletezik, √©s nem felt√©tlen√ľl t√ľkr√∂zik a Binance Academy v√©lem√©ny√©t. K√©rj√ľk, hogy ide kattintva olvasd el r√©szletes felelŇĎss√©gi nyilatkozatunkat. A digit√°lis eszk√∂z√∂k √°ra erŇĎsen ingadozhat. A befektet√©s √©rt√©ke cs√∂kkenhet vagy nŇĎhet, √©s az is elŇĎfordulhat, hogy nem kapod vissza a befektetett √∂sszeget. A befektet√©si d√∂nt√©sei√©rt egyed√ľl te felelsz, √©s a Binance Academy nem v√°llal felelŇĎss√©get az esetlegesen felmer√ľlŇĎ vesztes√©gek√©rt. Az itt le√≠rtak nem minŇĎs√ľlnek p√©nz√ľgyi, hogy vagy egy√©b szakmai tan√°csnak. Tov√°bbi inform√°ci√≥√©rt tekintsd meg Haszn√°lati felt√©teleinket √©s a Kock√°zati figyelmeztet√©st.