Blockchain technologijoje kietosios šakės ir minkštos šakės yra du skirtingi tinklo protokolų atnaujinimo ir atnaujinimo būdai. Jie labai skiriasi tuo, kaip jie yra įgyvendinami, ir šie skirtumai gali tiesiogiai paveikti blokų grandinės tinklo struktūrą ir veikimą.
Kieta šakutė
Kieta šakutė yra taisyklės pakeitimas, dėl kurio naujoji tinklo versija nebesuderinama su senąja versija. Dėl to blokų grandinė skyla į dvi atskiras atšakas, kurios eina lygiagrečiai ir nedaro įtakos viena kitai.
Minkšta šakutė
Minkšta šakutė yra taisyklės pakeitimas, kai naujas taisykles pritaikę mazgai vis tiek gali sąveikauti su nenaujovintais mazgais. Tokiu atveju naujoji tinklo versija lieka suderinama su senąja versija.
Palyginimas
Kieta šakutė
Pavyzdys: 2016 m. DAO
Senoji versija nesuderinama su naujuoju tinklu
Veikia pagal skirtingus protokolus
Minkšta šakutė
Pavyzdys: 2017 SegWit
Naujasis tinklas ** išlieka suderinamas** su senąja versija
Veikia pagal tą pačią bendrą protokolo sistemą
Situacijos analizė
Kieta šakutė
Pavyzdžiui, tarkime, kad pusė tinklo mazgų nori padidinti bloko dydį nuo 2 MB iki 3 MB. Jei 3 MB blokas siunčiamas į senos versijos mazgus, tie mazgai jį atmes, nes jų taisyklės vis tiek apibrėžia 2 MB kaip didžiausią bloko dydį. Šiuo atveju tinklas suskaidomas į du atskirus protokolus ir kiekvienas filialas gali naudoti skirtingą valiutą. Visi sąskaitų likučiai nukopijuojami iš pradinės grandinės į naują. Pavyzdžiui, jei vartotojas laikytų 20 BTC prieš šakę, tas naudotojas laikytų 20 BTC pradinėje grandinėje ir 20 naujų BTC naujoje grandinėje.
Minkšta šakutė
Pavyzdžiui, jei pradinis bloko dydis yra 2 MB, o pusė tinklo mazgų nustato griežtesnę taisyklę, ribojančią bloko dydį iki 1 MB, didesni nei 1 MB blokai bus traktuojami kaip negaliojantys atnaujintų mazgų. Tačiau senos versijos mazgai vis tiek gali priimti ir transliuoti blokus. Esant tokiai situacijai, naujasis tinklas vis tiek gali aprėpti visus mazgus, neribodamas skirtingų taisyklių versijų. Bitcoin Atskirtas liudytojas (SegWit) yra tipiškas minkštos šakutės pavyzdys. Šis atnaujinimas sumaniai pristatė naują blokų ir operacijų formatą. Neatnaujinti mazgai vis tiek gali gauti bloko informaciją, tačiau jie nedalyvauja patvirtinant naują operacijos formatą.
