Bányászat és konszenzus
Ki írhatja a következő blokkot, és miért éri meg becsületesnek lenni? A munkabizonyíték és a letétbizonyíték.
Egy decentralizált rendszerben valakinek el kell döntenie, mely tranzakciók és milyen sorrendben kerülnek a következő blokkba. Ha bárki szabadon írhatna blokkokat, a hálózat pillanatok alatt egymásnak ellentmondó változatokra hullana szét. Ezért minden blokkláncnak szüksége van egy közös szabályrendszerre, amely alapján a résztvevők megegyeznek az egyetlen érvényes láncban. Ezt nevezzük konszenzusmechanizmusnak.
Munkabizonyíték: a bányászat
A Bitcoin konszenzusmechanizmusa a munkabizonyíték (angolul Proof of Work, röviden PoW). A blokkokat a bányászok (miner) készítik: összegyűjtik a hitelesítésre váró tranzakciókat, majd egymással versenyezve megoldanak egy kriptográfiai feladványt.
A feladvány a következő: olyan blokkot kell összeállítani, amelynek a hash-e kisebb egy előre meghatározott értéknél – a gyakorlatban: meghatározott számú nullával kezdődik. Mivel a hash-függvény eredménye kiszámíthatatlan, erre nincs okos módszer, csak a próbálgatás. A bányász a blokkfejléc egy erre szolgáló mezőjét, a nonce-t (number used once, „egyszer használt szám”) változtatja, és minden változatnak kiszámolja a hash-ét, amíg szerencséje nem lesz.
Az a bányász, amelyik elsőként talál megfelelő hash-t, közzéteszi a blokkot. A feladvány megoldása rengeteg számítást igényel, az ellenőrzése viszont egyetlen hash kiszámolása – ezért a csomópontok egy pillanat alatt meggyőződhetnek róla, hogy a blokk érvényes, és hozzáfűzik a láncukhoz. Ezután az egész kezdődik elölről.
Interaktív elem – betöltés…
Nehézség és tíz perc
A Bitcoin-hálózat úgy van beállítva, hogy átlagosan tíz percenként szülessen egy új blokk. Ha több bányász csatlakozik, és a hálózat összes számítási teljesítménye nő, a blokkok gyorsabban jönnének – ezért a rendszer 2016 blokkonként (nagyjából kéthetente) automatikusan igazítja a feladvány nehézségét: ha túl gyorsan születtek a blokkok, nehezebb lesz, ha túl lassan, könnyebb.
Miért dolgoznak a bányászok?
A bányászat rendkívül energiaigényes, ezért önkéntes alapon soha nem működne. A rendszer ezért jutalmat fizet: az a bányász, amelyik egy érvényes blokkot talál, két forrásból kap bitcoint:
- blokkjutalom: minden blokkban új bitcoinok jönnek létre, és ezek a sikeres bányászt illetik. Így kerülnek forgalomba az új bitcoinok – nincs más kibocsátó;
- tranzakciós díjak: a blokkba foglalt tranzakciók küldői díjat ajánlanak fel, és ezt is a bányász kapja.
A jutalmat a bányász a blokk legelső, különleges tranzakciójában írja jóvá magának (a részletek a Bitcoin térképen következnek).
Miért nem lehet csalni?
Most már látszik, miért nem írható át egy korábbi blokk. A hamisítónak a módosított blokkot és az összes utána következőt újra ki kellene bányásznia, mégpedig gyorsabban, mint ahogy a becsületes bányászok a lánc végét építik. A csomópontok ugyanis mindig azt a láncot fogadják el érvényesnek, amelybe a legtöbb munka került (egyszerűsítve: a leghosszabbat). Ez csak akkor sikerülhetne, ha a hamisító birtokolná a hálózat teljes számítási kapacitásának több mint felét. Ezt 51%-os támadásnak nevezik, és a Bitcoin méreténél ma gyakorlatilag kivitelezhetetlen: a szükséges hardver és energia költsége óriási lenne, és a támadás magát a bitcoin értékét tenné tönkre.
Érdemes megérteni, hogy a számításigény nem mellékhatás, hanem a rendszer célja. A tranzakciókat bányászat nélkül is blokkokba lehetne foglalni, ha mindenki becsületes lenne. A bányászat azért kell, hogy a csalás rendkívül költséges legyen: a „többség szavát” itt nem a résztvevők száma (online bárki létrehozhatna ezer álnevet), hanem a ténylegesen elvégzett munka adja.
Letétbizonyíték: a másik út
Nem minden blokklánc bányászik. Az Ethereum 2022-ben áttért a letétbizonyítékra (Proof of Stake, röviden PoS). Itt a blokkokat validátorok készítik, akik ehhez saját kriptovalutát helyeznek letétbe (stake). Minél nagyobb a letét, annál gyakrabban kerülnek sorra. Ha csalnak, a letétjük egy részét elveszíthetik. A számítási verseny így megszűnik, és az energiafelhasználás töredékére csökken. Erről az Ethereum térképen lesz szó részletesen.
Megerősítések
Amikor egy tranzakció bekerül egy blokkba, egy megerősítést (confirmation) kap. Minden újabb blokk, amely erre ráépül, még egy megerősítés. Minél több blokk épült a tranzakciót tartalmazó blokkra, annál biztosabb, hogy az véglegesen a lánc része marad. A Bitcoinon hat megerősítést (nagyjából egy órát) szokás gyakorlatilag visszafordíthatatlannak tekinteni.
Megjegyzés: a megerősítések száma a nyomozásban is számít: egy még megerősítetlen tranzakció elméletileg felülírható (erről a Bitcoin térképen, a díjaknál lesz szó). Ha valaki kriptovagyont szerez meg egy tranzakcióval, csak az első egy-két megerősítés után tekintheti a műveletet lezártnak.
Extra tudásMennyi energiát használ a bányászat?
A Bitcoin-bányászat energiafelhasználása egy közepes méretű ország áramfogyasztásával mérhető össze, ezért a technológiát sok kritika éri. A bányászat ma már speciális, csak erre a célra gyártott gépeken (ASIC-eken) folyik, nagy bányaüzemekben, ott, ahol olcsó az áram. Az otthoni számítógéppel végzett bányászat már régóta nem éri meg. Bűnügyi szempontból ez is érdekes: előfordul, hogy bányagépeket lopott árammal működtetnek, vagy fertőzött számítógépek erőforrásait használják bányászatra.
Ellenőrizd a tudásod
A kvíz betöltése…