SegWit ja tunnistajaandmed: Kuidas Bitcoin parandas tehingute efektiivsust ja ploki kaalu

Bitcoini ajalugu on tähtis uuendustega, mis on määratlenud selle trajektoori globaalse digitaalse valuutana. Nende tehniliste verstapostide seas on vähesed olnud nii muutvad või kirevalt vaieldavad kui Segregated Witnessi rakendamine. Sageli tuntud oma lühendiga SegWit, see protokolli uuendus aktiveeriti augustis 2017 pärast intensiivse kogukonnaarutelu ja konsensuse loomise perioodi. See oli võtmemoment võrgustiku jaoks, lahendades pikaajalisi küsimusi seoses skaleeritavuse ja turvalisusega.

Enne SegWiti seisis Bitcoin võrgustik kasvava kasutajaskonna tõttu kasvava surve all. Kasvava omaksvõtmise tõttu said originaalse ploki suuruse piirangud pudelikaelaks, põhjustades võrgustiku ummistusi ja kasvavaid tehingukulusid. Arendajad ja osalised otsisid lahendust, mis leevendaks neid surveid ilma blockchaini hajutatud olemust ohverdamata. Segregated Witness ilmnes nutika insenerilahendusena, mis optimeeris andmete salvestamist lihtsalt ploki suuruse piiri suurendamise asemel.

Uuendus tegi rohkem kui lihtsalt mahutavuse parandamist. See muutis fundamentaalselt tehingute töötlemise mehaanikat, lahendades tehnilist haavatavust nimega transaction malleability. Selle küsimuse parandamisega pani SegWit aluse teise taseme lahendustele nagu Lightning Network edukaks arendamiseks. See avas tee hetke- ja madala kuluga maksetele, mida varem oli raske turvaliselt rakendada.

SegWiti mõistmine nõuab vaadet tehniliste spetsifikatsioonide taha. See hõlmab Bitcoini juhtimismudeli, plokiruumi majanduse ja kogukonna dünaamika uurimist, mis juhivad protokolli evolutsiooni. See uuendus näitas, et Bitcoin saab kohaneda ja skaleerida pehmete forkituste kaudu, säilitades tagurpidi ühilduvuse samal ajal kui tutvustades radikaalseid parandusi efektiivsuses ja kasulikkuses.

Skaleeritavuse väljakutse

Bitcoin oli algselt loodud ploki lisatava suuruse piiranguga. See piirang, seatud 1 megabaiti (MB) suuruseks, toimis kaitseabinõuna spämmirünnakute vastu võrgustiku algusaegadel. Kuid kui Bitcoin kasvas obscuurse eksperimentist globaalselt tunnustatud varaks, hakkas see ohutusfunktsioon toimima kasvupiiranguna.

Ploki suuruse pudelikael

Iga Bitcoin tehing koosneb andmetest, mida kaevurite poolt tuleb töödelda ja salvestada. Need andmed hõlmavad sisendeid, väljundeid ja digitaalseid allkirju, mis tõestavad kulutatavate fondide omandit. Enne-SegWit ajastul pidid kõik need andmed konkureerima jäigal 1MB ploki piirangu sees.

Kui võrgustiku populaarsus tõusis, ületas plokiruumi nõudlus sageli saadaval oleva pakkumise. Kasutajad leidsid end hinnasõjas, kinnitades kõrgemaid tasusid oma tehingutele, et motiveerida kaevureid neid järgmisesse blokki lisama. See dünaamika põhjustas aeglasema kinnitusaega standardtasusid maksnud kasutajatele.

Tippaegadel muutus võrgustik ummistunuks, muutes väikeste maksete või mikrotehingute teostamise ebapraktikaalseks. Kogukond tunnistas, et Bitcoini toimimiseks efektiivselt nii väärtuse säilitajana kui vahetusvahendina tuli võrgustiku läbilaskevõimet suurendada. Väitlus keskendus sellele, kuidas saavutada seda skaleerimist ilma turvalisust või hajutatusest ohverdamata.

Kõva forki dilemma

Üks pakutud lahendus skaleeritavuse probleemile oli kõva fork. Kõva fork on protokolli radikaalne muudatus, mis teeb varem sobimatu ploki/tehingu sobivaks või vastupidi. Skaleerimise kontekstis oleks see tähendanud lihtsalt koodi ümberkirjutamist suuremate plokkide lubamiseks, nagu 2MB või 8MB.

Kuid kõvad forkid kannavad kaasa olulisi riske. Need nõuavad kõigi võrgustiku sõlmede samaaegset tarkvara uuendamist. Kui kogukonna segment keeldub uuendamisest või ei nõustu muudatusega, võib blockchain jaguneda kaheks eraldi ahelaks. See juhtus Bitcoin Cashi loomisel, mis valis ploki suuruse suurendamise kõva forki kaudu.

Bitcoin Core arendajad eelistasid ohutumat lähenemist nimega pehme fork. Pehme fork on tagurpidi ühilduv uuendus, mis tähendab, et vanemate tarkvaraversioonidega sõlmed saavad endiselt võrgustikus osaleda. SegWit loodi pehmena forkina, et tagada võrgustiku ühtsus samal ajal kui vajalikud mahutavusparandused.

Konsensus ja juhtimine

SegWiti aktiveerimise tee rõhutas Bitcoini juhtimise unikaalset olemust. Erinevalt tsentraliseeritud süsteemidest, kus juht dikteerib muudatusi, tugineb Bitcoin konsensusele mitmekesise osalejate grupi seas. See hõlmab kaevureid, arendajaid, sõlmeoperaatoreid ja lõppkasutajaid.

SegWiti ettepanek, tuntud kui Bitcoin Improvement Proposal (BIP) 141, nõudis väga kõrget toetust kaevuritelt aktiveerimiseks. Täpsemalt, 95% kaevurite hash-jõust pidi andma valmisoleku signaali kahe nädala jooksul. See kõrge künnis tagab, et uuendused saavad ülekaaluka toetuse enne jõustamist, minimeerides võrgustiku ebastabiilsuse riski.

Kuidas SegWit toimib kapoti all

Segregated Witnessi peamine innovatsioon vihjatakse selle nimes. "Segregated" tähendab eraldamist ja "Witness" viitab digitaalsetele allkirjadele, mis kinnitavad tehingut. Pärandi Bitcoin tehingutes oli digitaalsete allkirjade andmed segunenud tehingu andmetega, hõivates olulise osa väärtuslikust 1MB plokiruumist.

Tunnistajaandmete eraldamine

SegWit restruktureeris tehingu formaati, liigutades tunnistajaandmed (allkirjad) välja peamisest ploki struktuurist. Kuigi need andmed registreeritakse ja valideeritakse endiselt, salvestatakse need eraldi struktuuris, mis jookseb paralleelselt baastehingu plokiga. See eraldamine oli võti rohkema mahutavuse avamiseks ilma 1MB piiri tehniliselt suurendamata vanade sõlmede jaoks.

Selle visualiseerimiseks kujutage ette rongi, mis esindab Bitcoin plokki. Pärandi süsteemis olid reisijad (tehingu detailid) ja nende pagas (allkirjad) kõik topitud samadesse vagunitesse. Rongil oli range piirang mahu osas.

SegWit lisas efektiivselt spetsialiseeritud pagasivaunu rongi taha just pagasi jaoks. Raske pagasi liigutamisega reisijavaunuist välja sai rong järsku oluliselt rohkem reisijaid vedada samades peamistes ruumides. "Pagas" reisib endiselt rongiga, kuid see ei võta enam premium-ruumi, mida reisijad vajavad.

Ploki kaal vs ploki suurus

Selle muudatuse rakendamiseks tõi SegWit sisse uue kontseptsiooni nimega "ploki kaal". Vana ploki suuruse mõõtmine lihtsate baitidega asendati süsteemiga, mis määrab erinevaid "kaale" tehingu erinevatele osadele. See võimaldas võrgustikul eristada kriitilisi tehingu andmeid ja tunnistajaandmeid.

Selles uues süsteemis loetakse baastehingu andmeid täissuuruses, samas kui tunnistajaandmed on allahindatud. Täpsemalt kaalub tunnistajaandmed oluliselt vähem kui tehingu andmed ploki piiri arvutamisel. See muudatus suurendas efektiivselt ploki suuruse piiri 1MB-lt teoreetilisele 4MB-le "kaalunitites".

See nihe motiveeris kasutajaid ja rahakoti pakkujad SegWit aadresside kasutamisele. Tehingud, mis kasutasid uut formaati, olid odavamad saata, kuna need tarbisid vähem "kaalu" plokis võrreldes pärandi tehingutega. See majanduslik stiimul aitas kaasa uuenduse omaksvõtmisele kogu ökosüsteemis.

Virtuaalsed baitid (vBytes)

Ploki kaalu sissejuhatamisega arenes ka tehingutasude kontseptsioon. Tasud hakati arvutama "virtuaalsete baitide" (vBytes) alusel mitte toorete baitide alusel. vByte on mõõtühik, mis tuleneb tehingu kaalust.

Kuna tunnistajaandmed on allahindatud, on SegWit tehingul väiksem vByte suurus kui sama toore suurusega pärandi tehingul. See tähendab, et sama tasumääraga (satoshid bitti kohta) maksab SegWit tehing kokku vähem tasusid.

See efektiivsuse kasv oli kohe kasutusel kasutajatele, kes lülitusid SegWit-ühilduvatele rahakottidele. See võimaldas võrgustikul töödelda rohkem tehinguid sekundis, suurendades efektiivselt läbilaskevõimet ilma kõva forkiga seotud ohtudeta. Optimeerimine tõestas, et intelligentne insenerimine saab olemasolevast infrastruktuurist välja pigistada rohkem jõudlust.

Tehingute plastilisuse lahendamine

Kuna skaleerimine oli SegWiti peamine omadus, lahendas uuendus veel ühe kriitilise tehnilise veaga nimega transaction malleability. See küsimus oli Bitcoini saatnud selle loomisest peale ja toimis suure takistusena arenenud teise taseme protokollide arendamisel.

Plastilisus viitab kolmanda osapoole võimele muuta tehingu unikaalset identifikaatorit (TXID) enne selle kinnitamist blockchainil. Oluliselt sai seda muudatust teha ilma tehingut ennast sobimatuks tegemata või muutmiseta fundamentaalseid detaile nagu saatja, vastuvõtja või summa.

Pärandi süsteemis oli digitaalallkiri kaasatud tehingu hash-arvutusse (TXID). Kuid krüptograafilised allkirjad saavad matemaatiliselt esindatud veidi erinevalt, olles endiselt sobivad. Ründaja või releesõlm võis allkirjaandmeid veidi muuta, mis tulemusena annaks täiesti teistsuguse TXID.

Kui TXID muutus, võis saatja arvata, et tehing ebaõnnestus, samas kui vastuvõtja (või ründaja) kinnitas muudetud versiooni. See tekitas segadust ja tegi ohtlikuks kinnitamata tehingute aheladamise. Kui ahela esimene tehing sai ID muudetud, muutuks iga järgnev tehing, mis viitab sellele ID-le, sobimatuks.

SegWit parandas seda eemaldades allkirjaandmed osast tehingust, mida kasutatakse TXID genereerimiseks. Kuna "tunnistaja" oli eraldatud, ei mõjuta allkirjaandmete muudatused enam tehingu ID-d. See tegi tehingu ID muutmatu alates selle loomise hetkest.

Lightning Networki võimaldamine

Tehingute plastilisuse parandus oli katalüsaator Lightning Networkile. Lightning Network on teise taseme skaleerimislahendus, mis tugineb tugevalt kinnitamata tehingute ahelate loomise võimele turvaliselt.

Alus teise taseme jaoks

Maksekanalite toimimiseks avavad kaks osapoolt efektiivselt ühise kontole blockchainil ja seejärel vahetavad allkirjastatud tehinguid off-chain. Need off-chain tehingud uuendavad kanali bilanssi ilma peamisele blockchainile puudutamata.

Kuid need off-chain tehingud sõltuvad algsest "finantseerimistehingust", mis peab olema kindlalt ankurdatud. Kui tehingute plastilisus oleks endiselt võimalik, võiks pahatahtlik osapool potentsiaalselt muuta finantseerimistehingu ID-d. See teeks sobimatuks kogu järgneva off-chain loogika, mille osapooled olid kokku leppinud.

Tehingu ID kindlustamisega pakkus SegWit kindla aluse nendele nutilepingutele. See võimaldas Lightningi sõlmedel usaldada, et tehingud, mida nad off-chain allkirjastavad, jäävad sobivaks, kui need lõpuks peamisele Bitcoin võrgustikule lahendatakse.

Hetkekinnitused

Plastilisuse riski eemaldamisega sai Lightning Network ohutult juurutada. See võimaldas peaaegu hetkelahendusi maksetele kasutajate vahel kogu maailmas. Kuigi SegWit pakkus tagasihoidsatuse on-chain mahutavuse suurendust, võimaldas Lightning peaaegu piiramatu off-chain skaleerimise potentsiaali.

Kasutajad said nüüd teha miljoneid tehinguid ilma peamisele blockchainile koormamata, lahendades ainult lõpptulemuse. See on-chain efektiivsuse (SegWiti kaudu) ja off-chain skaleerimise (Lightningi kaudu) kombinatsioon esindab Bitcoini peamist strateegiat globaalse tehingumahtude käsitlemiseks.

Aktiveerimise saaga: BIP 141 ja UASF

SegWiti juurutamine polnud pelgalt tehniline uuendus; see oli ajalooline sündmus hajutatud juhtimises. Protsess paljastas keerulised võimudünaamikad kaevurite, arendajate ja kasutajate vahel Bitcoin ökosüsteemis.

Ettepanek (BIP 141)

SegWit uuendus esitati formaalselt Bitcoin Improvement Proposal 141-na. Sujuvaks aktiveerimiseks seadsid arendajad künnise, nõudes 95% blokkide signaalimist uuenduse toetuseks kahe nädala raskusajastu jooksul. See oli mõeldud tagama, et võrgustik ei jaguneks.

Kuid selle konsensuse saavutamine osutus raskeks. Suurte kaevanduspoolide seas erinevad poliitilised ja majanduslikud huvid viisid patiseisuni. Mõned kaevurid eelistasid kõva forkit ploki suuruse otsese suurendamise jaoks, teised olid kõhklevad oma infrastruktuuri uuendamisel.

Kuude kaupa rippus aktiveerimise signaalimine hästi alla nõutud künnise. Tundus, et uuendus võib peatuda määramatuks ajaks, rõhutades potentsiaalset viga kaevurite signaalimisele protokolli uuenduste jaoks.

Kasutaja aktiveeritud pehme fork (BIP 148)

Kahjustunud edasiliikumise puudumise üle tekkis kogukonnas rohujuurteliikumine. See initsiatiiv oli tuntud kui User Activated Soft Fork (UASF) ehk BIP 148. Kontseptsioon oli revolutsiooniline: selle asemel et oodata kaevurite hääletust, sunniks majanduslik enamuses sõlmed (kasutajad, börsid ja ettevõtted) uuendust ise.

UASF osalejad kasutasid Bitcoin tarkvara versiooni, mis lükkas tagasi kõik blokid, mis ei signaleerinud SegWiti toetust teatud kuupäeva järel. See joonistas liiva sisse joone. Kui kaevurid jätkaksid SegWiti eiramist, lükkaks neid tagasi märkimisväärne osa võrgustikust, põhjustades tulu kadu.

User Activated Soft Forki oht nihutas võimude tasakaalu. See näitas, et kuigi kaevurid töötlevad tehinguid, määravad kasutajad protokolli reeglid. UASF majandusliku surve ees andisid kaevurid alla ning SegWit lukustati sisse ja aktiveeriti augustis 2017.

Aadressitüübid ja ühilduvus

SegWiti aktiveerimise järel nägi Bitcoin ökosüsteem erinevate aadressiformaatide tekkimist. Nende formatide mõistmine on oluline kasutajatele, kes soovivad ära kasutada madalamaid tasusid ja efektiivsuse eeliseid, mida SegWit pakub.

Pärandi aadressid

Originaalne Bitcoin aadressiformaat on tuntud kui Legacy. Need aadressid algavad tavaliselt numbriga 1. Legacy aadressidest saadetud tehingud on suuremad suuruselt, kuna need ei kasuta tunnistajaandmete eraldamist. Seetõttu on need tehingutasude poolest kõige kallimad.

Sisestatud SegWit (P2SH)

Sujuvaks omaksvõtmiseks tõid arendajad sisse ühilduvuse kihi nimega Pay to Script Hash (P2SH). Need aadressid algavad numbriga 3. Need võimaldasid kasutajatel saata SegWit tehinguid isegi kui saatja rahakott ei toetanud täielikult uut kohalikku formaati.

Sisestatud SegWit pakkus keskteed. See pakkus olulisi tasude kokkuhoiuga võrreldes Legacy aadressidega, kuigi mitte nii palju kui täielikult kohalik rakendus. Pikka aega oli see standard paljude börside ja rahakoti pakkujate jaoks, kui nad oma süsteeme uuendasid.

Kohalik SegWit (Bech32)

Kõige efektiivsema formaat on Native SegWit, tuntud ka kui Bech32. Need aadressid algavad bc1. Native SegWit aadressid eristuvad, kuna need on tõstutundetud, vähendades kirjavea riski.

Olulisemalt on Native SegWit tehingud väiksemad virtuaalsetes baitides kui nende sisestatud vasted. See annab kasutajatele madalaimad võimalikud tehingutasud. Kuna ökosüsteem on küpsenud, on Native SegWit saanud enamike kaasaegsete rahakottide ja teenuste vaikimisi standardiks.

Aadressi tüüpEelvoideTasude efektiivsusÜhilduvus
Legacy1...MadalÜldine
Sisestatud SegWit3...KeskmineKõrge
Kohalik SegWitbc1...KõrgeKaasaegsed rahakotid

SegWitist kaugemale: Taproot ja Ordinals

SegWiti edukas rakendamine tõestas, et Bitcoin saab läbida keerulisi uuendusi ilma oma tuumaväärtuspakkumist häirimata. See edu avas tee järgnevatele innovatsioonidele, mis on laiendanud võrgustiku võimekusi veelgi.

Taproot ja Schnorr allkirjad

Novembris 2021 aktiveeris Bitcoin Taproot uuenduse. Taproot ehitati otse SegWiti loodud alusele. See tõi sisse Schnorr allkirjad, mis võimaldasid veelgi suuremat efektiivsust ja privaatsust.

Nagu SegWit, muutis Taproot seda, kuidas andmeid blockchainil salvestatakse. See võimaldas allkirjade agregeerimist, kus keerulise tehingu mitu allkirja sai kombineerida üheks allkirjaks. See tegi keerulised nutilepingud tavalistest tehingutest eristatamatuks, parandades privaatsust samal ajal kui säästes plokiruumi.

Ilma SegWiti sisseviidud struktuurimuudatusteta, eriti skripti versioonimissüsteemita, oleks uuendused nagu Taproot olnud oluliselt raskem juurutada. SegWit kehtestas selge tee tulevaseks laiendatavuseks.

Ordinals tõus

Hiljuti on Bitcoin Ordinals kasutanud SegWiti infrastruktuuri ootamatutel viisidel. Ordinals võimaldab kasutajatel graveerida suvalisi andmeid – nagu pilte, teksti või koodi – otse individuaalsetele satoshitele.

See on võimalik, kuna SegWit allahindas tunnistajaandmete "kaalu". Graveerijad said aru, et nad saavad salvestada suuri andmemahte tehingu tunnistajavälja, murdosa hinnaga võrreldes peamise plokiarea salvestamisega. Kuigi vaieldav mõnedele, kes näevad seda spämmi, näitas Ordinals tunnistajaandmeruumi paindlikkust.

See ootamatu kasutusjuhtum rõhutab SegWiti disaini vastupidavust. Eraldi, allahinnatud andmevoo loomine lõi tahtmatult canvase digitaalsetele artefaktidele, mitmekesistades Bitcoin blockchaini kasulikkust veelgi.

Järeldus

Segregated Witness seisab Bitcoini võrgustiku vastupidavuse ja kohanemisvõime tunnistusena. Keskendudes kriitilisele pudelikaelale, mis ohustas kasvu, ühines kogukond elegantsi, tagurpidi ühilduva ja tulevikku vaatava lahenduse taga. Tehinguandmete struktureerimise uuesti kujutamisega pakkus SegWit kohest leevendust kõrgetele tasudele, säilitades hajutatusest, mis annab Bitcoinile väärtuse.

SegWiti pärand ulatub kaugemale lihtsatest ploki kaalu arvutustest. See lahendas püsiva haavatavuse tehingute plastilisuses, avades potentsiaali teise taseme skaleerimislahendustele nagu Lightning Network. Lisaks kehtestas see eelkäija kasutajajuhtitud juhtimisele, tõestades, et majanduslik enamuses saab efektiivselt kontrollida kaevandusüksuste võimu.

Kuna Bitcoin jätkab evolutsiooni, jäävad SegWiti loodud struktuurid selle toimimise keskmesse. Native SegWit aadresside efektiivsusest kuni Taprooti ja Ordinals'i arenenud võimekuteni, uuendas see, mis on blockchainil võimalik. See tagas, et Bitcoin saab skaleerida globaalse nõudluse rahuldamiseks ilma oma aluspõhimõtteid ohverdamata.

SegWit revolutsioneerib Bitcoini eraldades allkirjad tehinguandmetest, suurendades efektiivselt ploki mahutavust ja parandades kriitilisi vigu tulevase skaleerimise võimaldamiseks.