Forkok: amikor a lánc kettéválik
Ideiglenes elágazások, soft és hard fork, airdrop – és miért kell erről a nyomozónak tudnia.
A blokklánc elvileg egyetlen, szigorúan egymás után következő blokkokból álló sor. A gyakorlatban azonban előfordul, hogy egy ponton elágazik. Ezt angolul fork-nak (villa, elágazás) nevezik, és két nagyon különböző jelenséget takarhat.
Ideiglenes elágazás
Mivel a bányászok a világ különböző pontjain dolgoznak, megesik, hogy kettő szinte egyszerre talál érvényes blokkot. Ilyenkor a hálózat egy rövid ideig kétfelé szakad: a csomópontok egy része az egyik, másik része a másik blokkot kapja meg először. A bányászok elkezdenek a saját változatukra építeni, és amint az egyik ágon megszületik a következő blokk, az lesz a hosszabb – a csomópontok pedig mindig a több munkát tartalmazó láncot fogadják el. A vesztes ág blokkja elárvul (orphan vagy stale block), a benne lévő tranzakciók pedig visszakerülnek a várólistára, és egy következő blokkba kerülnek be. Ez a rendszer normális működésének része, és ezért érdemes néhány megerősítést megvárni.
Szabályváltozás: soft fork és hard fork
A kriptovaluták szabályai is változhatnak: a fejlesztők új funkciókat vezetnek be, hibákat javítanak. Mivel nincs központi irányító, egy szabályváltozás csak akkor lép életbe, ha a hálózat résztvevői – a csomópontok és a bányászok – az új szoftvert kezdik futtatni. Két fajtáját különböztetjük meg:
- Soft fork (lágy elágazás): az új szabályok szigorúbbak a régieknél, ezért az új szabályok szerint készült blokkokat a régi szoftvert futtató csomópontok is érvényesnek fogadják el. A lánc egyben marad, a frissítés fokozatosan terjedhet. A Bitcoin legtöbb fejlesztése így történt.
- Hard fork (kemény elágazás): az új szabályok nem kompatibilisek a régiekkel: az új blokkokat a régi szoftver érvénytelennek látja, és fordítva. Ha mindenki frissít, ez sem okoz gondot. Ha viszont a közösség megosztott, és egy része a régi szabályok szerint folytatja, a lánc véglegesen kettéválik, és onnantól két külön kriptovaluta létezik.
A közös múlt következményei
A hard fork után létrejövő két lánc a szétválásig ugyanazt a történetet tartalmazza. Ebből fontos következmény adódik: aki a szétválás pillanatában valamennyi kriptovalutával rendelkezett az eredeti láncon, az mindkét láncon ugyanakkora egyenleggel rendelkezik, ugyanazokkal a privát kulcsokkal. A szétválás után a két lánc tranzakciói már függetlenek egymástól: ha valaki az egyik láncon elkölti a pénzét, a másikon az még ott marad.
Ezt a jelenséget gyakran airdropnak (légi szállítás, ingyen osztás) is nevezik, mert a felhasználók külön tennivaló nélkül „kapnak” egy új kriptovalutát. (Az airdrop szót tágabb értelemben minden olyan esetre használják, amikor egy projekt ingyen tokeneket oszt a felhasználóknak – erről az Ethereum térképen még lesz szó.)
A legismertebb példa a Bitcoin Cash létrejötte 2017-ben, amikor a Bitcoin közösségének egy része a nagyobb blokkméret mellett döntött, és hard forkkal leválasztott egy új láncot. Az Ethereum története is ismer ilyet: egy feltört okosszerződés miatt végrehajtott hard fork után a régi szabályok szerint folytatódó lánc Ethereum Classic néven él tovább. Mindkettőről a saját térképén lesz szó.
Megjegyzés: a forkok miatt egy kriptovagyon felkutatásánál mindig fel kell tenni a kérdést: létezett-e a vagyon egy hard fork időpontjában? Ha igen, a gyanúsítottnak az elágazás után létrejött láncon is lehet vagyona, ugyanazokkal a kulcsokkal. A régi címek és tranzakciók ilyenkor mindkét láncon visszakereshetők, és a privát kulcs birtokában mindkét láncon hozzáférhetők.
Extra tudásHogyan kerülhető el, hogy egy tranzakció mindkét láncon végrehajtódjon?
Közvetlenül egy hard fork után a két lánc tranzakciói kezdetben ugyanúgy néznek ki. Ha valaki az egyik láncon aláír egy tranzakciót, azt egy rosszakaró egyszerűen elküldheti a másik láncra is, ahol ugyanúgy érvényes lesz, és a címzett mindkét láncon megkapja a pénzt. Ezt visszajátszásos támadásnak (replay attack) nevezik. A gondosan tervezett hard forkok ezért olyan apró módosítást is tartalmaznak, amely a két lánc tranzakcióit megkülönbözteti egymástól (replay protection).
Ellenőrizd a tudásod
A kvíz betöltése…