Kriptovaliutas kuria decentralizuota, atvirojo kodo programinė įranga, prie kurios gali prisidėti kiekvienas. Ši programinė įranga vadinama blokų grandine ir ją tiesiogine prasme sudaro duomenų blokai. Įsivaizduokite labai ilgą visų blokų grandinėje atliktų operacijų seką, kurioje vis dar galima atsekti pirmąją operaciją.
Kadangi tai yra atvirojo kodo programa, ją naudojančios bendruomenės prižiūri ir kuria pagrindinį kodą. Kartais bendruomenė pakeičia pagrindinį kodą arba pagrindinius taisyklių rinkinius. Kai tai nutinka, blokų grandinė išsišakoja, sukurdama antrą blokų grandinę, kuri dalijasi pirmosios blokų grandinės originalumu. Toks susidarymas vadinamas kriptovaliutų išsišakojimu. Dabar yra du pagrindiniai kriptovaliutų išsišakojimų tipai: kietos šakėsir minkštos šakės. Šiame kietų ir minkštų šakių vadove išsamiau panagrinėkime jų skirtumus.
Kietos šakės
Iš esmės, kietoji šakutė senesnę blokų grandinės protokolo versiją padaro negaliojančia. Jei senesnė versija ir toliau veiks, jos protokolas ir duomenys skirsis nuo naujesnės versijos, todėl gali kilti klaidų ir painiavos.
Paimkime pavyzdį BitcoinSu kieta šakute (Bitcoin Cash), tai būtinai pakeistų pagrindinius parametrus, tokius kaip kasimo sudėtingumo algoritmas, bloko dydis, papildomos informacijos, kurią galima pridėti, apribojimai ir kita. Jei kuri nors iš šių taisyklių bus pakeista, naujasis protokolas priims blokus, bet senesnis juos atmes. Tai gali sukelti rimtą painiavą ir problemas, netgi galimą lėšų praradimą.
Jei bloko dydis būtų padidintas nuo 1 MB iki 4 MB, naujasis protokolas priimtų 2 MB bloką, bet senesnis protokolas jį atmestų. Pavyzdžiui, tarkime, kad 2 MB blokas yra patvirtinamas ir pridedamas prie blokų grandinės.
„Bitcoin Cash“ (BCH) buvo paleista 2017 m. ir yra „hard fork“ tipo „Bitcoin“ versija. Kaip ir turėtų būti, „hard fork“ tipo „BCH“ skiriasi nuo „Bitcoin“ – štai kuo:
- Bitcoin yra originali kriptovaliuta, išleista gerokai anksčiau nei Bitcoin Cash. Ji turi daug platesnį tinklo pasiekiamumą ir geresnę infrastruktūrą, palyginti su kietosios šakotosios versijos sistema.
- Bitcoin bloko dydis yra 1 MB, o Bitcoin Cash bloko dydis yra 32 MB.
- Operacijų parašus iš Bitcoin operacijų galima pašalinti naudojant „SegWit“ (Segregated Witness) – minkštąją Bitcoin blokų grandinės šaką. Tuo tarpu BCH nepalaiko „SegWit“.
- Bitcoin yra lėtas ir ima didesnį mokestį. Kita vertus, BCH apdoroja operacijas greičiau ir ima mažesnius mokesčius, nes jam reikia mažiau kasimo galios naujiems blokams patikrinti.
Dabar turite šias dvi blokų grandines: vieną su naujuoju protokolu (pvz., „Bitcoin Cash“), o antrą – tik su senuoju protokolu (pvz., „Bitcoin“). Šios dvi skirtingos grandinės gali augti lygiagrečiai. Šis išsišakojimas vadinamas sudėtingu. Jis gali būti rizikingas, sukelti dvigubas išlaidas ir potencialiai sudėtingas.
Nors kietosios atšakos (angl. hard fork) gali būti rizikingos, jos turi ir privalumų. Kai blokų grandinė pereina kietąją atšaką (angl. hard fork), pagerėja jos funkcionalumas. Net blokų grandinės naudotojai yra skatinami kietosios atšakos, nes gauna naujų monetų ir naudojasi naujos programinės įrangos funkcijomis. Vienas iš svarbiausių kietosios atšakos privalumų yra tai, kad ištaisomos didelės saugumo rizikos, aptiktos senesniame protokole, ir pridedamos naujos funkcijos.
„Ethereum“ yra puikus pavyzdys, kaip ištaisyti reikšmingas saugumo rizikas. Decentralizuota autonominė organizacija (DAO) paleista „Ethereum“ blokų grandinėje buvo nulaužta dėl savo kodo bazės pažeidžiamumų.
Po įsilaužimo vienbalsiai buvo nuspręsta Ethereum bendruomenė teigė, kad norint atšaukti operacijas, kurių metu buvo perduota dešimčių milijonų dolerių vertės skaitmeninio turto, reikalingas kietasis šakotis. Šis sprendimas ne visiškai panaikino tinklo operacijų istoriją, tačiau perkėlė su DAO susietus radinius į naujai sukurtą sumani sutartisŠio tikslo buvo siekiama sudaryti sąlygas pirminiams savininkams atsiimti savo lėšas.
Po to DAO paėmė papildomą žetonų likutį, kuris liko po kietosios šakutės, ir paskirstė jį savo kuratoriams, kad organizacijai būtų užtikrinta „apsauga nuo gedimų“.
Toliau, lygindami kietas ir minkštas šakes, apžvelgsime minkštą šakę.
Minkšta šakutė
Iš esmės, minkšta šakutė yra priešingybė kietai šakutei, kur nauji pakeitimai yra suderinami atgal su senesniu protokolu.
Pavyzdžiui, jei protokolas keičiamas ir kūrėjai sugriežtina taisykles bei prideda funkciją, kuri neturi įtakos blokų grandinės struktūrai, senesnė versija priims naujesnės versijos blokus. Tačiau naujesnė versija nepriims senos versijos blokų.
Bitcoin buvo pakeistas protokolas su „SegWit“ arba „Segregated Witness“. Šio pakeitimo poreikis iškilo, kai didžiulis operacijų skaičius apkrovė Bitcoin tinklą ir sukėlė operacijų apdorojimo bei tikrinimo vėlavimus. Kai kuriais atvejais vienos operacijos patvirtinimas užtrukdavo valandas. Įdiegus „SegWit“, buvo galima atlikti daugiau operacijų 1 MB bloke, o tai paspartino operacijų tikrinimo procesą.
Kriptovaliutų minkštosios šakutės atveju senosios versijos kasėjai sužinotų, kad jų blokai atmetami ir jiems reikėtų atnaujinti. Vis daugiau kasėjų atnaujinant savo versiją, našlaičiai senosios versijos blokai paskatintų daugiau kasėjų atnaujinti savo versiją. Tai yra savaime koreguojantis procesas, ir kadangi tiek seni, tiek atnaujinti mazgai priima naujos versijos blokus, galiausiai laimėtų naujoji versija. Galiausiai, minkštosios šakutės nekelia dvigubo išlaidų pavojaus.
Kieta šakutė ir minkšta šakutė – santrauka
Jei kalbėtume apie „soft“ ir „hard“ tipo „fork“, „soft“ neabejotinai yra geresnis kriptovaliutos pasirinkimas, nes nėra rizikos prarasti lėšas ir išleisti jas du kartus. Šis savaime koreguojantis būdas idealiai tinka kriptovaliutoms, tačiau galiausiai sprendimą priima bendruomenė.