Segregated Witness Uitgelegd

Seg-Hoe?

Segregated Witness (afgekort SegWit) is inmiddels geactiveerd op het bitcoinnetwerk. Om SegWit te begrijpen, en wat deze upgrade van het protocol precies behelst, dient eerst duidelijk te zijn wat Bitcoin nou precies is.

Bitcoin als globaal grootboek

Men heeft vaak niet voor ogen wat Bitcoin precies is en hoe het werkt. Je kunt Bitcoin wellicht het beste vergelijken met een grootboek dat wereldwijd bijgehouden wordt, zonder een centrale autoriteit. Hierin zijn bitcointransacties te vergelijken met bankcheques; het overdragen van bitcoins, dan wel geld.

Net als dat een cheque ondertekend dient te worden, dient er bij Bitcoin een digitale handtekening te worden meegegeven aan een transactie. Deze ondertekening kan gedaan worden met behulp van de privésleutel, waaruit ook de publieke sleutels worden gegenereerd. De cryptografische handtekening is een bewijs dat de privésleutel in bezit is van degene die de transactie verstuurd zonder dat de privésleutel daadwerkelijk moet worden prijsgegeven.

Waar een krabbel onder een cheque vaak amper ruimte inneemt, omvangt de digitale handtekening in sommige gevallen tot wel 40% van de gehele transactie, afhankelijk hoe de transactie is samengesteld.

Een bitcoinblock kan gezien worden als een pagina waarop alle ondertekende transacties staan genoteerd. Waar er in een grootboek maar een bepaald aantal transacties per pagina genoteerd kunnen worden, geldt dit ook voor blocks en bitcointransacties. Er zit een maximale grootte aan deze blocks van 1 MB. Dit limiet voorkomt dat het netwerk vol gespamd wordt met "nutteloze" transacties, benodigde opslag gelimiteerd blijft en het versturen van de blocks naar alle andere peers niet te lang duurt. Hierdoor is het aantal transacties dat per block kan worden bevestigd gelimiteerd.

Deze blocks, die gemiddeld elke 10 minuten worden gevonden, vormen samen de blockchain. Deze is door iedereen die participeert in het netwerk te controleren, waardoor deze resistent is tegen fraude. Iedereen moet immers akkoord gaan met de door jou verzonden transactie. Het gaat hierbij niet om de gedachte of iemand een bepaalde transactie mag doen (censuur), maar of de verzender van de transactie daadwerkelijk voldoende balans heeft om een transactie te doen. Het zelf creëren van bitcoins die jou eigenlijk niet toebehoren is uiteraard niet gewenst, en door deze controle ook niet mogelijk.

Verandering handtekening

De handtekeningen kunnen dus tot wel 40% van de transactiegrootte, en daarbij ook de blockgrootte, omvatten. Hierdoor kan de blockcapaciteit worden verhoogd door de manier waarop de handtekeningen effectief worden gebruikt. Dit is waar SegWit om de hoek komt kijken.

SegWit zorgt ervoor dat men grotere blocks kan accepteren. Door een cryptografische truc (de Witness-data wordt op een effectiënte wijze verplaatst) wordt de ruimte voor transactiedata geoptimaliseerd. Hierdoor passen er effectief meer transacties in een block.

Doordat Bitcoin werkt op basis van consensus, en iedereen dus met dezelfde afgesproken regels moet werken, is het van belang dat SegWit door iedereen geaccepteerd wordt. Hierbij was dus een volledige consensus vereist van alle participanten in het netwerk. Ook was het van belang dat de nieuwe transacties met terugwerkende kracht geldig zouden zijn. Zowel de oude als de nieuwe transactie vorm waren en blijven geldig. Dit voorkomt dat gebruikers die niet upgraden naar software met SegWit, wel zonder problemen Bitcoin kunnen blijven gebruiken.

Concluderend

Bitcoin is een gedistribueerd globaal grootboek waarbij transacties als cheques met handtekening gezien kunnen worden. SegWit zorgt ervoor dat gewone transacties geldig blijven, en dat de speciale SegWit transacties minder ruimte in een block innemen door de gehalveerde handtekening. Hierdoor passen er meer transacties in een block dan voorheen. Ook lost de manier waarop SegWit omgaat met de handtekeningen het "transaction malleability" probleem op. Hier zullen we in het volgende artikel verder op in gaan.

Dit artikel is geschreven op basis van artikelen gepubliceerd door Jimmy Song. Jimmy Song is een Bitcoin developer, ondernemer en voormalig ontwikkelaar voor bitcoinwallet Armory. In zijn serie Bitcoin Tech Talk laat hij de lezer meekijken met de ontwikkelingen rondom de technische aspecten van Bitcoin.


Belangrijke thema’s in dit artikel. Klik op een thema en ontdek meer.