1 augustus: Bitcoin Independence Day

Op 1 augustus is het Bitcoin Independence Day: de dag waarop we terugblikken op de eerste de eerste User Activated Soft Fork (UASF) die in 2017 op dezelfde dag plaatsvond. Tijdens de UASF grepen gebruikers de macht over het netwerk; de ontknoping van een lange interne strijd binnen de bitcoincommunity tussen de small en big blockers.

Opschalen

Bitcoin is nog niet snel genoeg om de hele wereld te bedienen, daarover zijn de meningen nauwelijks verdeeld. Met een block time van 10 minuten en een beperkte ruimte per block is de transactiecapaciteit simpelweg te laag om te functioneren als betalingsnetwerk voor miljarden gebruikers.

Daarom wordt er al jaren hard gewerkt om de transactiesnelheid en -capaciteit te verbeteren zodat het netwerk is op te schalen. Dat gaat echter niet altijd zonder horten en stoten en in 2017 leidde het tot een ware burgeroorlog binnen de Bitcoincommunity.

De aanleiding was een nieuwe schaalbaarheidsoplossing genaamd Segregated Witness, of SegWit, welke oorspronkelijk in 2015 werd voorgesteld door Pieter Wuille en al onderdeel van Bitcoin Core is sinds 2016. De activering van SegWit bleef echter lange tijd uit.

SegWit

SegWit was een innovatieve manier om de beperkte ruimte per block efficiënter te benutten door de signature data te scheiden van de transactiedata. Hoewel de ruimte per block daarmee in principe nog steeds even beperkt is, passen er met SegWit wel meer transacties in een block omdat ze per stuk minder ruimte innemen.

Bovendien opende SegWit de deuren voor nieuwe technologische mogelijkheden zoals het Lightning Network, Taproot en Schnorr Signatures. Ook deze technologieën verbeteren de schaalbaarheid van Bitcoin en bieden daarnaast nieuwe mogelijkheden en een verbeterde privacy.

Het conflict

SegWit leek een no-brainer, maar stuitte toch op verzet: de miners waren het er niet mee eens. Oorspronkelijk zouden zij SegWit moeten activeren, maar slechts een handjevol kleinere miningpools schaarde zich achter het initiatief.

De destijds grotere miningpools zoals Antpool en F2Pool waren fel gekant. Dat leek initieel vooral om mininginkomsten te gaan. Hoe drukker het netwerk en hoe voller de blocks zijn, des te meer gebruikers via de miner’s fee tegen elkaar moeten opbieden om voor hun transactie toch nog een plekje in het volgende block te bemachtigen. En hoe hoger de miner’s fees, hoe meer de miners verdienen.

Het efficiëntere SegWit zou de transactiecapaciteit verhogen waardoor de drukte zou afnemen met lagere fees als gevolg. Miners zouden erdoor meer transacties verwerken voor minder geld.

Big blocks vs small blocks

De miners, met miningfabrikant Bitmain voorop, zagen liever een verdubbeling van de block size om de transactiecapaciteit te verhogen: twee keer zoveel ruimte per block voor transacties. En dus ook twee keer zoveel mogelijkheden om miner’s fees te incasseren. Deze groep werd ook wel aangeduid als de big blockers.

Maar ‘big blocks’ zijn controversieel: wanneer de blocksize verdubbelt, verdubbelt ook de snelheid waarmee de grootte van de blockchain groeit. Aangezien iedere bitcoinnode de gehele blockchain moet downloaden en opslaan om deze te verifiëren wordt het voor normale gebruikers al snel onhaalbaar om een eigen node te draaien wanneer de grootte van de blockchain te snel toeneemt. De blockchain was destijds al tientallen gigabytes groot (inmiddels meer dan 200gb).

De angst ontstond dat dit een centraliserende invloed zou hebben en ertoe zou leiden dat het bitcoinnetwerk op termijn niet meer in handen zouden zijn van normale gebruikers, maar uitsluitend zou draaien op high end servers in grote serverparken; precies zoals het ‘oude’ internet.

Bovendien lost een vergroting van de blocksize het fundamentele probleem niet op, vonden tegenstanders, want ook grotere blocks raken op den duur vol en dan zou opnieuw de blocksize omhoog moeten; een eindeloze spiraal richting verdere centralisatie van het netwerk. Aangezien decentralisatie dé onderscheidende eigenschap is die Bitcoin interessant maakt, was dat voor hen onacceptabel.

Beter vonden zij het om het probleem op te lossen met slimme cryptografie en door de opschaling van het netwerk via een tweede netwerklaag te laten plaatsvinden. Bijvoorbeeld via het Lightning Network, dat door Segwit mogelijk is. De blocksize hoeft dan niet omhoog en het gaat niet ten koste van decentralisatie. ‘Small blockers’ werden zij genoemd.

Zo ontstond een impasse binnen de bitcoincommunity tussen de ‘big blockers’ en de ‘small blockers’. Een tijdlang leek het erop dat de vooruitgang van het netwerk stagneerde.

Escalatie

Ondertussen bleek er nog iets anders aan de hand. Het nieuws lekte uit dat de bitcoinminers van miningfabrikant Bitmain stiekem AsicBoost bevatten; een speciale functie die gebruik maakte van een kwetsbaarheid in
het miningalgoritme, om zo’n 20% efficienter te kunnen minen dan de concurrentie.

De invoering van SegWit zou AsicBoost teniet doen en veel small blockers zagen hierin de echte reden waarom de miners onder leiding van Bitmain zoveel weerstand boden: ze waren niet van plan om zonder slag of stoot hun concurrentievoordeel op te geven.

New York Agreement

In april 2017 laaide het conflict verder op toen afgevaardigden van grote bitcoinbedrijven bijeen kwamen in New York, om daar gezamenlijk tot een oplossing te komen. Onder hen bevonden zich exchanges, miningbedrijven, fabrikanten van miningapparatuur en walletproviders; in totaal 58 bitcoinbedrijven die gezamenlijk meer dan 80% van de bitcoin hashrate vertegenwoordigden.

Daar kwam de zogenaamde New York Agreement uit voort: een afspraak om SegWit2X in te voeren. SegWit2X moest een compromis zijn die zowel SegWit bevatte als een verdubbeling van de blocksize.

SegWit2X was echter niet backwards compatible met de bestaande protocolregels van het bitcoinnetwerk en vereiste een hard fork. Deelnemers aan het netwerk die niet upgraden zouden daardoor worden buitengesloten, met het waarschijnlijke gevolg dat er twee bitcoinnetwerken parallel naast elkaar zouden ontstaan: één volgens de oude protocolregels en één op basis van SegWit2X.

Er knaagde nog iets: als Bitcoin decentraal is, hoe kan het dan dat een select groepje individuen om de tafel kan gaan zitten om te bepalen wat er met het decentrale netwerk moet gebeuren? Zijn zij soms de baas over het netwerk? Of zijn de miners dat? De exchanges?

Het besef groeide dat de New York Agreement en SegWit2X geen compromis of oplossing was, maar een aanval op het netwerk; een machtsgreep door invloedrijke partijen die de ontwikkeling van het netwerk in een bepaalde richting probeerden te sturen.

Het Verzet

Het verzet kwam in de vorm van de User Activated Soft Fork (UASF). Dat kwam er op neer dat gebruikers niet langer zouden wachten op de miners om SegWit in te voeren, maar dat zij dit afdwingen door als gebruikers over te stappen op het nieuwe protocol.

In tegenstelling tot SegWit2X vereiste de UASF slechts een soft fork. Het verschil met een hard fork is dat een soft fork optioneel is en dat gebruikers die niet willen upgraden gewoon volgens de oude protocol regels door kunnen gaan.

Voor de miners creëerde het echter wel een patstelling. Gebruikers die wél overstappen op de UASF zouden namelijk de blocks van miners die de UASF niet ondersteunen afwijzen. Miners die de UASF wel ondersteunen zouden daardoor iets succesvoller zijn in het vinden van nieuwe blocks dan miners die de UASF niet ondersteunen. Zelfs bij een kleine meerderheid zou de UASF zo genoeg economische stimulansen bieden om miners te motiveren het te ondersteunen.

Het plan bleek te werken. Zo goed zelfs, dat in de meeste gevallen alleen de dreiging van de UASF al genoeg was. Kort na 1 augustus ondersteunde meer dan 95% van de hashrate SegWit en enige tijd later was SegWit op het bitcoinnetwerk eindelijk een feit.

Sommige big blockers die zich daarin niet konden vinden zijn daarna hun eigen weg gegaan via diverse hard forks, waaruit diverse Bitcoin-klonen met een grotere blocksize zijn voortgekomen.

Independence Day

De UASF op 1 augustus 2017 wordt door velen gezien als een belangrijk moment in de geschiedenis van Bitcoin: de dag waarop het decentrale netwerk een georganiseerde machtsovername wist te weerstaan. Maar óók het moment waarop duidelijk werd dat het niet de miners, exchanges of bitcoinbedrijven zijn die de macht hebben over het netwerk, maar de gebruikers.

Daarom vieren we op 1 augustus Bitcoin Independence Day; de dag waarop de strijd om de onafhankelijkheid van het Bitcoinnetwerk werd gewonnen.