Segregated Witnessi (SegWit) algaja juhend
Avaleht
Artiklid
Segregated Witnessi (SegWit) algaja juhend

Segregated Witnessi (SegWit) algaja juhend

Edasijõudnud
Avaldatud Nov 25, 2019Värskendatud Jun 13, 2023
6m

Mis on SegWit?

Segregated Witness (SegWit) on 2015. aastal välja töötatud protokolli uuendus. Kontseptsioon võeti kasutusele lahendusena mastaapsuse probleemile, millega plokiahela võrgud seisid ja seisavad silmitsi praegugi. 

Bitcoini võrk valideerib keskmiselt iga 10 minuti järel uue ploki, millest igaüks sisaldab mitut tehingut. Sellisena mõjutab ploki suurus tehingute arvu, mida igas plokis kinnitada saab. Praegu suudab Bitcoini plokiahel töödelda umbes 7 tehingut sekundis.

SegWiti põhiidee on plokkide andmete ümberkorraldamine nii, et allkirju ei panda enam koos tehinguandmetega. Teisisõnu seisneb SegWiti versiooniuuendus tunnistajate (allkirjade) eraldamises tehinguandmetest. See võimaldab ühes plokis salvestada rohkem tehinguid, mis omakorda suurendab võrgu tehingute läbilaskevõimet.

Kuna töödelda on võimalik vaid umbes 7 tehingut sekundis, võib Bitcoini tehingu tegemine mõnikord kaua aega võtta. See on palju aeglasem võrreldes tavaliste makselahenduste ja finantsvõrkudega, mis suudavad töödelda tuhandeid tehinguid sekundis.

SegWiti arendas 2015. aastal Bitcoini arendaja Pieter Wuille koos teiste Bitcoin Core'i toetajatega. 2017. aasta augustis rakendati SegWiti uuendus Bitcoini võrgus nõrga kahvlina.

Tänapäeval kasutavad SegWiti mitmed krüptorahaprojektid, sealhulgas Bitcoin ja Litecoin. Protokolli uuendamine tõi endaga kaasa palju eeliseid, nagu parem tehingukiirus ja ploki mahutavus. Samuti lahendas SegWit niinimetatud tehingute vormimise vea (seda käsitletakse allpool).


Millised on SegWiti põhieelised?

Mahutavuse suurenemine

SegWiti üks suurimaid eeliseid on ploki mahutavuse suurenemine. Kui eemaldada tehingu sisendist allkirjaandmed, saab ühte plokki salvestada rohkem tehinguid.

Tehingud koosnevad kahest põhikomponendist: sisenditest ja väljunditest. Sisend sisaldab saatja avalikku aadressi, väljund aga saaja avalikku aadressi. Saatja peab aga tõendama, et tal on ülekantavad rahalised vahendid ja ta teeb seda digiallkirjaga.

Ilma SegWitita võivad allkirjaandmed võtta kuni 65% plokist. SegWiti abil viiakse allkirjaandmed tehingu sisendist välja. Selle tulemusena suureneb efektiivse ploki suuruse 1 MB-lt umbes 4 MB-ni.

Pea meeles, et SegWit ei suurenda tegelikult ploki suurust. Selle asemel on see insenertehniline lahendus efektiivse ploki suuruse suurendamiseks, ilma et peaks suurendama ploki suuruse piirangut (mille puhul oleks vaja tugevat kahvlit). Täpsemalt öeldes on tegelikult ploki suurusust endiselt 1 MB, kuid ploki suuruse piirang on 4 MB.

Samuti tutvustas SegWit ploki kaalu mõtet. Võime pidada ploki kaalu kontseptsiooniks, mis asendab ploki suuruse mõtet. Põhimõtteliselt on ploki kaal mõõt, mis sisaldab kõiki ploki andmeid, sealhulgas tehinguandmeid (1 MB) ja allkirjaandmeid (kuni 3 MB), mis ei ole enam sisestusvälja osa.


Tehingu kiiruse tõus

SegWitil on plokiga, mis suudab salvestada rohkem tehinguid, võimalus ka tehingu kiirust suurendada, kuna läbi plokiahela võib liikuda suurem hulk tehinguid. Kuigi ploki kaevandamine võib võtta sama palju aega, töödeldakse selles rohkem tehinguid, seega on TPS-i (tehinguid sekundis) määr kõrgem.

Suurenenud tehingukiirus on aidanud ka tehingukulusid Bitcoini võrgus vähendada. Enne SegWiti ei olnud haruldane, et tehingu peale kulutati üle 30 $. SegWit on aga langetanud selle kulu järsult alla 1 $ tehingu kohta.


Kas soovid alustada krüptorahaga? Osta Bitcoini (BTC) Binance'is!


Tehingu vormitavuse parandamine

Bitcoini peamine probleem oli võime potentsiaalselt rikkuda tehingute allkirju. Kui allkirja muudetakse, võib kahe osapoole vaheline tehing olla rikutud. Kuna plokiahelatesse salvestatud andmed on praktiliselt muutumatud, võivad kehtetud tehingud jäädavalt plokiahelasse salvestuda.

SegWiti puhul ei ole allkirjad enam tehinguandmete osa, mis välistab võimaluse neid andmeid muuta. See parandus on võimaldanud plokiahela kogukonnas teha täiendavaid uuendusi, sealhulgas teise kihi protokolle ja nutikaid lepinguid.


SegWit ja Lightning Network

Osaliselt võimaldas teise kihi protokollide väljatöötamist tehingute vormitavuse vea parandamine. Lihtsamalt öeldes on teise kihi protokollid uued platvormid või tooted, mis on plokiahela peale ehitatud, näiteks Bitcoin. Üks populaarsemaid teise kihi protokolle on Lightning Network, ahelaväline mikromaksete võrk.

Lightning Network on teise kihi protokoll, mis töötab Bitcoini võrgu peal. Lightning Networki põhieesmärk on võimaldada lühema aja jooksul kinnitada rohkem tehinguid, mille tulemuseks on kiiremad tehingud kasutajatele. Tehingud kogutakse plokiahelaväliselt ja puhverdatakse tõhusalt, et Bitcoini võrk saaks neid lõpuks töödelda.

Lightning Network töötati algselt välja Bitcoini jaoks. Mitmed teised krüptoraha ja plokiahela projektid töötavad aga oma võrkudes selle tehnoloogia juurutamise kallal. See mitte ainult ei vähenda tehingute kinnitusaega, vaid soodustab ka skaleeritavuse probleemile uute lahenduste väljatöötamist.


SegWit vs SegWit2x

SegWit on nõrga kahvli värskendus, mis tähendab, et see on tagasiühilduv. Teiste sõnadega, et isegi Bitcoini sõlmed, mida pole veel SegWiti kaasamiseks värskendatud, on endiselt võimelised tehinguid töötlema. Siiski oli veel üks väljapakutud SegWiti rakendus nimega SegWit2x (S2X), mille puhul oleks vaja tugeva kahvli värskendust.

Peamine erinevus SegWiti ja SegWit2x vahel on see, et viimane ei oleks sisaldanud mitte ainult tehingute pakettide muutmist, vaid ka ploki suuruse suurendamist (1 MB-lt 2 MB-le). Siiski suurendaks suurem ploki suurus sõlmede operaatorite ja kaevandajate koormust, kuna töödeldavaid andmeid oleks rohkem. 

Teine märkimisväärne erinevus on, et Bitcoini kogukond toetas SegWiti ettepanekut ja surus selle läbi. Sellest episoodist sündis UASF-i kontseptsioon, mis tähistab kasutaja poolt aktiveeritavat nõrka kahvlit.

Teisest küljest tegi SegWit2x ettepaneku oluliselt muuta ühte Bitcoini juhtivatest põhireeglitest. Ent kuna arendajad ei suutnud selle vastuvõtmise ja rakendamise osas üksmeelele jõuda, peatati lõpuks SegWit2x-i liikumine.


Nested SegWit vs Native SegWit (bech32)

Kokkuvõtvalt on Native SegWit (tuntud ka kui bech32) Nested SegWiti värskendatud versioon. Bech32 formaat pakub suuremat tehingukiirust, paremaid veatuvastusmehhanisme ja veelgi madalamaid tehingutasusid. Lisaks on bech32 aadressid väikeste tähtedega, mis teeb nende lugemise lihtsamaks.

Pea meeles, et plokiahela tehingud mitte-SegWiti (Legacy), Nested SegWiti ja Native SegWiti (bech32) aadresside vahel on täielikult ühilduvad. Ent mitte kõik börsid ja krüptorahakotid ei toeta SegWiti, seega ei pruugi sul olla võimalik raha otse SegWiti aadressile välja võtta.

Binance'i börs toetab Bitcoini (BTC) puhul SegWiti sissemakseid ja väljamakseid. Lisateavet leiad SegWiti KKK-st.


Lõppmärkused

SegWiti juurutamine tähistas Bitcoini suurimat protokollivärskendust ning asjaolu, et seda toetas ja juurutas detsentraliseeritud kogukond, muudab selle veelgi huvitavamaks.

SegWiti kasutuselevõtt oli paljude Bitcoini ja teiste plokiahelavõrkudega seotud probleemide lahendamisel suur samm edasi, eriti skaleeritavuse osas. SegWiti ja teise kihi protokollide kombinatsiooni kaudu saavad plokiahelavõrgud hakkama suurema arvu tehingutega, suurema tõhususe ja väiksemate kuludega.

Vaatamata sellele, et SegWit on võimas ja uuenduslik lahendus, pole see veel täielikult kasutusele võetud. Praegu on SegWiti kasutavate Bitcoini aadresside osakaal umbes 53%.