En begyndervejledning til Segregated Witness (SegWit)
Hjem
Artikler
En begyndervejledning til Segregated Witness (SegWit)

En begyndervejledning til Segregated Witness (SegWit)

Avanceret
Offentliggjort Nov 25, 2019Opdateret Jun 13, 2023
6m

Hvad er SegWit?

Segregated Witness (segregeret vidne, SegWit) er en protokolopgradering, der blev udviklet i 2015. Konceptet blev introduceret som en løsning på det problem med skalerbarhed, som blockchain-netværk stod og stadig står over for i dag. 

I gennemsnit validerer Bitcoin-netværket en ny blok hvert 10. minut, som hver indeholder flere transaktioner. Som sådan påvirker blokstørrelsen antallet af transaktioner, der kan bekræftes i hver blok. I øjeblikket kan Bitcoin-blockchainen behandle omkring 7 transaktioner i sekundet.

SegWits hovedidé er at omorganisere blokdata, så signaturer ikke længere placeres sammen med transaktionsdata. Med andre ord består SegWit-opgraderingen i at adskille vidner (signaturer) fra transaktionsdata. Dette giver mulighed for at lagre flere transaktioner i en enkelt blok, hvilket øger netværkets dataoverførselshastighed for transaktioner.

Eftersom en Bitcoin-transaktion kun kan behandle ca. 7 transaktioner i sekundet, kan det nogle gange tage lang tid at gennemføre den. Det er meget langsommere sammenlignet med konventionelle betalingsløsninger og finansielle netværk, som kan behandle tusindvis af transaktioner i sekundet.

SegWit blev udviklet i 2015 af Bitcoin-udvikleren Pieter Wuille sammen med andre Bitcoin Core-udviklere. I august 2017 blev SegWit-opgraderingen implementeret som en soft fork på Bitcoin-netværket.

I dag bruger flere kryptovalutaprojekter SegWit, herunder Bitcoin og Litecoin. Opgraderingen af protokollen gav mange fordele, f.eks. forbedret transaktionshastighed og blokkapacitet. SegWit løste også den såkaldte transaktionsfejl (omtalt nedenfor).


Hvad er de vigtigste fordele ved SegWit?

Forøgelse af kapaciteten

Én af de største fordele ved SegWit er forøgelsen af blokkapaciteten. Ved at fjerne signaturdataene fra transaktionsinputtet kan flere transaktioner lagres i en enkelt blok.

Transaktioner består af to hovedkomponenter: input og output. Inputtet indeholder i princippet afsenderens public address, mens outputtet indeholder modtagerens public address. Afsenderen skal dog bevise, at denne har de midler, der skal overføres, og det gør vedkommende med en digital signatur.

Uden SegWit kan signaturdataene fylde op til 65 % af en blok. Med SegWit flyttes signaturdataene væk fra transaktionens input. Dette medfører, at den effektive blokstørrelse øges fra 1 MB til ca. 4 MB.

Bemærk, at SegWit ikke er en egentlig blokstørrelsesforøgelse. I stedet er det en teknisk løsning til at øge den effektive blokstørrelse uden at skulle øge blokstørrelsesgrænsen (hvilket ville kræve en hard fork). For at være mere specifik er den faktiske blokstørrelse stadig 1 MB, men den effektive blokstørrelsesgrænse er 4 MB.

SegWit introducerede også idéen om blokvægt. Vi kan betragte blokvægt som et begreb, der erstatter idéen om blokstørrelse. Blokvægt er grundlæggende en foranstaltning, der omfatter alle blokdata, herunder transaktionsdata (1 MB) og signaturdata (op til 3 MB), som ikke længere er en del af inputfeltet.


Forøgelse af transaktionshastigheden

Med en blok, der kan lagre flere transaktioner, har SegWit også mulighed for at øge transaktionshastigheden, da der kan være et større antal transaktioner, der bevæger sig gennem blockchainen. Selv om det tager lige så lang tid at mine en blok, bliver der behandlet flere transaktioner i den, så transaktion pr. sekund er højere.

Den øgede transaktionshastighed har også bidraget til at reducere transaktionsomkostningerne i Bitcoin-netværket. Før SegWit var det ikke ualmindeligt at bruge over 30 USD pr. transaktion. Men SegWit har sænket denne omkostning drastisk til under 1 USD pr. transaktion.


Rettelse af transaktionernes smedelighed

Et stort problem med Bitcoin var muligheden for at manipulere med transaktionssignaturer. Hvis en signatur ændres, kan det resultere i, at en transaktion mellem to parter bliver ødelagt. Eftersom de data, der er lagret på blockchains, er praktisk talt uforanderlige, kan ugyldige transaktioner blive permanent lagret på blockchainen.

Med SegWit er signaturer ikke længere en del af transaktionsdataene, hvilket fjerner muligheden for at ændre disse data. Denne rettelse har givet mulighed for yderligere innovation inden for blockchain-fællesskabet, herunder layer 2-protokoller og smart contracts.


SegWit og Lightning Network

Udviklingen af layer 2-protokoller blev delvist muliggjort ved at rette fejlen om transaktionens smedelighed. Sagt på en enkel måde er layer 2-protokoller nye platforme eller produkter, der er bygget oven på en blockchain såsom Bitcoin. Én af de mere populære layer 2-protokoller er Lightning Network, som er et off-chain-mikrobetalingsnetværk.

Lightning Network er en layer 2-protokol, der fungerer oven på Bitcoin-netværket. Hovedformålet med Lightning Network er at gøre det muligt at bekræfte flere transaktioner på kortere tid, hvilket resulterer i hurtigere transaktioner for brugerne. Transaktioner indsamles off-chain og lagres effektivt i en buffer, så Bitcoin-netværket i sidste ende kan behandle dem.

Lightning Network er en foreslået skalerbarhedsløsning til Bitcoin. Flere andre kryptovaluta- og blockchain-projekter arbejder dog på at implementere teknologien i deres netværk. Dette vil ikke blot reducere bekræftelsestiden for transaktioner, men også fremme udviklingen af nye løsninger på problemet med skalerbarhed.


SegWit vs. SegWit2x

SegWit er en soft fork-opgradering, hvilket betyder, at den er bagudkompatibel. Med andre ord kan Bitcoin-noder, der ikke er opdateret til at omfatte SegWit, stadig behandle transaktioner. Der var dog et andet forslag til SegWit-implementering kaldet SegWit2x (S2X), som ville kræve en hard fork-opgradering.

Den vigtigste forskel mellem SegWit og SegWit2x er, at sidstnævnte ikke blot ville have omfattet en ændring i transaktions-batching, men også en forøgelse af blokstørrelsen (fra 1 MB til 2 MB). En større blokstørrelse vil dog øge byrden for nodeoperatører og minere, da der vil være flere data, der skal håndteres. 

En anden bemærkelsesværdig forskel er, at SegWit-forslaget blev støttet og håndhævet af Bitcoin-fællesskabet. Episoden gav anledning til begrebet UASF, som står for user-activated soft fork (brugeraktiveret soft fork).

På den anden side foreslog SegWit2x en væsentlig ændring af én af de grundlæggende regler for Bitcoin. Men da udviklerne ikke kunne opnå konsensus om at vedtage og implementere den, blev SegWit2x-bevægelsen i sidste ende suspenderet.


Indlejret SegWit vs. integreret SegWit (bech32)

Kort sagt er integreret SegWit (også kendt som bech32) en opdateret version af indlejret SegWit. Bech32-formatet giver øget transaktionshastighed, bedre fejlfindingsmekanismer og endnu lavere transaktionsgebyrer. Desuden er bech32-adresser skrevet med små bogstaver, hvilket gør dem lettere at læse.

Bemærk, at blockchain-transaktioner mellem adresser, der ikke er SegWit (Legacy), indlejrede SegWit-adresser og integrerede SegWit-adresser (bech32) er fuldt kompatible. Det er dog ikke alle børser og krypto-wallets, der understøtter SegWit, så du kan muligvis ikke hæve midler direkte til en SegWit-adresse.

Binance-børsen understøtter SegWit-indsættelser og -hævninger for Bitcoin (BTC). Du kan finde flere oplysninger i ofte stillede spørgsmål om SegWit.


Sammenfatning

Implementeringen af SegWit markerede den største protokolopgradering af Bitcoin, og det faktum, at den blev støttet og implementeret af det decentrale fællesskab, gør den endnu mere interessant.

Indførelsen af SegWit var et stort skridt fremad i løsningen af mange problemer i forbindelse med Bitcoin og andre blockchain-netværk – især med hensyn til skalerbarhed. Gennem kombinationen af SegWit og layer 2-protokollerne kan blockchain-netværk håndtere et større antal transaktioner med større effektivitet og lavere omkostninger.

Selv om SegWit er en effektiv og innovativ løsning, er den endnu ikke blevet fuldt ud indført. I øjeblikket er procentdelen af Bitcoin-adresser, der bruger SegWit, omkring 53 %.