Syftet med denna text är att visa att det finns problem med Bitcoins förmåga att skala upp, samt presentera de olika förslagen på lösningar som har föreslagits. Att förstå för- och nackdelarna med de olika förslagen kan vara utmanande. De är tekniskt utmanande, men förslagen är även politiskt och filosofiskt utmanande, vilket komplicerar det ännu mer. Denna text är ett försök att beskriva debatten på ett objektivt och ett relativt enkelt sätt. För att ge hela bilden kommer jag till en början beskriva hur läget var innan 23 augusti, då ett av förslagen (SegWit2x) aktiverades.

Som ni antagligen vet så pågår det en het debatt i Bitcoin-communityt, och har gjort de senaste 2-3 åren. Detta har gjort att många börjat ifrågasätta Bitcoin som den ledande kryptovalutan, samt börjat tvivla på dess framtid. Detta har medfört att marknadsandelarna för altcoins (kryptovalutor skapade efter Bitcoins framgång) vuxit lavinartat.

Vad handlar Block size-debatten om?

Transaktioner i Bitcoin-nätverket läggs till i block till blockkedjan. Varje block består av ett begränsat antal transaktioner. Ett blocks storlek är i dagsläget 1 MB (1 000 000 bytes), och en genomsnittlig transaktion är ca 240 bytes, detta ger ett snitt på 4 200 transaktioner per block.

Det här kan skapa ett problem eftersom nya blocks skapas i snitt var 10 minut. Detta innebär att det maximalt kan verifieras 25 200 transaktioner/timmen, eller 7 per sekund. Om du jämför detta med t.ex. Visa eller Mastercard som behandlar ca 2 000 transaktioner/sekund, så förstår du varför Bitcoin-nätverket anses vara otillräckligt.

Något som är viktigt att påpeka är: En kreditkortstransaktion kan upphävas upp till 6 månader efter den gjorts. När en bitcoin-transaktion verifieras 6 gånger (tar i genomsnitt 1 timme) går transaktionen inte att upphäva.

Denna debatt handlar inte om Bitcoin-nätverket ska klara av fler transaktioner eller inte, alla parter vill det. Debatten handlar om hur detta ska hända. Det finns många sätt att göra detta på, där några är mer troliga att inträffa än andra. Nedan kommer jag presentera de som har fått flest anhängare de senaste åren.

Problem med Bitcoin idag

  • Transaktioner genomförs inte direkt. Man får vänta på att få sin transaktion verifierad.
  • Mikrobetalningar fungerar inte
    • För höga transaktionsavgifter
  • Kan inte bli större. Bitcoin skalar inte
    • Ett stort antal transaktioner får inte plats

Hur detta ska lösas skapar en het debatt mellan flera olika parter i Bitcoin-communityn. Och eftersom Bitcoin-nätverket är decentraliserat och demokratiskt av natur, kan vägen framåt inte bestämmas av en central auktoritet. Detta försenar processen att lösa problemet .

Bitcoin skalar inte:

  • 1 MB blocks:
    • 7 transaktioner per sekund
    • 220 miljoner transaktioner per år.
    • Inte tillräckligt för ens en stad, och absolut inte för världen.
    • För att förtydliga att det inte fungerar: Tänk om Stockholm bara skulle göra transaktioner på Bitcoins nätverk. Stockholms stad har 900 000 invånare. Det medför 244,5 transaktioner/person/år. Vilket är 0,7 transaktioner/person/dag. Vi vilket är typ 5 transaktioner i veckan per person. Vi gör fler transaktioner än så!

Är större block lösningen?

  • 1 miljard transaktioner per dag.
    • 1,6 GB blocks (1655 MB)
    • 87 Terabytes (87 029 089 MB) per år läggs till i blockkedjan.
    • Kanske tillräckligt alla EU-länder? Men inte för världen.
    • CENTRALISERING(mining), i princip inga noder (se i ordbok) kommer ha tillräckligt med lagringsutrymme för att ladda ned hela blockkedjan, pga att den blir 87 TB större varje år. Detta skulle leda till att bara några få företag med stora servrar skulle ha möjligheten att kontrollera blockkedjan.
  • Hela världen, 7 miljarder människor, gör 2 bitcoin-transaktioner per dag.
    • 24 GB blocks
    • 3,5 TB/dag läggs till på blockkedjan = 1270 TB per år.
  • Större blocks = centralisering
    • Väldigt få fulla noder
    • Väldigt få miners
    • Extremt svårt att verifiera blockkedjan. Med en vanlig persondator skulle det vara omöjligt

DET FUNGERAR INTE LÄNGRE!

Lösningar

Några begrepp innan vi dyker in i dem:

  • Hard fork – Är en obligatorisk uppdatering som strider mot den äldre versionen. Ditt program kommer inte kunna köras om du inte uppdaterar. Om ett antal noder väljer att inte uppdatera leder det till en permanent avvikelse i blockkedjan. Detta kan resultera i en split, alltså att Bitcoin blir två, eller flera, coins.
  • Soft fork – En mjukvaruuppdatering som inte strider mot den nuvarande mjukvaran. Den är inte obligatorisk och tillåter nätverket att implementera nya funktioner med tidens gång. Datorer som kör den äldre mjukvaran kan fortfarande använda nätverket.

De olika förslagen:
(De rödmarkerade förslagen har låg sannolikhet att bli verklighet)

Bitcoin XT

  • Föreslogs 2015 och handlar om att höja blockstorleken till 8MB, och sedan att öka blockstorleken exponentiellt, alltså dubbla blockstorleken vart annat år.
  • Fördelar
    • Ökar antalet möjliga transaktioner markant
  • Nackdelar
    • Som beskrivet tidigare så innebär ökad blockstorlek färre fulla noder. Alltså, ökad blockstorlek = ökad centralisering
    • Genomförandet kräver en hard fork

Bitcoin Classic

  • Föreslogs i början av 2016 och liknar Bitcoin XT men är lite mindre aggressivt. Under Bitcoin Classics första 8 månader främjade de en blockstorleksökning till 2MB. I november 2016 ändrade de sitt förslag till en lösning där blockstorleken togs bort ur reglerna för mjukvaran, och lät miners och noder bestämma blockstorleken (liknande Bitcoin Unlimited).
  • Fördelar
    • Antalet transaktioner blir med störst sannolikhet obegränsat
  • Nackdelar
    • Samma som för Bitcoin XT. Alltså, ökad blockstorlek = ökad centralisering
    • Genomförandet kräver en hard fork

Bitcoin Unlimited

  • Föreslår att miners ska ha flexibilitet att höja blockens storlek när de vill. Så blockstorleken ska inte vara hårdkodad, utan storleken justeras av miners.
  • Fördelar
    • Antalet möjliga transaktioner blir i princip obegränsat.
    • Det är en långsiktig lösning – blockstorleken är i princip obegränsad.
  • Nackdelar
    • Kräver en hard fork.
    • Ger mer kontroll till miners, eftersom de kontrollerar blockstorleken. Och kan då också påverka transaktionskostnaderna.
    • Samma som för Bitcoin XT och Bitcoin Classic. Alltså, ökad blockstorlek = ökad centralisering

BIP 148

  • BIP 148, eller Bitcoin Improvement Proposal 148, är en så kallad UASF (User Activated Soft Fork) som försöker uppmuntra användare att tvinga miners att uppgradera till en version av SegWit som har körts av noder sedan november 2016.  Enkelt sagt, BIP 148 är en taktik för att få SegWit aktiverat.

Segregated Witness (SegWit)

  • SegWit är en optimering som föreslogs av “Bitcoin Core”-utvecklaren Pieter Wuille i slutet av 2015. Optimeringen ökar volymen av transaktioner som får plats i varje block utan att öka blockets storlek. SegWit löser också flera buggar i Bitcoin, samt att den öppnar möjligheten för att öka skalbarheten ytterligare med “lightning network”. Om du vill veta mer om de tekniska detaljerna klicka här.
  • Fördelar
    • Löser ett viktigt problem, som kallas “malleability bug”, i Bitcoin-protokollet
    • Sänker transaktionens storlek på ett sätt som är likvärdigt med att ha en blockstorlek på 2-3 MB. Vilket resulterar i en kapacitet på 14-21 transaktioner/sekund.
    • Säkerhet- och effektivitetsförbättringar för Bitcoin-protokollet.
    • Genomförs genom en soft fork
  • Nackdelar
    • Inte en långsiktig lösning. Vi kommer inom relativt kort tid ändå behöva större blocks.

SegWit2x (Aktiv, aktiverades 23 augusti 2017)

  • SegWit2x kommer uppgradera bitcoin på 2 sätt:
    1. Det kommer först och främst aktivera SegWit, som du kan läsa om ovan.
    2. Efter det kommer de öka blockstorleken till 2MB. Detta träder i kraft ca 3-6 månader efter SegWit har aktiverats. Detta händer i November.
  • Fördelar
    • Samma fördelar som SegWit men kan göra dubbelt så många transaktioner pga dubbelt så stora block. Alltså klarar de 28-42 transaktioner/sekund.
  • Nackdelar
    • Det är inte en långsiktig lösning. Men fortfarande mer långsiktig än endast SegWit pga den dubbla transaktionskapaciteten.
    • När dubbleringen från 1 MB till 2MB krävs det en hard fork. Vilket, i värsta fall, kan resultera i en split, alltså att Bitcoin blir två, eller flera, coins. Hur detta utspelar sig ser vi i November i år.

Lightning Network

  • Är ett “off chain”-lager som läggs till på nätverket, som siktar på att skala Bitcoin-nätverket till att kunna hantera miljoner, eller till och med miljarder, transaktioner per sekund. Transaktionerna sker också direkt. Detta görs genom att använda smarta kontrakt och betalningskanaler (payment channels). Kort sagt fungerar detta genom att tillåta användare att skicka flertalet transaktioner till varandra “off chain”, alltså utanför blockkedjan.
  • Fördelar
    • Antalet transaktioner blir i princip obegränsat.
    • Storleken på blocken kan fortfarande vara små, vilket gör att storleken på hela blockkedjan kan vara relativt liten och därför nedladdningsbar av alla. Så alla har möjligheten att verifiera transaktioner.
    • Bitcoin kan fortsätta vara ett decentraliserat system trots ökad kapacitet.
  • Nackdelar
    • Detta förslag är jättebra för alla, förutom för miners. På grund av att färre transaktioner på blockkedjan medför att transaktionskostnaderna går ned, vilket leder till mindre arvoden till miners. Detta kan leda till färre miners, och därmed lägre säkerhet för nätverket. Men det är förmodligen ganska lång tid innan detta förslag blir verklighet, och då är med största sannolikhet detta problem löst.

Slutord:

Som du nu förstår så har det varit väldigt rörigt i Bitcoin-communityn de senaste åren. Men nu är SegWit aktiverat, och i November sker den efterföljande hard fork. Detta kan, i värsta fall, leda till en split, alltså att Bitcoin blir en, eller fler, coins. Om detta händer kan det leda till stora problem för Bitcoin (mer om detta i en kommande text).

Debatten i Bitcoin-communityn kan framstå värre än vad den är, och medier utnyttjar såklart detta för att skriva en bra artikel, vilket gör att den framstår som ännu värre. Detta beror dock på att Bitcoin är en decentraliserad teknologi. Det medför att all diskussion gällande förändringar i nätverket sker publikt och inte bakom stängda dörrar, som de gör när stora centraliserade organisationer tar beslut. Bitcoins debatter är synliga för alla och kan vara minst sagt röriga. Det är en funktion som Bitcoin har, inte ett problem. Dessa debatter kommer inte vara ett problem bara en gång. De kommer fortsätta inträffa när bitcoin växer i popularitet.

Ett annat nätverk som har haft liknande problem att skala är det nätverket som du använder just nu. Internet har “misslyckats” att skala upp flera gånger under dess livstid. Ett ganska roligt citat från en utvecklare som var med under internets tidiga år lyder: ”Some networks fail to scale gracefully for decades, and those are the ones that succeed”

Skalbarhetsproblemet kommer nog aldrig att slutgiltigt lösas. Vi kommer, förhoppningsvis, ha skalbarhetsdebatten varje år i decennier framöver. Varje år kommer vi “misslyckas” att skala nätverket för nästa utmaning, och då kommer vi ha glömt bort den tidigare problematiken som vi precis löst.

Hur kommer Bitcoin se ut i framtiden, om låt säga 20 år? Det är såklart omöjligt att svara på, men om bitcoin fortfarande finns kvar då, är jag rätt säker på att vi inte ens kommer komma ihåg dramatiken kring SegWit2x, BIP 148 eller Bitcoin Unlimited osv. De kommer vara en så liten, och självklar, del av Bitcoins utveckling i det stora hela.

 

Om det var något begrepp eller ord som du inte förstod kolla in vår ordlista.

Dela gärna denna artikel med vänner om du vill, och kommentera vad du tycker. Samt maila nått roligt eller tråkigt till: hello@chainit.se om du känner för det. Chainit är konstant under utveckling, så hör gärna av dig med feedback.


Källor:
Antonopoulus, Andreas. Mastering Bitcoin. 2nd Edition. O’Reilly Media. 2017
Antonopoulus, Andreas. The Internet of Money. Volume 1. O’Reilly Media. 2016
http://www.investopedia.com/news/war-between-segwit-vs-bip148-vs-bitcoin-unlimited-explained/
https://en.wikipedia.org/wiki/Bitcoin_scalability_problem

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.