Hogyan működik a blokklánc?
Kezdőlap
Cikkek
Hogyan működik a blokklánc?

Hogyan működik a blokklánc?

Középszintű
Közzétéve Dec 9, 2018Frissítve Oct 4, 2022
5m

Mi az a blokklánc?

Röviden, a blokklánc egy decentralizált digitális főkönyvként működő adatlista. Az adatok kronológiai sorrendbe rendezett blokkokba vannak sorolva, és kriptográfiával vannak védve. 

A blokklánc legkorábbi modelljét az 1990-es évek elején hozták létre, amikor Stuart Haber informatikus és W. Scott Stornetta fizikus kriptográfiai technikákat alkalmaztak egy blokkokból álló láncban, hogy így biztosítsák a digitális dokumentumokat az adatok manipulálásától. 

Haber és Stornetta munkája minden bizonnyal sok más informatikus és kriptográfia rajongó munkáját inspirálta - ami végül a Bitcoin, mint az első decentralizált elektronikus pénzrendszer (vagy egyszerűen az első kriptovaluta) létrejöttéhez vezetett.

Bár a blokklánc technológiája már a kriptovaluták előtt létezett, csak a Bitcoin 2008-as létrehozása után kezdték felismerni a benne rejlő lehetőségeket. Azóta a blokklánc technológia iránti érdeklődés fokozatosan nőtt, és a kriptovalutákat ma már szélesebb körben is elismerik.

A blokklánc technológiát leginkább kriptotranzakciók rögzítésére használják, de sok más típusú digitális adathoz is alkalmas, és számos felhasználási lehetőséggel rendelkezik. A legrégebbi, legbiztonságosabb és legnagyobb blokklánchálózat a Bitcoin, amelyet a kriptográfia és a játékelmélet gondos és kiegyensúlyozott kombinációjával terveztek meg.


Hogyan működik a blokklánc?

A kriptovalutákkal összefüggésben a blokklánc blokkok stabil láncából áll, amelyek mindegyike a korábban megerősített tranzakciók listáját tárolja.  Mivel a blokklánchálózatot megszámlálhatatlan mennyiségű számítógép tartja fenn a világ minden tájáról, decentralizált adatbázisként (vagy főkönyvként) működik. Ez azt jelenti, hogy minden résztvevő (csomópont) fenntart egy másolatot a blokklánc adatairól, és kommunikál a többi csomóponttal, hogy biztosítsák, hogy mindannyian ugyanazon az oldalon (vagy blokkban) legyenek.

Ezért a blokklánc tranzakciók egy peer-to-peer globális hálózaton belül zajlanak, és ez teszi a Bitcoint decentralizált digitális valutává, amely határok nélküli és cenzúramentes. Ráadásul a legtöbb blokkláncrendszer bizalom minimalizáltnak minősül, mivel nem igényel semmiféle bizalmat. A Bitcoin felett nem gyakorol ellenőrzést egyetlen hatóság sem.

Szinte minden blokklánc központi része a bányászat, amely hashing algoritmusokra támaszkodik. A Bitcoin az SHA-256 algoritmust használja (256 bites secure hash algoritmus). Bármilyen hosszúságú bemenetet elfogad, és mindig azonos hosszúságú kimenetet generál. Az előállított kimenetet „hash”-nek nevezzük, és ebben az esetben mindig 64 karakterből (256 bitből) áll.

Tehát ugyanaz a bemenet ugyanazt a kimenetet fogja eredményezni, függetlenül attól, hogy a folyamat hányszor ismétlődik. De ha egy kis változtatás történik a bemenetben, a kimenet teljesen megváltozik. Ezáltal a hash-függvények determinisztikusak, és a kriptovaluták világában a legtöbbjüket egyirányú hash függvénynek tervezték.

Mivel egyirányú függvényről van szó, a kimenet alapján szinte lehetetlen kiszámítani, hogy mi volt a bemenet. Csak találgatni lehet, hogy mi volt a bemenet, de a helyes találgatás esélye rendkívül alacsony. Ez az egyik oka annak, hogy a Bitcoin blokklánca biztonságos.

Most, hogy tudjuk, mit csinál az algoritmus, mutassuk be a blokklánc működését egy egyszerű tranzakciós példán keresztül.

Tegyük fel, hogy Alíz és Robi egy bizonyos összegű Bitcoin egyenleggel rendelkeznek. Alíz tartozik Robinak 2 Bitcoinnal.

Ahhoz, hogy Alíz elküldhesse Robinak ezt a 2 bitcoint, Alíz a hálózat összes bányászának küld egy üzenetet a tranzakcióról, amelyet végre szeretne hajtani.

Ebben a tranzakcióban Alíz megadja a bányászoknak Robi címét és az általa elküldeni kívánt Bitcoin mennyiségét, valamint egy digitális aláírást és a nyilvános kulcsát. Az aláírás Alíz privátkulcsával történik, és a bányászok igazolni tudják, hogy valóban Alíz a tulajdonosa ezeknek az érméknek.

Miután a bányászok megbizonyosodtak arról, hogy a tranzakció érvényes, egy blokkba helyezik azt sok más tranzakcióval együtt, és megpróbálják kibányászni a blokkot. Ez úgy történik, hogy a blokkot az SHA-256 algoritmusnak vetik alá. A kimenetnek egy bizonyos számú 0-val kell kezdődnie ahhoz, hogy érvényesnek minősüljön. A szükséges 0-k száma az úgynevezett „nehézségtől” függ, amely a hálózat számítási teljesítményétől függően változik.

Annak érdekében, hogy a kimeneti hash a kívánt számú 0-t tartalmazza az elején, a bányászok egy úgynevezett „nonce”-t adnak a blokkhoz, mielőtt azt lefuttatják az algoritmuson. Mivel a bemenet egy apró módosítása is teljesen megváltoztatja a kimenetet, a bányászok addig próbálkoznak véletlenszerű nonce-okkal, amíg nem találnak érvényes kimeneti hash-t.

A blokk kibányászása után, a bányász továbbítja az újonnan kibányászott blokkot a többi bányásznak. Ezután ellenőrzik, hogy a blokk érvényes-e, hogy hozzáadhassák azt a saját blokklánc példányukhoz, és a tranzakció befejeződjön. A bányászoknak azonban a blokkba bele kell foglalniuk az előző blokk kimeneti hash-ét is, hogy az összes blokk össze legyen fűzve, innen ered a blokklánc elnevezés. Ez fontos része a rendszer bizalmi működésének.

Minden bányásznak saját másolata van a blokkláncról a számítógépén, és mindenki abban a blokkláncban bízik, amelyikbe a legtöbb számítási munkát fektették, vagyis a leghosszabb blokkláncban. Ha egy bányász megváltoztat egy tranzakciót egy korábbi blokkban, akkor az adott blokk kimeneti hash-e megváltozik, ami a hashekkel összekapcsolt blokkok miatt az azt követő összes hash-t is megváltoztatja. A bányásznak újra el kellene végeznie az összes munkát ahhoz, hogy az ő blokkláncát fogadják el helyesnek. Ha tehát egy bányász csalni akarna, akkor a hálózat számítási teljesítményének több mint 50%-ára lenne szüksége, ami nagyon valószínűtlen. Az ilyen hálózati támadásokat ezért 51%-os támadásoknak nevezzük.

A számítógépek blokkok előállítására való használatának modelljét Proof-of-Work (PoW) protokollnak nevezik, de vannak más modellek is, mint például a Proof-of-Stake (PoS), amelyek nem igényelnek akkora számítási teljesítményt, és kevesebb áramot igényelnek, miközben több felhasználóra skálázhatók.