Czy uważna lektura kodu źródłowego możemy być opłacalna? Coś na ten temat wiedzą łowcy błędów, jednak nagrody wynoszące prawie dwa miliony złotych nie zdarzają sie codziennie i czekają głównie w kodzie źródłowym różnych nowych kleptowalut.
Twórcy Zerocoin, kryptowaluty która ma za zadanie zagwarantować całkowitą prywatność i kompletną anonimowość jej posiadaczom, ogłosili właśnie, że na skutek błędu w kodzie implementacji waluty ktoś był w stanie generować ją „z powietrza” i zarobił na tym ponad 400 bitcoinów. Warto także zauważyć, że złodziej jest kompletnie anonimowy i zachowuje pełną prywatność.
Coś z niczego
Ogłoszenie o incydencie pojawiło się w oficjalnym serwisie Zerocoin. Możemy się z niego dowiedzieć, że u podstaw problemu leżała literówka w postaci jednego dodatkowego znaku w kodzie programu. Miała ona bardzo specyficzny skutek – mianowicie pozwalała na ponowne użycie dowodu pracy „kopalni” do wygenerowania nowych monet. W założeniu kryptowalut praca obliczeniowa wykonywana przez „górników” może być nagrodzona tylko raz. W tym przypadku ktoś odkrył, że pracę może wykonać raz i wielokrotnie odbierać za nią nagrodę. Według dostępnych informacji autor odkrycia stworzył w ten sposób 370 tysięcy zerocoinów, co stanowi ok. 1/4 wszystkich wytworzonych do tej pory monet. 350 tysięcy z nich udało mu się wymienić na bitcoiny, warte ok. 1,75 mln PLN wg dzisiejszego kursu.
Najciekawsze chyba w całej sprawie jest to, że atak miał miejsce na przestrzeni wielu tygodni. Według dostępnych informacji atakujący rozłożył swój atak w czasie i kawałek po kawałku spieniężał wygenerowane zerocoiny – prawdopodobnie by nie załamać rynku i by wydłużyć czas potrzebny do wykrycia ataku. Co jednak dość zabawne, autorzy zerocoin informują, że byli w stanie wykryć atak ponieważ porównali ilość legalnie wytworzonych monet z ilością monet wydanych. I zorientowali się już w momencie, gdy 1/4 wszystkich dostępnych monet okazała się wygenerowana z powietrza…
Twórcy waluty informują, że nie zamierzają wycofać nieautoryzowanych transakcji, a jedynie opublikują aktualizację usuwającą możliwość przeprowadzenia ataku. Niestety do tej pory nie udało się nam ustalić, jak konkretnie wyglądał wspomniany błąd – w internecie jest na ten temat kilka teorii, ale żadna nie wyglądała wiarygodnie. Na zakończenie jeszcze tradycyjne podsumowanie.
Komentarze
„źródłowym różnych nowych kleptowalut.” – chyba chodziło o kryptowaluty ;-)
Nie, chodziło o kleptowaluty.
A co to są te kleptowaluty? To tak jak kleptomania?
WITAMY NOWEGO KOLEGĘ W INTERNETACH!
PS. Kleptowaluty to takie pieniążki dla ludzi, którą mają kłopoty z pamięcią. Tak jak zresztą wynika z nazwy.
PPS. To prawda :)
Nie wprowadzaj w błąd. Klepto- nie ma nic wspólnego z pamięcią. Klepto- wywodzi się z starożytnej greki, gdzie kléptēs oznaczało złodzieja, tudzież kléptō – kradzież.
Adam od dawna używa tych 2 zamiennie, z tymże kleptowaluty jako określenie pejoratywne :)
Skoro to zerociony to nie rozumiem problemu (-; 370000 * 0 = 0. więc o co chodzi? skąd zarobek? (-;
Zerocoin? Tak to jest jak się używa jakiś shitcoinów a nie bitcoina.
Pomyśl, że mogło to powstać celowo właśnie do wygenerowania bitcoinów zamiast tych nędznych farm koparek. Tymbardziej, że autorzy wiedzieli, że coś jest nie tak.
Tu nawet nie trzeba myśleć. Wał perfekcyjny. Stworzyć pseudowalutę i omamić łosi, że bezpieczna, anonimowa i super hiper. Po cichu zrobić furtkę. Następnie pompujemy bańkę i w odpowiednim momencie autorzy stają się bogaci, reszta traci czas i ew. kasę. Za jakiś czas nabiorą się na inny wał :)
I pomyśleć, że już nawet nazwa Zero-Coin nie podpowiada by pomyśleć choć trochę. Nazwaliby ShitCoin i też by łosie to łyknęły.
@Adam, czy możemy prosić o fragment kodu, gdzie był ten nadmiarowy znak z jego wskazaniem?
https://bitcointalk.org/index.php?topic=307419.0
Skoro ShitCoin już istnieje to może stwórzmy więc BullShitCoin. Przy „kopaniu” pomocny będzie BullShitDetector.
tzw. pump and dump
Tez mi sie tak wydaje , ze walek jest podobny do tworzenia „gield” bitcoinow, a potem ich tworcy mowia ze niby padli atakowi hacherskiemu i zamykaja interes bogaci
Zerocoin to protokół, błąd był w Zcoin (jednej z implementacji).
To jeszcze lepiej. To w takim razie biorę się za pisanie kolejnej implementacji. Ha ha. Dziurawy protokół komunikacyjny. Raj dla tych co chcą na tym nieźle zarobić.
Brak spadku ceny XZC pokazuje tylko, że zerocoiny walutą są tylko z nazwy. Nie mają pod sobą rynku, który regulowałby ich wartość. Jakby ktoś dodrukował 33% więcej złotówek i puścił to w ruch, to nikt nie musiałby monitorować sytuacji, żeby to wyłapać — wszyscy wiedzielibyśmy dosyć szybko. W przypadku XZC przez te kilka ostatnich tygodni ich wartość nawet rosła.
Z drugiej strony, jeśli faktycznie autorzy sami stoją za tym atakiem, to kryptowaluty coraz bardziej przypominają tradycyjne: ile to mamy państw, które dodrukowywały sobie kasę ;).
@Z3S: “prawie 2 mln” vs “ponad 1.5 mln”. Fakt, wartość była idealnie w połowie, można było wybrać każdą z tych opcji.
Nie pisano już o tym jakiś rok temu? Nie pamiętam czy chodzi o tą walutę czy inną. Błąd programu polegał wtedy na tym, że stan konta był aktualizowany w momencie kończenia sesji przez górnika. Ktoś napisał skrypt który „zakańczał” sesję wiele razy.
mowisz o bitcoinie i to nie był bład typu race condition, tylko możliwosc podwojnego wydania tych samych bitcoinow (double spent), ktory nie wynika z samej implementacji bitcoina, tylko serwisów obsługujących kryptowaluty – np realizacja płatności (wymiana chociażby btc na pln) bez czekania na potwierdzenia tej transakcji z sieci (przyjeło się zasadę że minimum dwa podpisy w przypadku bitcoina starczą żeby atak był niemożliwy).
przykladem takiego serwisu w polsce ktory (potencjalnie) zleca wykonanie przelewu bez oczekiwania na potwierdzenie transakcji z sieci jest np inpay.pl z opcją „Opłać rachunki”, na szczęscie przelew wychodzi znacznie pozniej niz potwierdzenie jego zlecenia ktore otrzymuje sie na maila, wiec „za kulisami” prawdopodobnie skrypt czeka na potwierdzenia z sieci.
podsumowując – rozgłaszano dwie różne transakcje dla tych samych srodkow, z czego pierwsza szła normalnie w sieć, a druga była wpuszczana i odrazu podpisywana przez górnika – siec BTC uznaje za prawidłową transakcję już podpisaną na wejsciu mimo że została ona rozgłoszona później niż pierwsza.
żeby jednak przeprowadzić taki atak w praktyce trzeba mieć do dyspozycji znaczną moc „kopiącą” (ileś % wszystkich kopalni BTC razem wzietych) – Chiny dałyby radę ;)
Widze, ze adam w formie, pozdrowienia dla fiata :D
P.S przejebane byc januszem
Tylko dlaczego autor sztuczki nazywany jest „złodziejem”? :P Z opisu wynikałoby raczej, że jest „fałszerzem”, a może nawet „cudotwórcą” (jako że tworzył coś z niczego, a nie kradł coś co już istnieje).
Raczej nic z niczego.