A Bitcoin alapja központi szerver vagy adminisztrátor nélkül működik. A ledger-t kezelő egyetlen entitás helyett a hálózat egy elosztott számítógépes rendszerre támaszkodik, amelyeket csomópontoknak hívnak. Ezek a résztvevők önkéntesen futtatják a Bitcoin szoftvert a hálózat integritásának fenntartása érdekében. Ők a rendszer bíróságai, akik érvényesítik a protokoll szabályait központi hatóság engedélye vagy koordinációja nélkül. Ez az architektúra egy mesh hálózatot hoz létre, ahol az információ peer-to-peer módon terjed, biztosítva, hogy a rendszer ellenálljon a cenzúrának és az egypontos hibáknak.
Ebben a rendszerben minden résztvevő rendelkezik hatalommal. Amikor egy tranzakció történik, nem küldik bankhoz jóváhagyásra. Ehelyett kibocsátják ezekhez a csomópontokhoz, amelyek függetlenül ellenőrzik az adatokat saját ledger másolatukkal szemben. Ez a redundancia szándékos. Biztosítja, hogy még ha a hálózat nagy része offline megy vagy rosszindulatúan próbálkozik, a maradék becsületes csomópontok továbbra is fenntartják a tranzakciótörténet helyes verzióját. Ezeknek a csomópontoknak a kollektív megállapodása alkotja az „igazságot” arról, hogy ki mit birtokol bármely adott pillanatban.
A Bitcoin architektúra megértéséhez mélyreható vizsgálat szükséges arról, hogyan működnek, kommunikálnak és érnek konszenzusra ezek a csomópontok. Egy tranzakció életciklusának vizsgálatát foglalja magában, attól a pillanattól, hogy digitálisan aláírják, addig a pontig, amíg egy bányász véglegesen bevésti a blockchain-be. Ez a validálási és továbbítási rendszer az, ami digitális információt szűkös, átadható eszközzé alakít, amely pénz funkcióját látja el.
A Bitcoin csomópont magjának meghatározása és funkciója
A szoftver és a részvétel meghatározása
A Bitcoin csomópont egyszerűen egy olyan számítógép, amely futtatja a Bitcoin szoftvert, és csatlakozik a hálózaton lévő többi számítógéphez. Ennek a szoftvernek a leggyakoribb implementációja a Bitcoin Core. Amikor egy felhasználó telepíti és futtatja ezt a klienst, a gépe csatlakozik a globális peer hálózathoz. Egy csomópont elsődleges funkciója a tranzakciók és blokkok validálása. Független könyvvizsgálóként működik, amely minden kapott adatot ellenőrzi a Bitcoin protokoll szigorú szabályai szerint. Ha egy tranzakció megsérti a szabályt, például olyan érméket próbál költeni, amelyek nem léteznek, a csomópont azonnal elutasítja.
A peer-to-peer mesh hálózat
A csomópontok mesh topológiában csatlakoznak egymáshoz. Nincs hierarchia, ahol egyik csomópont fontosabb lenne a másiknál a validálás szempontjából. Amikor egy csomópont új információt kap, például új tranzakciót vagy blokkot, azt továbbítja a csatlakoztatott peerek felé. Ez egy pletyk protocollal jár, ahol az adatok másodpercek alatt terjednek át a Földön. Ez a struktúra biztosítja a hálózat robusztusságát. Ha egy csomópont leáll, a hálózat zökkenőmentesen folytatódik, mert a ledger ezrekenyi más gépen replikálódik.
Autonómia és bizalommentesség
Egy csomópont futtatásának legfontosabb aspektusa az autonómia. A saját csomópontot futtató felhasználónak nem kell megbíznia bankban, weboldalt vagy akár más bányászokban sem a mérlegének közlésében. Saját maga ellenőrzi, a helyi meghajtón tárolt blockchain történetét átfésülve. Ezt a képességet gyakran „szuverenitásként” emlegetik a kripto térben. A harmadik felekre való támaszkodás eltávolításával a csomópontok érvényesítik a rendszer bizalommentes jellegét. A hálózat feltételezi, hogy a résztvevők mindent ellenőrizzenek maguk, nem bízva senkiben.
Tranzakció architektúra és adatstruktúra
Bemenetek, kimenetek és digitális aláírások
Technikai szinten egy Bitcoin tranzakció egy üzenet, amely értéket helyez át egyik helyről a másikra. Nem úgy működik, mint egy bankszámla egyenleg, amely egyszerűen nő vagy csökken. Ehelyett a tranzakciók bemenetekből és kimenetekből állnak. Egy bemenet egy korábbi tranzakcióban kapott bitcoinra utal, míg egy kimenet megjelöli, hogy hová megy ez a bitcoin legközelebb. A transzfer engedélyezéséhez a küldőnek digitális aláírást kell generálnia a privát kulcsával. Ez az aláírás bizonyítja, hogy jogosult a mozgatásra a adott nyilvános kulcshoz vagy címhez tartozó alapokkal.
A kiadatlan tranzakció kimenet (UTXO) modell
A Bitcoin a kiadatlan tranzakció kimenet (UTXO) modellt használja a tulajdonjog követésére. A protokollban nincsenek számlák, csak UTXO-k. Amikor egy felhasználó bitcoin-t kap, a hálózat azt kiadatlan kimenetként rögzíti a címéhez zárva. Annak elköltéséhez új tranzakciót kell létrehozniuk, amely azt az UTXO-t bemenetként fogyasztja. Ha az UTXO nagyobb, mint a küldeni kívánt összeg, a tranzakció két kimenetet hoz létre: egyet a címzettnek és egyet a „visszajárónak”, amely a küldőhöz tér vissza.
Kriptográfiai ellenőrzés
Amikor egy csomópont tranzakciót kap, kriptográfiai ellenőrzéseket végez sorban. Ellenőrzi, hogy a digitális aláírás illeszkedik-e a nyilvános kulcshoz, és hogy a költött bemenetek ténylegesen léteznek-e a jelenlegi UTXO halmazban. A csomópont biztosítja, hogy a bemenetek összege nagyobb vagy egyenlő legyen a kimenetek összegével. A bemenetek és kimenetek közötti különbséget a bányász transaction fee-ként követeli. Ez a szigorú ellenőrzési folyamat megakadályozza, hogy a felhasználók olyan pénzt költsenek el, ami nincs náluk.
A mempool és a tranzakció továbbítás
A memória medence szerepe
Miután egy csomópont ellenőrizte a tranzakciót, az nem kerül azonnal a blockchain-be. Ehelyett egy váróterületre kerül, amelyet mempoolnak vagy memória medencének hívnak. A mempool az összes érvényes, még meg nem erősített tranzakció gyűjteménye, amit a csomópont látott, de még nem került blokkba. Minden csomópont saját verzióját tartja fenn a mempoolról. Mivel a tranzakciók különböző sebességgel terjednek a hálózaton, egy csomópont mempoolja kissé eltérhet egy másikétól bármely adott másodpercben.
Dugók és díjpiacok
A mempool puffertöltőként működik. Mivel a blockchain blokkoknak korlátozott mérete van, jelenleg nagyrészt a blokk súlylimit határozza meg, csak bizonyos számú tranzakciót lehet feldolgozni tíz percenként. Ha a hálózat elfoglalt, a mempoolba belépő tranzakciók száma meghaladhatja a blokkokban kilépők számát. Ez dugulást okoz. Ebben a környezetben díjpiac alakul ki. A felhasználók tranzakciós díjakat csatolnak, hogy ösztönözzék a bányászokat saját tranzakciójuk előtérbe helyezésére.
Priorizálási mechanizmusok
A bányászok a mempoolt potenciális bevételi menüként látják. Gazdaságilag ösztönzöttek a legmagasabb bájtonkénti díjat kínáló tranzakciók kiválasztására. Ennek következtében a alacsony díjas tranzakciók órákig vagy napokig is várhatnak a mempoolban magas aktivitás idején. Akik sürgős megerősítést szeretnének, használhatnak tranzakció gyorsító szolgáltatásokat vagy eleve magasabb díjat csatolhatnak. Ha egy tranzakció túl sokáig vár megerősítésre, végül kieshet a mempoolból, hatékonyan törölve a kérést és visszaadva az alapokat a küldő irányítása alá.
Bányász csomópontok és a Proof of Work mechanizmus
Tranzakciók aggregálása blokkokba
A bányász csomópontok a hálózat speciális alcsoportja. Míg minden csomópont validálja a tranzakciókat, csak a bányászok építenek új blokkokat. Egy bányász magas díjas tranzakciókat választ a mempooljából, és szervezi őket jelölt blokkba. Ez a blokk a nyilvános ledger javasolt frissítéseként szolgál. A bányász célja ennek a blokknak a hozzáadása a blockchain-hez a blokk jutalom és a felhalmozott tranzakciós díjak megszerzéséhez. Azonban a hálózat nem engedi bárkinek tetszés szerint blokk hozzáadását.
A Proof of Work lottó
Blokk hozzáadásához a bányásznak meg kell oldania egy számítási rejtvényt, a Proof of Work (PoW)-ot. Ez a blokk fejléc adatainak többszöri lefuttatását jelenti a SHA-256 hash algoritmuson keresztül. A bányász minden próbálkozásnál megváltoztat egy „nonce” nevű véletlen számot, keresve olyan hash eredményt, amely alacsonyabb egy hálózati nehézség által meghatározott célértéknél. Ez a folyamat energiaigényes, és digitális lottóként működik. Minél több számítási teljesítményt vagy hashratet járul hozzá egy bányász, annál több „szelvénye” van effektíve ebben a lottóban.
Hálózati nehézség és stabilitás
E rejtvény nehézségét nem statikus. A protokoll minden 2016 blokk után, kb. két hetente beállítja a nehézséget, hogy a blokkok átlagosan tíz percenként keletkezzenek. Ha több bányász csatlakozik és nő a hashrate, a rejtvény nehezebb lesz. Ha bányászok távoznak, könnyebb. Ez az önreguláló mechanizmus biztosítja a pénzkínálat ütemezésének stabilitását, függetlenül attól, mennyi hardver van dedikálva a hálózathoz. Megtéve a hálózat támadásának költségét csillagászian drágává.
Konszenzus és a leghosszabb lánc szabály
Elosztott megállapodás elérése
A konszenzus az a folyamat, amelyben független csomópontok megállapodnak a ledger állapotáról. Egy decentralizált rendszerben lehetséges, hogy két bányász nagyjából egyszerre oldja meg a Proof of Work rejtvényt. Ez átmeneti villát hoz létre, ahol két érvényes blokk versenyez a lánc következő láncszeméért. A hálózat különböző részei különböző blokkokat kaphatnak először. Ezt megoldva a Bitcoin csomópontok a „leghosszabb lánc” szabályt követik, ami technikailag a legtöbb felhalmozott proof of work-kel rendelkező lánc.
Átmeneti villák megoldása
Ha villa keletkezik, a csomópontok mindkét verziót memóriában tartják, de arra építenek, amit először kaptak. Ahogy a következő blokk megtalálódik, az az egyik versenyző blokkra hivatkozik. A hosszabbra növő lánc lesz az elfogadott igazság, a rövidebbet eldobják. Az eldobott lánc blokkja „árva blokk” lesz. Az árva blokkban lévő tranzakciók nem vesznek el; egyszerűen visszatérnek a mempoolba, ha még nincsenek a győztes láncban.
A megerősítések fontossága
A konszenzus valószínűségi jellege miatt fontosak a „megerősítések”. Egy tranzakciónak egy megerősítése van, ha blokkba került. Ahogy több blokk épül rá, nő a megerősítések száma. Minden új blokkal exponenciálisan nő az energiaigény a tranzakció megfordításához. Általában hat megerősítést tartanak abszolút véglegességnek, mivel ez gyakorlatilag lehetetlenné teszi a dupla költést olyan támadó számára, akinél nincs túlnyomó számítási fölény.
Bitcoin Script és programozhatóság
A verem alapú nyelv
A Bitcoin egy egyszerűen „Script”-nek hívott szkript rendszert használ a pénzköltési feltételek meghatározására. Ez verem alapú nyelv, ami azt jelenti, hogy adatokat verembe tol be és onnan vesz ki műveletekhez. A általános számítástechnikában használt nyelvekkel ellentétben a Script szándékosan korlátozott. Nem Turing-teljes, tehát hiányoznak belőle a komplex ciklusok. Ez a tervezés megakadályozza a végtelen ciklusokat, amelyek befagyaszthatnák a hálózatot, a biztonságot és kiszámíthatóságot helyezi előtérbe a rugalmassággal szemben.
Záró és feloldó szkriptek
Minden tranzakció kimenet tartalmaz egy „záró szkriptet” (ScriptPubKey), amely meghatározza a pénzköltés feltételeit. Általában ez a feltétel egy érvényes digitális aláírás megadása adott nyilvános kulcs hash-hez (címhez). Ezen alapok elköltéséhez a felhasználó tárcája „feloldó szkriptet” (ScriptSig) generál az aláírással és nyilvános kulccsal. A validáló csomópontok ezeket a szkripteket együtt futtatják. Ha az eredmény „Igaz”, a tranzakció érvényes.
Okosszerződés képességek
Bár egyszerű, a Script alapvető okosszerződéseket tesz lehetővé. A leggyakoribb példa a Multi-Signature (Multi-Sig) tárca, amely több privát kulcs aláírását igényli a tranzakció engedélyezéséhez. Lehetővé teszi időzárakat is, ahol az alapok nem költhetők el bizonyos blokk magasságig vagy időbélyegig. Fejlettebb innovációk, mint a Lightning Network, ezekre a szkript képességekre épülnek fizetési csatornák létrehozásában, amelyek láncáson kívül működnek, miközben a fő hálózat védelmét élvezik.
Dupla költés megelőzése
A digitális pénz problémája
Bármely digitális valuta alapvető kihívása a dupla költés probléma. Mivel a digitális fájlokat tökéletesen lehet másolni, egy rosszindulatú szereplő elméletileg megpróbálhatja ugyanazt a digitális tokent egyszerre két különböző címzetthez küldeni. Egy centralizált rendszerben a bank ezt megakadályozza egy mesteradatbázis frissítésével. A Bitcoin-nak ezt centralizált hatóság nélkül kell megelőznie. A transzparens ledger és a Proof of Work kombinációja adja a megoldást.
Kronológiai sorrend
A blockchain időbélyeg szerverként szolgál. A tranzakciók blokkokba csoportosításával és kriptográfiai összekapcsolásával a hálózat merev kronológiai sorrendet állít fel. Ha egy felhasználó két ellentmondó tranzakciót sugároz, a csomópontok csak az elsőt fogadják el, amit látnak. Miután az a blokkba kerül, a második tranzakció érvénytelenné válik, mert a költni próbált bemenetek már nincsenek az UTXO halmazban. A hálózat megváltoztathatatlan történelmet hoz létre.
Védelem a megfordítás ellen
Megerősített érmék dupla költéséhez egy támadónak újra kell írnia a blockchain történelmet. Ez a eredeti tranzakciót tartalmazó blokk és minden utána következő blokk újrbányászását jelenti, hatékonyan megelőzve a becsületes láncot. Ezt 51%-os támadásnak hívják. Az ehhez szükséges hatalmas energiaigény teszi biztonságossá a hálózatot. A Bitcoin támadásához szükséges áram és hardver költsége általában meghaladja a potenciális profitot, így a bányászok ösztönei a hálózat biztonságával egyeznek.
Csomópont változatok és tárhelyigények
Teljes csomópontok
A teljes csomópontok a hálózat gerince. Letöltik és tárolják a teljes blockchain történelmet, az 2009-ben bányászott első blokktól a jelenig. Függetlenül ellenőrzik minden tranzakciós szabályt. Egy teljes csomópont futtatása jelentős lemezterületet és sávszélességet igényel, de a legmagasabb szintű adatvédelmet és biztonságot nyújtja. A teljes csomópontot futtató felhasználó senkiben sem bízik, és hozzájárul az ökoszisztéma egészségéhez az érvénytelen blokkok elutasításával.
Vágott csomópontok
Korlátozott tárhelyű felhasználóknak a szoftver „vágást” tesz lehetővé. Egy vágott csomópont letölti és ellenőrzi a teljes blockchain-t, de törli a régi blokkadatokat a helyspórolás érdekében, csak a legfrissebb történelmet és a teljes UTXO halmazt megtartva. A vágott csomópont továbbra is teljesen validáló csomópont. Ugyanazt a biztonsági modellt kínálja, mint egy standard teljes csomópont, de nem tudja a teljes történelmet szolgálni új csomópontoknak.
Könnyűsúlyú kliensek (SPV)
A leegyszerűsített fizetésellenőrző (SPV) csomópontok, vagy könnyűsúlyú kliensek nem töltik le a teljes blockchain-t. Ehelyett csak a blokk fejlécet töltik le – a kis adatszerkezeteket, amelyek ellenőrzik a proof of work-et. Teljes csomópontokra támaszkodnak specifikus tranzakció információkért. Bár ez gyors és mobilbarát, kevésbé biztonságosak, mert bírizniuk kell, hogy a csatlakoztatott teljes csomópontok pontos adatokat adnak. Nem tudják függetlenül ellenőrizni, hogy a protokoll szabályait betartják-e.
Gazdasági architektúra: Díjak és feleződés
A blokk jutalom ütemezés
A bányászokat blokk jutalmakkal kompenzálják, amelyek újonnan vert bitcoin-ból állnak. Ez a támogatás az egyetlen módja az új bitcoin forgalomba hozatalának. A szűkösség biztosítására a protokoll „feleződési” mechanizmust tartalmaz. Körülbelül négy évente a blokk jutalom felére csökken. 50 BTC-vel indult, majd 25-re, 12,5-re, 6,25-re stb. Ez az esemény csökkenti az inflációt és megerősíti az eszköz deflációs jellegét.
Átmenet díjalapú biztonsági modellre
A feleződés a hálózat hosszú távú biztonsági költségvetését is érinti. Ahogy a blokk támogatás csökken, a bányászoknak egyre inkább a tranzakciós díjakra kell támaszkodniuk működési költségeik fedezésére. Ez az átmenet biztosítja, hogy a hálózat önfenntartó maradjon még az utolsó bitcoin kibányászása után is, körülbelül 2140 körül. Akkor a bányászokat kizárólag a felhasználók által fizetett díjak tartják fenn biztonságos és cenzúraálló tranzakciókért.
Piaci dinamikák
A díjpiac dinamikus. Ha alacsony a blokktér igény, a díjak fillérek lehetnek. Ha magas, a díjak emelkednek. Ez a ingadozás hatékony hálózatfelhasználásra kényszerít. Ösztönzi skálázó rétegek, mint a Lightning Network fejlesztését kis, gyakori fizetésekhez, míg a fő blockchain magas biztonsági elszámolási rétegként szolgál nagy értékű transzferekhez. A gazdasági ösztönzők biztosítják, hogy a bányászok tovább védjék a láncot, amíg érték van a hálózatban.
Összegzés
A Bitcoin hálózat architektúrája gondosan kiegyensúlyozott kriptográfia, játékelmélet és elosztott számítástechnika. A validálás szerepének ezrekenyi független csomópont közötti elosztásával a rendszer kiküszöböli a központi adminisztrátor szükségességét. A mempool, bányászok és megváltoztathatatlan ledger közötti kölcsönhatás biztosítja a tranzakciók biztonságos és méltányos feldolgozását. Bár a Proof of Work mechanizmus jelentős energiát igényel, megadja a hamisíthatatlan költségességet, ami szükséges egy globális értéktranszfer rendszer védelméhez támadások és dupla költések ellen.
Ahogy a hálózat fejlődik, a csomópontok szerepe állandó marad: ők a protokoll őrzői. Akár teljes csomópont futtatásával a szabályok érvényesítésére, akár díjpiaci részvétellel a tranzakciók priorizálására, minden hálózati interakció ezen az infrastruktúrán alapul. A rendszer tervezése – a szkript nyelvtől a feleződési ütemezésig – a stabilitást és biztonságot helyezi előtérbe, létrehozva egy robusztus, átlátható digitális pénzhálózatot, amely nyitott bárki számára, akinek van számítógépe.
A Bitcoin csomópontok lehetővé teszik, hogy saját bankod legyél a teljes ledger történelem saját ellenőrzésével.