Een gids voor beginners over Segregated Witness (SegWit)
HomeArticles

Een gids voor beginners over Segregated Witness (SegWit)

Geavanceerd
1w ago
5m

Inhoudsopgave


Wat is SegWit?

Segregated Witness (SegWit) is een protocolupgrade die in 2015 werd ontwikkeld. Het concept is geïntroduceerd om een oplossing te bieden voor de schaalbaarheidsproblemen waar blockchain-netwerken ook nu nog steeds mee kampen.

Het Bitcoin-netwerk valideert ongeveer elke 10 minuten een nieuwe block, die elk meerdere transacties bavatten. De grootte van een block bepaalt het aantal transacties dat in elk blok kan worden bevestigd. Momenteel kan de Bitcoin-blockchain ongeveer 7 transacties per seconde verwerken.

Het idee achter SegWit is om blockdata zodanig te reorganiseren dat handtekeningen niet langer naast de transactiegegevens worden geplaatst. Met andere woorden, de SegWit-upgrade bestaat uit het scheiden van de getuigen (handtekeningen) van transactiegegevens. Hierdoor kunnen meer transacties in een enkel blok worden opgeslagen en wordt zo de doorvoer van de transacties van het netwerk verhoogd.

Door maar 7 transacties per seconde te verwerken, kan het soms lang duren voordat een Bitcoin-transactie is verwerkt. Dat is een aanzienlijk stuk langzamer als we dit vergelijken met conventionele betaalopdrachten en binnen financiële netwerken, die soms wel duizenden transacties per seconde verwerken.

SegWit werd in 2015 ontwikkeld door Bitcoin-ontwikkelaar Pieter Wuille, samen met andere Bitcoin Core-bijdragers. In augustus 2017 werd de SegWit-upgrade geïmplementeerd als een soft fork op het Bitcoin-netwerk.

Tegenwoordig zijn er meerdere cryptocurrency-projecten die SegWit toepassen, waaronder Bitcoin en Litecoin. De upgrade van het protocol bracht een aantal voordelen met zich mee, zoals verbeterde transactiesnelheid en capaciteit van een block. Bovendien loste SegWit de zogenaamde transactie-malleability-bug op (hieronder verder toegelicht).


Wat zijn de belangrijkste voordelen van SegWit?

Capaciteitsverhoging

Een van de grootste voordelen van SegWit is de toename van de capaciteit van een block. Door de handtekeninggegevens uit de transactie-invoer te halen, kunnen meer transacties binnen een enkel block worden uitgevoerd.

Transacties bestaan uit twee hoofdcomponenten: inputs en outputs. In principe bevat de input het public address van de afzender, terwijl de output het public address van de ontvanger bevat. De afzender moet echter aantonen dat hij het overgemaakte geld daadwerkelijk in bezit heeft en dat doet hij met een digitale handtekening.

Zonder SegWit kunnen de handtekeningdata tot wel 65% van de data een block in beslag nemen. Met SegWit worden de handtekeninggegevens verwijderd van de input van de transactie. Hierdoor neemt de effectieve blockgrootte toe van 1 MB tot ongeveer 4 MB.

Merk op dat SegWit niet zorgt voor werkelijke toename van de blokgrootte. Het is het een technische oplossing om de effectiviteit van een block te vergroten zonder de limiet voor de blokgrootte te verhogen (daarvoor zal een hard fork nodig zijn). De werkelijke blokgrootte blijft dus nog steeds 1 MB, maar de effectieve blokgroottelimiet is 4 MB.

Bovendien introduceerde SegWit het concept van block-gewicht. We kunnen block-gewicht beschouwen als een concept dat het principe van blockgrootte vervangt. Block-gewicht is een meetmethode die alle blockgegevens beschouwd, inclusief transactiegegevens (1 MB) en de handtekeninggegevens (tot 3 MB), die geen deel meer uitmaken van het invoerveld.


Verhoging van de transactie snelheid

Als een block meer transacties kan opslaan, dan heeft SegWit ook tot gevolg dat transactiesnelheid verhoogt wordt, omdat er een groter aantal transacties door de blockchain heen kan gaan. Hoewel een blok nog steeds evenveel tijd nodig heeft om te ‘minen’, worden er meer transacties verwerkt, waardoor het TPS-ratio dus hoger is.

Verhoogde transactiesnelheid heeft als prositief gevolg dat de transactiekosten in het Bitcoin-netwerk lager worden. Vóór SegWit was het niet ongebruikelijk om meer dan $ 30 per transactie te betalen. SegWit heeft er aan bijgedragen dat dit is gedaald tot minder dan $ 1 per transactie.


Transactie vervormbaarheid fix

Een groot probleem van Bitcoin was dat de mogelijkheid bestond om te knoeien met transactiehandtekeningen. Als een handtekening wordt gewijzigd, kan dit ertoe leiden dat een transactie tussen twee partijen wordt vervalst. Omdat de gegevens die zijn opgeslagen op blockchains vrijwel onveranderlijk zijn, kunnen ongeldige transacties permanent op de blockchain worden opgeslagen.

Met SegWit maken handtekeningen niet langer deel uit van de transactiegegevens, wat de mogelijkheid om deze gegevens te wijzigen weg neemt. Deze oplossing heeft bijgedragen aan verdere innovatie van de blockchain, inclusief second-layer protocols en smart contracts.


SegWit en het Lightning-netwerk

De ontwikkeling van second-layer protocols werd gedeeltelijk mogelijk gemaakt tijden de bugfix van de transactie vervormbaarheid. Second-layer protocols zijn nieuwe platforms of producten die bovenop een blockchain worden toegevoegd, zoals Bitcoin. Een van de bekendere second-layer protocols is het Lightning Network, wat in principe een off-chain microbetalingsnetwerk is.

Het Lightning-netwerk is een protocol van de tweede laag dat op het Bitcoin-netwerk werkt. Het hoofddoel van het Lightning-netwerk is om meer transacties in een kortere tijd te bevestigen, wat resulteert in snellere transacties voor gebruikers. Transacties worden off-chain verzameld en effectief gebufferd zodat het Bitcoin-netwerk uiteindelijk kan worden verwerkt.

Het Lightning-netwerk is van oorsprong ontwikkeld voor Bitcoin, maar veel verschillende andere cryptocurrency- en blockchain-projecten werken aan de implementatie van de technologie voor hun eigen netwerken. Dit zal niet alleen de bevestigingstijd bij transacties verminderen, maar ook de ontwikkeling van nieuwe oplossingen voor het schaalbaarheidsprobleem aanjagen.


SegWit versus SegWit2x

SegWit is een soft fork-upgrade, wat betekent dat het backward-compatible is. Met andere woorden, Bitcoin-nodes die geen SegWit update hebben ontvangen, kunnen nog steeds transacties verwerken. Er was echter nog een tweede SegWit-implementatie voorgesteld genaamd SegWit2x (S2X), waarvoor een hard fork upgrade nodig zou zijn.

Het verschil tussen SegWit en SegWit2x is dat de laatste niet alleen een voor batching zou hebben gezorgd bij transacties, maar ook zou zorgen voor een toename van de blokgrootte (van 1MB naar 2MB). Een grotere block zou echter de belasting voor nodes en miners verhogen, omdat er meer gegevens moeten worden verwerkt.

Een ander noemenswaardig verschil is dat het SegWit-voorstel de steun kreeg van de Bitcoin-gemeenschap. Dit verklaart tot het ontstaan van het concept UASF, dat staat voor User-Activated Soft Fork.

SegWit2x stelde daarnaast ook een substantiële wijziging voor van een van de fundamentele regels van Bitcoin. Omdat ontwikkelaars geen overeenstemming konden bereiken over de goedkeuring en implementatie van deze wijziging, werd de SegWit2x-beweging uiteindelijk opgeschort.


Tot slot

De implementatie van SegWit gaf ons de grootste protocol-upgrade van Bitcoin tot nu toe en het feit dat het werd omarmd en geïmplementeerd door de community maakt het concept nog veel interessanter.

De introductie van SegWit was een belangrijke stap voorwaarts bij het oplossen van veel problemen met betrekking tot Bitcoin en andere blockchain-netwerken op het gebied van schaalbaarheid. Door de combinatie van SegWit en second-layer protocols kunnen blockchain-netwerken een groter aantal transacties verwerken, met hogere efficiëntie en lagere kosten.

Ondanks dat het een krachtige en innovatieve oplossing kan zijn, is SegWit nog niet volledig geïmplementeerd. Momenteel is het percentage Bitcoin-adressen dat gebruik maakt van SegWit ongeveer 53%.