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

L’un des plus grands points de douleur lors de l’utilisation de Bitcoin est le long temps de transaction. Cela peut être frustrant pour les nouveaux utilisateurs qui découvrent cette monnaie numérique. L’un des moyens les plus simples d’améliorer cela est d’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 des actifs rapidement en dehors du processus régulier de la blockchain. À cet égard, Lightning est similaire au réseau Tor où il utilise TCP/IP comme colonne vertébrale lors du routage des connexions anonymes.
Table des matières
- Pourquoi Bitcoin est-il lent ?
- Comment fonctionne le réseau Lightning ?
- Configurer votre propre nœud Bitcoin Lightning
- Questions fréquentes
Lisez aussi : Comment gérer vos finances avec le mode Ledger dans Emacs
Bitcoin vous permet d’échanger facilement de l’argent sur Internet sans autorité centrale. Chaque transaction que vous effectuez est directe vers le bénéficiaire, et vous la distribuez sur l’ensemble du réseau.
Pourquoi Bitcoin est-il lent ?

En conséquence, tout paiement que vous effectuez dans Bitcoin prend du temps à être complété et confirmé. Par exemple, une transaction Bitcoin normale prend généralement de 10 à 30 minutes pour être validée.
Comment fonctionne le réseau Lightning ?
Au cœur de Lightning, cela fonctionne en créant un paiement “on-chain” qui parque un montant de Bitcoin sur votre nœud. Lightning utilise ensuite votre Bitcoin parqué pour créer un canal entre d’autres nœuds Lightning.

Cela vous permet de créer des paiements “off-chain” supplémentaires via Lightning qui n’ont pas besoin d’être validés dans la blockchain, réduisant considérablement le temps de paiement entre deux utilisateurs. Par exemple, une transaction Lightning normale ne prend qu’environ une seconde pour être validée.
Lisez aussi : Comment résoudre une utilisation élevée du CPU sous Linux
Configurer votre propre nœud Bitcoin Lightning
Pour commencer avec Lightning, il est bon d’avoir votre propre nœud personnel. Similaire à 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 commencer l’installation, vous devez avoir 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 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.
Sachant ces facteurs, ce tutoriel se concentre sur l’installation de c-lightning sur une machine Ubuntu 22.04.1 LTS.
Obtention des dépendances
La première étape pour installer c-lightning est de créer un nouveau compte utilisateur pour garantir 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-Gsudo lightning
sudopasswd lightning
Basculez vers ce nouvel utilisateur en exécutant : su lightning, puis ajoutez un dépôt tiers qui contiendra tous les programmes nécessaires au fonctionnement de c-lightning :
sudo add-apt-repository -u ppa:lightningnetwork/ppaInstallez les dépendances du nœud :
sudo apt install software-properties-common lightningd snapd
Lisez aussi : 4 façons d’augmenter la durée de vie de la batterie de votre ordinateur portable Linux
Configurer un simple nœud Bitcoin
À partir de là, vous devez installer et configurer un simple nœud Bitcoin. Comme discuté 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 aux côtés d’un simple nœud Bitcoin qui peut être installé en exécutant la commande suivante :
sudo snap install bitcoin-core
Créez un lien symbolique entre votre répertoire racine “snap” et le dossier “bin” :
sudoln-s/snap/bitcoin-core/current/bin/bitcoin{d,-cli}/usr/local/bin/Démarrez le téléchargement du bloc initial pour votre nœud Bitcoin :
bitcoind -daemonCette commande enverra le nœud en arrière-plan pour télécharger et vérifier l’ensemble de la blockchain Bitcoin. Vous pouvez vérifier sa progression en exécutant la commande suivante :
tail-f/home/$USER/.bitcoin/debug.log
Il est important de noter que ce processus peut prendre entre quelques heures et quelques jours. Par exemple, mon bureau Dell Optiplex a mis 5 jours à se synchroniser complètement avec le réseau Bitcoin.
Configurer votre simple nœud Bitcoin
Une fois que votre nœud est synchronisé avec le réseau, assurez-vous qu’il est compatible avec Lightning en arrêtant d’abord le nœud Bitcoin :
bitcoind stopModifiez son fichier de configuration sous “/etc/bitcoin.conf” :
nano/home/$USER/.bitcoin/bitcoin.conf
Désactivez deux options : walletbroadcast et prune. La première option indique à votre nœud Bitcoin d’utiliser uniquement ses données avec Lightning, et la seconde option garantit que vous enregistrez l’ensemble de la blockchain sur votre disque dur.
walletbroadcast=0
prune=0Redémarrez votre nœud Bitcoin en exécutant la commande suivante :
bitcoind -daemonDémarrer votre nœud Bitcoin Lightning
Démarrez votre nœud Lightning en exécutant la commande suivante :
lightningd --network=bitcoin --log-level=debug --daemon
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
Lisez aussi : Les meilleurs outils open source pour sécuriser votre serveur Linux
Finaliser votre nœud Bitcoin Lightning
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 discuté ci-dessus, un “canal de financement” est une transaction Bitcoin personnalisée qui vous permet de déplacer votre Bitcoin sans vous engager dans la blockchain.
Pour créer cela, d’abord “déposez” du Bitcoin sur votre nœud Lightning en générant une adresse de réception pour votre nœud avec la commande suivante :
lightning-cli newaddr
Allez dans un portefeuille externe et envoyez du Bitcoin à cette adresse de réception. Dans mon cas, j’enverrai 0.00050000 BTC en utilisant mon portefeuille Bitcoin Core.

Une fois la transaction dans la blockchain, votre nœud Lightning mettra automatiquement à jour son solde de fonds. Consultez cela en exécutant la commande suivante :
lightning-cli listfundsÉtablir des connexions avec des nœuds Bitcoin Lightning distants
Commencez à connecter votre nœud à ses pairs dans le réseau pour vous permettre d’envoyer et de recevoir du Bitcoin via Lightning.
Pour commencer, trouvez à la fois sa clé publique et son adresse IP. Similaire à 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 cela est 1ML : un site Web qui répertorie tous les nœuds Lightning actifs dans le réseau.

Une fois que vous avez un nœud actif, utilisez la commande lightning-connect pour établir une demande de pair. Par exemple, cette commande connectera mon nœud à ACINQ :
lightning-cli connect 1 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f 3.33.236.230- La première valeur indique le numéro de slot que vous souhaitez attribuer au pair actuel. Pour ce nœud, j’utilise le slot 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 pair.
Par exemple, cette commande créera un “canal de financement” pour 0.00030000 BTC au premier pair de ma liste :
lightning-cli fundchannel 130000
Envoyer et recevoir des paiements Lightning
Avec un “canal de financement” actif, 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
Vous pouvez également recevoir du Bitcoin via Lightning en utilisant la commande invoice et en spécifiant 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
Lisez aussi : Comment trouver de gros fichiers sous Linux
Questions fréquentes
J’utilise Dojo comme mon 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 sandboxée de Bitcoin Core. Un nœud Bitcoin Dojo 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 ! Bien que c-lightning génère nativement au format d’adresse “bc1”, il est possible de transférer du 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, par conception, repose sur le fait que chaque nœud communique de manière cohérente et directe entre eux.
Une façon de résoudre ce problème est d’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.
Crédit d’image : Unsplash et Wikimedia Commons. Toutes les modifications et captures d’écran par Ramces Red.