A blokklánc – a crypto szíve
Az előző cikkben megismerkedtünk a kriptovaluta fogalmával. Most elmélyülünk a technológiában, amely mindent lehetővé tesz: a blokkláncban (angolul: blockchain). Ez az az innováció, amely nélkül nem létezne sem Bitcoin, sem Ethereum, sem semmiféle kriptovaluta.
1. A probléma, amelyet a blokklánc megold
Képzelj el egy egyszerű helyzetet: Te és Péter egyezséget köttök – te adsz neki 100 eurót, ő ad neked egy laptopot. Ha személyesen találkoztok, ez egyszerű: átadod a pénzt, ő a laptopot.
De mi van, ha online szeretnétek ezt megtenni? Te elutalsz 100 eurót, de honnan tudod, hogy Péter valóban elküldi a laptopot? Honnan tudod, hogy valóban megvan a 100 euród (nem küldted el már valaki másnak is)?
A hagyományos megoldás: egy közvetítő (bank, PayPal, escrow szolgáltatás) garantálja, hogy mindkét fél teljesít.
A blokklánc közvetítő nélkül oldja meg ezt a problémát – matematika és elosztott hálózat segítségével.
A „kettős költés" problémája
A digitális adatok másolhatók. Ha egy digitális pénzérme csupán egy fájl, akkor mi akadályoz meg abban, hogy ugyanazt az érmét kétszer elköltsem? Ezt hívják kettős költés (double-spending) problémájának.
A blokklánc megakadályozza ezt azzal, hogy minden tranzakció nyilvánosan rögzített, és az összes résztvevő látja, hogy egy adott pénzösszeget már elköltöttek-e.
2. Mi az a blokklánc?
A blokklánc egy elosztott, nyilvános főkönyv (distributed ledger). Képzeld el így:
- Főkönyv: Olyan, mint egy hatalmas könyvelési napló, amelybe minden tranzakció bekerül.
- Nyilvános: Bárki megnézheti – nem kell regisztrálni, nincs titkosság.
- Elosztott: Nem egy helyen tárolják, hanem egyszerre több ezer számítógépen (csomóponton/node-on) szerte a világon.
Analógia: Képzeld el, hogy egy kis falutársadalomban mindenki egy identikus füzetbe vezeti a falusi ügyleteket. Ha valaki megpróbálja a saját füzetét meghamisítani, a többi ezer fal-világi füzet azonnal cáfolja. Csak akkor változhat meg a „hivatalos" adat, ha a falulakók többsége egyet ért.
3. Mi az a „blokk"?
A blokklánc blokkokból áll – innen a neve. Minden blokk egy adatcsomagot tartalmaz:
Egy blokk tartalma:
┌─────────────────────────────────┐
│ BLOKK #488,201 │
├─────────────────────────────────┤
│ Előző blokk hash-e: │
│ 0000a3f7c91b... │
├─────────────────────────────────┤
│ Tranzakciók: │
│ → Alice → Bob: 0.5 BTC │
│ → Carol → Dave: 1.2 BTC │
│ → Eve → Frank: 0.03 BTC │
│ ... (kb. 2000 tranzakció) │
├─────────────────────────────────┤
│ Időbélyeg: 2024-01-15 14:32:07 │
├─────────────────────────────────┤
│ Nonce: 3,847,291 │
├─────────────────────────────────┤
│ Saját hash-e: │
│ 00000b2e19f8... │
└─────────────────────────────────┘
Nézzük meg részletesebben ezeket az elemeket:
4. Mi az a hash?
A hash a blokklánc egyik legfontosabb fogalma. Egy hash egy matematikai ujjlenyomat: bármilyen adatot (szöveget, számot, dokumentumot) „bedob" az ember egy hash-függvénybe, és az mindig ugyanolyan hosszú, látszólag véletlenszerű karaktersort ad vissza.
Példa (SHA-256 hash-függvény):
| Bemenet | Hash-érték |
|---|---|
"Hello" |
185f8db32... |
"hello" (kis h!) |
2cf24dba5... |
"CryptoGuard.hu" |
a3f7c2190... |
Figyeld meg: egyetlen karakter megváltoztatása teljesen más hash-t eredményez. Ez az avalanche effect (lavina-hatás). A hash-nek három fontos tulajdonsága van:
- Determinisztikus – Ugyanaz a bemenet mindig ugyanazt a hash-t adja.
- Visszafordíthatatlan – A hash-ből nem lehet visszaszámolni az eredeti adatot.
- Ütközésmentes – Két különböző adatból szinte lehetetlen ugyanolyan hash-t kapni.
Hogyan használja a blokklánc?
Minden blokk tartalmazza az előző blokk hash-ét. Ez összeköti a blokkokat – ezért is hívják blokkLÁNCnak. Ha valaki megváltoztatja egy régi blokk adatát, annak hash-e megváltozik, ami érvényteleníti az összes utána következő blokkot is – és ezt a hálózat azonnal észreveszi.
5. A blokkok összekapcsolása – a lánc
Nézzük meg, hogyan kapcsolódnak egymáshoz a blokkok:
BLOKK #1 BLOKK #2 BLOKK #3
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Prev: 0 │ ────▶ │ Prev: │ ────▶ │ Prev: │
│ │ │ #1 hash │ │ #2 hash │
│ Adat │ │ Adat │ │ Adat │
│ │ │ │ │ │
│ Hash: H1 │ │ Hash: H2 │ │ Hash: H3 │
└──────────┘ └──────────┘ └──────────┘
Ha valaki megpróbálja módosítani a 2. blokkot:
- A 2. blokk hash-e megváltozik.
- A 3. blokk már rossz „előző blokk hash-t" tartalmaz → érvénytelen lesz.
- Minden ezután következő blokk érvénytelen lesz.
- A hálózat többi ezer résztvevője észreveszi az eltérést, és elveti a hamisított változatot.
Ez teszi a blokkláncot hamisíthatatlanná.
6. Elosztott hálózat – a résztvevők
A blokklánc nem egyetlen szerveren fut – több ezer számítógépen egyszerre, amelyeket csomópontoknak (node-oknak) nevezünk.
Node típusok:
Teljes csomópont (Full node)
- Letölti és tárolja az összes blokkot a történelemből.
- Önállóan ellenőriz minden tranzakciót.
- A Bitcoin teljes lánca ma kb. 600 GB.
Könnyű csomópont (Light node / SPV)
- Csak a blokk fejléceket tölti le (nem az összes adatot).
- Mobilalkalmazások általában ezt használják.
- Teljes csomópontokra támaszkodik az ellenőrzésnél.
Bányász csomópont (Mining node)
- Tranzakciókat gyűjt és új blokkokat hoz létre.
- Számítási kapacitást biztosít a hálózatnak.
- Jutalmakat kap a munkájáért.
7. Konszenzus mechanizmus – hogyan döntenek közösen?
Ha ezer különböző számítógép tárolja a blokkláncot, hogyan döntenek arról, melyik az „igaz" változat? Erre szolgál a konszenzus mechanizmus: egy szabályrendszer, amelyen alapján a hálózat résztvevői megállapodnak a valóságban.
A két legfontosabb konszenzus mechanizmus:
Proof of Work (PoW) – Munkabizonyíték
A Bitcoin ezt használja. A bányászoknak egy nehéz matematikai feladatot kell megoldaniuk (rengeteg számítási kapacitást igényel), hogy új blokkot hozhassanak létre. Az első, aki megoldja, megkapja a jutalmat, és a blokkja bekerül a láncba.
Analógia: Olyan, mintha egy összetett kirakót kellene kirakni. Az első, aki kész, megmutatja a megoldást – mindenki azonnal ellenőrizheti, hogy helyes-e. A munka nehéz, az ellenőrzés könnyű.
Proof of Stake (PoS) – Tét-bizonyíték
Az Ethereum 2022-ben erre tért át. A validátoroknak nem számítási kapacitást, hanem kriptovalutát kell „letétbe helyezni" (stake-elni) biztosítékként. Ha valaki csalni próbál, elveszíti a letétjét.
Analógia: Olyan, mintha egy bankban óvadékot kellene letenni, hogy jogot kapj a tranzakciók jóváhagyásához. Ha rosszul végzed a dolgod, elveszíted az óvadékot.
Ezekről bővebben a Bányászat és validálás cikkben olvashatsz.
8. A Merkle-fa – hatékony ellenőrzés
Egy blokkban akár több ezer tranzakció is lehet. Hogyan lehet ezeket hatékonyan ellenőrizni? A válasz a Merkle-fa adatstruktúra.
ROOT HASH
/ \
H(1,2) H(3,4)
/ \ / \
H(1) H(2) H(3) H(4)
| | | |
Tx1 Tx2 Tx3 Tx4
Minden tranzakció hash-t kap. Ezeket párba rendezik, a párok hash-ét kiszámítják, és ezt addig folytatják, míg egyetlen gyökér hash (Merkle root) nem marad. Ez a gyökér hash bekerül a blokk fejlécébe.
Ha bármelyik tranzakció megváltozna, a gyökér hash is megváltozna, és a blokk érvénytelen lenne.
9. A 51%-os támadás
Sokan kérdezik: mi van, ha valaki nagyon sok számítási kapacitást szerez, és ezzel átveszi az irányítást? Ezt hívják 51%-os támadásnak.
Ha valaki a hálózat számítási kapacitásának több mint 50%-át irányítja, elméletileg képes lenne hamis blokkokat létrehozni. Ugyanakkor ez a Bitcoin esetén gazdaságilag önpusztító: akkora számítási kapacitást kellene bérelni, amely többe kerülne, mint amit a támadással nyerni lehet – ráadásul maga a támadás összeomlasztaná a Bitcoin árát, és a megszerzett bitcoin értéktelen lenne.
10. Nyilvános vs. privát blokklánc
| Nyilvános blokklánc | Privát blokklánc | |
|---|---|---|
| Hozzáférés | Bárki csatlakozhat | Meghívott tagok |
| Példa | Bitcoin, Ethereum | Vállalati rendszerek (Hyperledger) |
| Átláthatóság | Teljes | Korlátozott |
| Felhasználás | Kriptovaluták | Supply chain, bankok |
11. Összefoglalás
- A blokklánc egy elosztott, nyilvános főkönyv, amelyet senki sem irányít egyedül.
- Blokkokból áll, amelyek tranzakciókat tartalmaznak – ezek hash-eken keresztül kapcsolódnak egymáshoz.
- A hash egy matematikai ujjlenyomat, amely bármilyen adat módosítását azonnal láthatóvá teszi.
- A konszenzus mechanizmus (PoW vagy PoS) biztosítja, hogy a hálózat résztvevői megegyezzenek a valóságban.
- A blokklánc hamisíthatatlanságát az biztosítja, hogy egy blokk megváltoztatása az összes következő blokkot is érvényteleníti.
Következő lépés
Most már tudod, hogyan épül fel a blokklánc. De hogyan kerül egy tranzakció a blokkba? Pontosan mi történik, amikor elküldesz egy kis kriptót valakinek?