Hlavní navigace

Podrobně: co může za problémy bitcoinových burz?

14. 2. 2014
Doba čtení: 5 minut

Sdílet

Virtuální měna Bitcoin to v poslední době nemá lehké. Před pár týdny tu byla hrozba získání většiny výpočetní síly a nyní záškodníci začali hromadně zneužívat letitou mezeru v protokolu. Kde je problém, jak se bude řešit a hrozí snad bitcoinová apokalypsa? Tyto a další otázky zodpovíme v tomto článku.

Uplynulý týden byl ve světě Bitcoinu krušný. Nejdříve pozastavila výběry bitcoinů japonská burza MtGox a pár dní na to také její evropský konkurent Bitstamp. Výběry ale pozastavuje nebo omezuje celá řada dalších burz. Jak už to u Bitcoinu bývá, vysvětlení problému není úplně snadné a mainstreamová média ho často popisují nepřesně. Pojďme věci uvést na pravou míru.

Problém: změna ID transakcí

Problém je znám pod názvem transaction malleability, což v přesném překladu znamená kujnost transakce. V praxi to představuje možnost třetí strany změnit ID transakce (hash) v bitcoinové síti. To se ovšem musí uskutečnit předtím, než je transakce zapsána do blockchainu, potom už je ID neměnné. Aby se to útočníkovi podařilo, zjednodušeně řešeno musí být blízko samotnému procesu a musí „zfalšované“ ID propagovat silněji, než to pravé propaguje samotný zadavatel transakce.

Pokud obchodujete na burze s Bitcoiny, na jaké?

Útočník sice může změnit ID, ale nikoliv už obsah transakce. Samotný transfer bitcoinů tedy v žádném případě není ohrožen a peníze i přes změněné ID dorazí tam, kam dorazit měly. Jedná se tedy spíše o administrativní problém, který je nepříjemný, ale rozhodně ne závažný. Vývojáři už delší dobu ošetřují jednotlivosti a omezují příležitosti, kdy by podvržení ID transakce mohlo nastat.

Je však nutné si uvědomit, že se nejedná o chybu, kterou by šlo spravit jedním bugfixem, ale nedostatek vyplývající spíše z podstaty decentralizovaného systému. Problém je veřejně známý a dokumentovaný například i na hlavní wiki Bitcoinu. Dosud se mu ale z pohledu uživatelů nedostávalo vyšší pozornosti, protože přece jen nejde o kritickou chybu a nikdo se ji ve větší míře dosud nesnažil zneužit. To se však změnilo…

Diletantství MtGoxu

Burza MtGox nejdříve bez vysvětlení pozastavila výběry uložených bitcoinů, světlo do celé věci vnesla až o pár dní později prohlášením, kde z problému obvinila především samotný Bitcoin právě kvůli v předchozích odstavcích zmíněné mezeře. To v komunitě zvedlo velkou vlnu nevole, protože za problémy si MtGox z největší části může sám.

Japonská burza, svého času suverénně největší na světě, totiž pro identifikaci transakcí používala právě pouze ID transakce z bitcoinové sítě. A z mezery administrativní se rázem stala mezera, kudy mohl nepozorovaně odtéct balík peněz. O kolik bitcoinů MtGox přišel, zatím není známo, zřejmě to ale nebylo zanedbatelné množství.

Jak že to fungovalo? Útočník a zároveň klient v jedné osobě zadal příkaz k výběru bitcoinů z burzy a transakci posléze v síti zpropagoval pod jiným ID. Burze si potom přišel stěžovat, že se transfer neuskutečnil, a vyžadoval poslání peněz z novu. MtGox v blockchainu transakci s daným ID opravdu nenašel, protože bylo pozměněno. A tak poslal peníze znovu…

Jak je možné, že na to burza přišla až tak pozdě? Burzy bitcoiny drží na tisícovkách adres, většinu z nich přitom offline. To pro případ, že by někdo pronikl přímo do jejich systémů. Každý den navíc na burzu stovky bitcoinů přitékají a další stovky odtékají. Zjistit, kolik burza reálně držela bitcoinů daný den v tom a takovém čase je prakticky nemožné.

Sečteno a podtrženo, na vině je zejména diletantství MtGoxu. Věděl, nebo minimálně měl vědět, že ID transakce lze podvrhnout, a přesto ho používal pro ověření uskutečnění transferu. Do systémů ostatních burz nevidíme, ale podle všeho používají komplexnější systémy, které ověřují více znaků. A to jak těch veřejně dostupných, tak těch interních.

Bitstamp a další burzy

MtGox však není jediný, kdo výplaty bitcoinů pozastavil. Zanedlouho se přidaly i další velké burzy, například Bitstamp. U nich je důvod odstávky související, ale nikoliv totožný. Poté, co se možnosti změny ID transakce dostalo velké medializace, začalo její masivní organizované zneužívání. Můžeme říci, že se burzy staly cílem určité formy DoS útoku, kdy se jim útočník změnami ID velkého množství transakcí snaží rozhodit administrativu.

Ani zde přímo nehrozí ztráta bitcoinů, burzy však v současné atmosféře nejistoty nechtějí nic riskovat a než se situace trochu ustálí, případně budou vyvinuty další mechanismy obrany, výběry zůstávají pozastaveny. Bitstamp, který je momentálně největší dolarovo-bitcoinovou burzou, striktně prohlašuje: „Žádné finance nebyly ztraceny a žádné finance nejsou v nebezpečí.“

Pozor na nepotvrzené transakce

Celá záležitost s sebou nese ještě jednu nepříjemnost, která není příliš medializovaná, ale v důsledku může způsobit větší potíže. Obecně platí doporučení: neposílejte bitcoiny dál, pokud ještě předchozí transakce nemá rozumný počet potvrzení. Rozumný počet potvrzení je docela relativní věc, nicméně už jedno potvrzení je zlomové. To totiž značí, že transakce je již zavedena v blockchainu a její ID už se nemůže změnit.

Tohoto doporučení byste se nyní měli držet dvojnásob. Možná už vám dochází, co se za současné situace může stát. V peněžence se vám objeví příchozí transakce, která zatím nemá žádné potvrzení. Při zneužití transaction malleability v tu chvíli protéká sítí ta samá transakce s dvěma různými ID a není jisté, které nakonec bude zahrnuto do blockchainu.

A jelikož v blockchainu každá transakce odkazuje na tu předchozí, může se stát, že další vámi vytvořená transakce bude odkazovat na tu neplatnou, a tudíž také bude neplatná. Vaše finance potom můžou zůstat viset v meziprostoru a nebudou vám k dispozici.

Zde to není ani tak záležitost protokolu jako spíš jednotlivých bitcoinových peněženek, které k podobným transakcím přistupují různě. S tímto má problém právě hlavní klient Bitcoin-Qt. Co nevidět by však měla být vydána oprava, která majitelům vrátí kontrolu nad „zaseknutými“ bitcoiny. Podle dosavadních ohlasů se v této situaci nachází jen minimum uživatelů.

Cloud 24 - tip 1

Bitcoin je pořád jen beta

Vývojáři Bitcoinu nyní jedou na plné obrátky a šijí jednu záplatu za druhou, burzy zase podrobně revidují své interní mechanismy. Diletanství MtGoxu tak nakonec bylo k něčemu dobré a firma celému ekosystému z určitého pohledu prokázala službu. Burza ale stejně nejspíš půjde ke dnu, šance na záchranu, resp. alespoň udržení vyššího tržního podílu, jsou mizivé. Těžko říct, kdy se s nemilou situací vypořádá MtGox, ale očekávám, že všude jinde už za týden bude klid.

Popsaný problém je jednou z dětských nemocí Bitcoinu. A podobných nemocí s velkou pravděpodobností ještě několik přijde. Nemoci to naštěstí nejsou smrtelné a Bitcoin pro jejich překonání bude zase o něco silnější. Důležité je uvědomit si jednu věc – samotné kryptografické srdce Bitcoinu zůstává neohroženo.

Byl pro vás článek přínosný?

Autor článku

Bývalý redaktor serveru Root.cz, dnes produktový manažer a konzultant se zaměřením na Bitcoin a kryptoměny.