Den som följde Bitcoins värde runt lunchtid idag såg kursen falla från runt 700 dollar ner till 530 under loppet av en dryg timme. Kursen har nu återhämtat sig till nära den ursprungliga nivån. Så vad var det som hände? Mt.Gox, som trots stora problem fortfarande är en av världens största Bitcoinbörser, har den senaste tiden haft problem med uttag av bitcoin och publicerade idag ett meddelande [länk borttagen] som förklarade orsaken. Nedan är ett citat ur meddelandet.
Non-technical Explanation: A bug in the bitcoin software makes it possible for someone to use the Bitcoin network to alter transaction details to make it seem like a sending of bitcoins to a bitcoin wallet did not occur when in fact it did occur. Since the transaction appears as if it has not proceeded correctly, the bitcoins may be resent. MtGox is working with the Bitcoin core development team and others to mitigate this issue.
Meddelandet skapade lätt panik då många tolkade det som en kritisk bugg i Bitcoinprotokollet. Sanningen är dock att denna bugg eller begränsning i protokollet är känd ända sedan 2011 och en sida på Bitcoinwikin som förklarar problemet finns redan. I princip är den tekniska beskrivningen i meddelandet från Mt.Gox korrekt men många har reagerat på hur Mt.Gox lägger skulden på protokollet när det handlar om ett väldokumenterat beteende. Mt.Gox bör ha känt till detta, speciellt eftersom de använder egenutvecklad mjukvara för att hantera transaktioner, och borde ha anpassat sin mjukvara för att hantera situationen istället för att anta att den inte skulle uppstå.
Tekniskt
Såhär står det på wikin:
While transactions are signed, the signature does not currently cover all the data in a transaction that is hashed to create the transaction hash. Thus while uncommon it is possible for a node on the network to change a transaction you send in such a way that the hash is invalidated. Note that this just changes the hash, the output of the transaction remains the same and the bitcoins will go to their intended recipient.
Alltså, om man förlitar sig på det transaktions-ID (den hash) som man får när man skapar och skickar en transaktion för att senare kolla upp om transaktionen faktiskt accepterades av nätverket så kan det hända att man missar den. Men, bitcoin kan fortfarande att ha skickats från den adress man angav till den adress man angav, det är bara det att transaktionen har ett annat ID än det man förväntar sig. Genom att kolla upp vilka transaktioner som skett från/till de aktuella adresserna kan man ändå kontrollera om transaktionen man skickade ägt rum. Detta har Mt.Gox missat att göra och eftersom de istället skickat om transaktionen så har vissa personer kunnat lura till sig dubbla uttag.
Kommentarer