Vita vya Ukubwa wa Bloku

5 - Segwit

Katika kikao cha kwanza cha siku ya pili ya Scaling Bitcoin Hong Kong, wakati wa moja ya maeneo ya kwanza, msanidi programu wa Bitcoin Pieter Wuille alitoa hotuba juu ya kitu kinachoitwa Segreed Shahidi ( SegWit ). SegWit ni njia ya kuongeza ukubwa wa bloku wa Bitcoin, bila mteja mpya amabayo haiendani ( yaani ilikuwa softfork badala ya hardfork ). Ununuzi wa Bitcoin una vifaa anuwai, moja ambayo ni saini, kuidhinisha matumizi. Saini hii kawaida ni sehemu kubwa zaidi ya muamala huo, kwa kuzingatia kiwango cha data. SegWit ilikuwa muundo mpya wa muamala, ambapo saini hiyo haingehitaji kujumuishwa kwenye bloku cha zamani, ambacho bado kilikuwa na kikomo cha 1 MB. Wateja ambao waliboresha hadi SegWit wataona bloku kipya, ambacho ni pamoja na saini hizi; kwa wateja hawa wapya, kikomo cha zamani cha 1 MB kiliondolewa na kubadilishwa na kitengo cha milioni 4 “ kikomo cha uzito ”. Kikomo cha uzito kilifafanuliwa kuwa mara nne ya kiasi cha data isiyo ya saini katika baiti pamoja na kiasi cha data iliyotenganishwa ya sahihi, kwa baiti. Hii ilimaanisha kuwa data ya sahihi ilipokea punguzo katika hesabu, lakini kikomo cha jumla kitakuwa karibu 2 MB, ambayo bila shaka ndiyo watu wengi walionekana kutaka: ongezeko la kikomo cha blocksize hadi karibu 2 MB.

Msanidi programu wa Bitcoin, anayetoka Florida ,anayeitwa Luke Dashjr alikuwa amefikiria utapeli, ambao ulifanya SegWit iwezekane kama toleo linalolingana la ( softfork ) Uboreshaji wa Bitcoin. Luka alichukuliwa kama mmoja wa wanabloku ndogo aliyekithiri sana na alikuwa mtu mwingine wa chuki katika jamii kubwa ya bloku, pamoja na Gregory Maxwell. Luka hakuogopa kabisa kusimama kutoka kwa umati na maoni yake yasiyokuwa ya makubaliano. Kwa kiwango fulani, Mkatoliki aliyejitolea na baba-wa-saba alikuwa Cassandra wa jamii ya ufundi; haswa. Walakini, Luka wazi alikuwa na uelewa dhabiti wa kiufundi wa Bitcoin, na mawazo yake dhahiri yasiyokuwa ya mstari, ambayo ilimfanya aone vitu tofauti na wengine, labda ilimsaidia kuwa na utapeli huu ambao watengenezaji wengine hawakuweza kufanya kazi kabisa.

Kwa wale walioelewa, SegWit ilionekana kama pendekezo la kushinda. Mtandao unaweza kupata mabloku 2 vya MB, lakini tuliepuka shida ya uboreshaji kuwa hauendani. Kwa kuongezea hii, pochi za zamani na pochi mpya zinaweza kuingiliana bila mshono na kila mmoja na usanidi ulikuwa wa hiari kabisa: watumiaji wanaweza kusasisha kwa SegWit, au kuendelea kutumia mtandao kama hapo awali. Kwa mtazamo wa pochi za zamani, muamala mpya za mtindo zingekosa saini. Walakini, mkoba bado ungeona muamala hiyo na kuitambua kuwa halali mara tu ikiwa imejumuishwa kwenye blockchain. SegWit pia ilimaanisha kuwa uwezo wa muamala unaweza kuongezeka haraka kuliko kwa kikomo rahisi cha ukubwa wa bloku huongeza hardfork, kwa sababu hatutahitaji kungojea kila mtu kuboresha na tunaweza kuanza kutumia nafasi mpya haraka haraka.

Sio tu kwamba SegWit ilionekana kuwa ushindi madhubuti kwa Bitcoin, ilionekana pia kuwa hatua nzuri ya busara, iwe ya kukusudia au la, kutoka kwa wanabloku ndogo kwenye vita vya ukubwa wa bloku. Pendekezo hilo lilikuwa nzuri sana hakukuwa na hoja halali dhidi yake. Gavin atalazimika kuunga mkono pendekezo la SegWit, na kwa sehemu kubwa alifanya. [^ 5Fftn1 ] Ikiwa mikutano ya Scaling ilikuwa njama ya nyuma ya pazia ya kununua wakati wa kutolewa wazo hili, basi alicheza vizuri! Ikumbukwe kwamba mimi sitoi mashtaka haya hapa, wanabloku kubwa wangekuwa wamesimamishwa katika nyimbo zao na kampeni yao ya hardfork, na wakati muhimu ungekuwa umenunuliwa. Nakumbuka nikiongea na baadhi ya wanabloku kubwa kwa muda mrefu wakati huo. Waliniarifu kwamba walidhani wamezidiwa na kile walichokiona kuwa ni pendekezo la busara.

Kwa kweli, hii yote ilikuwa katika nadharia. Katika ulimwengu wa kidhahania, ambapo kila mtu alielewa SegWit na watendaji wote walikuwa wenye busara, ilikuwa hatua nzuri. Na watu wakibishana juu ya ukubwa wa bloku, pendekezo hilo liliondoa kikomo na kuibadilisha na kitu kingine, na hivyo kupuuza hoja. Walakini, kwa ukweli huo ulikuwa mbali na kesi hiyo. SegWit ilikuwa ngumu sana na karibu hakuna mtu aliyeelewa. Hii ilikuwa mfano wa kwanza kuu wa wanabloku ndogo wakizidisha akili za wapinzani wao, au angalau kuzidisha uwezo wa wapinzani wao kuelewa mambo ya sayansi ya kompyuta. Kwa mfano, kwa kuzingatia pendekezo hilo linapaswa kuwa limeitwa kitu kama “ Kuongeza kwa mabloku 2 vya MB ”. Badala yake, ilikuwa na jina la kushangaza na lenye utata, ambalo lilisikika likishuku sana kwa wanabloku kubwa, ambao walitaka kitu wazi na rahisi wangeweza kuelewa. Wanabloku kubwa walionekana kugundua kuwa hatua hii ilitoka kwa adui yao na walitaka njia yao. Vita hivi vilikuwa juu ya udhibiti, na walitaka udhibiti. Waliona SegWit kama njia ya ziada ya kupinga, kuacha mabloku makubwa. Kwa hivyo, bila kuelewa SegWit, waliipinga.

SegWit ilipoanza kupata muamala katika jamii ya ufundi, maoni potofu na ya kutokuelewana kati ya wanabloku kubwa yalianza kuongezeka. Kutokuelewana na uvumi huu ni pamoja na ( lakini kwa kweli haikuwa imejikita tu kwa ) yafuatayo:

  • SegWit sio ongezeko wa kikomo wa ukubwa wa bloku “ halisi ”, inabana miamala tu ( ni kweli kwamba, na Segwit, wateja wasio na uboreshaji bado wanaona mabloku 1 vya MB, lakini hii pia ni kweli na hardfork tangu nodi za zamani kutekeleza kikomo cha 1 MB. Na SegWit, nodi zilizoboreshwa huona mabloku makubwa kuliko 1 MB, ambayo labda ni lile wanabloku kubwa walitaka );
  • Bitcoin ni msingi wa mnyororo wa saini za dijiti, ambazo SegWit huondoa kwa hivyo kuvunja mnyororo na kuunda hatari ya usalama;
  • Ikiwa mchimbaji hajasasisha SegWit na kutoa bloku, bloku hiki kitakataliwa na wateja waliosasishwa. Hii inaongeza hatari ya kugawanyika kwa mnyororo ( hii inapaswa kutokea tu ikiwa mchimbaji anatumia programu maalum iliyoundwa kwa makusudi kugawa mnyororo );
  • Ikiwa mtumiaji atasasisha SegWit, hawataweza kutuma pesa kwa mtumiaji ambaye hajasasishwa;
  • Usasishaji wa SegWit unaweza kubadilishwa, na kisha sarafu ndani ya matokeo ya SegWit zinaweza kuibiwa na mtu yeyote ( kubadilisha SegWit itakuwa ngumu ).

Kutokuelewana nyingi hakukuwa na maana na kwa hivyo kukemea haukuwezi kuelezewa kwa urahisi. Walionekana kutokana na ukweli kwamba watu wengi hawakuelewa kabisa misingi wa miamala ya Bitcoin hapo kwanza. Kwa mfano, kifungu cha “ Anwani ya muundo wa SegWit ” mara nyingi ilitajwa, lakini SegWit haukuwa na muundo mpya, au tofauti, wa anwani. Ikiwa watu hawakuelewa mitambo ya miamala ya Bitcoin hata hivyo, kuelezea ufundi wa SegWit haukuwezekana.

SegWit ilithibitisha kuwa ngumu sana hata Jeff Garzik hakuonekana kuielewa. Alidhani kutakuwa na “ ndoo mbili ” kwa zabuni ya ada: moja inayohusiana na kikomo cha zamani cha 1 MB, na moja inayohusiana na kikomo cha uzito wa kitengo cha milioni 4. [^ 5Fftn2 ] Kwa kweli, mipaka hiyo miwili, ukubwa wa bloku na uzani wa bloku, ilijengwa ili iweze kuendana na kila mmoja na kwa hivyo sawa, kwamba kutakuwa na ndoo moja tu ya soko la ada. Hii sio ukosoaji wa Jeff; SegWit ilikuwa pendekezo ngumu sana la kufahamu kikamilifu na kuelewa, ambayo ilithibitisha kuwa udhaifu wa msingi wa wazo hilo. Hii inaenda kuonyesha kwamba, wakati, kitaalam, SegWit inaweza kuwa njia madhubuti mbele, haikuwezekana kuwasiliana hii kwa jamii ya Bitcoin kwa sababu ya ugumu unaohusika.

Kulikuwa na hoja halali dhidi ya SegWit, mbali na kiwango cha juu cha ugumu. Ili kupata faida za SegWit na ongezeko la ukubwa wa bloku, pochi za watumiaji zilibidi kuboresha ili kusaidia muundo mpya wa muamala. Hii inaweza kuchukua muda zaidi kuliko ongezeko rahisi la hardfork, ambalo halikuhitaji fomati za muamala kubadilika. Ikumbukwe, hata hivyo, kwamba mara tu watumiaji wengine watakaposasishwa kuwa SegWit, ingeweka nafasi ya ukubwa wa bloku kwa walegevu ambao walikuwa polepole kuboresha.

Kwa wanavitalu ndogo, kupata watumiaji kusasisha hadi umbizo jipya la muamala ilikuwa sehemu ya hatua ya SegWit. Kando na kutoa ongezeko la kikomo cha ukubwa wa bloku, umbizo jipya la muamala la SegWit pia lilirekebisha hitilafu kadhaa, ambazo ni udhaifu wa muamala wa watu wengine na uongezaji usio wa mstari wa shughuli za sighash. Sitaingia kwa undani sana hapa. Kwa ufupi, upotovu wa muamala wa wahusika wengine ni suala linalojitokeza kwa sababu mtu yeyote ana uwezo wa kubadilisha kitambulisho cha muamala wa Bitcoin kabla ya kuthibitishwa kwenye blockchain, na ili muamala uendelee kuwa halali. Hili lilikuwa limesababisha matatizo kwa baadhi ya pochi na wafanyabiashara hapo awali, ambao walikuwa na matatizo ya kufuatilia fedha. Kimsingi ni mdudu. Kurekebisha hii pia ilikuwa muhimu kwa mtandao wa muamala wa safu-mbili unaoitwa lightning.

Uongezeko usio wa mstari wa shughuli za sighash unamaanisha kuwa, kadri idadi ya ingizo katika muamala inavyoongezeka, idadi ya shughuli za hashing zinazohitajika ili kuthibitisha muamala huongezeka mara nne badala ya kimstari. Tatizo hili la kuongeza ukubwa lilikuwa kikwazo kwa wanabloku kubwa zaidi, kwani washambuliaji wangeweza kuunda miamala ambayo ilichukua muda mrefu kuthibitisha na mtandao unaweza kusitishwa. Suala hili lilikuwa mojawapo ya sababu kuu zilizotajwa na wanabloku ndogo kwa kupinga ongezeko la kikomo cha ukubwa wa bloku, kwani washambuliaji wanaweza kutumia udhaifu huu.Mshambulizi anaweza kutengeneza bloku ambalo lilikuwa na miamala hii mingi mikubwa, hivi kwamba inaweza kuchukua kompyuta ya kawaida saa nyingi kuthibitisha. Kwa hivyo, kwa wanabloku wengi wadogo kurekebisha suala hili lilikuwa sharti la kuongeza kikomo cha ukubwa wa bloku.Waliwadharau wanabloku kubwa kwa kuridhika kwa kupuuza udhaifu huu na kukosa mawazo ya kinzani. Kinyume chake, blockers kubwa walionekana kuamini Bitcoin ilikuwa karibu isiyoweza kuharibika au usio na tete, kama mara nyingi kuiweka. Wanabloku ndogo walihusisha uimara wa mfumo huo na bidii na tahadhari kutoka kwa timu ya maendeleo, lakini hiyo haikuthaminiwa na jumuiya kwa kiwango kinachopaswa kuwa. Wanabloku wengi wakubwa waliamini kuwa kurekebisha makosa haya haipaswi kuwa kipaumbele; ilikuwa kikomo cha ukubwa wa bloku ambacho kilikuwa muhimu.

Bila kujali, wakati wa kutumia SegWit, makosa haya yalitengenezwa. Kwa mtazamo wa wanabloku ndogo, hii ilifanya akili kamili. Na SegWit, tunaweza kuweka kikomo cha zamani cha MB 1 kwa muamala wa zamani wa buggy ambao haukuongezeka vizuri, na wakati huo huo wana nafasi zaidi inayopatikana kwa muamala mpya bila makosa. Kwa mtazamo wa uhandisi, SegWit ilionekana kuwa ya kupendeza. Shida, tena, ilikuwa ugumu; watumiaji wengi wa Bitcoin hawakuwa na wazo juu ya shida hizi na hawakujali. Na Bitcoin ni zaidi ya uhandisi tu na sayansi ya kompyuta. Pia ni mfumo wa kijamii, mfumo wa malipo ya moja kwa moja, mfumo wa uchumi, na mfumo wa kifedha. Ikiwa SegWit ilifanya akili wakati wa kutafuta pembe hizi haikuwa wazi.

Ingawa wazo la SegWit liliwasilishwa kwa mkutano huo mnamo Desemba 2015 huko Hong Kong, bado ilibidi itekelezwe, kuchambuliwa, kupimwa na kujadiliwa. Haikuwa hadi Novemba 2016 wakati SegWit hatimaye iliachiliwa katika msingi wa Bitcoin, kungojea kwa muda mrefu zaidi ya miezi 10. Hata ingawa ilitolewa katika msingi wa Bitcoin, hii haimaanishi kuwa watu wanaweza kuanza kutumia SegWit. Ilikuwa mabadiliko kwa sheria za itifaki, au, kwa usahihi zaidi, uimarishaji wa sheria za itifaki au softfork. Hii ilimaanisha kulikuwa na mbinu ya uanzishaji. Ufundi uliochaguliwa ya uanzishaji ni kwamba wachimbaji walipaswa kuashiria msaada. Ikiwa asilimia 95 ya mabloku yaliashiria msaada katika dirisha la marekebisho ya ugumu wa 2,016, softfork hiyo ingeamsha, baada ya kipindi kingine cha wiki mbili cha neema. Ikiwa, baada ya miezi 12, uanzishaji haukutokea, uboreshaji huo ungetolewa.

Kwa wanabloku kubwa, njia hii ya uanzishaji haikuwa sawa. Kamwe haupati makubaliano ya asilimia 95 juu ya kitu chochote, walisema. Hii itaruhusu umoja wowote mdogo wa wachimbaji, na asilimia tano tu ya hashrate, ukubwa wa bloku mabadiliko. Wanabloku kubwa waliona kizingiti hiki cha uanzishaji wa asilimia 95 kama mbinu ya kupiga, na walipendelea kizingiti cha asilimia 75 huko Bitcoin XT. Wanabloku kubwa walielekea kuona ripoti ya wachimbaji kama kura, mchakato wa kufanya maamuzi. Katika muktadha huu, asilimia 95 haikuonekana kuwa na akili nyingi. Kwa upande mwingine, wanabloku ndogo waliona wakati wa kutangaza kama njia ya kuashiria au kipengele cha usalama. Kwa maoni yao, watumiaji waliamua juu ya sheria za itifaki na saini ya wachimbaji ilikuwa muhimu kuhakikisha mpito salama kwa sheria mpya. Haikuzingatiwa mchakato wa kupiga kura kisiasa.

Mbali na hilo, asilimia 95 haikuchukuliwa mahali popote. Softforks tatu za mwisho za Bitcoin zote zilikuwa zimeamilishwa kwa kutumia kizingiti hiki cha asilimia 95: BIP 66 ( kuzuia saini kwa DER encoding ) mnamo Julai 2015; BIP 65 ( Angalia Muda wa Kufunga Thibitisha ) mnamo Desemba 2015; na BIP 68, BIP 112 na BIP 113, softfork tatu tofauti ambazo ziliamilishwa wakati huo huo mnamo Julai 2016. SegWit ilikuwa imechagua kuendelea na njia sawa ya ( au iliyobadilishwa kidogo ) njia ya uanzishaji. Ikumbukwe kwamba softfork hizi za zamani hazikuwa zimeendelea vizuri. Uanzishaji wa BIP 66 mnamo Julai 2015 ulisababisha mgawanyiko wa safu kwa mabloku machache, kwani wachimbaji walionekana kutofaulu kusasisha kwa softfork, licha ya kuweka ripoti kwamba walikuwa wameboresha. Uboreshaji wa Julai 2016 pia ulichukua muda mrefu zaidi ya ilivyotarajiwa na jamii ililazimika kushawishi mabwawa ya madini ili kuashiria msaada. Mabwawa ya madini kwa upande mkubwa wa mjadala yalikuwa polepole kuboresha softfork hii isiyohusiana, labda kwa sababu ya kiwango cha kufadhaika na Bitcoin Core.

Kwa kuzingatia historia hapo juu na mvutano mpya katika jamii, wakati SegWit iliachiliwa kulikuwa na kutokuwa na uhakika wowote ikiwa wachimbaji wangeamsha SegWit au la. Kwa kweli, moja ya mabwawa ya madini, ViaBTC, tayari ilikuwa imeonyesha kuwa hawataunga mkono uboreshaji huo hata kabla ya mteja kutolewa. [^ 5Fftn3 ] Wakati SegWit ilikuwa uchawi wa uhandisi, ilifanya kidogo kutuliza mvutano katika mzozo.