Maintenance pour nœud Lightning

Un guide simple sur les bonnes pratiques à avoir pour la maintenance de votre nœud LN

Article original écrit par DarthCoin et traduit par Asi0 – 27/01/2023

Tous les aspects ici présentés sont le produit de mon point de vue et d’une expérience de 25 ans dans le domaine des systèmes informatiques (IT), de la maintenance de serveurs et du soutient des utilisateurs (particuliers et entreprises). Après plus de 10 ans dans Bitcoinlandia à tester de nombreuses applications et solutions, j’ai commencé au cours des 2 dernières années à aider les utilisateurs d’Umbrel dans la gestion de leur nœud LN.

 

J’ai écrit ce guide suite à la demande de l’un de mes lecteurs de Substack.

Introduction

En tant qu’opérateur de nœud LN, nous avons également de grandes responsabilités envers nos pairs, et notre entourage qui est connecté à notre nœud. Cela signifie que nous devons prendre soin du hardware de notre nœud. Faire tourner un nœud est une tâche sérieuse. Les utilisateurs ne devraient pas considérer cela comme un jeu à faire juste pour s’amuser.

Ainsi, une bonne maintenance pour votre nœud est une NÉCESSITÉ. J’ai vu beaucoup trop de nouveaux opérateurs de nœud qui ne prenez pas au sérieux ces aspects et qui, par conséquent, affectez pas que le propre personne mais bien tout le reste du réseau Lightning.

Pourquoi cela affecte-t-il tout le reste du réseau Lightning ?

  • Un nœud LN qui n’est pas fiable (99% en ligne et disponible) peut perturber de nombreux chemins de paiement.

  • Un nœud non fiable affecte tous ses pairs, et impacte d’autant plus ceux qui sont considérés comme de bons nœuds.

  • Un nœud non fiable bloquera les fonds dans des “canaux morts”, alors que ces pairs dépendent également de cette liquidité.

Tout au long de ce guide, Je vais vous expliquer quelques bonnes pratiques qu’un opérateur de nœud devrait prendre en considération afin que son nœud soit fiable. Cela importe peu de la raison pour laquelle vous faites tourner un nœud (usage personnel ou commerciale), ce qui importe c’est à quel point prenez soin de votre nœud.

 

Azore Kevin

ASPECTS ESSENTIELS

  • Arrêtez ou redémarrez votre nœud uniquement lorsque cela est nécessaire, comme par exemple des mises à jour, le nettoyage de bases de données ou des modifications de configuration.

     

  • Gardez votre nœud en ligne autant que possible. L’arrêt sur une courte période de temps est OK. Personne ne les fermera si vous annoncez la session de maintenance à vos pairs. Mais si vous prolongez la période hors-ligne sans avoir prévénu en amont vos pairs, alors il y a de fortes chances que certains canaux seront fermé par vos pairs.

     

  • Utilisez un ondulateur1 (aussi appelé UPS pour Uninterruptible Power Supply) avec une autonomie suffisante pour garder votre nœud + votre routeur internet en ligne en cas de coupure de courant. Ou au moins assez de temps pour que vous puissiez l’éteindre avec dignité, si vous savez que le courant sera coupé pendant plusieurs heures ou jours. Le but est principalement de se protéger contre la perte et la corruption des données.

     

  • Si votre budget et votre utilisation du nœud sont très importants (de type professionnel), utilisez une machine avec une implémentation RAID, pas logicielle mais bien du hardware RAID

  • Il est très important d’avoir du matériel (aka le hardware) fiable, pas des jouets. Les jouets sont bons pour démarrer et apprendre, car ils sont bon marché, mais ils ne sont pas fiables sur le long terme. Choisissez donc judicieusement votre matériel, en fonction de votre “phase” (apprentissage, progression, besoins, professionnel).

     

  • Faites des sauvegardes (aka des backups) ! Faire des sauvegardes c’est comme acheter pendant les chutes du cours (aka les dips) du BTC, on ne peut pas savoir à l’avance s’il fallait le faire ou non. Dans le doute, faites-le périodiquement (sauvegarde de vos données et achat de btc).

     

  • LND écrit en permanence sur les fichier channel.db et wallet.db qui contiennent toutes les données importantes. Ce sont les fichiers les plus importants de votre nœud. Tout le reste peut être reconstruit facilement à tout moment. Mais ces 2 fichiers ne peuvent pas être sauvegardés en temps réel et seule la dernière version de ces deux fichiers sont valides.

     

  • Le backup SCB est juste une exportation simplifiée de channels.db qui contient des informations de base sur vos canaux, juste assez d’informations pour être utilisé pour fermer vos canaux et récupérer les fonds dans votre portefeuille on-chain.

     

  • L’implémentation CLN utilise un autre type de fichiers contenant la base de données, qui est le fichier hsm.secret. Et dont il est beaucoup plus simple de faire des copies.

 

BONNES PRATIQUES D’UTILISATION

A. Hardware

Lorsque vous souhaitez faire tourner un nœud LN, la première question que vous devez vous répondre est : quelles seront les usages de ce nœud ?

Seulement ensuite, vous assemblez votre matériel informatique en fonction de la nécessité. Puis dans le futur, vous passerez à une autre configuration si et seulement si le besoin s’en fait ressentir.

Matériel pour apprendre / tester

À ce niveau, il peut s’agir de n’importe quelle machine RaspberryPi, bon marché, facile à installer et à assembler, avec une faible consommation d’énergie. Mais ne dépendez pas trop de ces petites machines. Pour s’initier et apprendre, elles sont très bien et vous apprendrez beaucoup avec elles, mais elles sont loin d’être fiables à 100 % — surtout sur le long terme.

Si vous optez pour un appareil Rpi, alors utilisez au moins 8 Go de mémoire RAM et un bon disque SSD. L’adaptateur électrique est également très important. Un adaptateur défectueux ou non original créera une série de pannes en cascade et vous ne saurez pas pourquoi.

Les cartes micro-SD tombent aussi souvent en panne, il faut donc toujours en avoir une de secours, prête à être installée et à remplacer l’ancienne en cas de panne. Elles sont très sensibles aux coupures de courant.

Ces petites machines sont célèbres pour leur taux de défaillance, pour diverses raisons. Donc, même si vous êtes en « phase d’apprentissage », il est recommandé d’utiliser un onduleur. Cela vous apportera plus de tranquillité d’esprit, ainsi qu’un bon sommeil la nuit.

Les RPis ont besoin d’une bonne ventilation

Machine niveau avancé

Lorsque vous êtes prêt et que vous en savez plus sur le fonctionnement et la gestion d’un nœud LN, vous pouvez alors envisager d’augmenter votre hardware. À présent, vous souhaitez avoir une machine plus fiable, qui peut gérer plus de connexions, plus de canaux, afin de router plus rapidement les paiements. Cela peut également vous apporter une tranquillité d’esprit si vous appréhendez que vos fonds soient bloqués pendant des jours ou des semaines parce que votre nœud est dans un mode de récupération en raison d’un crash.

Si votre budget n’est pas aussi “généreux”, vous pouvez opter pour un bon ordinateur de bureau d’occasion. De nos jours, de nombreux bureaux vendent leurs machines d’un à deux ans pour une bagatelle. Et certains d’entre eux, même des barebones, sont de très bonnes machines en tant que nœud LN. De manière générale, ils ont un minimum de 8 Go de RAM, parfois avec 16 Go (!!).

Pourquoi utiliser des barebones ?

  • Ils sont relativement petits (le mien a la même taille qu’un RPi et est sans ventilateur)

  • Sur certains d’entre eux vous pouvez ajouter 2 disques SSD ou même des disques NVMe (beaucoup mieux que SSD)

  • Ils ont une meilleure ventilation, et certains d’entre eux sont passifs (c’est-à-dire pas de ventilateurs bruyants)

  • Ils n’ont pas d’alimentation via USB comme les RPi. Cette connexion USB est le plus gros inconvénient d’un nœud RPi.

  • Ils sont bien plus robuste et durable qu’un RPi.

Mon humble noeud barebone, avec disque dur interne et sans ventilateur

Le CPU n’a pas vraiment d’importance, il suffit d’ajouter 2 bons disques SSD pour le RAID et vous êtes bon !

L’onduleur est toujours indispensable. Pourquoi ? Parce que généralement, lorsqu’une coupure de courant se produit, le courant revient avec une variation dans la tension, dans l’amplitude et/ou l’ampérage. Bref il vacille, et cela pourrait endommager la source d’alimentation de votre machine. Habituellement, la source d’alimentation est la première à tomber, protégeant ainsi le reste. Mais on ne sait jamais. Un UPS maintiendra un courant stable vers votre machine et maintiendra également en ligne la connexion Internet en cas de coupure de courant.

Remarque : un nœud n’a pas besoin d’être sophistiqué mais il doit être fiable.

Je vous recommande ici de trouver une bonne machine, avec une puce RAID sur la carte mère, qui peut gérer au moins la configuration RAID 1 au niveau du BIOS. Qu’est-ce que cela signifie ? Cela signifie que vous pouvez construire un volume RAID, directement dans le BIOS, à partir de 2 disques, de sorte que les données sont écrites en même temps sur les deux disques. Ainsi, si l’un des disques est dysfonctionnel ou mort, vous aurez toujours vos données en sécurité sur le disque jumeau, qui fonctionne toujours. Vous pouvez éteindre votre machine, remplacer le disque dysfonctionnel et le système RAID reconstruira le jumeau à partir du disque sain en quelques minutes. Pas de perte de données, pas de canaux fermés, pas de fonds perdus.

Machine d’entreprise

Lorsque vous exécutez un nœud pour une entreprise sérieuse qui dépend à 100% de ce nœud, il est temps pour vous de penser sérieusement à avoir une machine de nœud 24/7/365 — juste la partie centrale du nœud, pas les applications que vous installez par dessus. Le fait d’avoir sécurisé votre nœud central vous donne plus de flexibilité quant à l’endroit et à la manière dont vous gérez vos applications et solutions d’entreprise.

Un camarade de la plèbe et son rack perso de noeuds LN

Pour un tel scénario, je recommande :

  • d’utiliser une solution de nœuds hébergés (Nodl, Voltage, ou tout autre VPS dédié aux nœuds) qui est gérée par des professionnels de l’architecture des serveurs/nœuds, fournissant uniquement la partie centrale (nœud Bitcoin + LN) avec une haute disponibilité et un support technique.

  • d’utiliser n’importe quelle autre machine, que ce soit à la maison, au bureau ou sur un VPS distant, où vous installez les applications nécessaires pour gérer votre nœud : BTCPay, LNbits, Thunderhub, RTL etc… et dirigez leur configuration vers votre nœud LN distant (cf point au-dessus).

C’est tout ce dont vous avez besoin pour une solution hautement disponible, avec presque aucune probabilité de perdre des fonds, des canaux, des pairs, du temps, des clients, etc…

 

B. Backup et restauration des données

La chose la plus importante est la phrase mnémonique du portefeuille (liste de 12 ou 24 mots) de votre nœud LN. C’est la première chose que vous devez sauvegarder et mettre en sécurité, sur du papier ou du métal, ou un gestionnaire de mots de passe hors ligne par exemple (Keepass ou Vaultwarden).

La seconde chose à sauvergarder est la basse de données de votre nœud. Le processus de sauvegarde est dépendant de l’implémentation de votre nœud. Ici vous trouverez comment faire pour l’implémentation LND et Core Lightning.

Sauvegarde de la base de données des nœuds LND

Pour les nœuds du LND, il existe deux types de stockage des données :

  • Le fichier SCB (Static Channel Backup) est une copie hors ligne de l’état de vos canaux, contenant uniquement les informations suffisantes pour être utilisées pour fermer les canaux (avec votre phrase mnémonique). Il permet donc de récupérer les fonds de vos canaux dans votre portefeuille on-chain. Prenez garde : ce fichier, appelé channels.backup, ne peut être utilisé UNIQUEMENT avec la phrase mnémonique de votre nœud ! Il faut que vous fassiez une copie de ce fichier SCB à chaque fois que vous ouvrez ou fermez un canal. Vous pouvez également utiliser des scripts afin que le fichier SCB sauvegardé sur votre disque local soit synchronisé, à l’aide de rsync, avec une sauvegarde de ce fichier vers un emplacement distant. Par conséquent, cela ne sert à rien de faire une sauvegarde du fichier à chacune de vos transactions, juste à chaque ouverture/fermeture de canal.

  • Les fichiers channels.db et wallet.db. Ces fichiers NE PEUVENT PAS être sauvegardés à la volée. Si vous éteignez le nœud et faites une copie, ils ne vous seront pas utiles, car une fois que vous redémarrez le nœud, l’état de ces fichiers seront modifiés. Toutefois on peut faire une récupération du “dernier état” de ces fichiers si votre machine est morte et que vous avez tout de même accès aux fichiers du disque dur. Dans ce cas, faites alors une copie de ces 2 fichiers sur un autre disque externe (ces fichiers peuvent être très grands) et utilisez-les plus tard pour ressusciter votre nœud.

Vous avez 2 façons de restaurer/récupérer un nœud LND :

A. SANS l’état des canaux

Pour récupérer vos fonds SANS les canaux, vous pouvez utiliser la sauvegarde du fichier SCB. Cela fermera automatiquement les canaux de votre feu nœud et renverra les fonds vers le portefeuille on-chain. C’est le moyen le plus simple et je le décris en détail dans ce guide aux points 1 et 3.

Je recommande fortement d’utiliser l’option 3, comme ça pendant que vous récupérez les fonds dans Blixt, vous pouvez reconstruire une toute nouvelle instance de votre nœud (nouveau nodeID et nouvelle phrase mnémonique) sur votre ancienne machine (ou sur une nouvelle). Puis dans un second temps, il vous suffira de simplement déplacer les fonds de Blixt vers votre nouveau nœud de Blixt ou vous pouvez également utiliser ce nœud mobile privé, comme d’un petit nœud de compagnon pour votre nœud public.

B – AVEC l’état des canaux

Pour restaurer un nœud AVEC les canaux intacts (identique au dernier état en date), vous devrez faire quelques étapes afin de préparer l’environnement adéquat pour cela (expliqué plus en détail dans ce guide, point 7 ou 8).

Si votre nœud est mort mais que vous pouvez encore accéder aux fichiers, alors félicitation vous êtes très chanceux ! Vous devez tout de même suivre ces deux étapes :

1. Copier les fichiers wallet.db et channel.db du nœud mort (c’est-à-dire qui ne fonctionne nulle part ailleurs). Attention le fichier channel.db peut être très grand, donc une simple clé USB ne suffit pas. Par conséquent, vérifiez d’abord sa taille avant de procéder au transfert.

2. Une fois que vous avez ces 2 fichiers en sécurité, commencez à construire votre nœud à partir de zéro ou si vous avez une copie précédente, restaurez-la entièrement. ATTENTION ! Lors de la reconstruction de votre nœud vous pouvez vous passez de ces 2 fichiers, sinon vous devrez les écraser avec la dernière copie que vous venez de sortir de ce feu nœud avant qu’il soit en ligne car il faut toujours que ce soit le dernier état.

Lorsque vous restaurez votre nœud, choisissez l’option “restore from seed” afin que vous puissiez avoir le même nodeID et clés de cryptage, afin d’être en mesure d’utiliser les mêmes fichiers wallet.db et channel.db. Si vous utilisez une autre nodeID/phrase mnémonique, alors ces fichiers ne seront pas utilisables et ne pourront pas être déverrouillés !

C’est la partie où vous devez “restaurer” les bases de données. Si vous ne restaurez pas à partir d’une copie complète qui contient déjà tous les dossiers avec les fichier wallet.db et channel.db, mais que vous devez installer le logiciel du nœud à partir de zéro, alors laissez le démarrer, et reconstruire les dossiers et synchronisé les .db puis stopez la synchronisation pour copiez les 2 fichiers dans leur emplacement et redémarrez le noeud. Voilà c’est fait.

Ensuite vous pouvez redémarrer votre nœud. Il commencera à rattraper le retard et à ré-utiliser les 2 fichiers .db, tous vos canaux seront là. Cela prendra juste un peu de temps pour que votre nœud télécharge les blocs manquants.

Sauvegarde de la base de données des nœuds CLN

Pour cette implémentation de nœuds, la mise en place d’un backup est beaucoup plus facile car cela consiste juste en une copie récursive d’un simple fichier de base de données appelé hsm_secret.

Tout le processus est expliqué dans la documentation de CLN.

 

C. Maintenance et mise à jour du logiciel

Bon, de nombreux utilisateurs se posent des questions concernant les mises à jour : faut-il les faire ? et à quelle fréquence ?

La réponse est simple : mettez à jour à chaque fois que cela est nécessaire. Il n’y a donc pas besoin de mettre à chaque fois, mais seulement quand le besoin s’en fait ressentir.

Pourquoi ? Parce que ce n’est pas toujours nécessaire 🙂 Si quelque chose fonctionne très bien, sans erreur, alors mettre à jour ne signifie pas forcément que cela sera mieux. Ce n’est pas parce qu’il y a de nouvelles fonctionnalités ou applications (inutil pour vous) que vous devez mettre à jour.

La stabilité est plus importante que les nouveautés.

Recommandations :

  • Ne fait pas impulsivement la mise à jour de votre logiciel de nœud, immédiatement après sa sortie surtout si elle résout aucun problème de votre nœud. Certaines mises à jour sont mineures, d’autres sont importantes.

  • Lisez attentivement les notes de mise à jour et voyez si la mise à jour est un avantage ou si elle corrige une erreur que vous aviez avec votre nœud. Si cela ne vous affecte pas directement, il n’y a pas besoin faire la mise à jour. Attendez une version plus importante. Parfois aussi les mises à jour rapides peuvent contenir des bugs, non vérifiés/découverts à temps par les développeurs. Des merdes peuvent arriver, il faut se rappeler que les développeurs restent des humains. Alors attendez au moins 1 ou 2 jours de plus et voyez ce que les autres utilisateurs impatients disent après avoir fait la mise à jour.

  • Les mises à jour du système d’exploitation (de l’OS) sont plus importantes que celles des logiciels du nœud. Vérifiez donc plus souvent les mises à jour de l’OS et faites-les quand elles sont nécessaires.

  • Lorsque vous mettez à jour le système d’exploitation, commencez toujours par éteindre votre nœud avant. Certains requis peuvent être des composants docker ou d’autres modules qui affectent le logiciel du nœud. Une fois que la mise à jour de l’OS est faite, éteignez votre machine. Oui, pas simplement redémarrer, mais bien l’éteindre complètement. Attendez quelques secondes pour que la mémoire puisse se vider, puis redémarrez la machine. C’est également une bonne pratique pour maintenir les clusters des disques en bon état et désengorger la mémoire des choses inutiles.

  • Avant de mettre à jour le logiciel du nœud, mettez d’abord à jour le système d’exploitation.

  • Les utilisateurs de RPi n’ont généralement pas besoin de mettre à jour le système d’exploitation, car le logiciel de nœud est intégré au système d’exploitation, qui est généralement une version modifiée du système d’exploitation Debian, adaptée au RPi.

  • Pour les utilisateurs non-RPi, je recommande fortement d’utiliser comme OS un Debian linux. C’est plus robuste, le système de fichiers est mieux contrôlé, il y a moins de fantaisies inutiles sur le bureau. Pour le système d’exploitation de votre nœud, le bureau doit être minimaliste car vous ne l’utilisez pas tout le temps.

  • Ne compliquez pas les choses avec des VM ou des serveurs Ubuntu qui ne font que consommer une grande quantité de ressources. Un nœud n’a pas besoin de cela. Vous avez juste besoin du minimum pour faire fonctionner un nœud LN.

Je pense avoir aborder suffisamment d’aspect concernant la maintenance pour vous, nouvel opérateur de noeud que vous êtes ! À présent, vous êtes fin prêt pour votre voyage dans ce monde fascinant peuplé de nœuds LN.

J’espère vous avoir donné assez d’informations pour vous puissiez gérer votre nœud dans de bonnes conditions.

Happy Lightning !

QUE ₿ITCOIN SOIT AVEC TOI !

 

Si tu apprécies le travail de DarthCoin, tu peux envoyer quelques satoshis par LN :

  • en utilisant la page Telegram @LNtxBot DarthCoin LNURL

  • ou simplement en utilisant l’adresse Lightning à darthcoin@lntxbot.com

LNURL1DP68GURN8GHJ7MR9VAJKUEPWD3HXY6T5WVHXXMMD9AKXUATJD3CZ7D2TG35HGKQAF5LZH

asi0

asi0

Bitcoiner

Passionné par la complexité résidant dans la simplicité de Bitcoin, je creuse le terrier Bitcoin depuis des années pour appréhender ce protocole qui me dépasse. Bitcoin is TAO

Retrouvez tous mes articles : asi0.substack.com

Retrouvez-moi sur Twitter : @asi0_flammeus

Tips asi0 !

LNURL1DP68GURN8GHJ7EM9W3SKCCNE9E3K7MF0D3H82UNVWQHKZUMFXQY33CD5

Nos derniers articles

Lancement de la formation SECU 101

Lancement de la formation SECU 101

Lancement de la formation SECU 101 -  "Sécurité informatique et gestion des données" Article rédigé par Rogzy - 04/04/2023 Ce ne serait pas une toute nouvelle formation ? Eh si ! Découvrez sans plus attendre SECU 101, une formation de remise à jour sur votre sécurité...

Les prismes Lightning

Les prismes Lightning

Et si les possibilités offertes par Lightning allaient au delà de la simple promesse de paiement instantanés ? DerGigi nous présente de nouveaux usages qui commencent à voir le jour à la frontière entre la couche secondaire de Bitcoin et de Nostr !

Premiers pas pour accepter Bitcoin dans son commerce

Premiers pas pour accepter Bitcoin dans son commerce

Comment commencer à accepter bitcoin, en tant que petit commerçant ? Pour tous les nouveaux utilisateurs qui ne peuvent/veulent pas faire fonctionner leur propre nœud LN, il existe plusieurs solutions simples à implémenter, parfait pour servir de terrain d’essai pour accepter vos premiers paiements en bitcoin. Découvrez ce guide des solutions mobiles que vous pouvez mettre en place pour utiliser Bitcoin dans votre commerce !

Modification software

Modification software

Réinitialiser un Antminer S9 Série d'articles proposée par BlobOnChain & Ajelex - 15/02/2023Réinitialiser via le bouton "Reset" Cette méthode peut être appliquée dans les 10 minutes après le démarrage du mineur. Après avoir allumé le mineur pendant 2 minutes,...

Attakaï présentation !

Attakaï présentation !

Ce guide de retrofitting d’un ASIC servira de base pour en apprendre plus sur le minage, son fonctionnement, son histoire récente et l’économie sous-jacente.

HackBitcoin, une certaine vision de l’adoption

HackBitcoin, une certaine vision de l’adoption

HackBitcoin, une certaine vision de l’adoption Avec son événement à Concepción de Ataco, HackBitcoin espère inaugurer une certaine approche dans l’adoption de Bitcoin que l’on espère plus durable. Cette nouvelle expérience ambitionne de développer une série...

Blixt

Blixt

Blixt est un nouveau nœud et porte-monnaie mobile BTC et LN puissant. DarthCoin nous a rédigé un article dans lequel il présente les fonctionnalités mais aussi des tutoriels pour comprendre comment utiliser Blixt et se connecter à d’autres nœuds. Un article traduit par Asi0.

Azores

Azores

J’ai eu la chance (et l’honneur) de participer à la première édition de la non-conférence Bitcoin qui s’est déroulée sur 2 jours dans l’archipel des Açores. Et je vais vous partager mon expérience. Mais tout d’abord, qu’est-ce-qu’une « non-conférence » ?