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

Image en vedette du nœud Bitcoin Lightning

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 ?

Visualisation des blocs Bitcoin Lightning Node 03

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.

Graphique du réseau Lightning Bitcoin Lightning Node 04

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

Créer un nouvel utilisateur Bitcoin Lightning Node 05

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/ppa

Installez les dépendances du nœud :

sudo apt install software-properties-common lightningd snapd

Installer les dépendances Bitcoin Lightning Node 06

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

Snap Installer Bitcoin Bitcoin Lightning Node 07

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 -daemon

Cette 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

Journal de téléchargement Bitcoin Lightning Node 08

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 stop

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 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=0

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

bitcoind -daemon

Dé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

Initialiser le nœud Lightning Bitcoin Node 11

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

Vérifier les informations du nœud Bitcoin Lightning Node 12

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

Générer une adresse Bitcoin Lightning Node 13

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.

Envoyer des fonds depuis un portefeuille externe Bitcoin Lightning Node 14

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.

Liste des nœuds 1ml Bitcoin Lightning Node 15

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

Canal de financement Bitcoin Lightning Node 16

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

Envoyer du Bitcoin Lightning Node 18

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

Obtenir Bitcoin Lightning Node 19

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.