Mi az a blokkl√°nc konszenzus algoritmus?
KezdŇĎlap
Cikkek
Mi az a blokkl√°nc konszenzus algoritmus?

Mi az a blokkl√°nc konszenzus algoritmus?

KezdŇĎ
Közzétéve Dec 13, 2018Frissítve Aug 17, 2023
7m

Bevezetés

A konszenzus algoritmus egy olyan mechanizmus, amely lehetŇĎv√© teszi a felhaszn√°l√≥k vagy g√©pek sz√°m√°ra, hogy elosztott k√∂rnyezetben koordin√°ljanak. Biztos√≠tania kell, hogy a rendszer √∂sszes k√∂zvet√≠tŇĎje meg tudjon egyezni az igazs√°g egyetlen forr√°s√°ban, m√©g akkor is, ha egyes k√∂zvet√≠tŇĎk kudarcot vallanak. M√°s szavakkal, a rendszernek hibatŇĪrŇĎnek kell lennie (l√°sd m√©g: Mi az a biz√°nci hibatŇĪr√©s?).

Egy centraliz√°lt rendszerben egyetlen entit√°snak van hatalma a rendszer felett. A legt√∂bb esetben tetsz√©s√ľk szerint v√©grehajthatnak m√≥dos√≠t√°sokat ‚Äď nincs egy bonyolult ir√°ny√≠t√°si rendszer a sok adminisztr√°tor k√∂z√∂tti konszenzus el√©r√©s√©re.¬†

De egy decentraliz√°lt rendszerben ez egy teljesen m√°s t√∂rt√©net. Tegy√ľk fel, hogy egy elosztott adatb√°zissal dolgozunk¬†‚Ästhogyan jutunk meg√°llapod√°sra arr√≥l, hogy mely bejegyz√©sek ker√ľlnek hozz√°ad√°sra?

Ennek a kih√≠v√°snak a lek√ľzd√©se egy olyan k√∂rnyezetben, ahol az idegenek nem b√≠znak egym√°sban, volt tal√°n a legfontosabb fejleszt√©s, amely megnyitotta az utat a blokkl√°ncok elŇĎtt. Ebben a cikkben megvizsg√°ljuk, hogy a konszenzus algoritmusok milyen fontosak a kriptovalut√°k √©s az elosztott fŇĎk√∂nyvek mŇĪk√∂d√©s√©hez.


Konszenzus algoritmusok és kriptovaluták

A kriptovalut√°k eset√©ben a felhaszn√°l√≥k egyenleg√©t egy adatb√°zisban ‚Äď a blokkl√°nconr√∂gz√≠tik. Fontos, hogy mindenki (pontosabban minden csom√≥pont) azonos m√°solatot tartson fenn az adatb√°zisb√≥l. EllenkezŇĎ esetben hamar egym√°snak ellentmond√≥ inform√°ci√≥khoz jutna, ami al√°√°sn√° a kriptovaluta h√°l√≥zat c√©lj√°t.

A nyilv√°nos kulcs√ļ kriptogr√°fia biztos√≠tja, hogy a felhaszn√°l√≥k nem k√∂lthetik el egym√°s √©rm√©it. De tov√°bbra is sz√ľks√©g van egy egys√©ges igazs√°gforr√°sra, amelyre a h√°l√≥zat r√©sztvevŇĎi t√°maszkodhatnak, hogy meg tudj√°k √°llap√≠tani, hogy a p√©nzeszk√∂z√∂ket m√°r elk√∂lt√∂tt√©k-e.

Satoshi Nakamoto, a Bitcoin megalkot√≥ja egy Proof of Work rendszert javasolt a r√©sztvevŇĎk koordin√°l√°s√°ra. Hamarosan kit√©r√ľnk a PoW mŇĪk√∂d√©s√©re, de most a megl√©vŇĎ konszenzus algoritmusok n√©h√°ny k√∂z√∂s jellemzŇĎj√©t fogjuk azonos√≠tani.

ElŇĎsz√∂r is, megk√∂vetelj√ľk, hogy a blokkokat hozz√°adni k√≠v√°n√≥ felhaszn√°l√≥k (nevezz√ľk ŇĎket valid√°toroknak) stake-et biztos√≠tsanak. A stake valamilyen √©rt√©k, amelyet a valid√°tornak fel kell mutatnia, ami visszatartja ŇĎket att√≥l, hogy tisztess√©gtelen√ľl cselekedjenek. Ha csalnak, elvesz√≠tik a stake-et. Ilyen p√©ld√°ul a sz√°m√≠t√°si teljes√≠tm√©ny, a kriptovaluta vagy ak√°r a h√≠rn√©v.¬†

Mi√©rt kock√°ztatn√°k a saj√°t forr√°saikat? Nos, mivel jutalom is kaphat√≥. Ez √°ltal√°ban a protokoll nat√≠v kriptovalut√°j√°b√≥l √°ll, √©s m√°s felhaszn√°l√≥k √°ltal fizetett d√≠jakb√≥l, frissen gener√°lt kriptovaluta egys√©gekbŇĎl vagy mindkettŇĎbŇĎl.

Az utols√≥ dolog, amire sz√ľks√©g√ľnk van, az az √°tl√°that√≥s√°g. K√©pesnek kell lenn√ľnk felismerni, ha valaki csal. Ide√°lis esetben a blokkok elŇĎ√°ll√≠t√°s√°nak k√∂lts√©gesnek kellene lennie sz√°mukra, az √©rv√©nyes√≠t√©s√ľknek meg olcs√≥nak b√°rki sz√°m√°ra. Ez biztos√≠tja, hogy a valid√°torokat a norm√°l felhaszn√°l√≥k ellenŇĎrz√©s alatt tarts√°k.


A konszenzus algoritmusok típusai

Proof of Work (PoW)

A Proof of Work (PoW) a blokkl√°nc konszenzus algoritmusok keresztapja. ElŇĎsz√∂r a Bitcoinn√°l val√≥sult meg, de a t√©nyleges koncepci√≥ m√°r j√≥ ideje l√©tezik. A Proof of Work sor√°n a valid√°torok (b√°ny√°szok) addig hashelik a hozz√°adni k√≠v√°nt adatokat, am√≠g egy adott megold√°st elŇĎ√°ll√≠tanak.

A hash egy l√°tsz√≥lag v√©letlenszerŇĪnek tŇĪnŇĎ betŇĪ- √©s sz√°msorozat, amely akkor j√∂n l√©tre, amikor az adatokat lefuttatja egy hash-f√ľggv√©nyen. De ha ugyanazokat az adatokat futtatja √°t rajta √ļjra, mindig ugyanazt a kimenetet fogja kapni. Ha csak egyetlen r√©szletet is megv√°ltoztat, a hash m√°ris teljesen m√°s lesz.

A kimenetet alapj√°n nem lehet megmondani, hogy milyen inform√°ci√≥t t√°pl√°ltak a f√ľggv√©nybe. Ez√©rt hasznosak annak bizony√≠t√°s√°ra, hogy √Ėn egyes adatokat egy bizonyos idŇĎpont elŇĎtt m√°r ismert. Megadhatja valakinek a hash-t, √©s amikor k√©sŇĎbb felfedi az adatokat, az illetŇĎ lefuttathatja azokat a f√ľggv√©nyen, hogy megbizonyosodjon arr√≥l, hogy a kimenet ugyanaz.

A Proof of Work eset√©ben a protokoll meghat√°rozza azokat a felt√©teleket, amelyek egy blokkot √©rv√©nyess√© tesznek. P√©ld√°ul mondhatja azt, hogy csak az a blokk lesz √©rv√©nyes, amelynek a hash-e 00-val kezdŇĎdik. Az egyetlen m√≥dja annak, hogy a b√°ny√°sz olyan k√≥dot hozzon l√©tre, amely megfelel ennek a kombin√°ci√≥nak, az a tal√°lgat√°s. Az adatok egy param√©ter√©t √ļgy m√≥dos√≠thatj√°k, hogy minden egyes tal√°lgat√°sn√°l m√°s eredm√©nyt kapjanak, am√≠g meg nem tal√°lj√°k a megfelelŇĎ hash-t.¬†

A nagyobb blokkl√°ncok eset√©ben a m√©rce hihetetlen√ľl magasan van. Ahhoz, hogy versenybe sz√°llhasson m√°s b√°ny√°szokkal, egy speci√°lis hashing hardverrel (ASIC) teli rakt√°rra lenne sz√ľks√©ge, hogy es√©lye legyen egy √©rv√©nyes blokk elŇĎ√°ll√≠t√°s√°ra.

A b√°ny√°szat sor√°n az √Ėn stake-je ezeknek a g√©peknek a k√∂lts√©ge √©s a mŇĪk√∂dtet√©s√ľkh√∂z sz√ľks√©ges √°ram. Az ASIC-ek egyetlen c√©lra k√©sz√ľltek, √≠gy a kriptovaluta b√°ny√°szaton k√≠v√ľli alkalmaz√°sokban nem haszn√°lhat√≥k. A kezdeti befektet√©s megt√©r√ľl√©s√©nek egyetlen m√≥dja a b√°ny√°szat, amely jelentŇĎs jutalmat √≠g√©r, ha sikeresen hozz√°ad egy √ļj blokkot a blokkl√°nchoz.

A h√°l√≥zat sz√°m√°ra egyszerŇĪ annak ellenŇĎrz√©se, hogy val√≥ban a megfelelŇĎ blokkot hozta-e l√©tre. F√ľggetlen√ľl att√≥l, hogy √Ėn t√∂bb billi√≥ kombin√°ci√≥t pr√≥b√°lt ki a megfelelŇĎ hash √©rt√©k meg√°llap√≠t√°s√°ra, a h√°l√≥zatnak el√©g csak egyszer lefuttatnia az adatait egy f√ľggv√©nyen. Ha az adatai √©rv√©nyes hash-t eredm√©nyeznek, akkor elfogadj√°k ŇĎket, √©s √Ėn jutalmat kap. EllenkezŇĎ esetben a h√°l√≥zat elutas√≠tja azt, √©s √Ėn feleslegesen pazarolt idŇĎt √©s √°ramot.


Proof of Stake (PoS)

A Proof of Stake (PoS) mechanizmust a Bitcoin kezdet√©n javasolt√°k a Proof of Work alternat√≠v√°jak√©nt. A PoS-rendszerben nincsenek b√°ny√°szok, speci√°lis hardverek vagy hatalmas energiafogyaszt√°s. Csup√°n egy egyszerŇĪ sz√°m√≠t√≥g√©pre van sz√ľks√©ge.

Nos, nem csak arra. Emellett v√°s√°rra kell vinnie a saj√°t bŇĎr√©t. A PoS-ben nem egy k√ľlsŇĎ erŇĎforr√°st (p√©ld√°ul √°ramot vagy hardvert), hanem egy belsŇĎ erŇĎforr√°st ‚Äď kriptovalut√°t ‚Äď haszn√°lunk. A szab√°lyok protokollonk√©nt elt√©rŇĎek, de √°ltal√°ban van egy minim√°lis p√©nz√∂sszeg, amellyel rendelkeznie kell ahhoz, hogy stakelhessen.

Ezut√°n egy t√°rc√°ban z√°rolja a p√©nzeszk√∂z√∂ket (nem mozgathatja, am√≠g stakel). √Āltal√°ban m√°s valid√°torokkal √°llapodik meg arr√≥l, hogy mely tranzakci√≥k ker√ľlnek a k√∂vetkezŇĎ blokkba. Bizonyos √©rtelemben arra a blokkra tippel, amelyik kiv√°laszt√°sra ker√ľl, √©s a protokoll kiv√°laszt egyet.

Ha az √Ėn blokkj√°t kiv√°lasztj√°k, √Ėn a stake-tŇĎl f√ľggŇĎen r√©szes√ľl a tranzakci√≥s d√≠jak egy r√©sz√©bŇĎl. Min√©l t√∂bb p√©nzeszk√∂zt z√°rol, ann√°l t√∂bbet nyerhet. Ha azonban √©rv√©nytelen tranzakci√≥k javaslat√°val pr√≥b√°l csalni, elvesz√≠ti a stake egy r√©sz√©t (vagy az eg√©szet). Ebben hasonl√≠t a PoW mechanizmushoz ‚Äď becs√ľletesen cselekedni j√∂vedelmezŇĎbb, mint tisztess√©gtelen√ľl.

√Āltal√°ban nincsenek frissen l√©trehozott √©rm√©k a valid√°torok jutalmai k√∂z√∂tt. A blokkl√°nc nat√≠v valut√°j√°t teh√°t m√°s m√≥don kell kibocs√°tani. Ez t√∂rt√©nhet egy kezdeti kioszt√°son kereszt√ľl (azaz ICO vagy IEO), vagy √ļgy, hogy a protokollt PoW-val ind√≠tj√°k el, majd k√©sŇĎbb PoS-re √°ll√≠tj√°k √°t.

Val√≥di Proof of Stake eddig csak kisebb kriptovalut√°k eset√©ben ker√ľlt alkalmaz√°sra. Ez√©rt nem biztos m√©g, hogy a PoW mŇĪk√∂dŇĎk√©pes alternat√≠v√°jak√©nt szolg√°lhat-e. B√°r elm√©letileg mŇĪk√∂dŇĎk√©pesnek tŇĪnik, a gyakorlatban eg√©szen m√°sk√©pp fog mŇĪk√∂dni.¬†

Amint a PoS-t bevezetik egy nagy √©rt√©kkel b√≠r√≥ h√°l√≥zaton, a rendszer a j√°t√©kelm√©let √©s a p√©nz√ľgyi √∂szt√∂nzŇĎk j√°t√©kter√©v√© v√°lik. B√°rki, akinek megvan a tud√°sa egy PoS-rendszer felt√∂r√©s√©hez, val√≥sz√≠nŇĪleg csak akkor tenn√© meg, ha hasznot h√ļzhatna belŇĎle, ez√©rt csak egy √©les h√°l√≥zaton der√ľlne ki, hogy a rendszer megval√≥s√≠that√≥-e.

A PoS-t hamarosan nagy l√©pt√©kben is tesztelni fogjuk ‚Äď a Casper az Ethereum-h√°l√≥zat (Ethereum 2.0 n√©ven ismert) friss√≠t√©ssorozat√°nak r√©szek√©nt ker√ľl bevezet√©sre.


Egyéb konszenzus algoritmusok

A Proof of Work √©s a Proof of Stake a legt√∂bbet vitatott konszenzus algoritmusok. De sok m√°s is l√©tezik, saj√°t elŇĎnyeikkel √©s h√°tr√°nyaikkal. Tekintse meg a k√∂vetkezŇĎ cikkeket:


Záró gondolatok

A konszenzus el√©r√©s√©re szolg√°l√≥ mechanizmusok l√©tfontoss√°g√ļak az elosztott rendszerek mŇĪk√∂d√©s√©hez. Sokan √ļgy v√©lik, hogy a Bitcoin legjelentŇĎsebb √ļj√≠t√°sa a Proof of Work haszn√°lata volt, amely lehetŇĎv√© tette a felhaszn√°l√≥k sz√°m√°ra, hogy megegyezzenek egy k√∂z√∂s t√©ny√°ll√°sban.

A konszenzus algoritmusok ma m√°r nemcsak a digit√°lis p√©nzrendszerek, hanem a blokkl√°ncok alapj√°t is k√©pezik, amelyek lehetŇĎv√© teszik a fejlesztŇĎk sz√°m√°ra, hogy k√≥dot futtassanak egy elosztott h√°l√≥zaton kereszt√ľl. Mostanra m√°r a blokkl√°nc technol√≥gia sarokk√∂veit jelentik, √©s kritikus fontoss√°g√ļak a k√ľl√∂nb√∂zŇĎ h√°l√≥zatok hossz√ļ t√°v√ļ mŇĪk√∂dŇĎk√©pess√©ge szempontj√°b√≥l.

A konszenzus algoritmusok k√∂z√ľl tov√°bbra is a Proof of Work a domin√°ns megold√°s. Megb√≠zhat√≥bb √©s biztons√°gosabb alternat√≠v√°t m√©g nem javasoltak. Ennek ellen√©re hatalmas mennyis√©gŇĪ kutat√°s √©s fejleszt√©s folyik a PoW helyettes√≠t√©s√©nek k√©rd√©s√©ben, √©s az elk√∂vetkezŇĎ √©vekben val√≥sz√≠nŇĪleg m√©g t√∂bb ilyen megold√°s l√°t napvil√°got.