Dubbelspendering

Det som gör att bitcoin fungerar är dess proof of work, bevis på att arbete utförts. Bitcoin löste det bysantinska generalproblemet. Det är nyckeln till att bitcoin kommer fortsätta lyckas. Det krävs så mycket datorkraft att utföra de beräkningarna som krävs för att delta i bitcoinmining att det är omöjligt att fuska.

Lamport beskriver ett scenario där en grupp bysantinska generaler, med sina arméer, har omringat en fientlig styrka. Efter att ha observerat fienden från sin position måste generalerna skaffa sig en gemensam ståndpunkt via meddelanden för att därefter bestämma sig för att attackera eller retirera. Om alla generalerna attackerar samtidigt besegras fienden men om en eller flera av generalerna får motsägelsefull information och därför inte attackerar, eller attackerar vid fel tidpunkt, förloras striden och generalerna och deras soldater måste kapitulera. Problemet är att en eller flera av generalerna eller deras kurirer kan vara förrädare som vill förstöra möjligheten till ett lyckat anfall.

Wikipedia, Bysantiska generalernas problem

En bild på internet kan kopieras, laddas ner och spridas oändligt många gånger. Det som gör att bitcoin inte kan falskmyntas eller, dubbelspenderas, är just att det krävs så mycket datorkraft att ändra blockkedjan. Alla som har en egen bitcoinnod har en kopia av hela blockkedjan på sin dator och den håller koll på alla transaktioner som någonsin gjorts inom bitcoinnätverket. Alla vet vilken plånboksidentitet som äger vilken bitcoin. Eftersom varje bitcoin kan spåras så så håller datorerna koll på var varje bitcoin befinner sig. Skulle en oärlig identitet försöka spendera en bitcoin flera gånger så ser alla andra i nätverket att det är något fel på transaktionen och kommer antingen avfärda hela den transaktionen som falsk och ignorera den eller välja endast en transaktion, den med längst obruten blockkedja och flest bekräftelser.

För att vara helt säker på att din bitcoin är din bitcoin ska du vänta 6 blockbekräftelser/ confirmations, då vet du att ingen dubbelspendering skett. Det kan hända och har hänt att två miners hittar ett block exakt samtidigt och båda blocken får därmed samma transaktion, alltså man kan kan få en dubbelspendering. Men det löser sig i nästa block eftersom den miner som hittar nästa block ska addera det det blocket på blockkedjan och den längsta kedjan är den som godkänt av nätverket. Tre transaktioner är tillräckligt men det skall vara 6 för att anses som bombsäkert.

Om Alice skickar 1 bitcoin till Bob så ser Bob i regel transaktionen på en sekund i sin plånbok men det står obekräftad. Efter 6 bekräftelser blir transaktionen klarmarkerad och Bob kan i sin tur spendera den. Bob har +1 BTC och Alice har -1 BTC i sin plånbok.

Det har hänt och kommer hända igen att media och bitcoins kritiker sprider rykten att det skett en dubbelspendering i bitcoins nätverk. Och ja det sker ibland att flera block skapas samtidigt men eftersom ingen transaktion anses klar och bekräftad förrän efter 6 bekräftelser är det inget problem. Det är bitcoins styrka och det som gör att ingen annan altcoin kan mäta sig med bitcoins säkerhet. Detta kallas stale block och bland orpan (föräldralöst block) eftersom inget annat block bygger vidare på det. läs mer om Stale Blocks i denna artikel på Medium.

Skulle en oärlig identitet vilja ändra något i blockkedjan, låt säga Bob går tillbaka och fuskar och skriver att han har 100 BTC så teoretiskt skulle han kunna ändra ett block men alla andra block efter bygger på det föregående så alla efterföljande block skulle bli ogiltiga och det tolererar inte nätverket och därmed ignoreras Bobs fusk.

För att kunna lyckas med en dubbelspendering eller fusk med bitcoins blockkedja måste fuskaren inte bara ha tillräckligt med datorkraft att ändra flera block bakåt i tiden, samme fuskare måste även jobba snabbare än alla andra datorer i hela nätverket som löser det matematiska pusslet för att hitta nästkommande block och alla som hunnits skapas sedan ändringen gjordes.

Små kryptovalutor råkar ofta ut för 51%-attacker och historiken kan ändras eller en oärlig identitet kan stjäla coins och dumpa på marknaden innan valutan kollapsar helt. Andra kryptovalutor som har systemet med Proof Of Stake, att den med mest coins bestämmer reglerna, är också utsatt för att några få kan ändra allt.