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.