Bitcoin à travers le mixnet

cgi-bin/
No Trust Verify
Published in
4 min readFeb 2, 2023
Photo by GuerrillaBuzz Blockchain PR Agency on Unsplash

La mise en place de cela demande d’être à l’aise en ligne de commande et le tutoriel se déroule sur GNU/Linux. Les performances actuelles ne sont pas très bonnes, nous proposons ce tutoriel à but éducatif et uniquement comme “Proof of Concept”

3 programmes sont nécessaires afin que Bitcoin Core utilise le mixnet pour se connecter aux autres nodes. Il n’y a aucune magie ici, le fullnode va juste utiliser un proxy socks5 connecté au réseau Nym, comme il le ferait pour Tor ou i2p.

Pour terminer Bitcoin Core qui va s’occuper de se synchroniser avec les pairs: https://bitcoin.org/en/download

Le nym-client va permettre de se connecter à une gateway qui elle va transmettre les paquets au sein du mixnet

Le nym-network-requester est l’élément qui va permettre d’envoyer et recevoir des requêtes vers des services en dehors du mixnet, dans ce cas les autres fullnodes sur Internet

Le nym-socks5-client va mettre à disposition un proxy socks5 où le fullnode enverra ses requêtes

Néamoins avec la configuration ci-dessous, votre adresse IP ne sera pas “cachée”. Pour bien faire il faudrait utiliser un service externe qui vous mixe avec d’autres personnes dans le but de vous offrir le plus grand anonymat pour protéger votre adresse notamment.

Connexion au Mixnet

Il faut tout d’abord télécharger et initialiser le nym-client

# Download the nym-client
wget https://github.com/nymtech/nym/releases/download/nym-binaries-v1.1.8/nym-client

# Init the nym-client
./nym-client init --id bitcoin

Si tout se passe bien vous devriez avoir quelque chose comme dans l’image ci-dessous

La valeur de la dernière ligne “The address of this client is…” doit être stockée, elle sera réutilisée plus tard, dans ce cas 45pyzdKwsADCTzWqDxrnaa5XYgncPWD445yPvphtJ22N.BQiWhAjGNdLzh3JR4sCqULSDo9fZ3SVLP6tYHWYj9tfv@5vC8spDvw5VDQ8Zvd9fVvBhbUDv9jABR4cXzd4Kh5vz. Ensuite le nym-client peut être démarré

./nym-client run --id bitcoin

Voilà ce que vous devriez avoir

Gardez cette fenêtre ouverte et il faut maintenant activer le nym-network-requester dans une autre fenêtre

# Download the network-requester
https://github.com/nymtech/nym/releases/download/nym-binaries-v1.1.8/nym-network-requester
# Start the network requester
./nym-network-requester run --open-proxy

Le paramètre open-proxy est important car il va permettre de laisser toutes les requêtes passer. La fenêtre doit rester ouverte

A nouveau voilà ce que vous devriez voir si tout s’est bien passé

Et pour terminer, le nym-socks5-client doit être téléchargé, initialisé et démarré. Dans l’option “Provider” l’adresse récupérée plus tard doit être utilisé, dans ce cas 45pyzdKwsADCTzWqDxrnaa5XYgncPWD445yPvphtJ22N.BQiWh…@5vC8sp…

# Download the nym-socks-5-client
https://github.com/nymtech/nym/releases/download/nym-binaries-v1.1.8/nym-socks5-client

# Init with nym-client value. Replace the value after the --provider by the nym-client address
./nym-socks5-client init --id btc --provider 45pyzdKwsADCTzWqDxrnaa5XYgncPWD445yPvphtJ22N.BQiWhAjGNdLzh3JR4sCqULSDo9fZ3SVLP6tYHWYj9tfv@5vC8spDvw5VDQ8Zvd9fVvBhbUDv9jABR4cXzd4Kh5vz

# Start the nym-socks5-client
./nym-socks5-client run --id btc

Si tout s’est bien passé voilà ce que vous devriez avoir. Bien sûr certains éléments seront différent

Démarrer Bitcoin Core

Rien de plus simple, il suffit juste d’exécuter la commande ci-dessous

 ./bin/bitcoind -proxy=127.0.0.1:1080 -onion=0

Si le noeud a bien démarré vous devriez voir le téléchargement des blocs

Maintenant des informations devraient dérouler sur les 4 fenêtres de terminal

Conclusion

2 choses sont à noter ici, dans une installation idéale il faudrait utiliser un provider externe afin de protéger son adresse IP mais c’est suffisant dans le cadre de cette démonstration. Ensuite pour offrir une vrai résilience et fonctionner réellement en pairs à pairs, Bitcoin Core dans ce cas devrait intégrer directement Nym dans son code, ceci permettrait de se connecter directement à d’autres clients tout en restant sur le mixnet et de profiter des SURB par exemple qui permettent d’avoir une communication anonyme

A propos de No Trust Verify

Nous sommes membres de la #VerifyValley. Nous soutenons le réseau de Nym Technologies et y contribuons depuis le testnet. Nous sommes heureux de le renforcer avec nos mixnodes et nos gateways.

Développeur de pastenym.ch et isnymup.com

✅ Hébergé en Suisse
✅ Commission garantie : 5%
✅ Bande passante : 10 Gbit/s

Identity keys:

NTV1 : APxUbCmGp4K9qDzvwVADJFNu8S3JV1AJBw7q6bS5KN9E

NTV2 : 4yRfauFzZnejJhG2FACTVQ7UnYEcFUYw3HzXrmuwLMaR

NTV3 : ESPa5xnwZ7BebSX9SGmUbeYgNtkUeJo8PtbBx7JhzEHA

N’hésitez pas à nous contacter :

| Site officiel | Twitter | Telegram | Linkedin | Matrix |

--

--