Satoshi Nakamoto 2008-ban megalkotta a Bitcoin protokollt, majd egy évre rá hódító útjára indította az első kriptovalutát, a Bitcoint. Azóta a virtuális fizetőeszközök aranykorukat élik: a bitcoin mellett számos más kriptopénz is megjelent, amelyek a pénzügyi piacok szerves részévé váltak. Egyesek a teljes pénzpiac jövőjét látják bennük, mások befektetési lehetőséget, a könnyű és gyors meggazdagodás esélyét, míg vannak, akik szkeptikusan állnak ehhez a relatíve új technológiához. Ami összeköti ezt a sokféle hozzáállást, hogy valójában kevesen értik igazán a rendszer működését.
A kriptovalutákról köztudott, hogy teljes mértékben digitálisak, decentralizáltak, azaz nincs szükségük egy központi intézményre, hogy kontrollálja a tranzakciókat, blokklánc technológiára épülnek, illetve, hogy piacuk rendkívül volatilis. Ebben a cikkben megpróbálunk bővíteni ezen a listán, és részletesen bemutatni, mi is rejlik a valójában kriptovaluták, jelen esetünkben konkrétan a bitcoin működése mögött.
Csupán egy főkönyv
A rendszer tulajdonképpen egy nagy közös, nyilvános tranzakciós listát, egy főkönyvet épít, amelyben nyilvántartjuk, hogy ki kinek mennyit fizetett. A centralizált pénzügyek világában egy harmadik félben, például egy bankban bízunk meg, hogy ezeket a tranzakciókat elvégezze és vezesse. Ezzel szemben a kriptovaluták esetében nincs ilyen központi intézmény. A kihívást az jelenti, hogy ahhoz a bizonyos közös, nyilvános főkönyvhöz elméletben bárki hozzáadhat új tranzakciókat. Az egész bitcoin protokoll lényegében arról szól, hogy hogyan tudjuk ezt igazságosan megtenni a bizalom teljes hiányában.
Mielőtt belevágnánk a technikai részletekbe, fontosnak tartom kiemelni, hogy a kriptovalutáknak nincs mögöttes fedezete. A bitcoinnak nincs materializált formája, nincs mögötte semmiféle értéket képviselő dolog vagy intézmény; az értéke kizárólag azon alapul, amit az emberek neki tulajdonítanak. Lényegében, ha van egy bitcoinod, az tényleg csupán egy sor a tranzakciós listában.
Bizalom helyett matematika
Rögtön az elején tisztáznunk kell egy alapfogalmat, amely többször előkerül utunk során: a hash függvény. Ennek a függvénynek a lényege, hogy bármilyen hosszú bemeneti adatot (lehet az egy szám vagy akár egy könyv szövege) egy adott hosszúságú kimenetté képez le. Például a Bitcoin által használt SHA256 függvény minden bemenetet egy 256 hosszú bitsorozattá alakít át. Számunkra az a fontos tulajdonsága, hogy a kimenet (hash) látszólag teljesen véletlenszerű: a bemenet legkisebb változtatása is teljesen eltérő kimenetet eredményez. Ez azt jelenti, hogy adott kimenet alapján gyakorlatilag lehetetlen visszafejteni az eredeti bemenetet. Ha fel akarnánk törni, nem lenne más lehetőségünk, mint a brute force módszerhez folyamodni, azaz egyesével végig próbálgatni a bemeneteket.
Hiteles tranzakciók
A bizalom hiánya több problémát is felvet, hogy miképpen tudják egymástól független emberek építeni a tranzakciós listát. A megoldást a matematikában és kriptográfiában találjuk meg. Az első felmerülő probléma: hogyan tudhatom, hogy egy felkerülő tranzakció hiteles: valóban a küldő vitte fel, és a tartalma nem változott.
A megoldás két részből áll: egyrészt minden hálózatban résztvevő személyhez (más néven hálózati csomóponthoz) tartozik egy egymással összeköttetésben lévő privát és nyilvános kulcspár. Értelemszerűen előbbi titkos, utóbbi mindenki számára elérhető. Másrészt minden tranzakcióhoz tartoznia kell egy digitális aláírásnak. Az aláírás egy korábban említett hash függvény segítségével jön létre: bemenete a tranzakció adatai (mennyi bitcoint küldünk kinek, illetve egy egyedi azonosító) és a privát kulcsunk, a kimenete pedig maga az aláírásunk. Figyeljük meg, hogy ez alapján minden tranzakcióhoz egy teljesen egyedi aláírás fog tartozni, amely nem másolható.
Ha hitelesíteni szeretnénk, hogy a tranzakció valóban a küldőtől származik, egy validáló függvényt használunk. Ez a függvény a tranzakció adatait, az aláírást és a küldő nyilvános kulcsát kapja bemenetként, és egy igaz/hamis értéket ad vissza, hogy a tranzakció hiteles-e.
Konszenzus a káoszban
Az előző fejezetben megoldottuk a hitelesítési problémát: a kulcspárok és digitális aláírások segítségével biztosak lehetünk benne, hogy kizárólag megbízható tranzakciók kerülnek a főkönyvbe. A következő kihívás viszont az, hogy hogyan tarthatjuk ezt szinkronban.
A decentralizált működés azt jelenti, hogy nincs központi szerver, ahol a főkönyv egyetlen példánya tárolva lenne. Ehelyett minden hálózati csomópont saját másolatot tart róla. Amikor valaki egy új tranzakciót szeretne hozzáadni, nyilvánosan be kell jelentenie azt a hálózat résztvevőinek, akik frissítik a listájukat. Ez a rendszer ugyanakkor csak nehezíti a felvetett problémát: hogyan tudunk egy egységes, mindenki által elfogadott főkönyvet fenntartani ebben a decentralizált környezetben?
A megoldás: Blokklánc és ‘Proof of Work’
A Bitcoin hálózat a tranzakciókat blokkokba rendezi, majd ezeket blokkokat egy lánccá kapcsolja. Minden blokk tartalmaz egy adott számú tranzakciót és egy hivatkozást az előző blokkra, ami lehetővé teszi, hogy időrendi sorrendben kössük őket össze.
Ez az elrendezés önmagában még nem akadályozza meg, hogy egyszerre több különböző lánc keletkezzen, ezért a rendszernek szüksége van egy konszenzusmechanizmusra. A Bitcoin ezt úgy oldja meg, hogy amelyik láncolat létrehozásába a legtöbb munka került, azt fogadja el a valódi láncként. Ez a „munka” a proof of work mechanizmus révén valósul meg.
Milyen munkáról van itt szó? Itt jönnek képbe újra egy teljesen új kontextusban a korábban említett hash függvények. Minden blokk esetében a teljes tartalmát beadjuk egy SHA256 hash függvénybe. A cél az, hogy a hash kimenete meghatározott számú nullával kezdődjön, például az első 30 bitnek 0-nak kell lennie (ez a szám változó lehet). Ennek eléréséhez minden blokk tartalmaz egy változtatható számot, az úgynevezett nonce-ot (number used only once), amit addig módosítunk, amíg a hash kimenete el nem éri a kívánt formát.
Ez a folyamat rendkívül időigényes, mivel a hash függvény „feltörhetetlen”: a kívánt kimenet megtalálásának egyetlen módja, hogy különböző nonce-okat próbálunk ki, brute force alapon. Amikor egy hálózati csomópontnak sikerül olyan nonce-ot találni, amellyel a hash megfelel a követelményeknek, bejelenti ezt a hálózatnak, és a blokkot hozzáfűzi a lánchoz. Ezáltal az új blokk elfogadottá válik, és a résztvevők frissítik saját másolataikat.
A gyakorlatban előfordul, hogy egyszerre több blokk is megfejtésre kerül. Az alapszabály azonban az, hogy mindig a leghosszabb lánc számít elfogadottnak. Ezért bár a blokklánc vége egy ideig több szálon fut pár blokk erejéig, idővel kialakul egy konszenzus. Minél régebbi egy blokk, annál biztosabb a helye a láncban.
Bitcoin bányászat
Az előző fejezetben leírt folyamat tulajdonképpen a bitcoin bányászat: több millió ember próbál találni egy megfelelő nonce-ot, hogy ezzel bizonyítsa az elvégzett munkát és egy újabb blokkot hozzáfűzhessen a lánchoz. Az egyes blokkok hozzáadásának esélye rendkívül alacsony lenne egyetlen számítógép számára, akár több évbe is telhet egy megfelelő nonce megtalálása, ám mivel a hálózat egész gépparkja ezen dolgozik, átlagosan 10 percenként sikerül egy új blokkot létrehozni.
A hálózat a bányászokat befektetett energiájukért bitcoin formájában jutalmazza, így kerül a rendszerbe új pénz. Az általuk közzétett blokk elején szerepelhet egy speciális tranzakció, amely meghatározott mennyiségű kriptovalutát rendel hozzájuk. Ez az összeg négyévente feleződik, korlátozva a rendszerben keringő bitcoinok számát. Kezdetben 50 bitcoint lehetett kapni egy blokkért, jelenleg 3.125-nél járunk.

1. ábra: Bitcoin bányászok bevételének alakulása (2012-2021). Forrás: Bitcoinmagazinepro.com
Ez alapján a bitcoin bányászat felfogható szerencsejátékként is, ahol a többi bányásszal versenyezve nagyon alacsony esélyekkel próbálod eltalálni a megfelelő nonce-ot egy adott összegű bitcoinért cserébe. De mi történik, ha elfogy a blokk jutalom? Ezesetben nagyobb szerepet fog kapni a jelenleg még csak opcionális másik ösztönző, a tranzakciós költség. Ezt a küldő fél adja hozzá a küldött összeghez, és azt a bányászt illeti, aki a tranzakciót tartalmazó blokkot hozzáadja a blokklánchoz. Ahogy a második ábrán látható, jelenleg a blokk jutalom teszi ki a bányászok bevételének túlnyomó részét.

2. ábra: Bitcoin bányászok bevétele, tranzakciós költségek és blokkjutalom szerinti bontásban. Forrás: Bitcoinmagazinepro.com
Konklúzió
Remélhetőleg a cikk mélyebb betekintést nyújtott a kriptovaluták működésébe. Bár a kereskedés ezen információk nélkül is kiválóan működik, érdemes alaposabban megérteni, hogy mi is az az eszköz, amelybe például egyes politikai vezetők a nemzeti vagyonunkat kívánják fektetni.
A források közül kiemelném a Bitcoin fehér könyvét [1], amelyet mindenképp ajánlok elolvasásra, ha érdekel a téma. Ez a dokumentum rendkívül érdekes, mivel bemutatja az alapkoncepciót anélkül, hogy a megvalósulás már megtörtént volna. Ha pedig egy könnyebben emészthető, vizuális magyarázatra vágysz, mindenképp nézd meg az utolsó YouTube linken található videót [4].
Források
[1] Nakamoto, S. (n.d.). Bitcoin: Egy peer-to-peer elektronikus készpénzrendszer. www.bitcoin.org. Fordítás: Bitcoin bázis. https://bitcoin.org/files/bitcoin-paper/bitcoin_hu.pdf
[2] Driscoll, S. (2013). How Bitcoin Works Under the Hood. Imponderable Things. https://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html
[3] Floyd, D. (2024). How Does Bitcoin Work? Definition and How to Invest. Investopedia. https://www.investopedia.com/news/how-bitcoin-works/
[4] 3Blue1Brown (2017. július 17.). De hogyan is működik valójában a bitcoin?. [Video]. YouTube. https://www.youtube.com/watch?v=bBC-nXj3Ng4
0 hozzászólás