Category Archives: Fakta

Fakta Nyheter

Förgrenad blockkedja – vad var det som hände?

(Det här är ett tekniskt inlägg som kräver viss grundläggande förståelse av hur Bitcoin fungerar.)

Natten till igår inträffade en förgrening av blockkedjan där äldre klienter (0.7 och tidigare) betraktade en gren som den rätta medan nyare klienter (v0.8) såg en annan gren som den rätta. Orsaken till det hela var ett block med ovanligt många transaktioner som skapades av en v0.8-klient. Den stora mängden transaktioner gjorde att en bugg visade sig i de äldre versionerna. P.g.a. av en begränsning i den databas som användes i de äldre versionerna (Berkeley DB) så kunde dessa klienter inte hantera blocket vilket gjorde att de såg det som ogiltigt, medan det gick alldeles utmärkt i den nya versionen som använder en annan databas.

Effekten av det här blir att alla som använder en klient av v0.7 eller tidigare ser en version av verkligheten medan de som använder v0.8 ser en annan.

Efter överläggningar kom utvecklarna fram till att den bästa lösningen var att försöka få de miners som använde v0.8 att gå tillbaka till v0.7 så att nätverket slutligen skulle kunna enas om att det är den ”korrekta” kedjan. Det här kan låta konstigt eftersom buggen finns i den tidigare versionen. Anledningen till att man väljer denna lösning istället för att tvinga alla att uppgradera till v0.8 är att den är lättare att genomföra och får mindre påverkan i stort. Med den här lösningen så är det bara miners som påverkas medan vanliga användare, e-plånböcker, handlare etc. kan fortsätta använda den klient de kör.

Beslutet att be miners att nedgradera till en tidigare version meddelas bl.a. på BitcoinTalk och i takt med att miners slutade använda v0.8 så började 0.7-grenen komma ifatt. Efter ca 25 block och 7 timmar med parallella blockkedjor var 0.7-grenen den längsta och allt kunde återgå till det normala. Under denna period rekommenderades mottagare av betalningar att inte lita på transaktioner trots många confirmations. 6 confirmations betyder förstås ingenting om de finns på en gren som kommer att överges. För vanliga användare innebar incidenten egentligen ingenting. Ingen uppgradering eller nedgradering var nödvändig och transaktioner som initierades under perioden har gått igenom även om de för en stund kunde ha en missvisande status.

Det fanns ursprungligen mer hashningskraft på 0.8-grenen så om ingen åtgärd hade vidtagits så hade alla 0.8-klienter sett detta som den rätta kedjan och alla hade varit tvungna att uppgradera till  denna version för att kunna använda Bitcoin. Det här är vad som kallas en ”hård förgrening” (”hard fork”), alltså en förändring av Bitcoins regler som gör att alla användare måste uppgradera till den senaste versionen. Man vill mycket ogärna göra en sådan förändring på grund av de stora konsekvenser det skulle ha för folk som inte är medvetna om den.

Det är dock troligt att en hård förgrening kommer att göras någon gång i framtiden men det kommer då att ske med god framförhållning och implementeras som ”passiv” kod som aktiveras vid en bestämd framtida tidpunkt för att ge alla god tid att uppgradera. Den finns en önskelista för saker som man skulle vilja ha med i en sådan här hård förgrening. Tanken är då att försöka få med flera saker vid förgreningen så att det inte behöver göras fler gånger.

Fakta

Ripple del 1 – Introduktion

Tänk dig att du känner Adam och att Adam i sin tur känner Bertil. Om du och Adam tar en pizza ihop och Adam betalar så går han förmodligen med på att ni  (istället för att han får cash direkt i handen) helt enkelt bestämmer att du är skyldig honom 80 kronor. Kanske betalar du senare eller så köper du pizzorna vid ett annat tillfälle och ni kvittar skulden. Låt oss nu säga att Bertil är med och att han betalar pizzorna. Du har inga kontanter och du känner inte Bertil, ni kanske inte kommer att ses igen, så han känner sig inte bekväm med att du är skyldig honom pengar. Ni bestämmer därför att du istället ska bli skyldig Adam 80 kronor och att det istället är Adam som är skyldig Bertil 80 kronor. Problemet är löst, Adam vet att han kan få igen sina pengar av dig och Bertil känner sig trygg med att han kommer att få igen sina pengar av Adam.

Ovanstående exempel är grundtanken bakom Ripple, nämligen att folk som inte känner varandra kan genomföra ekonomiska transaktioner via folk de känner och litar på. Det är lätt att se att exemplet ovan kan utökas i fler steg, alltså om det faktiskt var Bertils kompis Caesar som köpte pizzorna så skulle du kunna vara skyldig Adam, som i sin tur är skyldig Bertil, som i sin tur är skyldig Caesar. Om man ska tro på den gamla tesen om att du känner vem som helst i världen i max sex steg så skulle du alltså utan problem kunna betala vem som helst på det här sättet. Eller ”utan problem” är kanske att ta i, men om du tänker dig att en dator letar reda på rätt relationskedja och reglerar skulderna så är det faktiskt inte så långsökt.

Idén om Ripple presenterades redan  2004 av Ryan Fugger i Money as IOUs in Social Trust Networks & A Proposal for a Decentralized Currency Network Protocol och Ryan har sedan ett antal år tillbaka drivit RipplePay.com som är en implementation av idén. För att komma igång med ett Ripple-system måste du alltså först och främst ha några personer som du litar på. Du bestämmer sedan en summa (i valfri valuta) som du accepterar att personen kan vara skyldig dig och denne kan göra motsvarande för dig. Om ditt saldo visar att du har 100 kronor kan detta t.ex. utgöras av att Nisse är skyldig dig 200 kronor och att du är skyldig Pelle 100 kronor. I takt med att andra personer i nätverket utför transaktioner som går genom dig kan dessa skuldförhållanden förändras så nästa dag kanske du istället ser att Nisse är skyldig dig 150 kronor och att du är skyldig Anna 50 kronor. Ditt saldo kommer alltid att förbli 100:- så länge du själv inte genomför någon transaktion men du har godkänt att systemet skyfflar runt dina skulder inom de ramar du satt upp.

Det finns flera saker som kan kännas tveksamma med ett sådant här system. Något som ofta nämns är att det trots allt kanske inte är så smart att basera en ekonomi på skulder mellan personer som står varandra nära eftersom sådant lätt kan ge upphov till konflikter. En annan sak är att det inte är uppenbart hur man gör ett sådant här system decentraliserat. Alltså, om en server ska hålla reda på alla skuldförhållanden så blir systemet känsligt och stor makt hamnar i en enskild aktörs händer.

Den nya implementationen av Ripple finns på ripple.com och här har man tänkt på ovanstående frågor samt inspirerats av Bitcoins framgång. Mer om detta och vad det har för betydelse för Bitcoin kommer i del 2 om Ripple.

 

Fakta Nyheter

Vad är en ASIC?

När Bitcoin startade 2009 kunde vem som helst bidra till att verifiera transaktioner (och därmed skapa nya bitcoins) med sin egen dator. Datorns processor (CPU) gjorde jobbet och i artikeln som Satoshi publicerade innan Bitcoin drog igång står det just att Bitcoin fungerar enligt principen ”en CPU – en röst”. Alltså, ju mer CPU-kraft du har desto större chans att just du lyckas skapa ett block . Den som skapar ett block bestämmer vilka transaktioner som därmed permamentas i blockkedjan och får som lön för arbetet ett bestämt antal nyskapade bitcoins.

Vid skapandet av ett block gäller att kunna utföra så många beräkningar (specifikt att beräkna värdet av en hashfunktion) som möjligt på så kort tid som möjligt och även om datorns processor kan göra detta fantastiskt snabbt så är det inget mot vad en modern grafikprocessor (GPU) klarar av. Enkelt uttryckt kan man säga att en vanlig processor är gjord för att kunna utföra en mängd olika uppgifter, den är alltså en generalist. En grafikprocessor däremot är en specialist, den är gjord för att utföra grafikberäkningar och detta gör att den också passar mycket bättre för att beräkna de hashfunktioner som Bitcoin vill ha. När Bitcoin började fånga folks intresse dröjde det därför inte länge förrän Bitcoinmjukvara som utnyttjade grafikprocessorn fanns tillgänglig.

Så vad är då en ASIC? Jo det är nästa steg i utvecklingen. ASIC står för ”Application Specific Integrated Circuit”, d.v.s en integrerad krets som tillverkas för att kunna utföra en specifik funktion snarare än en allmän uppgift. I Bitcoinvärlden handlar det alltså om hårdvara specifikt tillverkad för att beräkna de hashfunktioner som Bitcoin använder sig av. Under en tid har det pågått en kamp om vem som kommer att leverera Bitcoins första ASIC. Flera företag har tagit emot förhandsbeställningar och utlovade leveransdatum har gång på gång skjutits upp. Men så äntligen, i fredags, meddelade Bitcoin Foundation att de fått provköra en ASIC vid namn Avalon, konstruerad av Yifu Guo och hans BitSynCom LLC.

Skillnaden mellan en ASIC och en GPU är avsevärd. En Avalon kan producera 67 GHash (miljarder hashningar) per sekund, vilket motsvarar nästan 200 grafikkort. Och då är effektförbrukningen hos en Avalon ändå bara det dubbla mot ett enstaka grafikkort (ca 400W mot ca 200W för ett grafikkort). Det här innebär att precis som GPU:er gjorde CPU:er värdelösa för Bitcoin-mining så kommer ASICs att göra GPU:er värdelösa. Bitcoin går nu alltså in i en ny era där nätverket kommer att skyddas av dedikerad hårdvara istället för var mans dator. Vilka positiva samt negativa effekter detta kan ha återkommer jag till i ett senare inlägg.

Fakta Nyheter

Lite nyårsstatistik

Såhär har bitcoins växelkurs gentemot dollarn sett ut på nyårsafton under de fyra år valutan existerat:

2009: 1 BTC =  0,00069 USD
2010: 1 BTC =  0,29 USD
2011: 1 BTC = 4,60 USD
2012: 1 BTC = 13,48 USD

Under det första året skedde i princip ingen handel med bitcoins så växelkursen för det året är baserad på kostnaden för att skapa bitcoins är och hämtad härifrån. Resten av datan kommer från Bitcoin Charts.

Fakta

Vad händer om en månad?

Om ungefär en månad – 29:e november enligt nuvarande uppskattning – så minskar Bitcoins s.k. mining reward från 50 till 25 bitcoins. De som bidrar med datorkraft för att bekräfta transaktioner i nätverket (miners) får varje gång de genererar ett block en belöning, nämligen ett antal helt nyskapade bitcoins (och det är just på detta sätt alla nya bitcoins skapas). Denna belöning har från Bitcoins start 2009 fram tills nu varit 50 bitcoins per block men det var redan från börjat bestämt att den kommer att halveras ungefär var 4:e år, vilket gör att det totala antalet bitcoins i existens följer grafen nedan.

Totalt antal bitcoins över tid

Så vad innebär detta?

Mining

För de som ägnar sig åt mining så innebär det att samma hårdvara nu bara kommer att tjäna in hälften så mycket pengar varje dag. Det här är något som de som köpt utrustning bör ha tagit med i kalkylen över tiden det kommer att ta att tjäna in hårdvaran.

Priset

Man skulle kunna tänka sig att priset skulle gå upp eftersom inflödet av nya bitcoins minskar men eftersom detta är en förändring som varit känd ända sedan Bitcoins start så bör det redan vara inräknat i priset man betalar nu. Det troliga är alltså att ingen märkvärd förändring av priset kommer att ske just om en månad.

Nätverket

På sikt innebär dessa belöningsminskningar att miners kommer att behöva få in sina pengar på annat sätt. Sättet detta är tänkt att ske på är genom transaktionsavgifter. Förutom belöningen får miners också de transaktionsavgifter som betalats för transaktioner som inkluderats i blocket, men detta är ännu en obetydlig inkomst jämfört med den fasta belöningen. I takt med att belöningen minskar måste avgifterna öka och det är (eftersom avgifterna är frivilliga) inte trivialt att se exakt hur storleken på avgifterna kommer att utvecklas. Det här är ett ämne som diskuterats flitigt och som vi kommer att skriva mer om senare.

Fakta

De mest populära sajterna om Bitcoin

Här är en lista över de mest populära Bitcoinsajterna enligt Alexas ranking. Plats på rankingen inom parentes.

1. www.bitcointalk.org (15 692)
Bitcointalk är webbens mest välbesökta Bitcoinforum, delvis p.g.a. att det tidigare låg direkt under domänen bitcoin.org. Här skrivs flera tusen inlägg varje dag.

2. www.bitcoincharts.com (28 141)
Bitcoin Charts innehåller massor av statistik och grafer relaterat till nätverket, mining, valutakurser mm.

3. www.mtgox.com (28 391)
Mt.Gox. är den största och en av de äldsta av alla de växlingssajter där du kan konvertera bitcoins till/från vanliga valutor. Baserat i Japan.

4. www.bitcoin.org (34 151)
Bitcoin.org är hemvist för Bitcoin-Qt/bitcoind, klienten som ursprungligen skrevs av Satoshi och som fortfarande är de facto-standard bland Bitcoinklienter.

5. www.blockchain.info (40 287)
Blockchain.info är  dels en ”block explorer” där du kan utforska alla block och transaktioner i nätverket men också en e-plånbok som vi skrivit mer om här.

6. www.bitcoin.it (41 563)
The Bitcoin wiki innehåller det mesta som är värt att veta om Bitcoin och kan editeras av vem som helst.

7. www.weusecoins.com (71 880)
We Use Coins är en informationsportal om Bitcoin som är mest känd för den animerade videon What is Bitcoin? som visats över en miljon gånger på YouTube.

8. www.deepbit.net (74 918)
Deepbit är en mining pool. Under en period var den klart störst och närmade sig 50% men på senare tid har dess inflytande minskat.

?. bitcoin.stackexchange.com (N/A)
StackExchange är ett nätverk av sajter med frågor och svar om olika ämnen, mest kända för Stack Overflow. Bitcoinsajten är i Beta men lockar ca 1800 besökare/dag och är ett mer strukturerat sätt att ställa frågor om Bitcoin än de vanliga forumen