Bitcoin heeft een bewogen zomer achter de rug. Niet alleen maakte de koers flinke sprongen, in beide richtingen, maar ook op fundamenteel niveau veranderde er nogal wat. Op 1 augustus splitste een deel van de Bitcoin gemeenschap zich af met de introductie van Bitcoin Cash, dat door middel van een hardfork een andere richting insloeg. Later die maand, werd op het Bitcoin netwerk de protocol-uitbreiding SegWit (“Segregated Witness”) geactiveerd.
Inmiddels meldt de volgende belangrijke gebeurtenis zich aan de horizon: De SegWit2X hardfork. Wat dat is, wat de mogelijke gevolgen hiervan zijn en hoe je je het beste kunt voorbereiden, lees je hieronder.
De geschiedenis: SegWit en de NYA
Het deels technologisch en deels ideologisch conflict binnen de Bitcoin-gemeenschap over de manier waarop de transactiecapaciteit van het netwerk opgeschaald zou kunnen worden is niet nieuw. Kort gezegd zijn er twee kampen: Het ene kamp geeft de voorkeur aan het (nog) niet verhogen van de maximale grootte van een block en zet liever in op technologiën waarmee off-chain transacties mogelijk gemaakt kunnen worden. Het andere kamp ziet niet veel in dergelijke oplossingen en wil liever de block grootte verhogen.
Uiteindelijk zijn eerder dit jaar in New York een aantal grote miners en andere Bitcoin-bedrijven om de tafel gaan zitten en hebben een compromis gesloten: Op relatief korte termijn zou de technologische oplossing, SegWit, worden ingevoerd en een paar maanden later zou de maximale block grootte worden verdubbeld. Deze overeenkomst wordt ook wel de “New York Agreement” (NYA) of SegWit2X genoemd. Een uitgebreider overzicht van deze geschiedenis kun je vinden in deze blogpost.
De NYA stuitte op significante oppositie vanuit de Bitcoin-gemeenschap. Het belangrijkste argument dat tegenstanders gaven is dat de NYA in besloten kringen is onderhandeld, wat tegen de decentrale aard van Bitcoin in gaat. Daarnaast waren de ontwikkelaar van Bitcoin Core, de belangrijkste Bitcoin client-software, niet aanwezig bij de bijeenkomst in New York. Ondanks de tegenstand, is de eerste stap van de NYA probleemloos gezet: De activatie van SegWit. Omdat de belangrijkste tegenstanders van SegWit deel uit maakten van de NYA, was er na het sluiten van de overeenkomst brede steun voor de activatie van SegWit. In de loop van de zomer is deze protocol-uitbreiding probleemloos geactiveerd.
Stap 2: De blockgrootte omhoog
De vervolgstap van de NYA, zeg maar de “2X” in SegWit2X is veel controversieler. Hoewel veel grote miners en sommige andere Bitcoin-bedrijven sterk voorstander zijn van de verdubbeling van de block grootte, is er ook veel oppositie, voornamelijk vanaf de kant van de gebruikers en de ontwikkelaars van Bitcoin Core. De tegenstanders zijn van mening dat de grote miners, voornamelijk Antpool en ViaBTC, niet eerbaar hebben gehandeld door een deel van hun mining-hardware in te zetten op Bitcoin Cash. Bitcoin Cash (BCH) is een fork van Bitcoin waar de block grootte is verhoogd naar 8 MB, maar waar SegWit niet is geactiveerd. Bitcoin Cash is op 1 augustus afgesplitst van Bitcoin.
Desalniettemin worden voorbereidingen getroffen om de 2X hardfork uit te voeren. Een gewijzigde versie van Bitcoin Core, genaamd btc1, bevat de code die nodig is om de block grootte te verhogen. Gebruikers en miners die btc1 draaien zullen vanaf een specifiek moment grotere blocks accepteren, waar deze nu nog geweigerd worden. Dit moment is block 494.784, wat naar verwachting ergens half november gemined zal worden.
Core slaat terug
In een recente update van Bitcoin Core zit functionaliteit die er voor zorgt dat verbinding met nodes die btc1 draaien direct verbroken worden, ondanks dat beide versies van de software op dit moment nog dezelfde protocol-regels hanteren. Bitcoin Core verdedigt deze maatregel door te argumenteren dat als Core en btc1 nodes op het moment van de fork nog met elkaar in verbinding zijn, de netwerk-connectiviteit aangetast kan worden, omdat het netwerk zich dan opeens splitst in twee onderling niet compatibele groepen. Dit was een probleem tijdens de fork van Bitcoin Cash. Omdat er relatief weinig BCH nodes waren, was het moeilijk voor deze nodes om elkaar te vinden in een netwerk gedomineerd door Core nodes. Door een dergelijke splitsing nu al te forceren, is er tijd voor de nodes om een lijst van potentiele partner-nodes op te bouwen en zou de fork zelf veel soepeler moeten verlopen.
Voorstanders van 2X zijn echter van mening dat deze wijziging een poging is om mensen te ontmoedigen de btc1 client te draaien. Inmiddels wordt er gewerkt aan een update voor btc1 waarmee deze client zich voordoet als Bitcoin Core en dus niet door Bitcoin Core nodes wordt geblokkeerd.
Wat staat ons te wachten
Ergens in het midden van november (het precieze moment is afhankelijk van de snelheid waarmee block gemined worden) zullen btc1 clients grotere blocks toestaan. Bitcoin Core clients zullen dergelijke blocks weigeren, omdat ze niet voldoen aan de door Core (en compatibele alternatieven) gebruikte regels. Op dit moment splitst de blockchain zich in twee takken. Bitcoin Core (en compatibele alternatieven) gebruikers aan de ene kant en btc1 / SegWit2X gebruikers aan de andere kant.
Alle Bitcoin-saldo’s die er voor deze fork waren, zijn er na de fork op beide takken. Als je voor de fork 1 BTC in je wallet hebt, dan heb je na de fork 1 BTC op elk van beide takken. Een belangrijk probleem is echter dat een transactie die geldig is op het Core netwerk, ook geldig is op het SegWit2X netwerk en andersom. Als ik na de fork dus een transactie verstuur op een van beide netwerken, dan kan het gebeuren dat deze transactie ook op het andere netwerk terecht komt (per ongeluk of opzettelijk). Als de persoon waar ik de transactie naar verstuur niet bereid of in staat is om de betaling op de andere tak te honoreren, dan verlies ik dus geld op de andere tak. Dit wordt ook wel een “replay attack” genoemd.
Tijdens de recente Bitcoin Cash fork, hebben de ontwikkelaars van Bitcoin Cash gezorgd dat replay attacks niet mogelijk waren door een kleine wijziging aan te brengen in het transactie-formaat van Bitcoin Cash, waardoor Bitcoin Cash transacties en bitcoin transacties er niet meer hetzelfde uitzagen. Hierdoor konden gebruikers direct na de fork, gerust transacties uitvoeren, zonder risico op replay attacks. Een dergelijke verregaande bescherming tegen replay attacks is niet aanwezig in btc1 / SegWit2X. Een beperkte “opt-in” maatregel die in de btc1 client was opgenomen is recentelijk verwijderd nadat is ontdekt dat deze kon leiden tot een situatie waarin bitcoins gestolen zouden kunnen worden. Het is nog onbekend of in de definitieve versie van btc1 / SegWit2X een vorm van bescherming tegen replay attacks zal zitten. Het ontbreken van volledige bescherming tegen replay attacks is een belangrijk kritiekpunt tegen btc1. De Bitcoin Cash fork is vrij probleemloos verlopen, dankzij een dergelijke bescherming.
Tot slot blijft er de vraag welke van de twee takken de overhand gaat krijgen. Het is moeilijk om een duidelijk beeld te krijgen van de steun die beide kanten krijgen. De miners lijken voornamelijk SegWit2X te steunen, maar in hoeverre dat zo blijft in een situatie waar de Bitcoin Core tak veel meer gebruikers en een hogere waarde heeft is nog maar de vraag. Onder gebruikers lijkt er meer steun te zijn voor Bitcoin Core. Veel Bitcoin-bedrijven hebben nog geen voorkeur uitgesproken en lijken een afwachtende houding aan te nemen. Handelsplatform Bitfinex heeft recentelijk “chain split tokens” geintroduceerd voor de SegWit2X fork. Deze tokens, bt1 en bt2 genaamd, worden na de fork omgeruild voor een Bitcoin, respectievelijk op de Bitcoin Core en SegWit2X tak. Handelaren die verwachten dat SegWit2X succesvol wordt, zullen bt2 kopen (of bt1 verkopen) en andersom als ze verwachten dat SegWit2X geen succes wordt. Op het moment van schrijven is een bt1 token (Bitcoin Core) drie keer zoveel waard als een bt2 token (SegWit2X).
Wat kun je zelf het beste doen.
Een fork brengt veel onzekerheid met zich mee: Hoe kan ik het beste mijn bitcoins bewaren? Hoe zorg ik dat ik bitcoins van een specifieke tak kan gebruiken? Wat gaat er gebeuren met de prijs? Op sommige van deze vragen is nog geen eenduidig antwoord.
Als het gaat om het bewaren van bitcoins, dan is het antwoord hetzelfde als altijd: Je kunt ze het beste in eigen beheer houden. Dat wil zeggen: In een wallet op je computer, in een hardware wallet of op een papieren wallet. Op die manier zul je zeker toegang hebben tot je saldo op beide takken. Veel exchanges en andere online platforms hebben nog niet aangegeven wat hun plannen zijn voor de fork. Sommige exchanges zullen mogelijk slechts een van beide takken ondersteunen en je geen saldo crediteren op de andere tak. Exchanges die je wel toegang geven tot beide takken zullen dit mogelijk pas een tijd na de fork doen (zo zijn er nog steeds exchanges die gebruikers nog geen toegang hebben gegeven tot hun Bitcoin Cash saldo, ondanks dat de fork ruim 2 maanden geleden was). Als je je bitcoins in eigen beheer houdt, dan ben je niet afhankelijk van de keuzes van derden.
Wanneer het gaat om het versturen van transacties, dan is voorzichtigheid geboden. Zonder uitgebreide bescherming tegen replay attacks, kun je makkelijk je saldo op de andere tak verliezen als je een transactie uitvoert. Er zijn methodes om je alsnog in te dekken tegen dergelijke zaken, maar deze zijn vaak enigszins ingewikkeld of vereisen de hulp van een externe partij. Het is te verwachten dat, mits beide takken overleven, er diensten zullen ontstaan die helpen met het splitsen van je bitcoins.
Voor de gewone gebruiker is het beste advies, met de informatie zoals die nu beschikbaar is, dan ook om gewoon te wachten tot de rook is opgetrokken en het duidelijk is hoe het slagveld eruit ziet. Het is goed mogelijk dat vrij snel na de fork duidelijk is dat een van beide takken niet levensvatbaar is. In dat geval is het hoogstens een kwestie van je software updaten naar de laatste versie om weer helemaal bij te zijn.
Lees het originele artikel op Bitcoin.nl