Príručka pre začiatočníkov k riešeniu Segregated Witness (SegWit)
Domov
Články
Príručka pre začiatočníkov k riešeniu Segregated Witness (SegWit)

Príručka pre začiatočníkov k riešeniu Segregated Witness (SegWit)

Rozšírené
Zverejnené Nov 25, 2019Aktualizované Jun 13, 2023
6m

Čo je SegWit?

Segregated Witness (SegWit) je inovácia protokolu vyvinutá v roku 2015. Koncept bol predstavený ako riešenie problému škálovateľnosti, s ktorým blockchainy mali problém v minulosti a majú ho aj v súčasnosti. 

Sieť Bitcoin validuje nový blok v priemere každých 10 minút, pričom každý blok obsahuje viacero transakcií. Veľkosť bloku ako taká ovplyvňuje počet transakcií, ktoré možno v jednotlivých blokoch potvrdiť. Blockchain Bitcoin dokáže napríklad spracovať približne 7 transakcií za sekundu.

Hlavnou myšlienkou riešenia SegWit je reorganizácia údajov bloku tak, aby sa podpisy už neumiestňovali spolu s údajmi o transakcii. Inými slovami, aktualizácia SegWit pozostáva zo segregácie (oddelenia) svedkov (podpisov) od údajov o transakcii. To umožňuje uložiť viac transakcií do jedného bloku, čím sa zvyšuje priepustnosť transakcií sieťou.

Keďže je možné spracovať len približne 7 transakcií za sekundu, transakcia bitcoinov môže niekedy trvať dlho. Je to oveľa pomalšie v porovnaní s tradičnými platobnými riešeniami a finančnými sieťami, ktoré dokážu spracovať tisíce transakcií za sekundu.

SegWit vyvinul v roku 2015 vývojár siete Bitcoin Pieter Wuille spolu s ďalšími prispievateľmi Bitcoin Core. V auguste 2017 bola inovácia SegWit implementovaná ako soft fork v sieti Bitcoin.

SegWit dnes používa niekoľko projektov kryptomien vrátane Bitcoin a Litecoin. Inovácia protokolu priniesla mnoho výhod, napríklad vyššiu rýchlosť transakcií a kapacitu blokov. SegWit tiež vyriešil takzvanú chybu tvárnosti transakcií (opísané nižšie).


Aké sú výhody riešenia SegWit?

Zvýšenie kapacity

Jednou z najväčších výhod riešenia SegWit je zvýšenie kapacity blokov. Odstránením údajov o podpise zo vstupu transakcie je možné do jedného bloku uložiť viac transakcií.

Transakcie sa skladajú z dvoch hlavných častí: vstupov a výstupov. Vstup obsahuje v podstate verejnú adresu odosielateľa, zatiaľ čo výstup obsahuje verejnú adresu príjemcu. Odosielateľ však musí preukázať, že prevádza prostriedky, a to urobí digitálnym podpisom.

Bez riešenia SegWit môžu údaje o podpise zaberať až 65 % bloku. S riešením SegWit sa údaje o podpise presunú zo vstupu transakcie. Vďaka tomu sa zvýši efektívna veľkosť bloku z 1 MB na približne 4 MB.

Upozorňujeme, že riešenie SegWit nie je skutočným zväčšením veľkosti bloku. Je to inžinierske riešenie na zvýšenie efektívnej veľkosti bloku bez toho, aby ste museli zvýšiť limit veľkosti bloku (na to by bol potrebný hard fork). Konkrétnejšie, skutočná veľkosť bloku je stále 1 MB, ale efektívny limit veľkosti bloku je 4 MB.

Riešenie SegWit tiež predstavilo myšlienku hmotnosti bloku. Hmotnosť bloku môžeme považovať za koncept, ktorý nahrádza myšlienku veľkosti bloku. Hmotnosť bloku je v podstate meradlo, ktoré zahŕňa všetky údaje bloku vrátane údajov o transakciách (1 MB) a údajov o podpise (do 3 MB), ktoré už nie sú súčasťou vstupného poľa.


Zvýšenie rýchlosti transakcií

S blokom, ktorý dokáže uložiť viac transakcií, má riešenie SegWit tiež schopnosť zvýšiť rýchlosť transakcií, pretože cez blockchain môže prechádzať väčšie množstvo transakcií. Aj keď ťažba bloku môže trvať rovnako dlho, spracováva sa v ňom viac transakcií, takže rýchlosť TPS je vyššia.

Zvýšená rýchlosť transakcií tiež pomohla znížiť náklady na transakcie v sieti Bitcoin. Pred riešením SegWit nebolo ničím neobvyklým, keď náklady na transakciu boli aj viac ako 30 USD. Riešenie SegWit však dramaticky znížilo výšku týchto nákladov na menej ako 1 USD za transakciu.


Chcete začať s kryptomenou? Kúpte si bitcoiny (BTC) na Binance!


Oprava tvárnosti transakcie

Hlavným problémom siete Bitcoin bola schopnosť potenciálne manipulovať s podpismi transakcií. Úprava podpisu môže mať za následok poškodenie transakcie medzi dvoma stranami. Keďže údaje uložené na blockchainoch sú prakticky nemenné, neplatné transakcie by mohli byť trvalo uložené na blockchaine.

S riešením SegWit už podpisy nie sú súčasťou údajov o transakcii, čo eliminuje možnosť zmeny týchto údajov. Táto oprava umožnila ďalšie inovácie v rámci blockchainovej komunity vrátane protokolov druhej vrstvysmart kontraktov.


SegWit a Lightning Network

Vývoj protokolov druhej vrstvy čiastočne umožnila oprava chyby tvárnosti transakcií. Jednoducho povedané, protokoly druhej vrstvy sú nové platformy alebo produkty, ktoré sú postavené ako nadstavba blockchainu, ako napríklad Bitcoin. Jedným z najobľúbenejších protokolov druhej vrstvy je Lightning Network, sieť mikroplatieb mimo blockchainu.

Lightning Network je protokol druhej vrstvy, ktorý funguje ako nadstavba siete Bitcoin. Hlavným účelom Lightning Network je umožniť potvrdenie väčšieho počtu transakcií v kratšom čase, čoho výsledkom sú rýchlejšie transakcie pre používateľov. Transakcie sa zhromažďujú mimo blockchainu a efektívne sa ukladajú do vyrovnávacej pamäte, aby ich sieť Bitcoin mohla nakoniec spracovať.

Lightning Network bola pôvodne vyvinutá pre Bitcoin. Niekoľko ďalších projektov v oblasti kryptomien a blockchainu pracuje na implementácii tejto technológie do svojich sietí. Tým sa nielenže skráti čas potrebný na potvrdzovanie transakcií, ale podporí sa aj vývoj nových riešení problému škálovateľnosti.


Porovnanie: SegWit/SegWit2x

SegWit je inovácia vo forme soft fork. To znamená spätnú kompatibilitu. Inak povedané, aj uzly siete Bitcoin, ktoré ešte nie sú aktualizované tak, aby zahŕňali SegWit, sú stále schopné spracovávať transakcie. Bola však navrhovaná aj ďalšia implementácia riešenia SegWit s názvom SegWit2x (S2X), ktorá by si vyžadovala inováciou vo forme hard forku.

Kľúčovým rozdielom medzi SegWit a SegWit2x je, že SegWit2x by nezahŕňal len zmenu v dávkovaní transakcií, ale aj zvýšenie veľkosti bloku (z 1 MB na 2 MB). Väčšia veľkosť bloku by však zvýšila zaťaženie prevádzkovateľov uzlov a ťažiarov, pretože by bolo potrebné spracovať viac údajov. 

Ďalším dôležitým rozdielom je, že návrh riešenia SegWit podporovala a presadzovala komunita siete Bitcoin. Z tejto epizódy sa zrodil koncept UASF, čo je skratka pre user-activated soft fork (používateľom aktivovaný soft fork).

Na druhej strane riešenie SegWit2x navrhlo podstatnú zmenu jedného zo základných pravidiel, ktorými sa riadi Bitcoin. Keďže vývojári však nedokázali dosiahnuť konsenzus ohľadom jeho prijatia a implementácie, snahy o prijatie riešenia SegWit2x boli napokon pozastavené.


Porovnanie: vnorený SegWit/natívny SegWit (bech32)

Stručne povedané, natívne riešenie SegWit (známe aj pod názvom bech32) je aktualizovaná verzia vnoreného riešenia SegWit. Formát bech32 ponúka vyššiu rýchlosť transakcií, lepšie mechanizmy na zisťovanie chýb a ešte nižšie poplatky za transakcie. Adresy bech32 sú tiež písané malými písmenami, čo uľahčuje ich čítanie.

Je potrebné poznamenať, že blockchainové transakcie medzi adresami, ktoré nepoužívajú SegWit (staršie) a adresami používajúcimi vnorený SegWit a natívny SegWit (bech32), sú plne kompatibilné. Nie všetky burzy a kryptopeňaženky však podporujú SegWit. Môže sa preto stať, že nebudete môcť vyberať prostriedky priamo na adresu SegWit.

Burza Binance podporuje vklady a výbery SegWit pre bitcoin (BTC). Viac informácií nájdete v na Často kladené otázky k riešeniu SegWit.


Záverečné myšlienky

Implementácia riešenia SegWit priniesla najväčšiu aktualizáciu protokolu siete Bitcoin a fakt, že ju podporila a implementovala decentralizovaná komunita, ju robí ešte zaujímavejšou.

Zavedenie riešenia SegWit bolo veľkým krokom vpred pri riešení mnohých problémov súvisiacich so sieťou Bitcoin a ďalšími blockchainmi, hlavne v oblasti škálovateľnosti. Vďaka kombinácii riešenia SegWit a protokolov druhej vrstvy dokážu blockchainové siete spracovať väčší počet transakcií s vyššou efektivitou a nižšími nákladmi.

Aj napriek tomu, že SegWit je výkonné a inovatívne riešenie, ešte stále nebolo prijaté celoplošne. V súčasnosti využíva riešenie SegWit približne 53 % adries siete Bitcoin.