Pamācība iesācējiem par Segregated witness (SegWit)
Sākums
Raksti
Pamācība iesācējiem par Segregated witness (SegWit)

Pamācība iesācējiem par Segregated witness (SegWit)

Vidēji sarežģītas tēmas
Publicēts Nov 25, 2019Atjaunināts Jun 13, 2023
6m

Kas ir SegWit?

Segregated witness (SegWit) ir protokola jauninājums, kas tika izstrādāts 2015. gadā. Mērķis bija piedāvāt risinājumu mērogojamības problēmai, kas bija un joprojām ir raksturīga blokķēdes tīkliem. 

Bitcoin tīkls validē jaunu bloku vidēji reizi 10 minūtēs, un katrā no tiem ir vairāki darījumi. Līdz ar to bloka lielums ietekmē to, cik daudz darījumu var apstiprināt ar katru jauno bloku. Pašlaik Bitcoin blokķēde var apstrādāt aptuveni 7 darījumus sekundē.

SegWit galvenais mērķis ir pārkārtot bloka datus, lai kopā ar darījumu datiem vairs netiktu ievietoti paraksti. Citiem vārdiem sakot, SegWit jauninājums paredz liecību (parakstu) nošķiršanu no darījumu datiem. Tādējādi vienā blokā var iekļaut vairāk darījumu, palielinot tīkla veiktspēju.

Tā kā Bitcoin tīkls sekundē var apstrādāt tikai aptuveni 7 darījumus, darījumu izpilde dažkārt aizņem ļoti daudz laika. Tas ir daudz lēnāk, salīdzinot ar tradicionālajiem maksājumu risinājumiem un finanšu tīkliem, kas sekundē var apstrādāt tūkstošiem darījumu.

SegWit 2015. gadā izveidoja Bitcoin izstrādātājs Pīters Vuijs (Pieter Wuille). 2017. gada augustā SegWit jauninājums tika ieviests Bitcoin tīklā, veicot vieglo šķelšanu.

Mūsdienās vairāki kriptovalūtu projekti izmanto SegWit, tostarp arī Bitcoin un Litecoin. Šis protokola jauninājums pavēra daudzas iespējas, tostarp ātrāku darījumu izpildi un lielāku bloku ietilpību. Turklāt SegWit atrisināja t. s. darījumu vieglas pielāgojamības kļūdu (tā ir apskatīta zemāk).


Kādi ir galvenie ieguvumi no SegWit?

Lielāka bloku ietilpība

Viena no galvenajām SegWit sniegtajām priekšrocībām ir lielāka bloku ietilpība. Izņemot parakstu datus no darījumu ievaddatiem, vienā blokā tagad var iekļaut vairāk darījumu.

Darījumi sastāv no diviem galvenajiem komponentiem – ievades datiem un izvades datiem. Ievades dati būtībā ietver sūtītāja publisko adresi, bet izvades dati ietver saņēmēja publisko adresi. Taču sūtītājam ir jāpierāda, ka tam pieder pārskaitāmie līdzekļi, un tas tiek darīts, izmantojot digitālo parakstu.

Bez SegWit paraksta dati mēdza aizņemt līdz pat 65 % no bloka apjoma. Pēc SegWit ieviešanas parakstu dati tika izņemti no darījumu ievades datiem. Tā rezultātā bloka faktiskais lielums palielinājās no 1 MB līdz aptuveni 4 MB.

Jāpiebilst, ka SegWit būtībā nepalielina bloka lielumu. Tas ir inženiertehnisks risinājums, kas palielina faktisko bloka ietilpību, nepalielinot bloka lieluma limitu (kam būtu nepieciešams veikt stingro šķelšanu). Konkrētāk – bloka lielums joprojām ir 1 MB, taču faktiskais bloka lieluma limits ir 4 MB.

Turklāt līdz ar SegWit tika ieviesta ideja par bloka svaru. Bloka svaru varētu uzskatīt par jēdzienu, kas aizstāj bloka lieluma ideju. Bloka svars ir rādītājs, kas ietver visus bloka datus, tostarp darījumu datus (1 MB) un parakstu datus (līdz 3 MB), kas vairs neietilpst ievades datos.


Ātrāka darījumu izpilde

Tā kā blokā tagad var iekļaut vairāk darījumu, SegWit spēj paātrināt darījumu apstrādi, jo blokķēdē var izpildīt lielāku apjomu darījumu. Lai gan bloka ieguvei ir nepieciešams zināms laiks, tajā tiek iekļauts lielāks skaits darījumu, tāpēc arī darījumu skaits sekundē (TPS) ir lielāks.

Lielāks darījumu apstrādes ātrums ir palīdzējis arī mazināt darījumu izmaksas Bitcoin tīklā. Pirms SegWit ieviešanas par darījumu nācās maksāt pat vairāk nekā 30 $. Taču SegWit izdevās ievērojami samazināt izmaksas līdz pat mazāk nekā 1 $ par darījumu.


➟ Vēlies sākt izmantot kriptovalūtas? Pērc Bitcoin (BTC) platformā Binance!


Darījumu vieglas pielāgojamības kļūdas labojums

Būtiska Bitcoin problēma bija iespēja manipulēt ar darījumu parakstiem. Ja paraksts tiktu mainīts, tas varētu negatīvi ietekmēt starp divām pusēm veiktu darījumu. Tā kā blokķēdēs glabātie dati ir praktiski nemainīgi, nederīgie darījumi varētu pastāvīgi tikt glabāti blokķēdē.

Pēc SegWit ieviešanas paraksti vairs netiek iekļauti darījumu datos, un tas novērš iespējamību, ka šie dati tiktu grozīti. Šī uzlabojuma rezultātā blokķēdes kopienā tika radīti citi inovatīvi risinājumi, tostarp otrā slāņa protokoli un viedie līgumi.


SegWit un Lightning tīkls

Otrā slāņa protokolu izstrāde kļuva iespējama, daļēji pateicoties darījumu vieglas pielāgojamības kļūdas novēršanai. Vienkārši izsakoties, otrā slāņa protokoli ir jaunas platformas vai produkti, kas tiek izstrādāti, balstoties uz kādas blokķēdes, piemēram, Bitcoin. Viens no populārākajiem otrā slāņa protokoliem ir Lightning tīkls – ārpusķēdes mikromaksājumu tīkls.

Lightning tīkls ir otrā slāņa protokols, kas darbojas uz Bitcoin tīkla pamata. Galvenais Lightning tīkla mērķis ir apstiprināt lielāku skaitu darījumu īsākā laika periodā, tādējādi ļaujot ātrāk izpildīt lietotāju veiktos darījumus. Darījumi tiek apkopoti ārpus ķēdes un tad sagatavoti apstrādei Bitcoin tīklā.

Lightning tīkls sākotnēji tika izstrādāts Bitcoin tīklam. Taču arī vairākas citas kriptovalūtas un blokķēdes projekti strādā pie šīs tehnoloģijas ieviešanas savos tīklos. Tādējādi ne vien tiks samazināts darījumu apstiprināšanas laiks, bet arī veicināta jaunu mērogošanas risinājumu izstrāde.


SegWit un SegWit2x

SegWit ir vieglās šķelšanas jauninājums, kas nozīmē, ka tas nodrošina saderību ar iepriekšējām versijām. Citiem vārdiem sakot, arī tie Bitcoin mezgli, kas nav veikuši jauninājumu ar SegWit, joprojām var apstrādāt darījumus. Taču ir ierosināts vēl viens SegWit risinājums ar nosaukumu SegWit2x (S2X) – tas paredz stingrās šķelšanas veikšanu.

Galvenā atšķirība starp SegWit un SegWit2x ir tāda, ka otrais risinājums ietver ne vien izmaiņas darījumu grupēšanā, bet arī bloka lieluma palielinājumu (no 1 MB uz 2 MB). Taču lielāks bloka lielums nozīmē arī papildu rūpes mezglu operatoriem un ieguvējiem, jo ir jāapstrādā lielāks datu apjoms. 

Vēl viena svarīga atšķirība ir tāda, ka SegWit priekšlikumu atbalstīja un īstenoja Bitcoin kopiena. Tā rezultātā radās ideja par UASF – lietotāju aktivizētu vieglo šķelšanu.

No otras puses – SegWit2x piedāvāja būtiskas izmaiņas vienā no svarīgākajiem Bitcoin pārvaldības noteikumiem. Taču, tā kā izstrādātāji nevarēja nonākt pie konsensa saistībā ar šī risinājuma ieviešanu, SegWit2x kustība galu galā tika apturēta.


Ligzdotais SegWit un vietējais SegWit (bech32)

Īsumā – vietējais SegWit (jeb bech32) ir ligzdotā SegWit atjaunināta versija. Formāts bech32 nodrošina lielāku darījumu apstrādes ātrumu, efektīvākus kļūdu noteikšanas mehānismus un pat zemākas darījumu komisijas maksas. Turklāt bech32 adresēs tiek izmantoti mazie burti, atvieglojot to lasīšanu.

Piebildīsim, ka blokķēdes darījumi starp tradicionālajām adresēm, kas nav SegWit adreses, ligzdotā SegWit adresēm un vietējā SegWit (bech32) adresēm, ir pilnībā saderīgi. Taču ne visas biržas un kriptovalūtu maki atbalsta SegWit, tāpēc tev, iespējams, neizdosies tieši izņemt līdzekļus, pārskaitot tos uz SegWit adresi.

Binance birža atbalsta SegWit iemaksas un izmaksas Bitcoin (BTC) kriptovalūtai. Vairāk informācijas atradīsi SegWit BUJ sadaļā.


Noslēgumā

SegWit ieviešana nozīmēja lielāko Bitcoin protokola jauninājumu, un vēl interesantāku to padara fakts, ka šo jauninājumu atbalstīja un ieviesa decentralizētā kopiena.

SegWit ieviešana bija būtisks solis, lai risinātu daudzas ar Bitcoin un citiem blokķēdes tīkliem saistītas problēmas, jo īpaši mērogojamības jomā. Apvienojot SegWit un otrā slāņa protokolus, blokķēdes tīkli var apstrādāt vairāk darījumu – efektīvāk un ar zemākām izmaksām.

Neraugoties uz to, ka SegWit ir efektīvs un inovatīvs risinājums, tas vēl netiek plaši izmantots. Pašlaik SegWit izmanto aptuveni 53 % Bitcoin adrešu.