De senaste dagarna har det varit en del skriverier kring att en dubbelspendering eventuellt ägt rum på bitcoinnätverket, d.v.s. att någon spenderat samma bitcoin flera gånger. Eftersom det är just detta problem som Bitcoin stoltserar med att för första gången ha löst i ett decentraliserat nätverk så kan man ju förstå att folk då blir lite oroliga. Det hela är dock en total icke-händelse, ett klockrent exempel på FUD, då Bitcoinnätverket tuffat på precis som vanligt och precis som förväntat. Låt oss titta närmre på vad som hände och varför det är helt normalt.
Det hela började med att Cointelegraph skrev en artikel om att 21 dollar hade dubbelspenderats och hänvisade till en tweet från BitMEX Research.
Det som står här om ett stale block innebär att Slushpool och F2Pool båda producerade ett nytt block, ungefär samtidigt, vilket fick till följd att olika miners arbetade vidare på olika kedjor. Detta löste sig när nästa giltiga block kom som då var en fortsättning på SlushPools block. Det här är en helt normal företeelse som inträffar då och då (i snitt kanske med några veckors mellanrum). Vad som inte är fullt lika vanligt är att de olika kedjorna innehåller två olika transaktioner som står i konflikt med varandra. Ett sätt som det här kan hända på är att någon använt sig av funktionen replace-by-fee, alltså först skickat ut en transaktion och sedan en stund senare (efter att ha insett att avgiften troligtvis är för låg) skickat ut samma transaktion igen men med högre avgift. Detta skulle t.ex. kunna leda till att F2Pool bara hunnit se den första transaktionen och därför väljer att ta med den medan SlushPool tar med den andra varianten.
Enligt Bitmex var detta dock inte ett exempel på RBF utan har skett på något annat sätt. Vi vet inte om detta var ett misstag eller ett medvetet försök att bedra någon. Ett sätt som detta skulle kunna ske av misstag är t.ex. om någon har samma privata nycklar inlagda i två olika plånböcker (kanske på två olika mobiler) och först gör en transaktion från den ena och strax därefter från den andra.
Det råder stor enighet om att detta är exakt som Bitcoin är tänkt att fungera och diskussionerna tycks mest ha handlat om semantik. Andreas Antonopoulos skrev t.ex. först "In case it needs to be said: no double spend happened." men fick då mothugg av Peter Todd som hävdade att en dubbelspendering visst har ägt rum:
Peter hänvisar till Bitcoins white paper och skriver vidare att "As the Bitcoin whitepaper helpfully explains, the probability of a double spend attempt succeeding drops exponentially with the number of confirmations. One confirmation is extremely low, two is basically (extremely low)²". Det är förstås sant att två transaktioner som står i konflikt med varandra har lyckats få 1 bekräftelse på nätverket. Men hur ska vi definiera en dubbelspendering och vad är det egentligen Bitcoin skyddar oss mot?
Som Peter skriver så tillhandahåller Bitcoin ett probabilistiskt skydd där man är någorlunda säker på att en transaktion är slutgiltig efter 1 bekräftelse och betydligt mycket säkrare efter 2 o.s.v. Man är i teorin aldrig helt säker på att bitcoins blockkedja inte kommer att omorganiseras och göra ens transaktions ogiltig utan det är en fråga om avtagande sannolikhet. Det är därför vanligt att handlare, börser etc. väntar på 3-6 bekräftelser innan man accepterar en transaktion eftersom sannolikheten att den skulle förklaras ogiltig då anses tillräckligt låg.
Med detta sagt tycker jag dock att det är Nic Carter som kommer med den rimligaste definitionen av dubbelspendering när han skriver att "'double spend' requires that a merchant credits a deposit/payment, hands over a good, and is the defrauded as the transaction is then removed from the blockchain".
Alltså, om någon försökt sig på att göra två transaktioner men bara den ena accepterats av mottagaren så har i praktiken inte en dubbelspendering skett utan endast ett försök till en sådan. Jag vet inte om Nic har någon ytterligare insikt i transaktionen eftersom han tillägger "this simply did not happen" men oavsett om så är fallet eller ej så är hans definition den mest vettiga.
Hur vi än väljer att definiera ordet så har dock Bitcoinnätverket fungerat precis som förväntat och precis i enlighet med Satoshis white paper. Boven i det här dramat är med andra ord Cointelegraph och alla andra som i jakt på klick låtit påskina att så inte är fallet.