Geniální nápad umístěný v srpnu 2016 do populárního bitcoinového vývojářského IRC kanálu, tajemnou identitou odkazující svým jménem na hlavního záporáka z Harryho Pottera, od té doby nedal řadě lidí spát a s právě spuštěnými implementacemi Grin a Beam u toho ještě asi nějaký čas také zůstane.
Tom Elvis Jedusor (francouzská varianta skutečného jména čaroděje Voldemorta z knižní ságy Harryho Pottera) popsal protokol Mimblewimble (reference na kouzlo, které umí oběti „svázat jazyk“) ve svém prvním a jediném příspěvku do vývojářského IRC chatu takovým způsobem, že v něm na první dobrou nejen odhalil způsob, jak udělat transakce na blockchainu mnohem více anonymní, ale navíc přitom ještě umožnit celý blockchain radikálně zeštíhlit. Netřeba předpokládám dodávat, že bobtnání blockchainů, tím bitcoinovým počínaje, představuje dlouhodobý (latentní) problém a anonymní kryptoměny tento problém zpravidla ještě násobí.
Nápad byl dokonce, navzdory určitému množství formálních nedokonalostí a chyb v kryptografické implementaci, tak geniální, že se původně uvažovalo o jeho začlenění do bitcoinového protokolu, nebo alespoň o možnosti zprovoznit jej jako bitcoinový side chain. Celá filosofie protokolu se ale ukázala tak radikálně odlišná, že by to byl pravděpodobně konec Bitcoinu, jak jej známe, případně by byla implementace extrémně náročná. Pokud chceme zachovat podmínku zpětné kompatibility protokolu, není to prostě dost dobře technicky proveditelné.
Když se tedy začalo pracovat na jeho prvních implementacích, objevily se první apokalyptické hlasy, upozorňující, že by mohlo jít o dokonalejšího nástupce Bitcoinu. V textu se pokusíme vysvětlit, proč spíše nemohlo, ale přesto jde o zajímavý projekt, který určitě stojí za pozornost.
Proč vůbec Mimblewimble
Problémem většiny kryptoměn je, že mají po vzoru Bitcoinu otevřený, plně transparentní veřejný blockchain, ve kterém lze každou transakci snadno ověřit. To je na jedné straně jedna ze základních vlastností a výhod veřejného blockchainu, ale na druhé také jeho obrovská nevýhoda, pokud jde o privátnost transakcí.
Nad veřejným blockchainem díky této vlastnosti dnes existuje celé průmyslové odvětví, které pseudonymní adresy spojuje do klastrů a provazuje je s identifikátory z reálného světa (IP adresy a jiné identifikační informace), aby odhalovalo původce transakcí. Říká se tomu blockchainová analýza.
Tato vlastnost také znemožňuje využívat veřejný blockchain pro celé spektrum činností (od těch šedých až po běžné byznysové nebo bankovní transakce). Problém se snaží řešit některé privacy coiny, ale ty se buď hodí jen pro velmi úzký způsob využití, nebo bojují se zásadními technickými problémy, jako je například obrovské bobtnání svého nativního blockchainu.
Mimblewimble přistupuje k celému problému poměrně originálním způsobem. Kombinuje několik zajímavých triků, které byly napsány původně buď přímo pro Bitcoin, jeho side chainy, nebo jiné projekty, a vytváří tak velmi zajímavé řešení. Tím prvním jsou takzvané Confidential Transactions (důvěrné transakce), ty umožňují uživateli zakrýt pro ostatní množství kryptoměny, která je v transakci zahrnuta (vidí to pouze její odesílatel a příjemce). O to, aby přitom díky netransparentnosti nebylo možné vytvářet mince tzv. ze vzduchu, se stará tzv. Pedersenův protokol. Ten umožňuje komukoli ověřit, že vstup i výstup zahrnuje stejné celkové množství mincí, a to bez toho, že by musel znát jejich počet.
Další z triků se jmenuje CoinJoin a byl původně navrhnut pro Bitcoin vývojářem Gregorym Maxwellem. CoinJoin nedělá nic jiného, než že kombinuje dohromady větší množství transakcí do jedné velké, kde všichni odesílatelé posílají peníze všem příjemcům, takže není možné rozlišit, ze které adresy odešla platba konkrétnímu příjemci (tedy alespoň v teorii, hodně totiž záleží na samotné formě provedení).
Mimblewimble jde ale ještě dále, kombinuje Confidential Transactions a CoinJoin s další chytrou matematikou takovým způsobem, že eliminuje tradiční využití eliptických křivek (tedy privátní a veřejné klíče) a tím pádem také vlastně celého systému adres. Tím celý svět kryptoměn, jak jej běžně chápeme, staví trochu na hlavu.
Jediné, co zůstalo po tomto zemětřesení stát, jsou „vstupy“ a výstupy (bez adres). Transakce se tím pádem už nepodepisují (k tomu by totiž normálně sloužil privátní klíč), podpis je místo toho nahrazen meziuživatelskou výměnou metadat o transakci, která prokáží vlastnictví mincí. Těžaři pak vezmou všechny takovéto jednotlivé transakce zahrnuté do bloku a promění je z pohledu zvenčí v jeden velký Confidential Transactions a CoinJoin chaos – zkombinovanou transakci všech transakcí.
Přístup, se kterým Mimblewimble přichází, má pak ještě jeden důsledek, a to možnost staré a nové transakce rušit proti sobě navzájem. Díky tomu je možné blockchain takzvaně „prořezávat“. Většina starých transakčních dat totiž může být zapomenuta, neboť nové uzly nepotřebují synchronizovat s celou řadou bloků, jako je tomu u tradičního blockhainu, a ten tím pádem může růst mnohem pomaleji (ve srovnání s Bitcoinem prý až třikrát).
Otázka, která se nabízí, zní, jestli to je vůbec ještě blockchain. Celý koncept Mimblewimble totiž působí v kontextu dnešních kryptoměn tak trochu jako mimozemská technologie. Optimalizace umožňuje jít dokonce tak daleko, že není nutné ukládat do blockchainu transakce mezi prostředníky, ale stačí jen počáteční a konečná transakce. Pokud tak Tom pošle mince Bobovi a ten Alici, historie s Bobem v blockchainu vůbec být nemusí a může to vypadat, jako kdyby Tom zaplatil rovnou Alici.
Grin a Beam – dvě strany jednoho protokolu
Grin
Grin je de facto referenční implementace Mimblewimble. Andreas Antonopoulos na jedné bankovní konferenci směrem k lidem ze světa tradičních financí prohlásil, že Bitcoin je Punk rock (ať se s tím nějak popasují), pokud bychom se této analogie drželi, Grin bude Crust punk. Syrový, bez zbytečných, ale i velmi užitečných vymožeností, bez kterých si dnes už většinou kryptoměny nedokážeme představit.
Za projektem stojí tým pseudonymních dobrovolných vývojářů, z nichž většina využívá po vzoru autora (nebo autorů) Mimblewimble přezdívek z Harryho Pottera (například iniciátor projektu Ignotus Peverell). Projekt je napsán v jazyce Rust, což je jazyk podobný C++, který je ale navržený tak, aby poskytoval lepší zabezpečení paměti. Z tohoto důvodu je populárním řešením pro nejrůznější kryptoměnové projekty (využívá jej například populární klient pro Ethereum a Bitcoin – Parity). Na rozdíl od většiny novodobých kryptoměn za Grinem nestojí žádná společnost nebo nadace a není financován prostřednictvím ICO (vývojáři ovšem přijímají dobrovolné dary).
Tím ale podobnost s Bitcoinem končí, například ekonomický model má asi nejblíže k Moneru, tedy jinému privacy coinu. Po svém spuštění, které proběhlo během třetího listopadového týdne loňského roku, totiž mineři začali těžit v průměru jeden Grin „coin“ za vteřinu a tato frekvence už zůstane na rozdíl od Bitcoinu neměnná. Grin tak bude teoreticky možné těžit de facto do nekonečna. Inflace se tak bude snižovat daleko pomaleji, než je tomu u Bitcoinu, a to prakticky jen v důsledku toho, že fixní počet nových mincí bude časem představovat k celkovému emitovanému množství menší a menší procentuální částku. V prvních letech těžby bude nicméně inflace Grinu podobná jako počáteční inflace Bitcoinu, pak jej ale předežene. Po deseti letech, což je situace Bitcoinu dnes, kdy je inflace BTC 4 %, bude mít Grin inflaci 10 %, pokud zde bude existovat ještě za dvacet let, bude to 5 % a za 25 let dosáhne současné inflace Bitcoinu.
Právě ekonomický model, který může dobře fungovat v dlouhodobé perspektivě (inflace může po delším čase pomáhat stabilizovat cenu), je u tohoto projektu zdrojem největšího rozčarování. Poměrně dlouhou dobu trvající hyperinflace v počáteční fázi projektu nemotivuje k používání měny ani uživatele (kromě velmi specifických případů), protože kryptoměna bude rychle ztrácet na hodnotě, ani těžaře, aby ji těžili. Schéma na druhé straně na začátku odrazuje od kumulace obrovských zásob Grinu, se kterými by mohli v pozdějších fázích tzv. uživatelské „velryby“ manipulovat přirozenou poptávku. Koncept je často dáván do souvislosti s keynesiánskou ekonomií, ve skutečnosti toho s ní ale příliš společného nemá. Emise likvidity je totiž trvalá a čistě mechanická, neexistuje orgán, který by reagoval na okolní ekonomickou situaci a pokoušel se regulovat množství likvidity podle poptávky.
Beam
Druhý projekt, postavený na Mimblewimble, se jmenuje Beam, byl spuštěný už na začátku ledna a jedná se o komerční privacy coin, podobně jako byl třeba z Bitcoinu odvozený Zcash, a to se všemi vyplývajícími důsledky: je silně centralizovaný, zakladatelé jsou odměňováni z těžby – prvních pět let dostávají 20 % všech nově vytěžených coinů. Projekt má na rozdíl od Grinu monetární politiku, která se nijak výrazně neliší od většiny bitcoinových altcoinů, tedy konečný strop emitovaných mincí zajištěný postupným „halvingem“ (půlením odměn těžeřům). Je také – podobně jako Bitcoin Core software – napsaný v C++ a zajímavý je především tím, že Mimblewimble využívá trochu jiným způsobem než Grin.
Slabiny Mimblewimble
Celý koncept je tak inovativní až působí mimozemsky, byl by tedy téměř zázrak, kdyby si sebou nenesl také zátěž v podobě nějakých nevýhod. Tou nejzásadnější je absence skriptování, tedy té vlastnosti, která už v legendárním Bitcoin Whitepaperu – Bitcoin: A Peer-to-Peer Electronic Cash System – dělá z blockchainu programovatelnou platformu (pro smart kontrakty) a z Bitcoinu první programovatelnou formu peněz. Další nevýhodou je nutnost obou transakčních protistran na začátku aktivně spolupracovat, což je pro změnu daň za absenci adres. Je to trochu podobné, jako když jste si s někým museli vyměnit veřejné klíče, abyste si mohli poslat zašifrovaný e-mail, jen v tomto případě musí proběhnout interakce pouze mezi vámi a danou protistranou a peněženky musí být v době transakce takzvaně „online“ (tento problém lze sice teoreticky snadno obejít, ovšem za cenu snížení bezpečnosti a soukromí).
To, jak moc budou transakce v rámci Mimblewimble bezpečné, bude také dost záležet na konkrétním způsobu implementace, protokol je totiž všechno možné, jen ne „blbuvzdorný“. Je tedy možné, že se v případě Grinu a Beamu ještě dočkáme nepříjemných překvapení. Ty nastanou s největší pravděpodobností v okamžiku, kdy se některá ze současných implementací stane vlivem své popularity v kriminální sféře nebo šedé ekonomice dostatečně zajímavá pro podrobnější blockchainovou analýzu. Taková analytická společnost si může například do sítě zapojit vlastní node, který bude přijímat a vracet jednotlivé transakce jako kterýkoli jiný node a zároveň ale také zaznamenávat celou transakční historii těchto individuálních transakcí. Ty jsou sice později zamlženy aktivitou minerů, jenže v této fázi už může být pozdě (náš nod už totiž ví, kdo komu platil). Grin i Beam se s problémem vyrovnávají po svém, jak efektivně ale ukáže až čas.
Hrozba pro Bitcoin?
Celý koncept Mimblewimble je tak moc odlišný a v konečném důsledku nekomfortní – posílající i přijímající si musí „odsouhlasit“ transakci před jejím samotným provedením a odvysíláním do sítě, že je oproti tomu Bitcoin úplně mainstreamová technologie (a ještě dlouho bude).
V tomto ohledu tedy o nějaké konkurenci zatím hovořit nelze ani omylem (to se ovšem může jednou změnit), monetární politiku jednotlivých coinů raději řešit nebudeme, bylo by to téma na samostatný článek a ani to sem příliš nepatří.
Samotná filosofie Mimblewimble je však ve vztahu k Bitcoinu a tradičním kryptoměnám poměrně revoluční, což jinými slovy znamená, že zkouší jít úplně novou, neprobádanou cestou. V současném okamžiku jsme však teprve v bodě nula, a nelze tak vůbec předvídat, jestli se tato cesta nakonec neukáže jako zrádná slepá větev. To se totiž u radikálních počinů také občas stává.
Ani pokud se Mimblewimble ukáže jako životaschopný, nemáme myslím co do činění s vyzyvatelem Bitcoinu, ale spíše se zajímavou alternativou, která si najde svoji vlastní „niku“, zatímco Bitcoin bude postupovat bez zbytečných úkroků stranou v duchu své robustní a neprůstřelné filosofie „postupuj pomalu, a hlavně nic nerozbij“ ke svému dávno vytyčenému cíli.