https://bitcointalk.org/index.php?topic=152348.0
Triidin aloittaja on tehnyt siirtonsa oikeaan aikaan ja onnistunut todella käyttämään kolikkonsa kahteen kertaan.
https://bitcointalk.org/index.php?topic=152348.0
Triidin aloittaja on tehnyt siirtonsa oikeaan aikaan ja onnistunut todella käyttämään kolikkonsa kahteen kertaan.
Kyllä, kyseessä on onnistunut double spend. Se tapahtui Bitcoinin blockchain forkin aikana. Pieni riski double spendeille oli olemassa sinä aikana, ja bitcoineja hyväksyviä palveluita kehotettiinkin ottamaan Bitcoin-depositit vähäksi aikaa pois.
Käytännössä tässä ei tapahtunut mitään menetyksiä tosin, double spendin tekijä ei ollut huijari vaan teki sen eräänlaisena demonstraationa. Lisäksi OKPay ilmeisesti onnistui jäädyttämään sen rahoja, joten en tiedä olisiko tuossa edes voinut tapahtua menetystä.
Tämä ei ole mahdollista tehdä Bitcoinin normaalin toiminnan aikana. Toivottavaa on tietystä, että tuollaisia bugeja ei kauheasti tule jatkossa, mikä Bitcoinissa ilmeni äskettäin.
Mielenkiintoinen case, meni vähän aikaa tajuta miten tuo oli edes mahdollista. Tekijällä kävi oikeastaan hirveä tuuri, eikä siis oikeastaan ennakkoon suunnitellut tuota vaan käytti vain ilmaantunutta tilaisuutta hyväkseen. Erinomaista että tuli näin ilmi, niin jatkossa vastaavanlaisessa tilanteessa estettäneen tuon mahdollisuuden käyttö.
Eli mitä ilmeisimmin kävi seuraavasti. Käyttäjä teki transaktion (jonka OKPay maksoi hetimiten dollareissa), joka hyväksyttiin tuohon hylättyyn 0.8 ketjuun. Myöhemmin hän teki doublespendin, jonka sai hyväksytyksi pre-0.8 ketjuun. Tämän ei normaalin logiikan mukaan pitäisi onnistua edes tällaisessa poikkeustilanteessa, koska uuden pre-0.8 ketjun olisi pitänyt myös liittää tuo alkuperäinen transaktio ketjuun ennen doublespend yritystä (ja havaita heti tuo doublespend). Nyt kuitenkin ilmeisesti tapahtui niin, että iso osa mainausvoimasta siirtyi 0.8:sta -> 0.7, joka aiheutti tilanteen, jossa tuo alkuperäinen transaktio ei ollut enää niiden mempoolissa (odottamassa blokkiin kirjautumista) ja toinen transaktio (doublespend) kirjautui niille ensimmäisenä (ja meni hyväksyttynä blokkiin).