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 Jun 13, 2024
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 – hogyan 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.