Avaleht
Artiklid
Tugeva ja nõrga kahvli selgitus

Tugeva ja nõrga kahvli selgitus

Keskmine
Avaldatud Nov 29, 2018Värskendatud Feb 9, 2023
8m

Sissejuhatus

Kui sul palutakse nutitelefonis oma digitaalset pangarakendust uuendada, ei kahtle sa selles tõenäoliselt üldse. Võib-olla uuendab sinu telefon end automaatselt, ilma et sa seda isegi märkaksid. Lõppude lõpuks on see vajalik protsess – kui sa ei installi tarkvara uusimat versiooni, on oht, et sulle ei anta juurdepääsu selle teenustele.

Avatud lähtekoodiga krüptoraha puhul on asjad väga erinevad. Selle kasutamiseks ei pea sa lugema iga koodirida, mis on Bitcoini aluseks, kuid valikuvõimalus on oluline. Siin ei ole hierarhiat ega panka, mis saaks lihtsalt uuendusi peale suruda ja asju muuta, nagu talle meeldib. Seetõttu võib uute funktsioonide rakendamine plokiahelavõrkudes olla keeruline.

Selles artiklis uurime, kuidas saab krüptorahavõrke täiustada, hoolimata keskse asutuse puudumisest. Selleks kasutavad nad kahte erinevat mehhanismi: tugevad kahvlid ja nõrgad kahvlid


Kes teeb otsuseid plokiahela võrgus?

Kahvlite toimimise mõistmiseks on oluline kõigepealt mõista võrgu otsustusprotsessis (või juhtimises) osalevaid osalejaid.

Bitcoinis saad üldjoontes eristada kolme osalejate alamrühma – arendajad, kaevandajad ja täissõlme kasutajad. Need on osapooled, kes tegelikult võrku panustavad. Kergeid sõlmed (st sinu telefoni, sülearvuti jne rahakotte) kasutatakse laialdaselt, kuid need ei ole võrgu osas tegelikult „osalised“.


Arendajad

Arendajad vastutavad koodi loomise ja ajakohastamise eest. Tavalise mündi puhul võib igaüks sellele protsessile kaasa aidata. Kood on avalikult kättesaadav, nii et nad saavad esitada muudatusi teistele arendajatele läbivaatamiseks. 


Kaevandajad

Kaevandajad on need, kes võrku kaitsevad. Nad käivitavad krüptoraha koodi ja pühendavad ressursse uute plokkide lisamisele plokiahelasse. Näiteks Bitcoini võrgus teevad nad seda töötõenduse abil. Neid premeeritakse nende pingutuste eest plokipreemiaga.


Täissõlme kasutajad

Täissõlmed on krüptorahavõrgu selgroog. Nad kinnitavad, saadavad ja võtavad vastu plokke ning tehinguid ning säilitavad plokiahela koopiat.


Nendes kategooriates leidub sageli kattuvusi. Võid olla näiteks arendaja ja täissõlme kasutaja või kaevandaja ja täissõlme kasutaja. Võid olla kõik kolme korraga või mitte ükski. Tegelikult paljud, kes on meie arvates krüptoraha kasutajad, ei võta endale ühtegi nendest rollidest. Selle asemel valivad nad kergete sõlmede või tsentraliseeritud teenuste kasutamise.

Ülaltoodud kirjeldusi vaadates võiks olla kindel, et arendajad ja kaevandajad langetavad võrgu jaoks otsuseid. Arendajad loovad koodi – ilma nendeta poleks käivitatavat tarkvara ega kedagi, kes parandaks vigu või lisaks uusi funktsioone. Kaevandajad turvavad võrku – ilma terve kaevanduskonkurentsita võidakse ahel kaaperdada või see võiks seiskuda.

Kui need kaks kategooriat üritaksid ülejäänud võrku oma tahtmist järgima sundida, ei lõppeks see aga kuigi hästi. Paljude jaoks on tegelik võimsus koondunud täissõlmedesse. See on suuresti võrgu valikuline funktsioon, mis tähendab, et kasutajad saavad valida, millist tarkvara nad kasutavad. 

Arendajad ei murra sinu koju sisse ja ei sunni sind relva ähvardusel Bitcoin Core'i binaarkoode alla laadima. Kui kaevandajad võtaks omaks suhtumise „võta või jäta”, et sundida kasutajaid tegema soovimatuid muutusi, lähevad kasutajad lihtsalt mujale. 

Need osapooled ei ole kõikvõimsad isandad – nad on teenusepakkujad. Kui inimesed otsustavad võrku mitte kasutada, kaotaks münt väärtuse. Väärtuse vähenemine mõjutab otseselt kaevandajaid (nende preemiad on dollarites väljendatuna vähem väärt). Mis puutub arendajatesse, siis kasutajad võivad neid lihtsalt ignoreerida.

Näed, tarkvara pole patenteeritud. Saad teha mis tahes soovitud muudatusi ja teised kasutavad sinu muudetud tarkvara, kõik saavad suhelda. Sel juhul ühendad tarkvara ja lood selle käigus uue võrgu.


Mis on kahvel?

Tarkvara kahvel toimub kohas, kus tarkvara kopeeritakse ja muudetakse. Esialgne projekt elab edasi, kuid see on nüüd uuest projektist eraldi, mis on võtnud teise suuna. Oletame, et sinu lemmik krüptoraha sisu veebilehe meeskonnal oli suur erimeelsus, kuidas edasi minna. Üks osa meeskonnast võib paljundada saiti teises domeenis. Kuid edaspidi postitaksid nad teistsugust sisu kui esialgne.

Projektid põhinevad ühel alusel ja jagavad oma ajalugu. Nii nagu üks tee, mis hiljem jaguneb kaheks, on nüüd nende teekondades püsiv lahknevus.

Pane tähele, et selliseid asju juhtub avatud lähtekoodiga projektides palju ja see on toimunud juba pikka aega enne Bitcoini või Ethereumi ilmumist. Kuid tugevateja ja nõrkade kahvlite eristamine on peaaegu ainuüksi plokiahela ruumile omane. Vaatame neid veidi lähemalt.


➟ Kas soovid alustada krüptorahaga? Osta Bitcoini Binance'ist!


Tugevad kahvlid vs nõrgad kahvlid

Vaatamata sarnastele nimedele ja lõppkokkuvõttes samale eesmärgile, erinevad tugevad ja nõrgad kahvlid üksteisest oluliselt. Uurime mõlemat.


Mis on tugev kahvel?

Tugevad kahvlid on tagasiühildumatud tarkvaravärskendused. Tavaliselt tekivad need siis, kui sõlmed lisavad uusi reegleid viisil, mis on vastuolus vanade sõlmede reeglitega. Uued sõlmed saavad suhelda ainult sõlmedega, mis kasutavad uut versiooni. Selle tulemusena jaguneb plokiahel, luues kaks eraldi võrku: üks vanade reeglitega ja teine uutega.

Sõlmed muutuvad uuendamisel siniseks. Vanemad kollased sõlmed lükkavad need tagasi, samas kui sinised sõlmed ühenduvad omavahel.

Sõlmed muutuvad uuendamisel siniseks. Vanemad kollased sõlmed lükkavad need tagasi, samas kui sinised sõlmed ühenduvad omavahel.


Seega on nüüd kaks paralleelselt töötavat võrku. Mõlemad jätkavad plokkide ja tehingute levitamist, kuid nad ei tööta enam samal plokiahelal. Kõigil sõlmedel oli kuni kahvli tekkimise hetkeni identne plokiahelat (ja see ajalugu jääb), kuid pärast seda on neil erinevad plokid ja tehingud.

plokiahela kahvli tekkimine plokis 600 000.


Kuna on olemas ühine ajalugu, siis on sul münte mõlemas võrgus, kui sul need olid enne kahvlit. Oletame, et sul oli 5 BTC, kui plokis 600 000 toimus kahvel. Võiksid kulutada need 5 BTC vanas ahelas plokis 600 001, kuid neid ei ole juba kulutatud uues plokiahelas plokis 600 001. Eeldades, et krüptograafia pole muutunud, hoiavad sinu privaatsed võtmed endiselt kahvliga võrgus viit münti. 

Üks näide tugeva kahvli kohta oli 2017. aasta kahvel, mille käigus jagunes Bitcoin kaheks eraldi ahelaks – esialgseks, Bitcoin (BTC), ja uueks, Bitcoin Cash (BCH). Kahvel tekkis pärast pikki vaidlemisi parima skaleerimisviisi üle. Bitcoin Cashi pooldajad soovisid suurendada ploki suurust, samas kui Bitcoini pooldajad olid selle muudatuse vastu.

Plokkide suuruse suurendamine nõuab eeskirjade muutmist. See oli enne SegWit nõrka kahvlit (räägime sellest varsti lähemalt), nii et sõlmed aktsepteerisid ainult plokke, mis olid väiksemad kui 1 MB. Kui looksid 2 MB suuruse ploki, mis oleks muidu kehtiv, lükkaksid teised sõlmed selle ikkagi tagasi.

Ainult sõlmed, mis on muutnud oma tarkvara, et lubada üle 1 MB suuruseid plokke, võivad neid plokke vastu võtta. See muudaks nad muidugi eelmise versiooniga kokkusobimatuks, nii et suhelda saaksid ainult samade protokollimuudatustega sõlmed.


Mis on nõrk kahvel?

Nõrk kahvel on tagasiühilduv uuendus, mis tähendab, et täiendatud sõlmed saavad endiselt suhelda uuendamata sõlmedega. Tavaliselt on nõrga kahvli puhul tegemist uue reegli lisamisega, mis ei lähe vastuollu vanade reeglitega.

Näiteks saab ploki suurust vähendada nõrga kahvli abil. Kasutame selle punkti illustreerimiseks veel kord Bitcoini: kuigi on olemas piir, kui suur võib olla plokk, pole olemas piiri, kui väike see võib olla. Kui soovid aktsepteerida ainult teatud suurusest väiksemaid plokke, pead suuremaid plokke lihtsalt tagasi lükkama.

See ei lahuta sind sellegipoolest automaatselt võrgust. Sa suhtled endiselt sõlmedega, mis neid reegleid ei rakenda, kuid filtreerid osa nende poolt edastatavast teabest välja.

Hea näide nõrgast kahvlist oli eelpool mainitud Segregated Witness (SegWit) kahvel, mis tekkis vahetult pärast Bitcoini/Bitcoin Cashi jagunemist. SegWit oli uuendus, mis muutis plokkide ja tehingute formaati, olles osavalt välja töötatud. Vanad sõlmed võisid endiselt plokke ja tehinguid valideerida (vormindus ei rikkunud reegleid), kuid nad lihtsalt ei oleks neist aru saanud. Mõned väljad on loetavad ainult siis, kui sõlmed lähevad üle uuemale tarkvarale, mis võimaldab neil analüüsida täiendavaid andmeid.

Isegi kaks aastat pärast SegWiti aktiveerimist ei ole kõik sõlmed uuendunud. Sellel on omad eelised, kuid see ei ole tõesti hädavajalik, kuna ei ole mingit võrku lõhkuvat muudatust.


Isegi kaks aastat pärast SegWiti aktiveerimist ei ole kõik sõlmed uuendunud. Sellel on omad eelised, kuid see ei ole tõesti hädavajalik, kuna ei ole mingit võrku lõhkuvat muudatust.


Tugevad kahvlid vs nõrgad kahvlid – kumb on parem?

Põhimõtteliselt täidavad mõlemad eespool nimetatud kahvlitüübid erinevaid eesmärke. Vaidlusi tekitavad kõvad kahvlid võivad kogukonda lõhestada, kuid planeeritud kahvlid võimaldavad vabadust muuta tarkvara nii, et kõik oleks sellega nõus.

Nõrgad kahvlid on leebem variant. Üldiselt on võimalused piiratumad, sest uued muudatused ei saa olla vastuolus vanade reeglitega. See tähendab, et kui sinu uuendust saab kujundada nii, et see jääb ühilduvaks, ei pea sa muretsema võrgu killustumise pärast.


Lõppmärkused

Tugevad ja nõrgad kahvlid on plokiahelavõrkude pikaajalise edu seisukohalt üliolulised. Need võimaldavad teha muudatusi ja uuendusi detsentraliseeritud süsteemides, hoolimata keskvõimu puudumisest.

Kahvlid võimaldavad plokiahelatel ja krüptorahadel integreerida uusi arendatavaid funktsioone. Ilma nende mehhanismideta vajaksime tsentraliseeritud süsteemi, mida kontrollitakse ülevalt alla. Vastasel juhul jääksime kogu protokolli kehtivuse ajaks täpselt samade reeglite juurde.