Zoufalý programátor omylem vymazal kryptoměnu v hodnotě stovek milionů dolarů | foto: montáž: Pavel Kasík, Technet.cz, Profimedia.cz

Experimentoval s kódem, omylem tím nenávratně smazal miliardy korun

  • 198
Vývojář s přezdívkou „devops199“ omylem využil chybu, která z něj učinila vlastníka téměř sedmi miliard korun v kryptoměně Ethereum. Přivlastnil si tak peníze mnoha dalších uživatelů. Když to zjistil, v panice kód smazal. Tím však chybu neopravil, naopak, prostředky na zasažených účtech jsou navždy ztraceny.

Svět kryptoměn - mezi kterými je nejznámější Bitcoin - je často velmi neintuitivní. Protože se všechny transakce zapisují veřejně do „účetní knihy“ (tzv. ledger), lze celkem přesně zjistit, na které adrese je kolik peněz, což ale neznamená, že lze zjistit, komu ty peníze patří.

Krach burzy Mt.Gox

Podobný případ se stal v roce 2014, kdy se - údajně kvůli hackerům - ztratilo devět miliard korun v bitcoinech.

U měny Ethereum je situace ještě trochu složitější. Ethereum totiž umožňuje programovat speciální oprávnění přímo do samotné platformy (což Bitcoin teoreticky také, ale je to složitější) a uživatelé tak mohou například vytvářet peněženky, kterými může disponovat pouze skupina uživatelů (tzv. multi-signature wallet).

Firma Parity provozuje jednu z on-line platforem, která umožňuje uživatelům zjednodušenou práci s měnou Ethereum. V červenci Parity opravila chybu, která umožňovala porušit tuto smlouvu a manipulovat s obsahem „multi-sig“ peněženky bez souhlasu ostatních držitelů. Firma kritickou chybu opravila, ovšem zdá se, že rychlou jehlou šitá oprava nebyla kompletní. Jiná chyba totiž v systému zůstala.

Když se věci kazí, tak se kazí...

Devops199 a jeho přiznání k omylu

Podle vyjádření na blogu Parity právě tuto chybu - zřejmě náhodou - využil vývojář s přezdívkou devops199. Není jasné, jaké úpravy tento uživatel platformy dělal. Každopádně v jednu chvíli (6. listopadu 2017 odpoledne) zjistil, že se najednou stal vlastníkem všech multi-sig peněženek.

Zde stojí za to připomenout, že na trhu kryptoměn už se pár let točí ohromné peníze. Všechny bitcoiny, které jsou nyní v oběhu, mají hodnotu přes 2,7 bilionu korun (2 700 miliard korun, 124 miliard dolarů). Ethereum jako druhá nejsilnější měna má celkovou hodnotu přibližně 618 miliard korun (28 miliard dolarů).

Vývoj cen kryptoměny ethereum v roce 2017

Z těchto 618 miliard korun najednou nešťastný devops199 disponoval skoro sedmi miliardami korun (zdroje se liší, ovšem částka je mezi třemi a sedmi miliardami korun). Firma Parity odmítá spekulace o celkové částce.

V panice se pokusil vrátit, co natropil, a svůj kód (knihovnu, ze které se omylem stala peněženka) smazal. Situaci tím ovšem nevyřešil. Všechny multi-sig peněženky, které ovládl, nadále vyžadují jeho souhlas k manipulaci s jakýmikoli prostředky na daných účtech.

Protože je ale knihovna smazána - a zápis o tomto smazání je napevno zapsán v oné účetní knize, kterou všichni sdílí - nemají majitelé těchto peněženek žádný způsob, jak se ke svým prostředkům dostat.

Chyba se týká všech multi-sig peněženek vytvořených po 20. červenci 2017 na platformě Parity. Dodejme, že firma Parity částku zpochybňuje a označuje peníze nikoli za ztracené, ale za „zmražené“.

07.listopadu 2017 v 14:18, příspěvek archivován: 08.listopadu 2017 v 20:12

Update: To the best of our knowledge the funds are frozen & can't be moved anywhere. The total ETH circulating social media is speculative.

Teoreticky by to šlo opravit, ale...

Z povahy fungování kryptoměn vyplývá, že transakce, která je jednou provedena a zapsána do sdílené účetní knihy, je nevratná. Kdyby tomu tak nebylo, mohl by někdo v podstatě zaplatit a poté si peníze na účet připsat zpátky, což by znemožnilo jakoukoli důvěru v provedené transakce.

Bitcoinové transakce čekají na ověření peer-to-peer sítě. Pokud by někdo chtěl poslat peníze, které nemá, neprojde taková transakce "hlasováním". Ověřené transakce se pak dostanou do oficiálního sdíleného řetězce ("blockchain").

Jak funguje bitcoin a další kryptoměny?

Protože tuto sdílenou účetní knihu (tzv. distributed ledger, v tomto případě blockchain) nesmí kontrolovat žádný jediný uživatel, probíhá její schvalování nepřetržitým virtuálním hlasováním. A právě to by umožnilo jediný způsob, jak lidem ztracené peníze vrátit. Komunita uživatelů by se musela shodnout na tom, že tato transakce byla chybná a odmítnout ji - i všechny transakce, které přišly po ní. Došlo by tak k „přetočení času“ do chvíle před osudnou chybou.

07.listopadu 2017 v 13:49, příspěvek archivován: 08.listopadu 2017 v 19:22

Unfortunately, our multi-sig is among those frozen. @ParityTech is working on the situation and will provide updates when available.

K podobnému „vrácení času“ (technicky jde spíše o natvrdo nastavenou změnu a oddělení „nové“ měny od „staré“, tzv. „hard fork“) již v minulosti došlo, když hackeři ukradli miliony dolarů z peneženky DAO. Tehdy ale daná částka představovala mnohem větší procento z celkového množství tehdy kolující měny Ethereum.

Není tedy jisté, zda se komunita dohodne na tom, že je vhodné opravit chybu, která se týká jen jedné z mnoha platforem. Aby došlo k „vrácení času“, tedy prakticky k vytvoření nové měny namísto té staré, muselo by se na tom dohodnout alespoň 51 % všech uživatelů (uzlů) sítě Ether.

Pan nebo paní devops199 by za to ale jistě byli vděční. Nemluvě o desítkách (tisíc?) dalších uživatelů, jejichž prostředky jsou nyní nedostupné.

08.listopadu 2017 v 05:34, příspěvek archivován: 08.listopadu 2017 v 20:13

@ParityTech Legendary quote from the man who discover the bug: “I accidentally killed it.” https://t.co/6kEj2TsTQV https://t.co/ntFi6316gQ

Aktualizace: Do článku jsme doplnili aktuální podrobnosti, odkazy a ilustrace. Upravili jsme informace o celkové částce.