Bitcoins problem

 

Just nu upplever användarna av Bitcoin ett av de problem som behöver lösas om det fortfarande ska vara rimligt att använda Bitcoin som betalningsmedel. De som köper för att undvika inflationen hos “vanliga” pengar och således bara håller på sina BTC berörs inte lika mycket.

Jag pratar om transaktionsavgiften, transaction fee.

Vid mindre summor har den stigit till den nivå att kostnaden för överföringen är högre än värdet på de Bitcoin man flyttar. Det här beror delvis på att värdet på Bitcoin har stigit så explosionsartat. De miljondels dollar det kostade när Bitcoin var värd 1 dollar har växt till bra mycket större nu när en Bitcoin kostar allt mellan 13-19000 dollar.

 

 

Hur fungerar transaktionsavgiften?

Vi tar det från början. Som nämnts i tidigare inlägg samlas alla transaktioner som görs i Bitcoin ihop i block. Blocken är ett slags register över transaktioner. Varje block som skapas verifierar dessutom tidigare block. Det här gör att ingen kan gå in och manipulera tidigare block för att t ex skriva in transaktioner som inte förekommit. Skulle detta ske kommer det felaktiga blocket inte accepteras i blockkedjan. Den här processen gör också att alla transaktioner som skett sedan block ett är inskrivna i blockkedjan och går att se.

 

Vem skapar blocken?

De skapas genom en slags tävling där “miners”, grupper som innehar för ändamålet kraftfulla datorer, löser komplicerade matematiska problem. Den miner som först löser problemet får verifiera och skapa det block som kommer härnäst i blockkedjan. Som belöning för detta får minern ett antal Bitcoin. Dessa Bitcoin har alltså inte funnits innan utan “bryts” när blocket skapats. Hittills har ca 16 av 21 miljoner Bitcoin tagits fram på detta sätt. Att erhålla nya Bitcoin för den insats i form av elkostnader och köpet av datorutrustning är ett incitamentet för att utföra mining.

Eftersom det en dag inte kommer finnas fler Bitcoin att bryta (max antal Bitcoin som kommer existera är 21 miljoner) måste det finnas ett annat incitament för att skapa och verifiera block. Det är transaktionsavgifterna. Alla som gör transaktioner får betala en avgift och när dessa samlas ihop i ett skapat block får den vinnande minern alla transaktionsavgifter som användarna betalat in. Det här förfarandet kallas “proof of work”, alltså det utförs ett arbete (lösa matematiskt problem) och vinnaren får allt.

 

Nu kommer vi in på lite matematik, häng med!

Som tidigare nämnts är den största storleken på ett block inom Bitcoin 1 MB. 1 MB är lika med 1 miljon bytes och det här är intressant för den som är miner. En miner vill nämligen ha så mycket betalt per byte som möjligt. Men för dig som är användare av Bitcoin är det mer intressant vilken din totala transaktionsavgift blir, du bryr dig inte lika mycket om vad kostnaden per byte är.

Det är här vi kommer till vad Bitcoins problem är just nu. Det är nämligen så att i sin nuvarande form klarar Bitcoinnätverket av 7 transaktioner per sekund. Eftersom trycket är högt nu pga att många vill köpa/sälja/flytta sina Bitcoin läggs transaktionerna på kö.  Och då miners vill ha så mycket betalt som möjligt kommer de prioritera att verifiera de transaktioner som betalar högst transaktionsavgift. Lagen om tillgång och efterfrågan gör då att priset på transaktionerna stiger. Det går att välja vilken avgift man vill betala för en transaktion, den som inte har bråttom kan välja att betala en låg avgift per byte medan den som snabbt vill göra en överföring kan betala en större avgift. Alla wallets stödjer inte den här funktionen utan betalar per automatik den höga transaktionsavgiften vilket bidrar till prisökningen.

Som du kan se i figuren har priset för en byte ökat mångfaldigt. Konsekvensen av det här är att det blir orimligt dyrt att skicka mindre summor Bitcoin. En medelstorlek för en transaktion ligger på 226 bytes. Avgiften för en transaktion har alltså stigit från ca 10 satoshi (0.0000010 BTC) till över 350 satoshi. Med ett pris på ca 15000 dollar för en Bitcoin kan det alltså kosta 350*226=79100 satoshi eller ca 118 dollar för en transaktion. Det är över 1000 kronor! Naturligtvis ohållbart att betala en så hög avgift för att göra en transaktion.

 

 

Den här kön av transaktioner som ännu inte blivit verifierade kallas för Mempool.

Man kan ovan se hur Mempoolen (kön av transaktioner) fyllts upp till bredden. Så länge Mempoolen är så här fylld kommer transaktionsavgifterna vara höga. De som valt att betala låga fees kan å andra sidan få vänta flera dagar innan transaktionen verifieras.

 

Vad finns det för lösningar på det här?

Förutom att manuellt ställa in vilken avgift per byte man är beredd att betala (om alla skulle välja låg avgift sjunker priset eftersom miners inte skulle ha någon högbetalare att tjäna på) finns det inga omedelbara lösningar. Som sagt stödjer inte alla wallets detta men min Ledger Nano S gör det.

 

 

 

På sikt finns det åtgärder som kan vidtas för att effektivisera men de kräver konsensus. Det här är Bitcoins styrka och svaghet. Ingen kan tvinga Bitcoinnätverket till något utan att ha majoriteten med sig men det tar tid när något ska implementeras.

Åtgärderna är tex större blockstorlek, något som Bitcoinnätverket sade nej till så sent som för några veckor sedan (Segwit2x). Med tanke på den nuvarande ohållbara situationen är det inte otänkbart att det kan bli aktuellt i alla fall.

En annan lösning är Lightning Network, en teknik där transaktioner man gör med en motpart buffras innan någon utlösande faktor gör att den verifieras på blockkedjan. Enkelt förklarat skulle det kunna se ut så här: Om du köper kaffe för Bitcoin på Starbucks flera gånger i veckan skulle man via Lightning Network kunna ordna så att det först efter du har köpt tio (eller femtio) kaffe skickas en transakti0n till blockkedjan. Under tiden reserveras dock dina betalningar så att du inte kan övertrassera ditt Bitcoinkonto.

 

 

Lösningar finns alltså men kan dröja och under tiden straffas Bitcoinanvändarna hårt med höga avgifter. Om Bitcoin ska bli användarvänligt måste det här fixas så snart som möjligt. Min tro är att utvecklarna ser problemet och kommer agera, hoppas det inte tar för lång tid.

 

 

UPPDATERING 180103: Dagarna före jul verkar ha varit toppen på de dyra transaktionsavgifterna. Som vi kan se är vi nu nere på rimliga fees på ca 50-75 satoshi/byte.

 

Några av anledningarna till att avgifterna minskat sägs vara att fler användare flyttat sina Bitcoin till wallets som stödjer Segwit (alltså inte Segwit2X). Segwit-tekniken reducerar kort sagt antalet bytes som ingår i en transaktion och gör därmed att fler transaktioner får plats i ett block. Reducerade bytes gör att transaktionsavgiften för oss användare sjunker. Segwit infördes som en soft-fork och därför kan man lugnt flytta sina Bitcoin till en Segwit-adress. På min Ledger Nano S-wallet kan jag välja att placera mina Bitcoin på en Segwit- eller Legacy-adress (Legacy är alltså en adress som inte stödjer Segwit). Det finns inga nackdelar med Segwit så min rekommendation är att flytta dina Bitcoin dit, det har jag gjort.

 

Guide – hårdvaruplånboken Ledger Nano S

I ett tidigare inlägg har jag skrivit om mjukvaruplånboken Exodus. Det är en app som installeras på din dator, du kan läsa om den här.

Nu tänker jag ta upp en ännu säkrare variant av förvaring, hårdvaruplånboken (eng. hardwarewallet). I och med att datorer kan drabbas av virus, program som avsöker knapptryckningar mm finns det en viss risk för att hackare kan komma över de koder de behöver för att stjäla kryptovalutor även från en mjukvaruplånbok. Vill man minimera risken för att detta kan ske bör man överväga att skaffa en hårdvaruplånbok.

De kan se lite olika ut men gemensamt är att det är en extern enhet som kopplas till en dator. Den jag har köpt och ska berätta om heter Ledger Nano S.

Hårdvaruplånböcker ska du endast köpa oöppnade nya och aldrig begagnade. Du vill verkligen inte att någon har preparerat enheten innan du använder den. Dagens skurkar kan vara mycket påhittiga.

Jag beställde min från www.ledgerwallet.com vilket är tillverkarens hemsida. Den kostar ca 1000 kronor och levereras efter ca en vecka.

 

Vad finns i boxen då? Låt oss se…

Förutom en sladd till datorn finns det en manual, ett pappersark för att skriva upp enhetens backupkoder samt själva hårdvaruplånboken. Den sista ser ut som ett USB-minne som kan fällas in i ett fodral.

På enheten som kopplas in med hjälp av USB-sladden finns en display och två knappar på övre långsidan som man använder för att kommunicera med enheten. Tack vare att Ledger Nano S har ett eget gränssnitt utanför datorn och skyddas med en PIN-kod kan du till och med använda den på en virusinfekterad dator.

Det du gör när du initierar enheten är att välja en PIN-kod som sedan måste anges varje gång du kopplar upp den mot din dator. Du kommer därefter få en serie unika backup-koder du skriver ner på det medföljande arket (eller på annat papper). Dessa koder är väldigt viktiga att spara på ett säkert ställe. Skulle du bli av med din Ledger Nano S är de koderna de enda sättet att återskapa de kryptovalutor du har på enheten.

 

Sedan är det dags att ladda hem ett program till din dator, Ledger Manager. Där kan du välja vilka kryptovalutor du vill kunna spara i din Nano S.

 

 

T ex kan du ladda ner Wallet för Bitcoin, ser då ut så här:

Här kan du se saldot, skicka och ta emot Bitcoin. Proceduren för detta liknar den i Exodus som jag beskrev här.

 

 

Fördelen med en hårdvaruplånbok är att du kan bära med den, använda den med flera datorer eftersom enheten är “hjärnan” och de program du installerar på datorn bara används för att visa data från enheten. Säkerhetsmässigt är detta ett steg upp från mjukvaruplånböcker och jag rekommenderar dig att skaffa en sådan här om du vill förvara kryptovalutor så säkert som möjligt.

 

 

 

Hur förvarar jag mina Bitcoin?

Eftersom Bitcoin är en digital valuta går det ju inte stoppa ner en knippe sedlar i madrassen.

 

Vad finns det då för alternativ för förvaring?

Först och främst; tekniskt sett förvarar man inte själva Bitcoin någonstans. Du förvarar kodnycklarna som används för att komma åt dina Bitcoin och för att utföra transaktioner. Mer teknisk än så tänker jag inte bli här. OK, vidare till hur kodnycklarna kan förvaras…

 

Förvara på exchange:

Om vi utgår från att du precis köpt dina Bitcoin på en exchange, som t.ex. Coinbase eller Kraken, sker förvaringen på denna exchange. Det betyder att det med en internetuppkoppling är lätt att komma åt dina Bitcoin om du t.ex vill trada (köpa/sälja). Om du bara vill låta dem ligga går också det. Dock är det inte att rekommendera att göra det.  Varför? Jo, kodnycklarna förvaras på servrarna hos valda exchange. OM din exchange skulle utsättas för en hackerattack finns risken att hackern stjäl dina kodnycklar och överför dina Bitcoins någon annanstans.

 

 

Desktop wallet:

Du kan ladda hem ett program till din dator, en s.k. desktop wallet, dit du överför dina kryptovalutor från din exchange. Det här är verkligen att rekommendera eftersom du då överför dina kodnycklar från servrarna på exchangen till din egen dator. Det blir lite som att ta ut sedlar från banken och lägga dem i madrassen hemma. En rånare som tar sig in i bankvalvet på banken skulle så att säga inte komma åt dina pengar eftersom du tagit hem dem (om vi tänker oss rånaren är en hacker som hackat din exchange). Jag använder själv Exodus (www.exodus.io) dit jag för över de Bitcoin jag köpt in. Även om datorn som kodnycklarna förvaras på förstörs kan du genom lösenord och en kodad sträng med ord återskapa kodnycklarna på en annan dator.

Här kan du läsa en steg för stegguide om hur du använder Exodus.

 

 

Hårdvaruwallet:

En hårdvaruwallet, som t.ex. ovan visade Ledger Nano S (www.ledgerwallet.com), ger väldigt hög säkerhet då den aldrig är uppkopplad mot internet eller en dator utom när du väljer att använda den med en USB-sladd. Jag har beställt en Ledger Nano S och kommer testa den i ett framtida blogginlägg.

Här kan du läsa en steg för stegguide om hur du använder Ledger Nano S.

 

 

 

Avslutningsvis rekommenderar jag att du aldrig låter din kryptovaluta ligga en längre tid på en exchange. Så fort det är möjligt bör du föra över den till en desktop wallet eller en hårdvaruwallet.