Toelichting Bitonic over de Blocksize limiet - Bitonic - Medium
Toelichting Bitonic over de Blocksize limiet
De Blocksize discussie: waar gaat de discussie precies over?
De kern van de discussie gaat over de stijging van het aantal transacties met Bitcoin en de oplossingen die er zijn om deze stijging mogelijk te maken. Deze discussie is niet nieuw en loopt al sinds 2009. Sinds 2010 is het aantal transacties blijven stijgen en is de discussie opnieuw opgelaaid vanwege het naderen van de limiet van 1 MB. Dit is vervelend, want hoeveel transacties doen we nou daadwerkelijk? Weinig. We doen dus relatief weinig transacties en we lopen al tegen limieten aan.
Waarom is er een limiet?
In de eerste plaats: waarom is die limiet er eigenlijk?
Het interessante hiervan is dat er in eerste instantie helemaal geen limiet was in Bitcoin. Satoshi heeft toen Bitcoin voor de eerste keer werd uitgebracht geen Blocksize limiet geïmplementeerd.
Dus waarom is deze limiet toegevoegd?
Dit is gebeurd voordat Bitcoin enige echte tractie kreeg (juli, 2010) omdat men bang was dat de Blockchain te groot zou worden om te hanteren voor gebruikers.
Bitcoin decentraal?
We praten er over dat Bitcoin decentraal is 'by design' — maar in de realiteit is dit niet zo. De hoeveelheid decentralisatie wordt niet afgedwongen door het protocol:
Elke 10 minuten een Block, wordt afgedwongen door het protocol;
Maximaal 21 miljoen bitcoins, wordt afgedwongen door het protocol;
Miners worden verhinderd om bitcoins te stelen in transacties, wordt afgedwongen door het protocol.
Decentralisatie van Bitcoin wordt niet afgedwongen door het protocol, maar door het aantal nodes in het P2P-netwerk.
Er is niks in de broncode die Bitcoin beschermt tegen het wegvallen van bitcoin-nodes uit het netwerk. Bitcoin zal dan gewoon draaien met één enkele node voor het afhandelen van transacties. Dus Bitcoin is alleen decentraal door de mensen die bereid zijn om deze bitcoin-nodes te draaien.
Het is daarom belangrijk dat het runnen van een bitcoin-node niet te duur is.
Het probleem is dat het runnen van een node duurder wordt door een te grote Blockchain, daarom is de Blocksize limiet van 1 MB geïntroduceerd.
Deze afbeelding is een weergave van het aantal nodes van 22 september 2014 t/m 22 september 2015. In een jaar tijd heeft er dus een daling van aantal nodes plaatsgevonden van 12,22%. Bron: Bitnodes.io
Deze afbeelding is een weergave van aantal nodes per land. Nederland staat dus relatief hoog. Bron: Bitnodes.io
Hoe op te schalen?
De meest voor de hand liggende keuze is om de Blocksize te vergroten.
Er zijn verschillende voorstellen, bijvoorbeeld naar 2 MB. Dat klinkt redelijk. Dat is 'maar' 1 MB meer, dat lijkt niet veel. Echter betekent dit dat het runnen van een node twee keer zo zwaar wordt. Dat is een behoorlijk verschil. Het voorstel van de Bitcoin-XT fork is 8 MB met een verdubbeling om de 2 jaar.
Het is zeer aannemelijk dat het voorstel van Bitcoin-XT daarom effect heeft op het aantal nodes. Onze verwachting is dat het een dusdanig negatief effect heeft op het aantal nodes dat we als Bitonic alvast hebben besloten dat we zo'n extreme wijziging niet zullen steunen.
Echter betekent dit niet dat we tegen elk voorstel voor het vergroten van de Blocksize zijn. We zijn ons bewust dat de capaciteiten van computers en internetverbindingen elke dag groeien. We denken daarom dat er ruimte is om de Blockchain te laten groeien, in relatie met de groei van deze capaciteiten. Veel van de voorstellen nemen dit mee.
Het probleem van veel van de voorstellen is dat deze pogen een voorspelling te doen hoe snel computer hardware en netwerkcapaciteiten gaan groeien in de komende jaren. Wij zijn ons er van bewust dat we de toekomst niet perfect kunnen voorspellen. Het lijkt ons daarom een beter idee dat Bitcoin-nodes hun capaciteiten kenbaar maken en de Blockchain laten groeien aan de hand daarvan, zoals is geïmplementeerd in BIP100.
Maar wat als blijkt dat de capaciteit van Bitcoin-nodes niet snel genoeg kan groeien?
Hoe kunnen we dan wereldwijde adoptie bereiken? Moeten we dan decentralisatie opgeven?
In ieder geval is Bitonic tegen een lineaire groei van de Blocksize limiet.
De Blocksize kan twee keer zo groot worden, alleen betekent dit dat je twee keer zoveel capaciteit nodig hebt voor alleen twee keer zoveel transacties. Twee keer nauwelijks transacties is nog steeds weinig transacties. Wanneer men denkt dat het vergroten van de Blocksize limiet de enige oplossing is om Bitcoin op te schalen…Dan is de enige oplossing het decentrale karakter van Bitcoin opgeven hier het gevolg van.
Wij als Bitonic zijn hier op tegen. Heel veel transacties doen op een centrale manier is absoluut niet waarom Bitcoin is gestart. Gelukkig zijn er nog andere oplossingen.
Bitcoin-transacties staan ook contractuele-transacties toe die oplossingen mogelijk maken als Payment Channels (streamium), Side chains, Lighting Network, Amiko Pay, enzovoort. Een paar maanden geleden deed Corné Plooy van Amiko Pay een berekening (op Bitcoin Wednesday): een Blocksize van 20 MB zou voldoende kunnen zijn om iedereen op de wereld Bitcoin-transacties te laten doen.
Bij Bitonic monitoren we actief de progressie van dit soort oplossingen. We zijn er van overtuigd dat wanneer de 1 MB Blocksize wordt benaderd deze oplossingen bruikbaar worden.
Dus wat is de oplossing volgens ons?
Op dit moment hebben we nog geen idee. Bitcoin is een netwerk van miljarden dollars dat werkt omdat de incentives kloppen. Verandering van deze incentives zou kunnen betekenen dat het hele netwerk afbrokkelt. Alle incentives binnen Bitcoin zijn al complex, dus het is erg lastig om daar aan te rommelen. We hebben het nog niet eens gehad over de fee structuur. Wat gebeurd er als de Block Reward wordt gehalveerd? De volgende halvering is al volgend jaar.
Al met al is het een complex onderwerp en daardoor is het maken van beslissingen erg lastig. Het lijkt daardoor alsof mensen vastlopen in het maken van een beslissing, maar dat is niet het geval. Iedere dag komen er nieuwe oplossingen en dit maakt het maken van een goede beslissing een enorme uitdaging.