Ethereum blockchain je veřejný a kdokoliv kdo zná vaší adresu vidí všechny prostředky na tu adresu navázané. Je proto běžnou praxí mít více adres a ty adresy by na sebe ideálně neměly být jinak napojené. Přesně s tímto problémem vám může pomoci Tornado.cash, což je tzv. mixér na Ethereu, který umí odeslat ETH či ERC-20 token, aniž by bylo dohledatelné, že jste odesílatelem zrovna vy.
Tornado protokol je smart-kontrakt, který akceptuje token, který může být později vybrán jinou adresou. Díky technologii zkSNARKs (používá ji např. privátní kryptoměna Zcash) je zaručeno, že neexistuje přímé spojení mezi vkladem a výběrem, což zajištuje onu anonymitu.
Podporované tokeny jsou ETH, DAI, cDAI, USDC, USDT. U každého tokenu máte na výběr různé velikosti vkladu, např. u ETH je to 0.1 ETH, 1 ETH, 10 ETH a 100 ETH.
Tornado má samozřejmě hotový audit a lze považovat za bezpečný protokol.
Pokud chcete Tornado použít, bude dobré pokud si přečtete sekci “Co je dobré vědět” níže - je totiž strašně jednoduché použít Tornado špatně a snížit si tak anonymizační efekt na minimum.
Jak to funguje?
- Uživatel, který chce provést vklad, vygeneruje tzv. “secret” (náhodný řetězec - “poznámka”) a spolu s částkou ho zašle do smart-kontraktu Tornada.
- Později se uživatel rozhodne provést výběr - poskytne tedy důkaz, že drží onen “secret”, který ho opravňuje disponovat touto částkou a částku může vybrat, aniž by došlo k odhalení zdrojového vkladu, a částku vybere.
- K výberu se dá použít tzv. Relayer (prostředník), který si vezme z dané částky poplatek a vykoná výběr za vás. Relayers jsou obzvláště vhodní pokud posíláte na prázdnou adresu, kde nemáte žádné ETH na provedení transakce.
Pokud vás zajímá více - Whitepaper (en) nebo tento úvodní članek (en).
Co je dobré vědět
- Je doporučeno používat VPN pro skrytí vaši reálné IP adresy (proto je v rozhraní IP adresa vidět i s vaší lokalitou). Ideálně jinou pro vklad a pro výběr.
- Je doporučeno používat jinou peněženku pro výběr a vklad (např. Metamask může používat stejné API klíče). Ideálně použít úplně jinou identitu (browser, wallet, IP).
- Nejlepší je využít služby tzv. Relayers a neprovádět výběr sám - sice jim musíte zaplatit poplatek, ale je to mnohem bezpečnější.
- Každá částka má rozdílný “anonymity set” (anonymizační množina? zkrátka počet depositů) - obecně platí, že nejpoužívanější částky jsou více bezpečné (protože se tokeny více “míchají”).
- Faktor, který ovlivňuje bezpečnost je i čas - pokud provedete vklad, který ihned vyberete - je mnohem větší šance, že si to někdo nepřímo propojí. Dobré je tedy vyčkat alespoň pár dní, aby mezi vaším vkladem a výběrem bylo co nejvíce ostatních vkladů (opět - bude to více promícháno).
- Pokud ztratíte poznámku, kterou dostanete při vkladu - nikdo už vám vaše peníze nevrátí. Tato poznámka je váš klíč k vloženým prostředkům - je dobré ho tedy uchovat na bezpečném místě a posílat jen zabezpečenými metodami (kdokoliv kdo by ho odhalil by vás mohl později deanonymizovat).
- Občas se může hodit umět prokázat spojení mezi vkladem a výběrem - k tomu můžete použít onu poznámku a Tornado Compliance tool.
Další rady, jak používat Tornado bezpečně najdete zde (en).
Statistiky
Zajímavosti
- Tornado bylo využito pro nedávné nasazení Eth2.0 Deposit kontraktu.