Kezdőlap
Cikkek
Magyarázat a hard és soft forkhoz

Magyarázat a hard és soft forkhoz

Középszintű
Közzétéve Nov 29, 2018Frissítve Feb 9, 2023
8m

Bevezetés

Amikor arra kérik, hogy frissítse okostelefonján a mobilbank alkalmazást, valószínűleg nem hezitál rajta. Lehet, hogy a telefonja automatikusan letölti a frissítést, anélkül, hogy Ön észrevenné. Végül is ez egy szükséges folyamat – ha nem telepíti a szoftver legújabb verzióját, fennáll a veszélye annak, hogy megtagadják a hozzáférést a szolgáltatásokhoz.

A nyílt forráskódú kriptovaluták esetében a dolgok egészen másképp működnek. Nem kell elolvasnia minden kódsort, ami a Bitcoin alapját képezi ahhoz, hogy használhassa, de fontos, hogy ezt megtehesse. Mint látja, itt nincs hierarchia, és nincs olyan bank, amely önkényesen frissíthet és változtathat a dolgokon. Ennek eredményeképpen az új funkciók bevezetése a blokklánchálózatokba kihívást jelenthet.

Ebben a cikkben azt vizsgáljuk meg, hogyan lehet a kriptohálózatokat fejleszteni a központi hatóság hiánya ellenére. Ehhez két különböző mechanizmust használnak: hard fork és soft fork elágazásokat. 


Ki hozza meg a döntéseket egy blokklánchálózaton?

Ahhoz, hogy megértsük, hogyan működnek a forkok, először is fontos, hogy megértsük a hálózat döntéshozatali folyamatának (vagy irányításának) résztvevőit.

A Bitcoin esetében nagyjából a résztvevők három alcsoportját különböztethetjük meg: a fejlesztőket, a bányászokat és a teljes csomópontok felhasználóit. Ezek azok a felek, akik ténylegesen hozzájárulnak a hálózathoz. A könnyű csomópontokat (azaz a telefonok, laptopok stb. tárcáit) széles körben használják, de a hálózat szempontjából nem igazán számítanak "résztvevőknek".


Fejlesztők

A fejlesztők felelősek a kód létrehozásáért és frissítéséért. Egy tipikus érme esetében bárki hozzájárulhat ehhez a folyamathoz. A kód nyilvánosan megtekinthető, így a változtatásokat más fejlesztők is átnézhetik. 


Bányászok

A bányászok azok, akik biztosítják a hálózatot. Ők futtatják a kriptovaluták kódját, és saját erőforrásaik segítségével új blokkokat adnak hozzá a blokklánchoz. A Bitcoin hálózatán például ezt Proof-of-Work segítségével teszik. Erőfeszítéseikért blokkjutalom formájában jutalmazzák őket.


Teljes csomópontok felhasználói

A teljes csomópontok alkotják a kriptovaluta-hálózat gerincét. Blokkokat és tranzakciókat validálnak, küldenek és fogadnak, illetve fenntartják a blokklánc egy példányát.


Gyakran lehet átfedéseket találni ezekben a kategóriákban. Például lehet valaki egyben fejlesztő és teljes csomópont felhasználó, vagy bányász és teljes csomópont felhasználó is. Lehet mind a három vagy egyik sem. Valójában sokan, akiket kriptofelhasználóknak tekintünk, nem töltenek be ilyen szerepeket. Inkább a könnyű csomópontok vagy centralizált szolgáltatások használata mellett döntenek.

A fentieket elnézve komoly érvek szólnak amellett, hogy a fejlesztők és a bányászok hozzák meg a hálózatra vonatkozó döntéseket. A fejlesztők hozzák létre a kódot - nélkülük nem lenne futtatható szoftver, és nem lenne, aki kijavítsa a hibákat vagy új funkciókat adna hozzá. A bányászok biztosítják a hálózatot - egészséges bányászverseny nélkül átvehetnék az irányítást a lánc felett, vagy megbéníthatnák a rendszert.

Ha azonban ez a két kategória megpróbálná ráerőltetni a hálózat többi részére, hogy kövessék az akaratukat, annak nem lenne túl jó vége. Sokak számára az igazi hatalom a teljes csomópontokban összpontosul. Ez nagyrészt annak köszönhető, hogy a hálózatokban önkéntes a részvétel, azaz a felhasználók megválaszthatják, hogy milyen szoftvert futtatnak. 

A fejlesztők nem törnek be az otthonába, és nem tartanak fegyvert a fejéhez, hogy töltse le a Bitcoin Core bináris fájlokat. Ha a bányászok a „megszoksz vagy megszöksz” hozzáállást követnék, hogy a nem kívánt változtatásokat rákényszerítsék a felhasználókra, nos, a felhasználók egyszerűen megszöknének. 

Ezek a felek nem mindenható nagyurak, hanem szolgáltatók. Ha az emberek úgy döntenek, hogy nem használják a hálózatot, akkor az érme veszíteni fog az értékéből. Az értékvesztés közvetlenül érinti a bányászokat (jutalmuk dollárban kifejezve kevesebbet ér). Ami a fejlesztőket illeti, a felhasználók egyszerűen figyelmen kívül hagyhatják őket.

Nos, a szoftver nem szabadalmaztatott. Bármilyen szerkesztést elvégezhet, és ha mások is futtatják a módosított szoftvert, mindannyian kommunikálhatnak egymással. Ebben az esetben Ön forkolja a szoftvert, és ezzel egy új hálózatot hoz létre.


Mi az a fork?

A szoftver fork egy olyan ponton következik be, ahol a szoftvert másolják és módosítják. Az eredeti projekt fennmarad, de már elkülönül az újtól, amely más irányt vett. Tegyük fel, hogy a kedvenc kriptós weboldala csapatának komoly nézeteltérései vannak a folytatással kapcsolatban. A csapat egy része lemásolhatja a weboldalt egy másik domainre. De a továbbiakban az eredetitől eltérő típusú tartalmakat posztolnának.

A projektek közös alapokra épülnek, és közös a történetük. Akárcsak egy út, amely kettéválik, végleg elválnak egymástól.

Érdemes tudni, hogy az ilyesmi gyakran előfordul a nyílt forráskódú projektekben, és már jóval a Bitcoin vagy az Ethereum megjelenése előtt is megtörtént. A hard fork és soft fork közötti különbség azonban szinte kizárólag a blokklánc térben létezik. Nézzük át őket egy kicsit részletesebben.


➠ Belépne a kriptovaluták világába? Vegyen Bitcoint a Binance-en!


Hard fork vs. soft fork

Annak ellenére, hogy hasonló nevük van, és végső soron ugyanazt a célt szolgálják, a hard fork és soft fork elágazások jelentősen különböznek egymástól. Nézzük is meg őket.


Mi az a hard fork?

A hard forkok visszafelé nem kompatibilis szoftverfrissítések. Ezek általában akkor fordulnak elő, amikor a csomópontok olyan új szabályokat hoznak, amelyek ütköznek a régi csomópontok szabályaival. Az új csomópontok csak azokkal tudnak kommunikálni, akik az új verziót működtetik. Ennek eredményeképpen a blokklánc kettéválik, és két külön hálózat jön létre: egy a régi szabályokkal, egy pedig az új szabályokkal.

Frissítéskor a csomópontok kékre váltanak. A régebbi sárga csomópontok elutasítják őket, míg a kék csomópontok csatlakoznak egymáshoz.

Frissítéskor a csomópontok kékre váltanak. A régebbi sárga csomópontok elutasítják őket, míg a kék csomópontok csatlakoznak egymáshoz.


Így most két hálózat fut párhuzamosan. Mindketten folytatják a blokkok és tranzakciók előterjesztését, de már nem ugyanazon a blokkláncon dolgoznak. Az elágazásig minden csomópont azonos blokklánccal rendelkezett (és ez az előzmény megmarad), de ezt követően különböző blokkjaik és tranzakcióik lesznek.

blokklánc fork a 600 000. blokknál


A közös előzmények miatt a végén mindkét hálózaton lesznek érméi, amennyiben a fork előtt is birtokolta őket. Tegyük fel, hogy 5 BTC-je volt, amikor a 600 000-es blokknál bekövetkezett a fork. Ezt az 5 BTC-t elkölthette a régi blokklánc 600 001-es blokkjában, de az új blokklánc 600 001-es blokkjában még nem költötte el. Feltéve, hogy a kriptográfia nem változott, a privátkulcsai még mindig öt érmét tartalmaznak a forkolt hálózaton. 

A hard fork egyik példája a 2017-es fork, amikor a Bitcoin két külön láncra - az eredeti Bitcoin (BTC) és egy új, Bitcoin Cash (BCH) láncra esett szét. A fork a skálázás legjobb módszeréről folytatott hosszas vita után következett be. A Bitcoin Cash támogatói a blokkméretet akarták növelni, míg a Bitcoin-pártiak ellenezték a változtatást.

A blokkméret növelése megköveteli a szabályok módosítását. Ez még a SegWit soft fork előtt volt (erre hamarosan visszatérünk), így a csomópontok csak 1 MB-nál kisebb blokkokat fogadtak el. Hiába hozna létre egy 2 MB-os blokkot, amely egyébként érvényes, a többi csomópont elutasítaná azt.

Csak azok a csomópontok fogadhatják el ezeket a blokkokat, amelyek szoftverüket úgy módosították, hogy engedélyezzék az 1 MB-nál nagyobb blokkokat. Ez természetesen inkompatibilissé tenné őket az előző verzióval, így csak az azonos protokollmódosításokkal rendelkező csomópontok tudnának kommunikálni.


Mi az a soft fork?

A soft fork egy visszamenőlegesen kompatibilis frissítés, ami azt jelenti, hogy a frissített csomópontok továbbra is képesek kommunikálnia régebbi verziót futtatókkal. A soft fork jellemzően egy új szabály hozzáadását jelenti, amely nem ütközik a régebbi szabályokkal.

A blokkméret csökkentése például soft-forkkal valósítható meg. Ismét a Bitcoinnal szemléltetjük ezt: bár van egy határ, hogy mekkora lehet egy blokk, az nincs megszabva, hogy milyen kicsi lehet. Ha csak egy bizonyos méret alatti blokkokat szeretne elfogadni, akkor egyszerűen el kell utasítania a nagyobbakat.

Ez azonban nem jelenti automatikusan a hálózatról való leválasztást. Továbbra is kommunikálhat azokkal a csomópontokkal, amelyek nem alkalmazzák ezeket a szabályokat, de kiszűri az általuk átadott információk egy részét.

Egy jó valós példa a soft forkra a fent említett Segregated Witness (SegWit) fork volt, amely nem sokkal a Bitcoin/Bitcoin Cash szétválása után történt. A SegWit egy olyan frissítés volt, amely megváltoztatta a blokkok és tranzakciók formátumát, de okosan kidolgozott volt. A régi csomópontok továbbra is validálhatták a blokkokat és a tranzakciókat (a formázás nem sértette a szabályokat), csak éppen nem értették azokat. Egyes mezők csak akkor olvashatók, ha a csomópontok átváltanak az újabb szoftverre, amely lehetővé teszi számukra, hogy további adatokat elemezzenek.

Még két évvel a SegWit aktiválása után sem frissített minden csomópont. A frissítésnek vannak előnyei, de nem olyan sürgős, mivel nincs hálózatmódosító változás.


Még két évvel a SegWit aktiválása után sem frissített minden csomópont. A frissítésnek vannak előnyei, de nem olyan sürgős, mivel nincs hálózatmódosító változás.


Hard fork vs. soft fork – melyik a jobb?

Alapvetően mindkettő különböző célokat szolgál. A vitás hard forkok megosztják a közösséget, de a tervezettek lehetővé teszik a szoftver szabad módosítását úgy, hogy azzal mindenki egyetértsen.

A soft forkok kíméletesebb megoldást jelentenek. Általában véve korlátozottabbak a lehetőségei, mivel az új változtatások nem ütközhetnek a régi szabályokkal. Ha a frissítése úgy alakítható ki, hogy az továbbra is kompatibilis maradjon, nem kell aggódnia a hálózat fragmentálódása miatt.


Záró gondolatok

A hard fork és soft fork kulcsfontosságú a blokklánchálózatok hosszú távú sikeréhez. Lehetővé teszik, hogy központi hatóság hiányában is végrehajthassunk változtatásokat és frissítéseket a decentralizált rendszerekben.

A forkok lehetővé teszik, hogy a blokkláncok és kriptovaluták a fejlesztés során új funkciókat integráljanak. E mechanizmusok nélkül centralizált rendszerre lenne szükségünk, felülről jövő irányítással. Ellenkező esetben a protokoll teljes élettartamára ugyanazok a szabályok maradnának érvényben.