Comment créer un nœud Lightning Bitcoin sous Linux

L’un des plus gros problèmes lors de l’utilisation de Bitcoin est la longue durée des transactions. Cela peut être frustrant pour les nouveaux utilisateurs qui se lancent tout juste dans cette monnaie numérique. L’un des moyens les plus simples d’améliorer cela consiste à utiliser une couche de paiement secondaire telle que Bitcoin Lightning.

Bitcoin Lightning est un système qui utilise des transactions Bitcoin personnalisées pour déplacer rapidement des actifs en dehors du processus de blockchain habituel. À cet égard, Lightning est similaire au réseau Tor où il utilise TCP/IP comme épine dorsale lors du routage des connexions anonymes.

Bitcoin vous permet d’échanger facilement de l’argent sur Internet sans autorité centrale. Chaque transaction que vous effectuez est directement destinée au bénéficiaire et vous la distribuez sur l’ensemble du réseau.

Pourquoi Bitcoin est-il lent ?

Bitcoin Lightning Node 03 Visualisation des blocs Bitcoin

Par conséquent, tout paiement que vous effectuez dans Bitcoin prend du temps à être effectué et confirmé. Par exemple, une transaction Bitcoin ordinaire prend normalement 10 à 30 minutes pour être effacée.

Comment fonctionne le réseau Lightning ?

À la base, Lightning fonctionne en créant un paiement « en chaîne » qui place une quantité de Bitcoin sur votre nœud. Lightning utilise ensuite votre Bitcoin parqué pour créer un canal entre d’autres nœuds Lightning.

Bitcoin Lightning Node 04 Graphique du réseau Lightning

Cela vous permet de créer des paiements « hors chaîne » supplémentaires via Lightning qui n’ont pas besoin d’être compensés dans la blockchain, ce qui réduit considérablement le temps de paiement entre deux utilisateurs. Par exemple, une transaction Lightning standard ne prend qu’environ une seconde pour être effacée.

Configurer votre propre nœud Lightning Bitcoin

Pour démarrer avec Lightning, il est bon d’avoir votre propre nœud personnel. Semblable à la configuration d’un nœud Bitcoin, un nœud Lightning vous permet d’avoir un contrôle total sur vos transactions dans son réseau.

Pour démarrer l’installation, vous devez disposer d’un certain nombre de ressources disponibles et prêtes :

  • Machine avec une quantité décente de stockage et de mémoire. Dans mon cas, j’utilise un ancien ordinateur de bureau Dell Optiplex avec 1 To de stockage et 2 Go de RAM.
  • Connexion Internet constante, car un nœud Lightning doit communiquer régulièrement avec d’autres nœuds pour maintenir son état.
  • Petite quantité de Bitcoin que vous pouvez utiliser pour « financer » votre nœud Lightning.

Connaissant ces facteurs, ce tutoriel se concentre sur l’installation c-foudre sur une machine Ubuntu 22.04.1 LTS.

Obtention des dépendances

La première étape de l’installation de c-lightning consiste à créer un nouveau compte utilisateur pour vous assurer que tous les fichiers et paramètres de votre nœud seront séparés de votre utilisateur principal :

sudo useradd -s /bin/bash -d /home/lightning -m -G sudo lightning
sudo passwd lightning
Bitcoin Lightning Node 05 Créer un nouvel utilisateur

Passez à ce nouvel utilisateur en exécutant : su lightningpuis ajoutez un référentiel tiers qui contiendra tous les programmes pour que c-lightning fonctionne :

sudo add-apt-repository -u ppa:lightningnetwork/ppa

Installez les dépendances du nœud :

sudo apt install software-properties-common lightningd snapd
Dépendances d'installation de Bitcoin Lightning Node 06

Configurer un nœud Bitcoin simple

À partir de là, vous devez installer et configurer un simple nœud Bitcoin. Comme indiqué ci-dessus, Lightning est un réseau superposé qui fonctionne en utilisant des transactions Bitcoin personnalisées pour créer des «canaux de financement».

Pour créer ces canaux, votre nœud Lightning doit fonctionner avec un simple nœud Bitcoin qui peut être installé en exécutant la commande suivante :

sudo snap install bitcoin-core
Bitcoin Lightning Node 07 Snap Installer Bitcoin

Créez un lien symbolique entre votre répertoire racine « snap » et votre dossier « bin » :

sudo ln -s /snap/bitcoin-core/current/bin/bitcoin{d,-cli} /usr/local/bin/

Démarrez le téléchargement initial du bloc pour votre nœud Bitcoin :

Cette commande enverra le nœud en arrière-plan pour télécharger et vérifier l’intégralité de la blockchain Bitcoin. Vous pouvez vérifier sa progression en exécutant la commande suivante :

tail -f /home/$USER/.bitcoin/debug.log
Journal de téléchargement de Bitcoin Lightning Node 08

Il est important de noter que ce processus peut prendre entre quelques heures et quelques jours. Par exemple, mon ordinateur de bureau Dell Optiplex a mis 5 jours pour se synchroniser complètement avec le réseau Bitcoin.

Configuration de votre nœud Bitcoin simple

Une fois votre nœud synchronisé avec le réseau, assurez-vous qu’il est compatible avec Lightning en arrêtant d’abord le nœud Bitcoin :

Modifiez son fichier de configuration sous « /etc/bitcoin.conf »:

nano /home/$USER/.bitcoin/bitcoin.conf
Fichier de configuration du nœud Bitcoin Lightning Node 09

Désactivez deux options : walletbroadcast et prune. La première option indique à votre nœud Bitcoin de n’utiliser ses données qu’avec Lightning, et la deuxième option garantit que vous enregistrez l’intégralité de la blockchain sur votre disque dur.

walletbroadcast=0
prune=0

Redémarrez votre nœud Bitcoin en exécutant la commande suivante :

Démarrage de votre nœud Lightning Bitcoin

Démarrez votre nœud Lightning en exécutant la commande suivante :

lightningd --network=bitcoin --log-level=debug --daemon
Bitcoin Lightning Node 11 Initialiser Lightning Node

Cette commande enverra le nœud en arrière-plan et créera ses fichiers de configuration sous « /home/$USER/.lightning ». Testez si votre nœud Lightning fonctionne correctement avec cette commande :

lightning-cli --lightning-dir=$HOME/.lightning getinfo
Bitcoin Lightning Node 12 Vérifiez le nœud d'informations

Finalisation de votre nœud Lightning Bitcoin

Avec c-lightning en cours d’exécution, vous pouvez finaliser votre nœud en créant les « canaux de financement » entre différents pairs Lightning. Comme indiqué ci-dessus, un « canal de fonds » est une transaction Bitcoin personnalisée qui vous permet de déplacer votre Bitcoin sans vous engager dans la blockchain.

Pour le créer, commencez par « déposer » Bitcoin sur votre nœud Lightning en générant une adresse de réception pour votre nœud avec la commande suivante :

Bitcoin Lightning Node 13 Générer une adresse Bitcoin

Accédez à un portefeuille externe et envoyez Bitcoin à cette adresse de réception. Dans mon cas, j’enverrai 0,00050000 BTC en utilisant mon portefeuille Bitcoin Core.

Bitcoin Lightning Node 14 Portefeuille externe Envoyer des fonds 1

Une fois la transaction dans la blockchain, votre nœud Lightning mettra automatiquement à jour son solde de fonds. Affichez-le en exécutant la commande suivante :

Peering avec des nœuds Lightning Bitcoin distants

Commencez à connecter votre nœud à ses pairs du réseau pour vous permettre d’envoyer et de recevoir des Bitcoins via Lightning.

Pour commencer, trouvez à la fois sa clé publique et son adresse IP. Semblable à l’utilisation du chiffrement PGP, cela vous permet de vous connecter et de vérifier l’authenticité d’un nœud via la cryptographie à clé publique.

L’un des outils les plus courants pour ce faire est 1ML: un site Web qui répertorie tous les nœuds Lightning actifs du réseau.

Liste des nœuds Bitcoin Lightning Node 15 1ml

Une fois que vous avez un nœud actif, utilisez le lightning-connect commande pour établir une demande d’homologue. Par exemple, cette commande appairera mon nœud à ACINQ :

lightning-cli connect 1 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f 3.33.236.230
  • La première valeur indique le numéro d’emplacement que vous souhaitez attribuer à l’homologue actuel. Pour ce nœud, j’utilise l’emplacement 1.
  • La deuxième valeur est la clé publique du nœud distant. Dans ce cas, j’utilise la clé publique d’ACINQ.
  • La troisième valeur est l’adresse IP publique du nœud distant.

Pour finaliser la demande, envoyez une partie du solde Bitcoin de votre nœud au nœud distant pour créer un « canal de financement » entre vous et un nœud d’appairage.

Par exemple, cette commande créera un « canal de financement » pour 0,00030000 BTC vers le premier pair de ma liste :

lightning-cli fundchannel 1 30000
Canal de fonds Bitcoin Lightning Node 16

Envoi et réception de paiements Lightning

Avec un « canal de financement » actif en cours d’exécution, utilisez votre nœud pour envoyer et recevoir des paiements. Par défaut, Lightning utilise le format BOLT11 qui commence par « lnbc » pour le différencier de Bitcoin.

Pour envoyer du Bitcoin via Lightning, vous devez connaître l’adresse BOLT11 de votre destinataire. Par exemple, la commande suivante envoie 0,00005000 BTC à une adresse distante :

lightning-cli pay lnbc20m1[...]qdhhwkj 50000
Bitcoin Lightning Node 18 Envoyer Bitcoin Lightning

Vous pouvez également recevoir Bitcoin via Lightning en utilisant le invoice commande et indiquez le montant exact de Bitcoin que vous souhaitez recevoir. Par exemple, cette commande crée une facture pour 0,00010000 BTC :

lightning-cli invoice 100000
Bitcoin Lightning Node 19 Obtenir Bitcoin Lightning

Questions fréquemment posées

J’utilise Dojo comme nœud Bitcoin. Est-il possible de l’utiliser avec c-lightning ?

Non. Par défaut, Dojo est un programme qui utilise des conteneurs Docker pour exécuter une instance en bac à sable de Bitcoin Core. Un nœud Dojo Bitcoin ne pourra pas communiquer avec un programme en dehors de son conteneur sandbox.

Mon portefeuille ne prend pas en charge une adresse « bc1 ». Est-il toujours possible de déposer sur mon nœud Lightning ?

Oui! Alors que c-lightning génère nativement dans un format d’adresse « bc1 », il est possible de transférer Bitcoin vers un nœud Lightning en utilisant l’ancien format P2SH. Pour ce faire, exécutez la commande suivante : lightning-cli newaddr p2sh-segwit.

Mon paiement Lightning échoue parfois. Mon nœud est-il cassé ?

Non! Ce problème est probablement dû à un manque de connexions de nœud entre vous et le destinataire. Le réseau Lightning, de par sa conception, s’appuie sur chaque nœud qui communique de manière cohérente et directe les uns avec les autres.

Une façon de résoudre ce problème consiste à augmenter le nombre de pairs et de «canaux de financement» auxquels votre nœud local se connecte. Par exemple, avoir au moins deux à trois pairs actifs vous permettra de vous connecter à presque n’importe quel utilisateur Lightning.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici