Bitcoin à travers le mixnet

Bitcoin à travers le mixnet

·

4 min read

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 github.com/nymtech/nym/releases/download/ny..

# 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
github.com/nymtech/nym/releases/download/ny..
# 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
github.com/nymtech/nym/releases/download/ny..

# 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 profondément orientés expérimentation, avec un accent tout particulier sur les technologies liées à la vie privée, à l'auto-souveraineté ainsi qu'aux structure organisationnelles trustless. Notre engagement proactif s'étant sur plusieurs projets. En particulier, nous sommes contributeurs de Nym, en soutenant l'infrastructure existante, développant des applications et répandons des connaissances essentielles liées aux questions de vie privée. De plus, nous contribuons activement à la communauté Alephium en proposant des composants décisifs tels que des full nodes, des services utiles et exploratoires tout en participant au développement de dApps.

Nous sommes les développeurs de pastenym.ch, alph.bet and walph.io

N'hésitez pas à prendre contact avec nous:
| Website | Twitter | Telegram | Linkedin | Matrix |