The implementation of this requires to be comfortable with the command line and the tutorial takes place on GNU/Linux. The current performances are not very good, we propose this tutorial for educational purposes and only as a Proof of Concept.
3 programs are needed for Bitcoin Core to use the mixnet to connect to other nodes. There is no magic here, the fullnode will just use a socks5 proxy connected to the Nym network, as it would for Tor or i2p.
- nym-client: https://github.com/nymtech/nym/releases/download/nym-binaries-v1.1.8/nym-client
- nym-network-requester https://github.com/nymtech/nym/releases/download/nym-binaries-v1.1.8/nym-network-requester
- nym-socks5-client https://github.com/nymtech/nym/releases/download/nym-binaries-v1.1.8/nym-socks5-client
Finally, Bitcoin Core will take care of synchronizing with the peers: https://bitcoin.org/en/download
The nym-client will allow to connect to a gateway which will transmit the packets within the mixnet
The nym-network-requester is the element that will allow to send and receive requests to services outside the mixnet, in this case the other fullnodes on the Internet
The nym-socks5-client will provide a socks5 proxy where the fullnode will send its requests
However, with the configuration below, your IP address will not be “hidden”. To do it right you should use an external service that “mixes” you with other people in order to offer you the greatest anonymity to protect your address.
Connection to the Mixnet
First of all you have to download and initialize the nym-client
# Download the nym-client
# Init the nym-client
./nym-client init --id bitcoin
If all goes well you should have something like the image below
The value of the last line “The address of this client is…” must be stored, it will be reused later, in this case 45pyzdKwsADCTzWqDxrnaa5XYgncPWD445yPvphtJ22N. BQiWhAjGNdLzh3JR4sCqULSDo9fZ3SVLP6tYHWYj9tfv@5vC8spDvw5VDQ8Zvd9fVvBhbUDv9jABR4cXzd4Kh5vz. Then the nym-client can be started
./nym-client run --id bitcoin
This is what you should have
Keep this window open and now activate the nym-network-requester in another window
./nym-network-requester run --open-proxy
The open-proxy parameter is important because it will allow all requests to pass. The window must remain open
Again this is what you should see if everything went well
And finally the nym-socks5-client must be downloaded, initialized and started. In the option “Provider” the address retrieved later must be used, in this case 45pyzdKwsADCTzWqDxrnaa5XYgncPWD445yPvphtJ22N.BQiWh…@5vC8sp…
# Download the nym-socks-5-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
If all went well, this is what you should have. Of course some things will be different
Starting Bitcoin Core
Just run the command below
./bin/bitcoind -proxy=127.0.0.1:1080 -onion=0
If the node has started successfully you should see the blocks downloading
Now information should be displayed on the 4 terminal windows
2 things should be noted here, in an ideal installation you would need to use an external provider to protect your IP address but this is sufficient for this demonstration.
Then to offer a real resilience and to really work in peer to peer, Bitcoin Core in this case should integrate directly Nym in its code, this would allow to connect directly to other clients while staying on the mixnet and to take advantage of SURB for example which allows to have an anonymous communication
About No Trust Verify
We are members of the #VerifyValley. We support the Nym Technologies network and contribute to it since the testnet. We are happy to strengthen the mixnet with our mixnodes and our gateways.
✅ Hosted in Switzerland
✅ Guaranteed commission: 5%.
✅ Bandwidth: 10 Gbit/s
NTV1 : APxUbCmGp4K9qDzvwVADJFNu8S3JV1AJBw7q6bS5KN9E
NTV2 : 4yRfauFzZnejJhG2FACTVQ7UnYEcFUYw3HzXrmuwLMaR
NTV3 : ESPa5xnwZ7BebSX9SGmUbeYgNtkUeJo8PtbBx7JhzEHA
Do not hesitate to contact us: