neprihlásený Sobota, 23. novembra 2024, dnes má meniny Klement
Pre jednopísmenkový preklep v kóde si hacker vytvoril kryptomenu za 430 tisíc

Značky: kryptomenyprogramovaniezaujímavosti

DSL.sk, 21.2.2017


Tvorcovia relatívne známej novej kryptomeny Zcoin aktuálne informovali z pohľadu meny o pomerne vážnom ale z programátorského hľadiska kurióznom incidente, v ktorom si neznámy hacker pre triviálny programátorský preklep v Zcoin softvéri vytvoril kryptomenu v hodnote cca 430 tisíc eur.

Zcoin

Mena Zcoin bola v ostrej prevádzke spustená na konci septembra uplynulého roka. Založená je na sofistikovanom návrhu protokolu respektíve kryptomeny Zerocoin, ktorej cieľom je zabezpečiť čo najviac anonymnú kryptomenu.

Zerocoin bola pôvodne plánovaná ako nadstavba Bitcoinu, nakoniec bola Zcoin spustená ako samostatná kryptomena. Tú si je samozrejme možné na rozličných burzách a zmenárňach zameniť za iné kryptomeny.

Zcoin funguje ako štandardná kryptomena a umožňuje realizovať transakcie na adresy. Hlavnou prednosťou je ale zabudovaná anonymizácia. Konkrétne mena umožňuje existujúcu mincu v terminológii Zcoin tzv. spáliť respektíve v terminológii Zercoin tzv. vyraziť a neskôr získať novú mincu v ekvivalentnej hodnote.

Nová minca je úplne novou bez akejkoľvek histórie, ktorá nie je spojená s pôvodnou mincou a umožňuje ju tak anonymizovať. Funkčnosť systému je postavená na kryptografii a o novej minci je známe len to, že vznikla z niektorej predtým spálenej mince rovnakej hodnoty. Spaľovať a vytvárať nové mince je možné len v hodnotách 1, 10, 25, 50 a 100 Zcoinov.


Logo kryptomeny Zcoin, kliknite pre zväčšenie (obrázok: Zcoin)



Zcoin peňaženka musí samozrejme pri vytvorení novej mince preukázať, že predtým prišlo k spáleniu mince a má právo získať novú mincu. Toto technické preukazovanie jednak preukazuje, že peňaženka mincu spálila, a pomocou sériového čísla, že si vytvára jej ekvivalent len prvý a jediný krát.

Chyba

Softvér Zcoin do svojej databázy pri spracovaní transakcií z verejnej blockchain ukladá informácie o znovuvytvorených minciach a nemal by tak samozrejme umožniť viacnásobné vytvorenie novej mince z jednej spálenej mince.

V softvéri Zcoin bola ale práve triviálna programátorská chyba, pre ktorú nebola táto kontrola účinná. Oznámenie tvorcov Zcoin odkazuje na presné miesto v kóde, kde k chybe prišlo, úplne detailne ju ale nevysvetľuje. Podľa kódu ale zrejme záznam o vytvorenej minci neobsahoval správnu hodnotu vytvorenej mince, následné kontroly pri prípadnom spracovávaní ďalších opakovaných transakcií snažiacich sa vytvoriť novú mincu z tej istej spálenej mince ale kontrolovali aj túto hodnotu. Záznam o už vytvorenej minci tak nenašli a dovolili vytvoriť novú mincu.

Ukladanie hodnoty vytvorenej mince sa v kóde písanom v jazyku C++ v skutočnosti nachádza, ale s jedným z najtriviálnejších preklepov v jazykoch C a C++. Namiesto znaku priradenia, jedného rovná sa, a teda namiesto priradenia zccoinSpend.denomination = libzerocoin::ZQ_LOVELACE; bol použitý symbol pre porovnanie, dve rovná sa, a teda zccoinSpend.denomination == libzerocoin::ZQ_LOVELACE;. Hodnota premennej sa tak nezmení a zostane na pôvodnej inicializovanej hodnote, nula, a nebude mať skutočnú hodnotu vytvorenej mince.

Chyba sa v kóde opakovala celkom päťkrát, pre všetky možné hodnoty mincí 1, 10, 25, 50 a 100. Hackerovi stačilo samozrejme využiť ale iba jednu z nich. Jeden z výskytov si je možné pozrieť v zdrojovom kóde softvéru, ďalšie sa nachádzajú v ďalších častiach rovnakého súboru.

Incident

Podľa tvorcov kryptomeny problém zaregistrovali pred polnocou 16. februára, na základe nezrovnalostí medzi množstvom spaľovaných a vytváraných mincí.

17. februára požiadali burzy a zmenárne o zastavenie obchodovania s menou Zcoin.

Podľa analýzy bola chyba prvýkrát využitá na vytvorenie duplicitnej mince v bloku 11002 ešte 9. decembra a hacker si mal vytvoriť odvtedy celkom 370 tisíc nových Zcoinov, ktoré nemali existovať. Ostatní užívatelia o svoje Zcoiny neprišli. Podľa návrhu kryptomeny malo byť za celú jej históriu vytvorených celkovo 21 miliónov Zcoinov.

Väčšinu vytvorenej meny, okrem cca 20 tisíc Zcoinov, predal na burzách a celkovo podľa tvorcov Zcoinu získal 410 Bitcoinov. Tie majú pri súčasnej cene okolo 1050 eur za BTC hodnotu cca 430 tisíc eur.

Keďže tvorcovia meny objavili problém až s takýmto oneskorením a vytvorené Zcoiny už nakúpili ďalší užívatelia, tvorcovia meny sa rozhodli nezneplatniť už takýmto spôsobom vygenerované Zcoiny. Pri dolovaní meny bolo najskôr dočasne zakázané vytváranie nových mincí zo spálených mincí a po oprave chyby už od verzie softvéru Zcoin 0.8.7.7 nie je možné od bloku 22001, ktorý sa vytvoril včera večer, vytváranie duplicitných mincí.

Incident a priebeh riešenia tvorcovia popisujú na stránke projektu.


      Zdieľaj na Twitteri



Najnovšie články:

Starship by mohla za najbližšie štyri roky uskutočniť až 400 štartov
Protimonopolný úrad začal prešetrovať, prečo v SR nie sú skutoční virtuálni mobilní operátori
Nový trailer filmu Minecraft
Linux v ďalšej verzii vyradí súborový systém Reiser
Odštartovaná výroba flash pamäte s 321 vrstvami
Apple má prvýkrát použiť vlastný 5G modem v iPhone v marci
Linux dostáva podporu veľkokapacitných pamäťových SDUC kariet
USA požadujú, aby Google predal Chrome a potenciálne aj Android
ISS zvýšila orbitu, aby sa vyhla troskám zo satelitu
Vzniknú fyzické zábavné tematické Minecraft parky


Diskusia:
                               
 

Pozor, Zcoin je menej znama mena ako Zcash.
Odpovedať Známka: 6.7 Hodnotiť:
 

Toto Zetko pripomína čínskeho draka.
Odpovedať Hodnotiť:
 

Si si isty?

https://bitcointalk.org/index.php?topic=1663416.0
Odpovedať Hodnotiť:
 

Koho teda okradli? :-)
Odpovedať Známka: 8.0 Hodnotiť:
 

Sutok sa nestal.
Odpovedať Známka: 9.0 Hodnotiť:
 

*k
Odpovedať Známka: 3.3 Hodnotiť:
 

Samo krádež.
Ako u nás doma...
Odpovedať Známka: 10.0 Hodnotiť:
 

Zdravím, pán Fico. :-)
Odpovedať Známka: 10.0 Hodnotiť:
 

Nič proti pánovi Ficovi, ale myslím, že on ten kód nenapísal. On by sa totiž takej banálnej chyby nedopustil. Totižto on neporovnáva, len priradzuje.
Odpovedať Známka: 10.0 Hodnotiť:
 

Namiesto sutoku dosla povoden.
Odpovedať Hodnotiť:
 

predavaca v potravinach :)
Odpovedať Známka: 2.0 Hodnotiť:
 

vsetkych vlastnikov zcoinov. hodnota ich minci klesla, lebo boli neplanovane vytvorene ine.

toto je v podstate to iste ako kvantitativne uvolnovanie ECB. tlacia nove peniaze, aby znehodnotili existujuce a stupla inflacia.
Odpovedať Známka: 8.4 Hodnotiť:
 

Pri nejakych zcoinoch su ztoho vsetci hotovy ..ako noli okradnuty .... ale v realnom svete sa to vola INFLACIA a sme okradany vsetci ;)
Odpovedať Známka: 4.7 Hodnotiť:
 

zrejme vobe netusis co je quantitative easing, pri nom sa peniaze fyzicky netlacia.. je to kontroverzna praktika ale predchadza tomu, co robia komercne banky a v konecnom dosledku zabranuje recesii.
Odpovedať Známka: -4.3 Hodnotiť:
 

Recesiu iba tlaci pred sebou nicomu nezabranuju,
Odpovedať Známka: 6.7 Hodnotiť:
 

Netlaci, komercne banky si robia balance sheet reducing a tym nicia peniaze, takze centralne banky mozu takto nalievat peniaze a komercne ich palia.
Odpovedať Známka: -4.3 Hodnotiť:
 

Tak preco to nespravia *, ked je to taky supermechanizmus?

Odpovedať Hodnotiť:
 

* x10 alebo x1000
Odpovedať Hodnotiť:
 

nikoho - sú to len čísla a bajty z bitov niekde v cloude vo virtual server. :D
Odpovedať Známka: -3.8 Hodnotiť:
 

a co su eura?
Odpovedať Známka: 10.0 Hodnotiť:
 

Krv a pot poslancov europarlamentu.
Odpovedať Známka: 10.0 Hodnotiť:
 

nebodaj uz zacala krvava revolucia ? lebo inak si neviem predstavit ako by ku krvi a potu poslanci prisli
Odpovedať Známka: 5.7 Hodnotiť:
 

Videl si niekde striekať krv, šťanku, sračku?
Odpovedať Známka: 10.0 Hodnotiť:
 

vasky jugend!
Odpovedať Známka: -3.3 Hodnotiť:
 

nechcem ta sklamat, ale co si asi tak myslis, ze su tvoje eurase/jurase ulozene v komercnej banke?

A) sikme ciarky na papyruse
B) pekne kamienky v kozenom vrecusku
C) fyzicky zmagnetizovane nano-plôšky na platniach HDD a logicky tvoriac zaznam v databaze

tajomstvo: C je spravne !!!

ak by niekto na dialku vedel ovladat myslienkou hmotu a dokazal ovplyvnit zmagnitizovanie tych nano-plôšok vo všetkych redundanciách, tak si na ucte vyrobim 10 melonov a mam do konca zivota svaty pokoj
Odpovedať Známka: 6.7 Hodnotiť:
 

nesklamal si ma. :)
...ale otázka nebola o euráčoch predsa. ;)
Odpovedať Hodnotiť:
 

Inspiracia tvorcov fungovanim slovenskych uradov pri prerozdelovani zodpovednosti je az zarazajuca.
Odpovedať Známka: 0.0 Hodnotiť:
 

Na co su tie kryptomeny dobre? Je ich viac ako hub po dazdi. A kde mate istotu ze sa jedneho rana zobudite a hodnota bude 0.
Odpovedať Známka: -5.0 Hodnotiť:
 

Nie som fanusik kryptomien, ale kde mas taku istotu u korun, eur, dolarov, atd.?
Odpovedať Známka: 7.8 Hodnotiť:
 

Vsetci ekonomicky experti vedia, ze tu, tu a tu.
Odpovedať Známka: 10.0 Hodnotiť:
 

Vypadne dlhodobejsie elektrika a si v pi...
Odpovedať Známka: 3.3 Hodnotiť:
 

asi tak, ako teraz... keď vypnú moju banku, nekúpim si ani kofolu.
Odpovedať Hodnotiť:
 

Posles prachy cez mobil a je to, banka ma zalozne zdroje, kdezto kryptopseudo meny su na tom horsie.
Odpovedať Hodnotiť:
 

to je ako povedať "ja elektrinu nepotrebujem, ja si pozriem televízor aj pri sviečkach"...

téma bola dlhší výpadok elektriny... ak teda abstrahujeme od toho, že smartphone sa Ti vybije za dva dni a predpokladáme, že si ho nabiješ nejakým solárnym, pohybovým, či veterným zázrakom, tak Ti Tvoja offline peňaženka bude na dve veci, keď si vyšerpáš autorizačný offline transakčný limit, kým sa on-line nespojíš s bankou...

kryptomeny akože nebežia na virtual systémoch na záložných zdrojoch? ;) ak má nejaký Fero server doma v pivnici, tomu by som veril ešte viac, lebo sadne na bicykel a bude ťahať. :D
Odpovedať Známka: 10.0 Hodnotiť:
 

ako v grecku ked sa ludia snazili vytahovat prachy?
Odpovedať Hodnotiť:
 

nikde tu istotu nemam. ale risknem to.
Odpovedať Známka: 0.0 Hodnotiť:
 

načo sú dobré?

1. na zábavu predsa. :)
teória hier - veď je to sranda sledovať, ako mi nejaký miner doluje prachy. ...ako tie prachy menia kurz...

2. na ochranu súkromia
ten, kto nechce používať cash, musí rátať s tým, že bankové transakcie sú principiálne dosledovateľné.
kryptomeny tento problém riešia - zaplatíš a nikto nevie, či si 16-ročný zasran alebo 50-ročný úchyl.

3. na šedú ekonomiku
aby si si mohol zaplatiť za porno bez toho, aby o tom vedela Tvoja banka (lebo mimochodom - toto sa už posudzuje v rámci hodnotenia kredibitlity klientov, hoci len ako jeden z mnohých faktorov)

Kryptomeny sú podľa mňa totálna hlúposť stvorená týmto absurdne bizarným elektronickým svetom. Ale na druhej strane - kedysi sa ako platidlo (=teda univerzálne meradlo hodnoty) využívalo kadečo - kakaové bôby, drahé kovy, mušle, plátno... tak nikde nie je napísané, že naše elektronické peniaze bankových domov v budúcnosti nenahradia kryptomeny.
Odpovedať Hodnotiť:
 

Sukromie vynechaj, az take nedosledovatelne nie su
Odpovedať Hodnotiť:
 

Unit testing asi robili na tlaciarni vo velkom kancli...
Odpovedať Známka: 10.0 Hodnotiť:
 

Robis si srandu? Kde by na to vzali? Podla mna ich technologicke maximum boli dierne stitky.
Odpovedať Známka: -3.3 Hodnotiť:
 

A kde by v sucasnosti vzali lacnejsie ako 3D tlacou vytvorene dierne stitky?
Odpovedať Známka: 10.0 Hodnotiť:
 

Dnes fici BDD.
Odpovedať Hodnotiť:
 

Prípadne niečo ďalšie...
Odpovedať Hodnotiť:
 

bitcoin je za 1000 a nikto nic ????
Odpovedať Známka: 3.3 Hodnotiť:
 

Bitcoin je nad 1k už nejaký ten piatok. Preto nikto nič :
Odpovedať Hodnotiť:
 

*Body dysmorphic disorder
Odpovedať Hodnotiť:
 

btc je posl. 2 mesiace nad 800 a osciluje okolo tisicky:
https://goo.gl/mk6o1p

z prasknutej bubliny pod 400 sa dostal uz v lete 2016 a odvtedy je prakticky min na 600: https://goo.gl/fsrF6Z

z bubliny na konci roka 2013 (ked za velmi kratko dosiahol zo 100 na takmer 1200) bol na minime tesne nad 200 praktocky cely rok 2015, lenze odvtedy (uz 1 a 1/4 roka) stupa: https://goo.gl/7SOZxJ

co je nejasne?
Odpovedať Hodnotiť:
 

Pockaj este chvilu....
Zrazu sa niekto zbavi "zaujimaveho" mnozstva BTC a potom uvidis... :).
Toto je len pomale zvysovanie, aby sa mu to oplatilo
Odpovedať Známka: 5.0 Hodnotiť:
 

Akurat ze zbavenie sa "zaujimaveho" mnozstva je mozne len platbou dane ci poistenia s garantovanym neplnenim.
Odpovedať Známka: -3.3 Hodnotiť:
 

Zijes v imaginarom svete...
Odpovedať Hodnotiť:
 

V imaginarnom vesmire je tvrdenie o imaginarnosti sveta nadejnym zableskom logiky.
Odpovedať Známka: 3.3 Hodnotiť:
 

...lenze mna to nesere a ani neplatim naklady na udrzbu.:D
Odpovedať Hodnotiť:
 

to by si si musel precitat aspon o problemoch v indii z menou. a cinania v panike presuvaju menu abu nestratili ked cinska vlada uz dlhsi cas tlaci dole menu aby boli viac konkurencieschopny. to vytlaca BT hore. veru pamatam si diskusie tu pred rokom ako tu pedro a iny experti dokazovali ze to je poznzi schema. tu chodi tolko namyslenych slovakov co si myslia ze nieco vedia .
Odpovedať Hodnotiť:
 

Podla tvojho vyjadrovania vyzeras ze neviec nic. Fakt, presvedc ma o moznom omyle.
Odpovedať Hodnotiť:
 

pani mam otazku keby som teoreticky kupil par bitcoinov a potom chcel predat, ako to spravit aby som neplatil dan a zdravotny odvod tomu nenazranemu granko smradovy? da sa to vôbec? dostat sa k euram?
Odpovedať Hodnotiť:
 

Tak asi zavisi od mnozstva penazi. Pri malom mnozstve clovek musi byt aktivny a sam zaplatit dan, je nemozne aby na teba niekto prisiel. Platby na ucet by nemali byt velke (menej ako 5000 EUR) a to je vsetko.

Ak chces obmienat statisice tak to bude problem. Ale preco menit? Ved kup za bitcoiny.
Odpovedať Hodnotiť:
 

presne tak!
reálne, načo sú komu bežné peniaze, ak si za ne nič nekúpi?
takže ak si kúpi niečo za BTC, to by malo stačiť...
Odpovedať Hodnotiť:

Pridať komentár