Plokiahela tehnoloogias on kõvad kahvlid ja pehmed kahvlid kaks erinevat viisi võrguprotokollide täiendamiseks ja värskendamiseks. Need erinevad oluliselt nende rakendamise viiside poolest ning need erinevused võivad otseselt mõjutada plokiahela võrgu struktuuri ja toimimist.
Kõva kahvel
Kõva kahvel on reeglimuudatus, mille korral võrgu uus versioon ei ühildu enam vana versiooniga. Selle tulemusena jaguneb plokiahel kaheks eraldi haruks, mis jooksevad paralleelselt ega mõjuta üksteist.
Pehme kahvel
Pehme kahvel on reeglimuudatus, mille puhul uued reeglid vastu võtnud sõlmed saavad endiselt suhelda sõlmedega, mida pole täiendatud. Sel juhul jääb võrgu uus versioon vana versiooniga ühilduvaks.
Võrdlus
Kõva kahvel
Näide: 2016 DAO
Vana versioon ei ühildu uue võrguga
Töötab erinevate protokollidega
Pehme kahvel
Näide: 2017 SegWit
Uus võrk ühildub vana versiooniga
Töötab sama üldise protokolliraamistiku alusel
Olukorra analüüs
Kõva kahvel
Oletame näiteks, et pooled võrgusõlmedest soovivad suurendada ploki suurust 2 MB-lt 3 MB-le. Kui vana versiooni sõlmedesse saadetakse 3 MB plokk, lükkavad need sõlmed selle tagasi, kuna nende reeglid määravad endiselt 2 MB maksimaalse ploki suuruse. Sel juhul jaguneb võrk kaheks eraldi protokolliks ja iga haru võib kasutada erinevat valuutat. Kõik kontojäägid kopeeritakse algsest ahelast uude ketti. Näiteks kui kasutaja hoiab 20 BTC-d enne kahvlit, hoiab see kasutaja algses ketis 20 BTC-d ja 20 uut BTC-d uuel ketil.
Pehme kahvel
Näiteks kui algne ploki suurus on 2 MB ja pooled võrgusõlmedest kehtestavad rangema reegli, mis piirab ploki suurust 1 MB-ga, käsitletakse täiendatud sõlmede poolt suuremaid kui 1 MB plokke kehtetutena. Kuid vana versiooni sõlmed saavad endiselt plokke vastu võtta ja levitada. Selles olukorras võib uus võrk siiski katta kõik sõlmed, ilma et seda piiraksid erinevad reegliversioonid. Bitcoini Segregated Witness (SegWit) on tüüpiline näide pehmest kahvlist. See uuendus tõi nutikal viisil kasutusele uue ploki- ja tehinguvormingu. Sõlmed, mida pole uuendatud, saavad endiselt vastu võtta ploki teavet, kuid nad ei osale uue tehinguvormingu valideerimises.
