Le protocole Bitcoin dispose de règles à respecter. Pourtant, il n’existe aucune autorité centrale pour les exécuter. Puisque c’est un système pair-à-pair, ce sont les utilisateurs qui supervisent cette tâche à travers leur nœud.
Dans cet article, nous vous expliquons tout ce qu’il faut savoir sur les nœuds Bitcoin.
Qu'est-ce qu'un nœud Bitcoin ?
Un nœud Bitcoin est un ordinateur qui exécute le logiciel Bitcoin. Il stocke sa propre version de la blockchain et diffuse les informations des transactions.
L’ensemble des nœuds représente donc le réseau Bitcoin en lui-même. Ainsi, lorsque vous souhaitez interagir avec Bitcoin, que ce soit pour faire une transaction ou pour participer au minage, vous devez obligatoirement établir une connexion avec un nœud. Entre autres, votre portefeuille Bitcoin doit pouvoir se connecter à un nœud afin de consulter le solde de bitcoins associé à vos adresses et afin de diffuser vos transactions.
Le nombre de nœuds sur Bitcoin est impossible à déterminer précisément puisque la plupart d’entre eux fonctionnent sous Tor (« The Onion Router », un réseau de communication qui anonymise le trafic). Toutefois, certaines estimations en dénombrent de 40 000 à 150 000, répartis à travers le monde.
➤ Découvrir la différence entre le réseau et le protocole Bitcoin.
Quel est le rôle des nœuds sur Bitcoin ?
Initialement, le système Bitcoin a été imaginé de manière à ce que chaque utilisateur dispose de son propre nœud. D’ailleurs, si vous téléchargez le client Bitcoin Core, vous disposerez simultanément d'un nœud et d’un portefeuille intégré.
Mis à part cet exemple de Bitcoin Core, aujourd’hui, la fonction de nœud est souvent différenciée de la fonction de portefeuille. On peut donc se demander quel est le rôle d’un nœud indépendant ?
Tout d’abord, chaque nœud stocke sa propre version de la blockchain. En effet, il n’existe aucune autorité centrale sur Bitcoin qui pourrait s’occuper de conserver l’historique des transactions. Ce sont alors les nœuds qui sont chargés de télécharger la blockchain auprès de leurs pairs, de la stocker, de la tenir à jour au fil des nouveaux blocs, et de diffuser les informations qui y sont conservées.
À ce jour, la taille totale de la blockchain Bitcoin est d’environ 475 Go.
➤ Découvrir ce qu’est réellement le rôle de la blockchain sur Bitcoin.
Le deuxième rôle des nœuds Bitcoin est de vérifier et de diffuser les transactions. Lorsqu'un nœud reçoit une nouvelle transaction, il vérifie qu’elle respecte bien les règles qu’il a établies. Notamment, il vérifie que les UTXO en inputs appartiennent bien à son UTXO set, afin d’être sûr que les pièces dépensées soient légitimes. Il vérifie également que la transaction satisfait les conditions de dépense des bitcoins concernés. Si tout lui convient, il conserve cette nouvelle transaction dans sa Mempool (Memory Pool), et il la diffuse aux autres nœuds avec lesquels il est connecté. Ce processus de vérification et de diffusion continue avec les nœuds suivants.
Le troisième rôle des nœuds Bitcoin est de vérifier la validité des blocs construits par les mineurs, et de les diffuser à leurs pairs. Ils s’assurent que chaque bloc soit bien valide. Notamment, ils vérifient qu’ils remplissent bien la condition de preuve de travail.
Enfin, chaque nœud Bitcoin peut choisir ses propres règles, et pèse un certain poids économique sur les changements au niveau du protocole Bitcoin.
Quelle est la différence entre un nœud et un mineur ?
Les nœuds Bitcoin et les mineurs sont souvent confondus ensemble. Pourtant, leur nature et leurs rôles sont bien différents.
Initialement, Bitcoin avait été imaginé pour que chaque nœud participe au processus de minage. En effet, lorsque l’on téléchargeait Bitcoin au début des années 2010, le logiciel était à la fois un nœud, un portefeuille et un mineur.
Avec l’adoption progressive de Bitcoin, le minage est devenu de plus en plus concurrentiel jusqu’au point où, aujourd’hui, le processus s’est presque entièrement industrialisé. Aujourd’hui, la difficulté de minage est tellement grande qu’il est presque impossible de miner un bloc Bitcoin avec un ordinateur classique. Ainsi, la majorité du minage se fait maintenant sur des ordinateurs spéciaux, appelés les ASICS, spécifiquement optimisés pour du mining de Bitcoin. Tous les nœuds ne s’adonnent donc plus au processus de minage. Désormais, il convient alors de bien différencier le rôle du nœud et le rôle du mineur.
Le rôle du nœud, c’est ce que nous avons détaillé dans la partie précédente :
Il stocke la blockchain ;
Il vérifie et diffuse les transactions ;
Il vérifie et diffuse les blocs ;
Il impose les règles du protocole.
Le rôle du mineur est de venir sélectionner des transactions en attente de confirmation dans la mempool, de construire un bloc candidat avec, et de rechercher des nonces permettant de valider le bloc. Ainsi, le mineur doit forcément être connecté à un nœud, ou bien en être un lui-même. Dans ce dernier cas, on parle d’un « nœud minier ».
➤ En savoir plus sur le fonctionnement de la preuve de travail (Proof-of-Work).
En termes de matériel, un nœud Bitcoin nécessite une certaine capacité de stockage, mais il peut tourner sur des machines légères. Il est même possible d’exécuter un nœud Bitcoin sur un micro-ordinateur comme un Raspberry Pi. Il n’est donc pas nécessaire d’investir dans des ordinateurs onéreux pour faire tourner son propre nœud.
Par ailleurs, contrairement au minage, faire tourner un nœud Bitcoin ne vous apporte aucun avantage pécuniaire. Je vous expliquerai les bénéfices à faire tourner son propre nœud dans l’article de la semaine prochaine.
Quels sont les différents types de nœuds Bitcoin ?
Il existe globalement deux types de nœuds Bitcoin différents. Chacun répond à certaines problématiques, et dispose de ses propres avantages et inconvénients.
Le premier type de nœud est le nœud complet (en anglais un « full node »). Il vérifie et conserve l’intégralité de la blockchain Bitcoin depuis le bloc de genèse. Le nœud complet permet de vérifier toutes les transactions Bitcoin de manière indépendante. Il procure ainsi toutes les garanties de vérification à son utilisateur.
Le second type de nœud est le nœud léger, que l’on appelle nœud SPV pour « Simplified Payment Verification ». Ces systèmes stockent uniquement les entêtes des blocs, mais ils ne stockent et ne vérifient pas les transactions. Ainsi, ils sont beaucoup plus légers qu’un nœud complet et peuvent être utilisés sur des machines avec une puissance et un espace de stockage encore plus limités, comme un smartphone par exemple. Un nœud léger dépend forcément des nœuds complets. Il n’est pas totalement indépendant et n’offre pas le même niveau de confiance.
Certains différencient également les nœuds élagués (en anglais « Pruned Node »). Un nœud élagué est en réalité un nœud complet, à la différence près qu’il ne conserve la blockchain que jusqu’à une certaine taille limite de stockage. L’élagage est un paramètre que l’on peut déterminer pour supprimer progressivement les vieux blocs, après les avoir vérifiés, afin de conserver exclusivement les blocs les plus récents. Si vous êtes réellement limités au niveau de votre capacité de stockage, cela peut être une option intéressante qui offre plus de garanties qu’un simple nœud SPV.
Comment mettre en place facilement son propre nœud Bitcoin ?
Le client de nœud Bitcoin le plus célèbre est Bitcoin Core, un logiciel descendant directement du logiciel Bitcoin fourni par Satoshi Nakamoto en 2009. Bitcoin Core vous permet de disposer d’un nœud complet Bitcoin et d’un wallet intégré, directement sur votre PC.
Toutefois, Bitcoin Core demeure limité dans les options qu’il propose. Il existe ainsi de nombreuses autres implémentations qui vous permettent d’installer et d’utiliser votre nœud Bitcoin simplement, avec des options supplémentaires. Voici quelques exemples d’implémentations :
Chacune de ces implémentations dispose de ses propres caractéristiques. Je vous conseille donc d’étudier leurs options avant de choisir la vôtre.
Puisqu’un nœud Bitcoin doit toujours rester en ligne, il est souvent préférable d’installer votre nœud sur un matériel complètement dédié. Vous pourrez connecter vos différents portefeuilles à votre nœud via Tor grâce à un indexeur comme Electrs (Electrum Rust Server) ou Fulcrum. Ces outils sont généralement intégrés à l’implémentation.
Conclusion
Les nœuds Bitcoin sont des ordinateurs qui exécutent le protocole. Ils doivent stocker la blockchain, vérifier et diffuser les transactions Bitcoin, et vérifier et de diffuser les nouveaux blocs.
Il existe principalement deux types de nœuds Bitcoin :
Les nœuds complets (full node) qui stockent l’intégralité de la blockchain ;
Les nœuds légers (light node ou SPV) qui ne stockent que les en-têtes de bloc.
Dans l’article de la semaine prochaine, nous vous donnerons 6 raisons pour lesquelles vous devriez faire tourner votre propre nœud Bitcoin. Nous étudierons quelles sont les incitations pour faire tourner son propre nœud en tant qu’utilisateur.
➤ Découvrir les avantages à utiliser son propre nœud Bitcoin.