Bitcoin v nesnázích: hrozí mu 51% útok? (aktualizováno)

10. 1. 2014
Doba čtení: 5 minut

Sdílet

Takzvaný 51% útok je jedinou větší slabinou Bitcoinu. Uskutečnit by se mohl tehdy, kdyby jeden subjekt tvořil většinu výpočetní síly sítě a mohl tak „falšovat“ záznamy. Teoretická hrozba se stává čím dál reálnější. Těžařský pool GHash.IO už dosáhl 42% podílu. Co se může stát a jak lze situaci řešit?

Co je pooling a proč se používá

Než se dostaneme k jádru problému, musíme si vysvětlit základy poolingu. Jedná se o sdružování minerů (těží nové BTC a ověřují transakce) do skupin z důvodu stabilizace příjmů z těžení. S růstem popularity Bitcoinu přibývají i těžaři a obtížnost těžení dramaticky roste, téměř exponenciálně.

Podívejme se na situaci z pohledu drobného těžaře. Ten může těžit na vlastní triko a například s 1% pravděpodobností za měsíc vytěží jeden blok čítající 25 BTC. To je hezká suma, ale také dost nejistý a nestálý příjem. Proto se radši zapojí do poolu, kde bude mít 100% jistotu měsíčního příjmu přibližně 0,25 BTC. Jednotliví těžaři poolu odevzdávají výsledky své práce a když je nalezen nový blok, odměna se rozdělí mezi všechny účastníky poměrem vykonané práce.

Největší předností Bitcoinu je decentralizace a právě pooling do ní nechtěně vnáší prvky centralizace, resp. potenciální monopolizace. Ve čtvrtek 9. ledna už měl největší pool GHash.IO podíl 42 % na výpočetním výkonu celé sítě.

Strašák 51% útoku

Není sporu, že pokud by nějaká jednotka dosáhla většiny výkonu bitcoinové sítě, může nastat závažný problém. Nicméně i kolem tzv. 51% útoku se šíří celá řada mýtů a polopravd. „Zničení“ celé měny určitě nehrozí. Prvně si tedy řekněme, co by taková jednotka nemohla:

  • měnit transakce ostatních uživatelů
  • bránit ostatním uživatelům v uskutečňování transakcí
  • měnit počet BTC vygenerovaných v bloku
  • svévolně vytvářet nové BTC
  • manipulovat s BTC, které jí nikdy nepatřily

Mohla by ovšem:

  • bránit potvrzování transakcí
  • bránit ostatním těžařům ve vytěžení bloku
  • „utratit“ bitcoiny vícekrát

V krajním případě by tak mohlo dojít k faktickému zmražení sítě. Největším problémem je právě tzv. double-spending, kdy je možné použít jedny peníze vícekrát. O to se může pokusit kdokoliv, ale transakce prostě zůstane nepotvrzena a klienti ji nebudou brát v úvahu. Ale pokud by jeden subjekt měl většinu výpočetního výkonu sítě, může transakce potvrzovat ve svůj prospěch.

Motivace

Nesmíme ovšem zapomínat, že tu není jen technická stránka věci, ale i ta „sociální“. Bitcoinovou síť netvoří jen stroje, ale především jejich majitelé. Kdyby se některý pool dostal na 51 % výpočetní síly, samozřejmě to ještě neznamená, že jeho vlastník svou pozici zneužije. Má řadu dobrých důvodů to nedělat.

Hlavním důvodem je fakt, že se to prostě nevyplatí. Pokud by se se chtěl pustit do „double-spendingu“ ve větší míře, co nevidět bude odhalen, mineři sbalí své stroje (dobrá, změní cílovou IP adresu) a prostě půjdou jinam. V jejich zájmu je obecná prosperita Bitcoinu. Pool tedy ztratí většinu a dost možná zmizí v propadlišti dějin, protože tohle se v bitcoinové komunitě rozhodně netoleruje. Jednotlivé pooly nemají zásadní technické ani praktické odlišnosti, které by bránily přelévání výpočetní síly.

Majitel poolu by se tak připravil o budoucí zisky, které obvykle plynou z poplatků. Poplatky sice bývají nízké (do 2 %) a je z nich třeba odečíst i náklady na provoz, ale při velkém objemu už jde o slušné peníze. Onen „problematický“ pool GHash.IO ovšem nežije z poplatků. Funguje totiž také jako burza, kde si mohou uživatelé prodávat výpočetní výkon. Až tady vybírá poplatky.

Řešením je P2Pool

Výše uvedené argumenty můžou umírnit obavy, ale přece jen by to chtělo systematičtější řešení. Jedno už bylo navrženo a funguje, jmenuje se P2Pool a problém se opět snaží řešit decentralizací. Nástroj už je k dispozici od června 2011, ale až v posledních týdnech se mu dostává zvýšené pozornosti, kvůli výše načrtnutým obavám. P2Pool je samozřejmě open-souce, zdrojové kódy najdete na GitHubu.

Fungování P2Poolu je velmi podobné fungování samotného Bitcoinu. Také má záznam událostí zvaný „share chain“, kam se zaznamenávají jednotlivé nalezené bloky (v rámci P2Poolu) spolu s jakousi výplatní páskou – přehledem, jaký podíl dostanou jednotliví těžaři za nalezené bloky (už ty bitcoinové). P2Pool totiž chroustá stejná data jako Bitcoin, jenomže je nastaven tak, aby v průměru „vychroustal“ blok každých 10 sekund, ne 10 minut. A právě podle toho se počítají podíly.

Není to úplně triviální, ale důležité je, že to funguje. Jen to není až tak pohodlné jako těžení na centralizovaných poolech. Těžař totiž musí provozovat plnohodnotný bitcoinový uzel a skladovat celý záznam transakcí – blockchain. Menší nevýhodou je také fakt, že toto decentralizované řešení nedokáže rozdělovat finance tak stabilně.

Není důvod k panice

Případný 51% útok by mohl poškodit reputaci Bitcoinu, mohlo by se vyskytnout pár nesrovnalostí atd. Určitě by ale neznamenal kolaps bitcoinové sítě. Podle všeho k němu navíc jen tak nedojde. 42% procentní podíl, kterým chvíli disponoval pool GHash.IO, byl vysoký, ale do většiny ještě hodně chybělo. Už v tu dobu navíc uživatelé vehementně rozjeli kampaň upozorňující na potenciální problém, že tím zaplnili prakticky celou stránku na Redditu věnovanou Bitcoinu.

A zdá se, že svůj účel plní. Pool GHash.IO už zaznamenal několika procentní propad a menší pokles můžeme pozorovat i u dalších poolů. Naproti tomu podíl „sólistů“ nebo neznámých sdružení lehce vzrostl na cca 17 %. Druhý největší pool BTC Guild má momentálně 21 %, a tedy pokud by došlo ke spojení či spolupráci s GHash.IO, je možné 51% útok uskutečnit. Stále je však zřejmé, že by se jim to nevyplatilo. Majitelé samotných poolů totiž vlastní pouze malý zlomek jejich výpočetní síly. Důvěra těžařů je jediným důvodem, proč mají takovou pozici.

bitcoin_skoleni

Rozložení sil bitcoinových poolů
Autor: blockchain.info

Rozložení sil bitcoinových poolů k 9. lednu 2014, 20:00

Zaznívají i hlasy, že by sami majitelé poolů měli veřejně vystoupit s iniciativou tuto nemilou situaci řešit. Otázkou je, jak to řešit, aby si pod sebou nepodřízli větev. Omezení registrací je jednou z možností, ale k tomu pochopitelně podnikatelé přistupují neradi…

Aktualizováno: Pool GHash.IO už podnikl preventivní kroky, aby ujistil komunitu, že nemá v plánu získat většinu, natož ji zneužít. Přijímání nových členů bude dočasně pozastaveno. Významná změna bude zavedena také u přidružené platformy CEX.IO, která slouží pro obchodování s výpočetním výkonem. Výpočetní výkon zde nakoupený již nebude třeba využít přímo na GHash.IO, ale půjde ho nasměrovat na kterýkoliv jiný pool. Další informace naleznete v tiskovém prohlášení (PDF).

Autor článku

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