SegWit staat voor Segregated Witness en is een protocol-upgrade die de manier waarop gegevens worden opgeslagen in een blockchain verandert. Door de handtekeninggegevens van transacties te scheiden, kon de limiet van de blokgrootte verhoogd worden. Omdat de digitale handtekening gegevens uit het oorspronkelijke blok worden gehaald, komt er meer ruimte vrij om transacties aan het blok toe te voegen.
Wat is Segregated Witness?
Om te begrijpen wat Segregated Witness precies inhoudt, is het belangrijk om te weten hoe transacties op de blockchain werken en wat een digitale handtekening (signature) is.
Hoe wordt een transactie vastgelegd?
Een gehele blockchain bestaat uit meerdere systemen die verdeeld zijn over een netwerk van nodes. De nodes doen dienst als de beheerders van transacties op de blockchain. Alle transacties die binnen het netwerk worden uitgevoerd, worden opgeslagen als kopie in elke node. Hierdoor is het praktisch onmogelijk om een transactie te hacken en te vervalsen.
De transactiegegevens die opgeslagen worden in alle nodes bestaat uit twee componenten: inputs en outputs. Eén transactie kan één of meerdere inputs en outputs bevatten. De output is het wallet adres van de ontvanger. De input is het wallet adres van de verzender.
De verzender heeft het openbare adres van de ontvanger nodig om de cryptocurrency naar hem te verzenden. Deze transactie bestaat voor het grootste gedeelte uit een handtekening. De handtekening is onderdeel van de input waarin wordt gecontroleerd of de verzender over de benodigde hoeveelheid beschikt om de betaling uit te voeren. Zodra de nodes de transactie hebben gevalideerd, wordt de transactie opgenomen in een blok dat wordt toegevoegd aan de blockchain.
Het probleem van te veel transacties
Naarmate er meer Bitcoin transacties uitgevoerd werden, kreeg het Bitcoin-platform te maken met een steeds langer wordende blockchain. Ongeveer elke tien minuten wordt er een nieuw blok toegevoegd. De blokken zijn beperkt tot een maximale grootte van één megabyte (MB). Hierdoor kan slechts een bepaald aantal transacties vastgelegd worden per blok.
Het gewicht van de transacties, weergegeven door de blokken, belast het netwerk en veroorzaakt vertragingen bij het controleren van de transacties. In sommige gevallen kan het uren duren voordat een transactie als geldig wordt geverifieerd.
Sinds 2009, de start van de Bitcoin blockchain, zijn al ontzettend veel transacties uitgevoerd. Als al deze transacties in de blockchain zouden zitten en ook in de toekomst zich blijven opstapelen, wordt het systeem op lange termijn niet meer werkbaar. Om dit probleem te voorkomen is er een radicale verandering in de blockchain doorgevoerd: SegWit.
SegWit als oplossing
Bitcoin ontwikkelaar Pieter Wuille kwam in 2015 met een oplossing voor dit probleem. Hij stelde voor om de digitale handtekening te scheiden van de transactiegegevens. Dit proces staat nu bekend als SegWit, ook wel Segregated Witness.
Digitale handtekeningen zijn goed voor ongeveer 65% van de ruimte in een transactie. SegWit negeert de gegevens die aan een digitale handtekening gekoppeld zijn door deze handtekening uit de input te verwijderen en naar het einde van de transactie te verplaatsen. Op deze manier wordt de capaciteit van de blokken beter benut en kan er iets minder dan vier MB worden opgeslagen (in plaats van één MB).
Naast het optimaliseren van de block-capaciteit, lost SegWit ook een ander probleem op. Ontvangers kunnen de transactie-ID van de verzender onderscheppen en wijzigen, om zo meer munten van de verzender te krijgen. Dit gaat niet meer. Omdat de digitale handtekening wordt losgekoppeld van de invoer, kan een frauderende ontvanger de transactie-ID niet wijzigen zonder ook de digitale handtekening te wijzigen.
Waar wordt SegWit toegepast?
SegWit wordt uiteraard op een blockchain toegepast, maar niet elke cryptocurrency gebruikt het. Bitcoin en Litecoin (een hard fork van Bitcoin) zijn twee cryptocurrency’s die SegWit gebruiken. Bitcoin had in 2017 een soft fork om SegWit toe te passen op zijn blockchain.
Wat zijn de voordelen van SegWit?
Capaciteitsverhoging
De digitale handtekeningen nemen ongeveer 65% ruimte van een transactie in beslag. SegWit creëert een verdubbeling van de capaciteit van het Bitcoin netwerk. Omdat de digitale handtekening nu gescheiden is van de transactie zelf, kunnen er meer transacties in eenzelfde blok. Het blok op zich wordt niet groter, maar door de verbeterde efficiëntie kunnen er meer transacties geplaatst worden in één blok.
Snellere transacties
Nu er meer transacties per blok verwerkt kunnen worden, worden ze ook sneller verwerkt. Het aantal transacties per blok is beperkt en miners kiezen eerst de transacties waar de meeste winst te halen valt. Dit zijn die met de hoogste transactiekosten. Transacties waar minder winst te behalen valt, kwamen hierdoor achteraan de wachtrij. Wanneer er meer transacties per blok verwerkt kunnen worden, worden ook de minder winstvolle transacties sneller verwerkt.
Lagere transactiekosten
Bij een hogere transactiesnelheid, horen ook lagere transactiekosten. Voordat SegWit geïmplementeerd, moest je soms wel honderd euro betalen, afhankelijk van de grootte van de transactie en hoe snel het uitgevoerd moest worden. Nu zijn het transactiekosten van enkele euro’s
Betere veiligheid
Dankzij SegWit is het praktisch onmogelijk geworden om transacties te onderscheppen en te veranderen. Voor de implementatie kwam het soms voor dat een ontvanger de transactie-ID van een verzender onderschepte en wijzigde. Nu de digitale handtekening is losgekoppeld van de invoer, kan de frauderende ontvanger de transactie-ID niet wijzigen zonder ook de digitale handtekening te wijzigen.
Wat zijn de nadelen van SegWit?
Niet elke node gebruikt SegWit
Miners houden niet zo van SegWit. Hoewel SegWit voor gebruikers tal van voordelen heeft, zijn dezelfde voordelen ook een nadeel voor nodes. Lagere transactiekosten betekenen minder winst. Zes maanden na de implementatie van SegWit in 2017, werden slechts 14% van alle Bitcoin transacties uitgevoerd met SegWit. Inmiddels gebeurt dit veel vaker,, maar toch is nog niet elke node geüpdatet.
Een korte termijn oplossing voor een lang termijn probleem
Sommige ontwerpers zijn van mening dat SegWit niet genoeg is om het capaciteitsprobleem van Bitcoin op lange termijn op te lossen. Door de stijgende populariteit is het goed mogelijk dat er steeds meer transacties uitgevoerd worden en zo zal de capaciteit van het netwerk alsnog overbelast worden. Ze stellen dat enkel verregaande veranderingen aan de blokgrootte en de manier waarop transacties uitgevoerd worden dit kunnen verhelpen.
SegWit werd niet helemaal warm onthaald in de Bitcoin gemeenschap
De implementatie van SegWit op de Bitcoin blockchain in 2017 had verschillende hard forks tot gevolg door onenigheid binnen de gemeenschap. Een hard fork is dan ook een verregaande ingreep op de werking van een bepaalde blockchain. De meest bekende hard fork als gevolg op SegWit is Bitcoin Cash (BCH).
Conclusie
SegWit staat voor Segregated Witness en zorgt ervoor dat data op een andere manier in de blockchain opgeslagen wordt. Het scheidt de digitale handtekening van de input van de transactiegegevens. Op deze manier verhoogt de limiet op de blokgrootte van 1 MB naar net iets minder dan 4 MB. Een digitale handtekening neemt namelijk ongeveer 65% van de ruimte van een transactie in. Door de digitale handtekening te scheiden van de input van de transactiegegevens, kunnen er meer transacties per blok geregistreerd worden. Dankzij SegWit is de capaciteit van het Bitcoin netwerk ongeveer verdubbeld.
SegWit zorgt niet alleen voor meer capaciteit op het netwerk, het zorgt ook voor snellere transacties, minder transactiekosten en een veiliger netwerk. Tegenstanders zijn echter van mening dat SegWit slechts een korte termijn oplossing is voor het lange termijn probleem van het Bitcoin netwerk. De implementatie van SegWit op het Bitcoin netwerk in 2017 zorgde ook voor onenigheid binnen de gemeenschap, met enkele hard forks als gevolg.