De blockchain van bitcoin kan in zijn huidige staat, maximaal zeven transacties per seconde verwerken. Ter vergelijking: creditcardmaatschappijen kunnen tot 24.000 transacties per seconde verwerken. En als bitcoin almaar populairder wordt, dan loopt de blockchain tegen zijn limiten aan.
Op 23 januari 2018 was dit het duidelijkst zichtbaar. Op blockchain.info zien we dat de gemiddelde bevestigingstijd van een transactie 11.453 minuten in beslag nam. Dat is omgerekend bijna acht dagen. De enige manier om dit te versnellen was om meer te betalen aan transactiekosten, maar die oplossing draagt eigenlijk alleen maar bij aan het probleem.
Hoe is het schaalprobleem ontstaan?
Bitcoin bestaat sinds 2009. Sinds die tijd is de achterban van de cryptomunt uitgegroeid van een klein groepje nerds, libertariers en cryptografen een grote, diverse groep gebruikers. Dit is ook terug te zien in het dagelijkse aantal transacties dat op de blockchain wordt geplaatst. Op het moment van schrijven zijn dit er ongeveer 336.000 per dag.
Het maximum ligt op 7 transacties x 86.400 seconden in een dag = 604.800 transacties per dag.
Bitcoin transacties worden verwerkt in blokken. Deze blokken worden chronologisch toegevoegd aan de blockchain. Dit is het transactienetwerk van bitcoin. Elke tien minuten wordt er een nieuw blok met transacties toegevoegd aan de blockchain. Het huidige probleem met de bitcoin is dat er maar een beperkt aantal transacties binnen een blok passen.
Dit zou geen probleem moeten zijn wanneer er niet veel transacties worden verstuurd. Maar wordt bitcoin door iedereen wereldwijd gebruikt? Dan kan het een probleem vormen. Dit zagen we eind 2017 in praktijk gebeuren. De memory pool liep toen helemaal vol met transacties, en sommige transacties stonden wel weken in de wachtrij.
De blockchain moet zich daarom voorbereiden op grootschalig gebruik. Er zijn al verschillende oplossingen geopperd, waarvan sommigen zelfs al in gebruik zijn. Het aandragen van verbeteringen verloopt alleen niet altijd even soepel. Soms zorgt het zelfs voor onenigheid binnen de bitcoin gemeenschap. Welke oplossingen zijn er voor het schaalprobleem van bitcoin?
SegWit
Het schaalprobleem heeft vooral te maken met het aantal transacties wat in een blok past.
Een van de manieren om dit op te lossen is om de informatie van een transactie slimmer in te delen. Dit is wat SegWit doet. SegWit scheidt de handtekeninginformatie in een transactieblok van de transactie-informatie. Het is een technisch verhaal, dus we gaan even een stapje terug.
Twee soorten informatie
Globaal bevat een bitcointransactie twee ‘soorten’ informatie. Aan de ene kant bevat een transactie informatie over de transactie zelf. Dit gaat dan bijvoorbeeld om het saldo van de ontvanger en verzender, en het te verzenden aantal bitcoins.
Aan de andere kant bevat de transactie de digitale handtekening van de verzender. Dit is een unieke code die cryptografisch wordt toegevoegd. Hiermee kan de verzender aantonen dat hij bevoegd is om de bitcoins te verzenden.
Het probleem is alleen dat deze digitale handtekening erg veel ruimte in beslag neemt. Afhankelijk van hoe de rest van de transactie eruit ziet, kan deze handtekening soms wel de helft van de ruimte innemen. Dit is niet erg efficiënt.
De oplossing van SegWit
SegWit scheidt de digitale handtekening (de ‘Witness-data’) van de transactie-informatie. Door dit te doen passen er meer transacties in een blok. Op 1 augustus 2017 is SegWit gelanceerd. Vanaf die datum staat de software van bitcoin deze nieuwe vorm van transacties toe.
Of SegWit ook breed gebruikt wordt is afhankelijk van de bereidheid van wallet diensten en exchanges om deze te accepteren. Geleidelijk aan accepteren steeds meer diensten SegWit transacties. Op dit moment bestaat ruim de helft van alle transacties zelfs uit Segwit-transacties.
Blokgrootte aanpassen
Hoe zorg je op een andere manier dat er meer transacties in een blok passen? Je kunt er ook voor zorgen dat de transactieblokken zelf groter worden. Dit is het plan van bitcoin cash: een cryptocurrency gebaseerd op bitcoin.
Satoshi Nakamoto heeft in zijn originele ontwerp de maximale blokgrootte vastgesteld op 1 MB. Dit heeft hij onder andere gedaan zodat de blockchain niet vol wordt gespamd met transacties. Intussen blijkt dat een blokgrootte van 1 MB alleen niet voldoende is. Een oplossing kan SegWit zijn, maar ook het vergroten van de blokgrootte. Dit is wat bitcoin cash doet.
Vanuit verschillende miningpools komt het voorstel om de grootte van de blokken aan te passen van 1MB naar 8MB. Pas je deze blokgrootte aan? Dan passen er meer transacties in een blok, en worden deze transacties sneller verwerkt. Daarnaast heeft het aanpassen van de blokgrootte invloed op de transactiefees. Deze worden hierdoor lager.
Door dit plan ontstond er onenigheid in de bitcoingemeenschap. Veel ontwikkelaars in de Bitcoin community staat achter SegWit. Maar een groot deel van de miners staat juist achter het vergroten van de blokken. In 2017 kan er geen consensus bereikt worden, dus onstaat er een splitsing tussen bitcoin en bitcoin cash. Beide zijn het nu zelfstandige cryptomunten die naast elkaar bestaan.
Lightning Network
Hoe los je het schaalprobleem op een andere manier op? Je kunt ook out of the box denken. Dit is wat het Lightning Netwerk doet. Vrij letterlijk ook. Het laat transacties plaatsvinden op een tweede laag van de blockchain.
Ondermijn je dan niet het principe dat je alle transacties moet kunnen terugvinden op de blockchain? Dat klopt voor een deel wel. Maar aan de andere kant is de huidige blockchain gewoon niet rendabel meer voor een grote hoeveelheid kleine transacties. Voor dit soort kleine transacties is het Lightning Network een goede oplossing.
Het Lightning Network vormt een soort tweede laag over de blockchain. In deze tweede laag vinden alle kleine transacties plaats. Gebruikers boeken een beginbedrag over naar deze laag. Met dit bedrag kunnen zij vervolgens kleine betalingen overboeken. Het is in die zin vergelijkbaar met het gebruik van een creditcard.
Dit kan ideaal zijn voor dagelijks gebruik. Denk bijvoorbeeld aan die koffie die je lke dag koopt bij de Kios op het station. Op de blockchain verschijnt alleen het begin- en het eindsaldo van de gedane transacties. Hierdoor is het mogelijk om razendsnel micro-transacties uit te voeren met minimale transactiekosten.
Het Lightning Netwerk groeit nog iedere dag. Het heeft op het moment van schrijven bijna 36.000 betalingskanalen. Meer weten over het Lightning Network? Lees het in ons artikel over het Lightning Network.
Welke oplossing is de beste oplossing?
De tijd zal het leren. De ene oplossing is niet per se beter dan de andere oplossing. Welke oplossing op de lange termijn het beste werkt is afhankelijk van een aantal factoren. Een van deze factoren is het feit of er genoeg ondersteuning plaatsvindt in de gemeenschap.
We moeten ook niet vergeten dat de achterliggende techniek van bitcoin nog steeds in de kinderschoenen staat. Net zoals met de beginjaren van het internet, heeft ook de bitcoin tijd nodig om door te groeien tot een breed geaccepteerde betaalmogelijkheid. De toekomst zal uitwijzen welke oplossing de beste oplossing is voor het huidige schaalprobleem.