Wat is gescheiden getuigen?

Gescheiden getuige, of SegWit zoals het gewoonlijk wordt genoemd, is zojuist geïmplementeerd op de Bitcoin Blockchain en werd in mei van dit jaar op het LiteCoin-netwerk geïmplementeerd. Hoewel dit zo veel van het openbare lexicon is geworden, hebt u misschien geen idee wat Segregated Witness is.

In wezen is SegWit een ruimtebesparend initiatief om onder andere opslagruimte op Bitcoin Blocks vrij te maken. Alle gegevens die betrekking hebben op het handtekening van de transactie wordt verwijderd. De hoop was dat dit vrijmaken van ruimte op blokken meer transacties per blok zou kunnen betekenen.

Het SegWit-idee werd uitgebracht in oktober 2016. Het was het resultaat van een lang jaar van discussie en werk dat werd ondernomen tijdens de Bitcoin Scaling Conference in Hong Kong. Het idee was het oorspronkelijke voorstel van Pieter Wuille, die deel uitmaakte van het Bitcoin-kernteam.

Technische uitleg van gescheiden getuigen

We hebben Bitcoin-blokken en mining in meer detail besproken, dus voor deze uitleg gaan we ervan uit dat je een basiskennis hebt. Bij elke Bitcoin-transactie is er een scriptSig en scriptPubKey. De eerste is waar de handtekeninggegevens worden opgeslagen, terwijl de laatste informatie is over de openbare sleutel.

Wat opviel aan de manier waarop de handtekeninggegevens werden opgeslagen, is dat handtekeningen ongeveer 60% van de ruimte in beslag nemen, maar alleen echt nodig zijn op het moment van validatie van het blok. Het idee was daarom om deze ontgrendelcodes te scheiden van de transactie in een gescheiden getuige.

Dit gescheiden deel van de transactie wordt niet samen met de andere transactiegegevens gehasht. Deze nieuwe structuur van een Bitcoin-transactie is achterwaarts compatibel en kan daarom worden geïmplementeerd met een zachte vork. Niet alle mijnwerkers hoeven gesegregeerde, door getuigen geactiveerde transacties te kunnen valideren. Tenminste, om het effectief te laten werken 95% van de mijnwerkers moeten hun steun ervoor aangeven.

Wat zijn de voordelen

Zoals de meeste Bitcoin-gebruikers onlangs hebben opgemerkt, duren Bitcoin-transacties veel langer dan normaal. Dit heeft te maken met gebruikelijke capaciteitsbeperkingen die van invloed zijn op de snelheid van het netwerk. De limiet van de blokgrootte is ook een twistpunt geweest.

Door de handtekeninggegevens echter als gescheiden getuige te scheiden, wordt meer ruimte bespaard en kunnen er dus meer transacties per blok worden verwerkt. Er zijn echter nog een aantal andere voordelen aan het voorstel voor een Segregated Witness.

Transactie kneedbaarheid fixes

Transactie-maakbaarheid is wanneer een transactie-ID kan worden gewijzigd door de informatie in de ontgrendelingscode te wijzigen. In wezen, wanneer u een transactie op het netwerk verzendt, heeft elk ander knooppunt de mogelijkheid om de transactie-ID te wijzigen voordat deze wordt verzonden naar het volgende knooppunt. Dit kan enigszins vervelend zijn voor de gebruikers die hun transacties volgen.

Met Segwit worden de ondertekeningsgegevens niet opgenomen in de transactiegegevens, dus geen enkel knooppunt kan de transactie-ID wijzigen. Dit maakt de transactie betrouwbaar. Het zal ook ten goede komen aan al die personen die onbevestigde transacties uitgeven. Maar het belangrijkste is dat dit de basis legt voor de Lightning Network-implementatie.

Verhoogde beveiliging voor multisig-transacties

De huidige beveiligingsprotocollen voor transacties met meerdere handtekeningen is de P2SH die een 160 bit hash-functie gebruikt. Met behulp van ongelooflijk krachtige computerbronnen kan een aanvaller proberen een ‘botsing’ te vinden tussen een geldig adres als onderdeel van een multisig-script en een script dat al het geld overmaakt.

Met SegWit worden scriptbetalingen gehasht met een 256-bits SHA256-hash-algoritme. Dit betekent dat de kans op een botsing door een brute force-aanval drastisch wordt verminderd voor multisig-betalingen. Dit is ook een groot voordeel voor iedereen die betaalt via multisig of smart contract.

Lineaire schaling van SigHash-bewerkingen

Als het gaat om de hoeveelheid gegevens die moet worden gehasht voor een transactie, heeft het huidige protocol dit als een kwadratische functie in de handtekeningbewerkingen. Door de omvang van een transactie te verdubbelen, verdubbelt gewoonlijk zowel het aantal handtekeningbewerkingen als de hoeveelheid gegevens die voor die handtekeningen moet worden gehasht.

SegWit kan dit oplossen door de berekening van de transactie-hash voor de handtekening zo te wijzigen dat elke byte aan gegevens slechts één keer hoeft te worden gehasht. Dit betekent dat de verificatietijd een lineaire functie is. Dit maakt het schalen van de blokgrootte veiliger en maakt veel grotere transacties mogelijk, zoals betalingen aan miners of crowdfunders.

Vooruit gaan

Aan de 95% consensusvereiste werd uiteindelijk voldaan en SegWit werd officieel geactiveerd op het Bitcoin-netwerk op 23 augustus 2017. Er waren een aantal partijen om deze belangrijke mijlpaal in de Bitcoin-reis te vieren. Inderdaad, veel van degenen die op het moment hadden gewacht, waren enthousiast over de implicaties van de uiteindelijke implementatie van Lightning Network.

Hoe lang het duurt voordat de meeste transacties SegWit-transacties zijn, is niet zeker, maar u kunt de acceptatie gemakkelijk volgen op sites zoals segwit.party.

Uitgelichte afbeelding via Fotolia

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me