Crypto 101: Segregated Witness (SegWit) als schaalbaarheidsoplossing

Februari 2018 is er aan de blockchain van bitcoin een nieuwe feature toegevoegd. Deze feature heeft van alles te maken met de blockgrootte en de manier hoe je hier gegevens over een transactie in in de blockchain kunt opslaan. Op Litecoin is deze SegWit, want zo heet de update, ook al lange tijd doorgevoerd, terwijl Bitcoin Cash groot tegenstander is van deze feature. In deze Crypto 101 leggen we je uit wat dit allemaal precies inhoudt.

De basis van een transactie

SegWit is een afkorting van Segregated Witness. Letterlijk vertaald betekent dit ‘gescheiden getuige’  en dat dekt de lading ook goed. Om de SegWit goed te begrijpen is het belangrijk om de basis van een bitcointransactie te snappen.

Zie Bitcoin als een logboek dat over de hele wereld is gedistribueerd. Een transactie die in dit logboek gezet word, is een beetje hetzelfde als een cheque bij een bank. Hiermee kun je als eigenaar van een zak geld een bepaalde hoeveelheid van een valuta met een handtekening aan iemand anders toekennen.

Een bitcointransactie heeft ook zo’n handtekening (of: signature). In plaats van een fysieke handtekening met een pen is dit een digitale variant, die je met je private key kunt plaatsen. De ruimte van deze handtekening op bankcheque is verwaarloosbaar, maar die van een bitcointransactie neemt ongeveer 50% van de ruimte van de cheque in beslag.

Bij bitcoin komen al deze handtekeningen een in block terecht, net zoals een cheque bij de bank in een lade verdwijnt. Op een gegeven moment is deze vol en moet er een nieuwe worden gebruikt. Blocks van de bitcoin blockchain hebben zo ook een eigen limiet: de blocksize, van 1 MB. Halfvolle blocks zijn toegestaan, té volle blocks niet. Iedereen in het netwerk kan deze blocken controleren en auditen. Een kopie hiervan is als het ware voor iedereen beschikbaar.

De controleur kan bekijken of de cheque valide is. Hij bekijkt of de verzender genoeg geld heeft voor deze betaling. Om dit mogelijk te maken worden de blocks elke tien minuten naar deze auditors gestuurd. Maar wat als er zó veel cheques worden ingeleverd, dat deze controleurs het niet bij kunnen houden? Er is sprake van een schaalbaarheidsprobleem.

Schaalbaarheidsprobleem

De SegWit-oplossing komt voort uit een soortgelijk schaalbaarheidsprobleem. Als er té veel bitcointransacties komen en de blocks vol raken, dan komt er een vertraging vanuit de kant van de auditors. Hiervoor zijn twee oplossingen te bedenken:

  • Maak de boxen voor de cheques groter (of: vergroot de blocksize)
  • Gebruik een andere soort cheque die alleen aan grotere boxen wordt toegewezen als mensen hierom vragen

De eerste oplossing is door Bitcoin Cash gebruikt: de blockgrootte is nu 32 MB en Bitcoin SV heeft de blocks zelfs opgeschaald naar 2 GB. Bij Bitcoin wordt gebruik gemaakt van de eerste oplossing: andere soorten cheques. En dit is waar de SegWit om de hoek komt kijken.

Segregated Witness (SegWit)

De Segregated Witness is een andere manier om de cheques te controleren. Met deze manier wordt de grootte van de transactie met de helft verkleind. Alles van de check (exclusief de handtekening) wordt in de kleine boxen weggestopt. De complete transactie wordt gestuurd naar de auditors die wél grote boxen accepteert. Hierdoor passen er twee keer zo veel transacties in de kleinere blocks. Hierdoor wordt de doorvoer van het netwerk verbeterd en wordt een schaalbaarheidsprobleem opgelost.

Iedereen die de grotere blocks ontvangt, kan alles hiervan controleren. Iedereen die een kleiner block wil controleren kan dit ook doen, maar hoeft zich dus geen zorgen te maken over het tijdig ontvangen van de handtekeningen binnen de blocktime van 10 minuten. We hebben dus Segregated Witnesses, of afgescheiden getuigen, in het netwerk.

De SegWit verhoogt de limiet voor de blokgrootte van Bitcoin naar maximaal 4 MB. Dit maakt de implementatie van second layer oplossingen mogelijk. Het Lightning Network is een van de voorbeelden hiervan. Op blockchain.com is te zien dat de gemiddelde blockgrootte van bitcoin groter is dan 1 MB. Dat toont aan dat er al goed gebruik gemaakt wordt van de SegWit. Op segwit.space is te zien bij hoeveel procent van alle bitcointransacties al gebruik gemaakt wordt van deze feature.

Korte samenvatting

Bitcoin is een gedistribueerd grootboek en het transacties en blocks te beschouwt als cheques en boxen. Bij Bitcoin Cash maakt iedereen gebruik van grotere boxen. Bij Bitcoin wordt de SegWit gebruikt om sommige boxen groter te maken, terwijl het ook geschikt is voor personen die dit niet willen.

Bron: SegWit.org

Mis niks meer!

Invalid email address