Cryptomonnaie

Comment exécuter un nœud complet Bitcoin sur Tor sur une machine virtuelle Ubuntu (Linux)

Comment exécuter un nœud complet Bitcoin sur Tor sur une machine virtuelle Ubuntu (Linux)


Un guide pas à pas pour faire fonctionner un nœud complet Bitcoin sur votre ordinateur - aucune expérience préalable requise!

Les nœuds complets sont le système nerveux de Bitcoin!

Comme tout cela fonctionne sur une machine virtuelle, vous n’aurez plus à craindre de corrompre votre système d’exploitation principal / hôte. Cela vous fournira un terrain de jeu de noeud Bitcoin à faible risque. Ce guide est réalisé avec la version Microsoft Windows de VirtualBox, mais le processus est presque identique sur MacOS.

Parce que je sais combien il peut être difficile de trouver des guides à jour pour ce type de configuration, je prévois de le mettre à jour régulièrement avec les nouvelles versions de Bitcoin Core, VirtualBox et Ubuntu. Espérons que cela garantira que les bricoleurs curieux auront toujours un guide précis et à jour disponible.

Cette version initiale sera principalement basée sur du texte, mais dans les futures versions, j'espère ajouter des captures d'écran ou même des vidéos de différentes étapes. Veuillez consulter les références au bas de la page. Je n’aurais pas pu compiler ce guide sans eux.

Partie zéro - Aperçu

Dans ce guide, nous accomplirons quatre tâches principales:

  1. Configuration d'un hôte de machine virtuelle VirtualBox
  2. Installation et configuration de la dernière version stable et à long terme d'Ubuntu Server au sein de cet hôte de machine virtuelle
  3. Installation et configuration d'un nœud complet Bitcoin Core (bitcoind)
  4. Configuration de bitcoind pour qu'il s'exécute sur le réseau Tor (cela protège votre confidentialité tout en évitant commodément de modifier les paramètres du routeur domestique pour autoriser le trafic réseau Bitcoin entrant)

Première partie - Prérequis

Parce qu'un vrai nœud complet nécessite le téléchargement et le stockage de l'historique complet de la blockchain Bitcoin, vous devez vous assurer de disposer d'environ 200 Go d’espace libre sur le disque dur, idéalement plus proche de 250 Go. Bien que vous puissiez effectuer ce que l’on appelle «élagage» pour réduire la quantité d’espace disque utilisée après le téléchargement initial de la chaîne de blocs, je ne le couvrirai pas ici.

La taille de la blockchain signifie également que, selon votre connexion réseau, le téléchargement / la synchronisation initiale peut prendre des heures, des jours… voire plus. Sois patient!

Deuxième partie - Configuration de la plate-forme VirtualBox

VirtualBox est un programme libre et open source permettant d’exécuter des machines virtuelles sur votre ordinateur. Pour télécharger, visitez https://www.virtualbox.org/

Téléchargez la dernière version (actuellement la 5.2.22) pour votre plate-forme, qui pour moi (sous Windows 10) est VirtualBox-5.2.22–126460-Win.exe

Lancez le programme d'installation exe et acceptez simplement tous les paramètres par défaut. Lorsque cela sera terminé, nous serons prêts à installer Ubuntu!

Troisième partie - Configuration de notre machine virtuelle serveur Ubuntu Linux

Ubuntu est l’une des distributions les plus populaires du système d’exploitation Linux. Son téléchargement et son utilisation sont gratuits. Dans ce guide, je vais utiliser ce qu’on appelle la version LTS (support à long terme), qui est prise en charge et fournit des mises à jour de sécurité pour une période de cinq ans.

C'est idéal pour un serveur «sans tête» (sans interface graphique) où aucun graphisme sophistiqué ni aucune application grand public n'est requise. Cela étant dit, vous pouvez utiliser leur version la plus récente et la plus fréquemment mise à jour. Sachez simplement que des choses risquent de tomber en panne… Mais Bitcoin est connu pour la stabilité de son code. Il est donc logique de l'exécuter sur un système d'exploitation également connu pour la stabilité de son code!

Pour commencer, téléchargez la dernière version de LTS (actuellement 18.04LTS) sur le site Web d’Ubuntu: https://www.ubuntu.com/download/server/thank-you?version=18.04.1&architecture=amd64. Le nom de fichier pour cette version est ubuntu-18.04.1-live-server-amd64.iso

Une fois le fichier ISO (image de disque) téléchargé, démarrez Virtual Box. On vous présentera l'interface principale, qui est plutôt vide pour le moment. Ajoutons donc une nouvelle VM:

(Ajout futur: comment ajouter un deuxième hôte réseau afin que nous puissions SSH dans la VM pour faciliter le copier / coller de texte)

Cliquez sur Nouveau

Donnez un nom à la machine virtuelle, par exemple Ubuntu Server - comme vous le souhaitez

Dans Type sélectionner Linux

Dans Version sélectionner Ubuntu (64 bits)

dans le Taille mémoire Dans la boîte de dialogue, choisissez autant de mémoire que vous le pouvez sans nuire à votre capacité à utiliser autrement votre ordinateur pendant l’exécution de VirtualBox. J'ai 16 Go de RAM sur mon ordinateur hôte, je vais donc choisir ~4 Go ici. Plus vous pouvez allouer de mémoire, mieux c'est, car le téléchargement / sync initial de la blockchain par Bitcoin nécessite beaucoup de mémoire. Vous pouvez toujours modifier cette valeur ultérieurement (si nécessaire).

Sur le Disque dur dialogue, sélectionnez Créez un disque dur virtuel maintenantpuis cliquez sur le Créer bouton

Sur le Type de fichier du disque dur dialogue, quitter VDI choisi.

Sur le Stockage sur disque dur physique dialogue, quitter Alloué dynamiquement choisi.

Sur le Emplacement et taille du fichier dialogue, vous voudrez au moins choisir 200 Go. Au moment de la rédaction de cet article, la base de données Blockchain consomme environ 180 Go et vous aurez besoin d’un potentiel de croissance. Notez que VirtualBox ne consommera pas cet espace immédiatement, mais augmentera la taille du disque virtuel autant que nécessaire, jusqu’à atteindre cette limite.

Cliquez sur Créer

La configuration sera terminée et vous verrez une nouvelle entrée dans la colonne de gauche répertoriant votre nouvelle machine virtuelle. Maintenant, nous devons le faire fonctionner!

Quatrième partie - Installer Ubuntu Linux sur notre nouveau disque de machine virtuelle

Choisissez Démarrer dans le menu principal de VirtualBox. Vous serez invité pour un disque de démarrage. Choisissez le fichier .iso Ubuntu que nous avons téléchargé plus tôt, puis cliquez sur Début.

Le programme d'installation Ubuntu sera lancé. Après une brève attente, vous serez accueilli par l’écran de bienvenue. S'agissant d'un programme d'installation de serveur sans interface utilisateur, il n'existe pas d'interface graphique traditionnelle basée sur la souris.

Pour naviguer dans le programme d’installation à base de texte, vous devez utiliser le Touches directionnelles pour vous déplacer parmi les sélections, le Languette pour accéder aux boutons de confirmation (oui / non / terminé / continuer), et le Entrer touche à sélectionner. Vous pouvez également utiliser les touches fléchées pour faire défiler les boutons de confirmation au maximum, mais Tab est beaucoup plus rapide.

Page 1- Ecran d'accueil

Choisissez votre langue préférée (rappel - naviguez avec les touches fléchées, puis appuyez sur Entrer quand votre langue est surlignée)

Page 2 - Configuration du clavier

Sélectionnez la disposition de votre clavier (la valeur par défaut est généralement correcte - vous pouvez simplement appuyer sur Entrer)

Page 3 - Ubuntu installer

Laisser Installer Ubuntu choisi

Page 4- Les connexions de réseau

Vos paramètres réseau doivent être automatiquement identifiés et une adresse IP locale générée. Si ce n’est pas le cas, la résolution va bien au-delà de la portée de ce guide. Vous devrez demander de l’aide.

Page 5- Configurer le proxy

Laisser vide

Page 6- Configurer le miroir d'archive Ubuntu

Laisser le miroir par défaut sélectionné

Page 7 a- Configuration du système de fichiers

Laisser Utiliser un disque entier choisi

Page 7b

Choisissez le disque par défaut à installer

Page 7c

Accepter la disposition du système de fichiers par défaut

Choisir Continuer sur le Confirmer l'action destructive dialogue (rappelez-vous, nous sommes dans une machine virtuelle, donc cela n’effacera rien sur votre système d’exploitation hôte / principal!)

Page 7d

Entrez votre nom (ou celui que vous préfériez), un nom pour le serveur, ainsi qu'un nom d'utilisateur et un mot de passe. Le nom d'utilisateur entré ici sera celui que nous utilisons pour exécuter le service Bitcoind lui-même. Pour ce guide, je vais utiliser coeur

Laisser Importer l'identité SSH définie sur Non

Page 7e

Laisser tout Snaps Server en vedette non sélectionné

Page 10(oui il passe de 7 à 10) - Installation du système

Vous devez simplement attendre ici que l’installation soit terminée, généralement quelques minutes seulement.

Page 11-Installation complète!

ChoisirRedémarrer maintenant

presseEntrer lorsque vous êtes invité àVeuillez retirer le support d'installation

La VM va redémarrer, et après quelques minutes, l’invite de connexion s’affiche! (Vous devrez peut-être appuyer sur la touche Entrée une fois que les messages d’amorçage s’arrêteront - l’invite de connexion ne s'affiche parfois pas autrement)

Avant de passer à la section suivante de ce guide, nous voudrons nous assurer que notre serveur est à jour avec les dernières mises à jour de sécurité et logicielles.

Pour ce faire, connectez-vous, puis à partir de l'invite, tapez

sudo apt-get update && sudo apt-get upgrade

Entrez votre mot de passe lorsque vous y êtes invité, appuyez sur Entrée et attendez que tout soit mis à jour. Vous devez exécuter la commande ci-dessus régulièrement pour vous assurer que votre serveur est à jour avec les correctifs de sécurité!

Nous pouvons maintenant passer à la partie amusante: installer le serveur Bitcoin-Core, bitcoind!

Cinquième partie - Installation du serveur Bitcoin Core (bitcoind)

Pour installer bitcoind, nous allons télécharger et compiler le code source de bitcoin et de la base de données Berkeley qu’il utilise pour stocker les informations de portefeuille. Avant de pouvoir le faire, nous devrons installer certains logiciels prérequis.

Nous devons d’abord activer un référentiel de logiciels supplémentaire contenant certains outils de compilation essentiels (vous devrez entrer votre mot de passe pour la plupart des commandes suivantes):

univers sudo add-apt-repository

Des paquets supplémentaires vont s'installer. Une fois terminé, nous pouvons installer nos autres prérequis:

sudo apt-get install build-essential autoconf libtool pkg-config libboost-all-dev libssl-dev libevent-dev doxygen libzmqpp-dev

Nous sommes prêts à installer le logiciel de base de données BerkeleyDB requis pour la fonctionnalité de portefeuille de Bitcoin. Nous allons d’abord utiliser la commande wget pour télécharger le logiciel:

wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz

Ensuite, nous vérifierons que le téléchargement est authentique / n’a pas été falsifié:

echo '12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef db-4.8.30.NC.tar.gz' | sha256sum -c

Si la sortie se termine par «OK», le fichier est sécurisé! Les prochaines commandes extrairont le logiciel, définiront certaines variables d’environnement, puis le configureront, le compileront et l’installeront. Entrez chaque commande séparément!

tar -xvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix
mkdir -p build
BDB_PREFIX = $ (pwd) / build
../dist/configure --disable-shared --enable-cxx --with-pic --prefix = $ BDB_PREFIX
faire installer

La dernière étape prendra quelques minutes. Lorsque terminé, nous pouvons - enfin! - téléchargez, configurez, compilez et installez Bitcoin Core.

Tout d’abord, assurez-vous de revenir à votre répertoire principal Ubuntu (c’est un tilde, généralement sur votre clavier à gauche du chiffre 1):

cd ~

Nous allons utiliser l'outil de gestion de versions de logiciels Git pour télécharger le code source Bitcoin et le synchroniser sur notre machine virtuelle:

clone git https://github.com/bitcoin/bitcoin.git 

Maintenant, nous devons vérifier la dernière version stable (v0.17.0.1 actuellement - vous pouvez exécuter tag git pour lister les versions):

cd bitcoin
git checkout v0.17.0.1
statut git

La dernière commande doit signalerHEAD détaché à suivi du numéro de version que vous avez demandé. Nous sommes prêts à préparer les scripts de compilation pour la compilation du source:

./autogen.sh

Quelques minutes plus tard, nous sommes prêts à configurer les options que nous voulons compiler dans notre version Bitcoin. Pour cet article, nous n'utiliserons pas l'interface utilisateur graphique (interface graphique), nous pouvons donc le désactiver. Les autres drapeaux mystérieux sont utilisés pour indiquer au compilateur où / comment utiliser la base de données Berkeley:

./configure CPPFLAGS = "- I $ {BDB_PREFIX} / include / -O2" LDFLAGS = "- L $ {BDB_PREFIX} / lib /" --with-gui = no

Enfin, nous sommes prêts à compiler! Cette étape peut prendre un certain temps en fonction de la vitesse de votre système, alors soyez patient - allez faire du café!

faire
faire vérifier
sudo faire installer

Une fois votre café terminé, nous pouvons configurer Bitcoin pour utiliser Tor.

Sixième partie - Configurer Bitcoin pour utiliser Tor

Avant de lancer le serveur Bitcoin Core (bitcoind), nous devons créer son fichier de configuration afin de nous assurer qu'il télécharge l’historique complet de la blockchain (afin que nous puissions directement inspecter toute transaction) et n’utilise que les connexions Tor. Par défaut, même si Tor est installé et configuré, bitcoind continuera à communiquer avec les nœuds via TCP - nous devons lui indiquer explicitement de n'utiliser que TOR pour protéger notre confidentialité:

cd ~
mkdir .bitcoin
touchez .bitcoin / bitcoin.conf
echo "txindex = 1" >> .bitcoin / bitcoin.conf
echo "onlynet = onion" >> .bitcoin / bitcoin.conf

Notez que si vous estimez ultérieurement que bitcoind utilise trop de débit sur votre réseau, vous pouvez réduire son utilisation en limitant le nombre de nœuds auxquels il se connecte à la fois:

echo "maxconnections = 20" >> .bitcoin / bitcoin.conf

Expérimentez avec différents numéros où j'ai utilisé20 ci-dessus jusqu'à atteindre un niveau acceptable de débit du réseau.

Notez que le téléchargement initial de la blockchain prend beaucoup de temps, mais il prend encore plus de temps sur Tor, car le réseau Tor est un goulet d'étranglement. Vous pouvez envisager d’autoriser le téléchargement initial de la blockchain directement sur TCP (en plaçant un # devant leOnlynet ligne pour le désactiver). Après cela, vous pouvez activer les fonctionnalités de Tor ci-dessous. Notez que cela exposera votre adresse IP externe au réseau, cependant.

Nous devons maintenant installer Tor, qui est simple sous Ubuntu:

sudo apt-get install tor

Assurez-vous que les lignes suivantes sont (n'importe où) dans le fichier de configuration de Tor -/ usr / share / tor / tor-service-defaults-torrc:

ControlPort 9051
Cookie Authentification 1
CookieAuthFileGroupReadable 1

Pour afficher les paramètres par défaut, utilisez la commande:

moins / usr / share / tor / tor-service-defaults-torrc

Si l’une des lignes ci-dessus est manquante, ajoutez-la en utilisant le écho commande comme précédemment, par exemple:

sudo sh -c "echo 'ControlPort 9051' >> / usr / share / tor / tor-service-defaults-torrc"

Si vous deviez ajouter l'une des lignes ci-dessus, veillez à redémarrer le service Tor:

sudo /etc/init.d/tor restart

Afin de permettre à bitcoind d'accéder à l'authentification utilisée par Tor, nous devons ajouter l'utilisateur qui exécute bitcoind (celui que vous avez configuré précédemment lors de l'installation d'Ubuntu) au groupe Tor (pour moi, je vais mettre coeuroù le nom d’utilisateur est indiqué ci-dessous, car c’est l’utilisateur que j’ai configuré précédemment):

sudo usermod -a -G nom d'utilisateur debian-tor

Maintenant, assurez-vous de vous déconnecter et de vous reconnecter pour vous assurer que l'appartenance au groupe est mise à jour (vous pouvez également redémarrer la VM si vous le souhaitez). Une fois cela fait, nous sommes enfin prêts à lancer Bitcoin sur Tor!

bitcoind -daemon

Vous pouvez utiliser la commande suivante pour surveiller les progrès:

tail -f ~ / .bitcoin / debug.log

Plusieurs jours (ou plus) peuvent être nécessaires pour télécharger et initialiser l’ensemble de la blockchain. Une fois cette opération terminée, votre nœud sera pleinement opérationnel et pourra servir de blocs à d’autres nœuds du réseau Tor. Vous voudrez vérifier que IPv4 et IPv6 sont réglés sur «false» dans la sortie de commande suivante pour vous assurer que vous ne travaillez que sur Tor:

bitcoin-cli getnetworkinfo

Une fois que votre nœud est complètement synchronisé et que vous distribuez activement des blocs à d’autres nœuds, vous pouvez exécuter la commande suivante pour voir si c’est le cas. Si vous voyez des «vrais» résultats, cela fonctionne!

bitcoin-cli getpeerinfo | grep true

N'hésitez pas à poser des questions ou à poster des problèmes dans les commentaires. Merci d'avoir lu!

Références

View story at Medium.com

https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch03.asciidoc

Create bitcoin full node with tor: step by step guide from Bitcoin

https://hackernoon.com/a-complete-beginners-guide-to-installing-a-bitcoin-full-node-on-linux-2018-edition-cb8e384479ea

Show More

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Related Articles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Close
Close