Comment déployer Tornado Cash sur son PC ?
La plupart des blockchains sont dites publiques, transparentes. Chacune des transactions est accessible publiquement, et les informations telles que l’adresse de l’envoyeur et celle du destinataire sont également consultables.
Bien que cela représente un point positif pour certains, d’autres sont en quête de plus de confidentialité. Pour ce faire, il existe des solutions centralisées, mais aussi des blockchains opaques, comme Monero. Dernièrement, des smarts contracts ont fait leur apparition. C’est le cas de Tornado Cash. Qu’est-ce que ce protocole ? On vous explique tout sur Tornado Cash.
C'est quoi Tornado Cash ?
Comme nous l’avons expliqué, Tornado Cash est un smart contract basé sur Ethereum. Il va permettre d’anonymiser des transactions qui sont, par défaut, totalement publiques. Pour ce faire, le smart contract va conserver et “mixer” les fonds qui lui sont envoyés.
Pour résumer, détaillons le chemin d’une transaction passant par Tornado Cash. Tout d’abord, l’utilisateur va envoyer des fonds vers le smart contract. Ce dernier va mélanger les fonds reçus, avec ceux d’autres utilisateurs. Il émet une clé secrète, connue uniquement de l’envoyeur. Ce dernier la transmet au destinataire.
Après une période décidée par le destinataire (24 heures recommandées par le protocole), il peut récupérer les fonds en entrant la clé et en communiquant l’adresse de réception. De cette manière, grâce à cet intervalle de rétention et de mixage des fonds, la transaction devient parfaitement anonyme.
À quoi sert Tornado Cash ?
Vous l’avez sûrement compris, mais Tornado Cash sert à anonymiser les transactions, sur des blockchains qui sont publiques. Cela permet aux utilisateurs du réseau de gagner en confidentialité, grâce à un smart contract décentralisé qui conserve et mixe les fonds reçus.
Cela va notamment servir pour conserver la confidentialité des utilisateurs. Il faut savoir que beaucoup de personnes sont attachées à cette notion. Cependant, il va sans dire que cela entraîne forcément des utilisateurs à visée illégale. Par exemple, de nombreux hackers passent par Tornado Cash pour “laver” les fonds dérobés.
À cause de cette utilisation, le protocole Tornado Cash a temporairement cessé son activité, après classement sur liste noire de la part de l’OFAC (Office of Foreign Assets Control). Le code source a refait son apparition après quelques semaines sur Github, sans possibilité de modification de la part des utilisateurs.
Nous allons vous montrer comment déployer vous-même l’interface du protocole afin de l’utiliser sur votre machine. Pour rappel, un smart contract, une fois déployé sur la blockchain, est immuable (si aucune fonction ne prévoit de modifications à l’origine).
Des plateformes en ligne proposent des interfaces, mais en déployer une en local permet de s’affranchir des problèmes que peuvent rencontrer ces entités centralisées. À aucun moment, nous ne recommandons son utilisation. Cet article est à visée éducative, et ne représente en rien une incitation à l’utilisation du protocole.
Déployer le protocole Tornado Cash sur PC
Vous l’avez compris, l’objectif de ce tutoriel est donc de comprendre comment déployer l’interface permettant d’interagir avec Tornado Cash en local. Pour cela, plusieurs étapes vont se succéder. Nous allons commencer par installer Python3, puis nous verrons comment télécharger et installer l’interface pour l’utiliser.
Installer Python3
La première étape est donc de télécharger Python, dans sa version 3.10. Cet élément va nous permettre de simuler le serveur rendant l’affichage de l’interface possible. Voici les étapes à suivre :
Rendez-vous sur le site officiel et téléchargez Python 3.10
Dans notre cas, nous avons téléchargé et installé la version “Windows Installer” en 64-bit
Pour vérifier que l’installation s’est bien déroulée, ouvrez votre invite de commande en mode administrateur
Entrez la formulation “python -V”
L’invite de commande devrait vous répondre la version de Python que vous venez d’installer. Si ce n’est pas le cas, répétez le processus d’installation
Une fois cela fait, vous pouvez passer à l’étape suivante
Installation du front-end Tornado Cash
Maintenant que Python est installée sur votre ordinateur, nous allons pouvoir simuler le front-end de Tornado Cash. Avant cela, il faut bien évidemment l’installer. Pour cela, suivez ces quelques étapes :
Ouvrez votre invite de commande et entrez cette formulation “cd / && mkdir www && cd www && mkdir tornadocash && cd tornadocash”
En se faisant, vous créez un dossier www sur votre ordinateur, en local. Ce dossier va ensuite regrouper toutes vos démarches liées à Tornado Cash, afin de garder la procédure propre et facilement navigable
Il est temps de télécharger l’interface de Tornado Cash. Pour cela, rendez-vous sur le code du protocole.
Cliquez ensuite sur “Code” puis sur “Download ZIP”
Une fois que le fichier est téléchargé, vous pouvez le désarchiver directement dans le dossier que nous avons créé précédemment
C’est terminé pour cette partie, nous pouvons désormais lancer l’interface !
Téléchargement possible via Git
Pour les plus expérimentés d’entre vous, il est possible de télécharger l’interface directement par l’intermédiaire d’une commande Git. Pour ce faire, entrez cette ligne de commande :
git clone https://github.com/tornadocash/ui-minified tornadocash
Une fois que l’interface est téléchargée, vous pouvez y accéder en vous rendant dans le dossier prévu à cet effet. Pour ce faire, vous pouvez utiliser la commande :
cd tornadocash
Tester l’interface de Tornado Cash sur PC
Il est maintenant temps de simuler l’interface de Tornado Cash en local, grâce à python. Pour ce faire, il n’y a rien de bien compliqué. Entrez cette ligne dans votre invite de commande :
python -m http.server 8080
Cette ligne va donc simuler l’interface par l’intermédiaire de Python. Il vous suffit d’accéder à votre environnement local sur votre navigateur, en entrant l’adresse suivante :
Si tout s’est bien passé, vous arrivez sur l’interface Tornado Cash. Normalement, vous devriez rencontrer des messages d’erreurs liés aux RPCs prédéfinis qui ne sont plus fonctionnels. Pour y remédier, suivez ces quelques étapes :
Cliquez sur “Open Settings”
Cliquez sur la liste puis sélectionnez “Personnalisé”
Utilisez un des RPCs suivants : https://cloudflare-eth.com/, https://rpc.ankr.com/eth, https://main-rpc.linkpool.io/
Cliquez sur “Sauvegarder”
Après quelques minutes d’attente, l’interface devrait être fonctionnelle. Vous devriez voir votre “niveau d’anonymat”
Maintenant, vous n’avez plus qu’à connecter votre portefeuille à l’interface pour effectuer votre dépôt
L’interface déployée est la même que sur certaines plateformes en ligne. Cependant, ces sites deviennent souvent inopérants, ciblés par les autorités réglementaires. Voici un site encore fonctionnel à l’écriture de ces lignes : https://tornadocash-eth.ipns.dweb.link/
N’oubliez pas que Tornado Cash est une expérimentation (open-source), dont l’utilisation peut comporter des risques
Voyons maintenant comment arrêter le serveur
Arrêter le serveur et le relancer ?
Une fois que vous avez validé vos opérations, il est temps d’arrêter le serveur. Ensuite, il est possible que d’ici quelque temps, vous ayez de nouveau besoin de la lancer. Nous vous proposons quelques étapes pour arrêter et relancer l’interface Tornado Cash :
Pour l’arrêter : ouvrez votre invite de commande où le serveur fonctionne et appuyez simultanément sur CTRL et C. Le serveur s’arrête. Vous pouvez fermer la fenêtre de l’invite de commande
Pour le relancer : ouvrez votre invite de commande et tapez cette formulation “cd /www/tornadocash && python -m http.server 8080”. Le serveur démarrera, et vous pourrez y accéder de la même manière que précédemment, via votre navigateur. N’oubliez pas de fermer le serveur après son utilisation
Conclusion
Ainsi, Tornado Cash possède sa propre interface, que l’on appelle “front-end”. Nous l’avons téléchargé sur le GitHub du protocole. Ensuite, grâce à l’installation de Python, nous avons pu simuler l’interface, en local, sur notre ordinateur, en faisant fonctionner un serveur sur l’invite de commande.
Étant donné que le protocole est un smart contract, ce dernier restera accessible tant qu’Ethereum restera opérationnel. Les interfaces en ligne existantes sont régulièrement mises hors service. Pour accéder en tout temps à Tornado Cash, faire fonctionner une interface locale semble être la solution la plus efficace.
Avant de conclure, nous vous recommandons de toujours passer par les sites officiels. Il y a de nombreuses arnaques qui circulent, et qui pourraient mener à la perte de la totalité de vos actifs. De plus, l’utilisation de ce protocole est régulièrement associée à des activités illégales. Si vous décidez de l’utiliser, nous en déclinons toutes les responsabilités.
Mon aventure dans les cryptomonnaies commence au début du bull-run 2021. Je me suis d’abord renseigné sur la technologie blockchain, Bitcoin et Ethereum, par simple curiosité. J’ai rapidement été séduit par l’idéal porté par BTC, et j’ai alors décidé d’investir. Par la suite, je me suis intéressé aux NFTs à travers plusieurs écosystèmes, dont Ethereum, Solana, ou encore Avalanche. La technologie développée par Avalanche m’a convaincu, et j’ai alors décidé de passer de simple investisseur à entrepreneur, en créant mon propre projet NFT.
J’ai toujours aimé écrire et transmettre mes connaissances. J’ai commencé par le faire auprès de ma petite communauté sur Twitter, avec laquelle je partageais mes analyses et mes avis. Aujourd’hui, j’ai l’opportunité d’allier mes deux passions, que sont l’écriture et le web3, en tant que rédacteur pour CryptoNeet. N’hésitez pas à me retrouver sur X/twitter.