Tornado.cash - privátní řešení pro ETH a ERC-20

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

Screenshot 2020-11-07 at 11.35.03

Zajímavosti

Ak chcem zmixovat 3.25 ETH tak to musím porozdelovat na 3x1 2x0.1 a 0.05 mi ostane nezmixovane?

Ano - takhle Tornado funguje. Kvůli zaměnitelnosti tlačí uživatele do předem stanovených částek.