Qu’est-ce que Bitcoin Core et quel rôle joue-t-il au sein du réseau Bitcoin ?

Qu’est-ce que Bitcoin Core et quel rôle joue-t-il au sein du réseau Bitcoin ?

Qu’est-ce que Bitcoin Core ?

Bitcoin Core est un logiciel open source qui vous permet de vous connecter vous-même au réseau Bitcoin et de contrôler entièrement les blocs et les transactions. Si vous exécutez Bitcoin Core sur votre ordinateur, il fonctionne comme un full node qui vérifie de manière autonome que les transactions et les blocs respectent les règles du réseau Bitcoin.

En termes simples, Bitcoin Core est un élément essentiel pour les personnes qui souhaitent vérifier Bitcoin elles-mêmes. Le logiciel reçoit des transactions et des blocs d’autres nodes, les contrôle et peut retransmettre les informations valides. Ainsi, de nombreux nodes distincts contribuent ensemble à diffuser les données Bitcoin de manière décentralisée.

Bitcoin Core est le client Bitcoin d’origine, c’est-à-dire le logiciel qui vous permet de vous connecter au réseau Bitcoin et de traiter et contrôler les transactions et les blocs. Le code source est librement disponible sous licence MIT, ce qui permet aux développeurs de consulter le logiciel, de l’utiliser et d’y contribuer.

Le logiciel se compose, en gros, de deux éléments que l’on peut considérer séparément :

  • Le node : il télécharge et valide les données sur la blockchain Bitcoin.
  • Le wallet crypto intégré : il vous permet de gérer des adresses et d’envoyer des bitcoins.

Vous pouvez utiliser Bitcoin Core comme programme avec une interface graphique, bitcoin-qt, ou sans interface, en tant que processus d’arrière-plan, bitcoind. Cette deuxième option est surtout utile pour les personnes qui souhaitent gérer leur node via la ligne de commande ou d’autres logiciels.

Point important : Bitcoin Core n’est pas Bitcoin lui-même et n’est pas non plus une organisation centrale qui dirige Bitcoin. Il s’agit d’une implémentation du protocole Bitcoin. Les nodes parviennent à un accord parce qu’ils appliquent indépendamment les mêmes règles de consensus, c’est-à-dire les règles fixes qui leur permettent de déterminer quels blocs sont valides.


À retenir

  • Bitcoin Core est un logiciel open source pour le réseau Bitcoin.
  • Une installation Bitcoin Core en fonctionnement est normalement un full node.
  • Un full node vérifie lui-même les blocs et les transactions.
  • Bitcoin Core peut recevoir des données valides et les transmettre à d’autres nodes.
  • Le logiciel comprend en option une interface graphique et un wallet crypto intégré.

Comment fonctionne Bitcoin Core ?

Bitcoin Core fonctionne en se connectant à d’autres nodes Bitcoin et en échangeant avec eux des transactions et des blocs. Avant de pouvoir évaluer les données récentes, le logiciel doit d’abord télécharger et valider l’historique complet depuis le bloc genesis, le tout premier bloc Bitcoin.

Cette première grande mise à jour s’appelle l’initial block download. Bitcoin Core construit ainsi, étape par étape, sa propre vision de la chaîne Bitcoin valide, jusqu’au bloc le plus récent que le node accepte comme valide.

Ensuite, le node continue d’écouter les nouvelles transactions et les nouveaux blocs. Lorsqu’il reçoit quelque chose, Bitcoin Core le vérifie d’abord. Ce n’est que si les données respectent les règles que le node peut normalement les transmettre à d’autres peers. Les peers sont, simplement, d’autres ordinateurs auxquels votre node est connecté.

Bitcoin Core n’accepte un bloc comme valide que s’il passe ses propres contrôles. Le node détermine ensuite, selon les règles de consensus, quelle chaîne valide il suit. Si de nombreux nodes suivent les mêmes blocs valides selon les mêmes règles, ils sont alignés entre eux. C’est ainsi qu’un consensus se forme sans qu’une partie centrale décide de ce qui est vrai.

Il existe toutefois une différence entre validité et politique locale. Un node peut, par exemple, refuser de relayer une transaction parce qu’elle ne correspond pas à sa propre politique de mempool. La mempool est la zone d’attente temporaire des transactions encore non confirmées. Une telle transaction n’est donc pas automatiquement invalide au regard des règles de consensus.

Comment Bitcoin Core valide-t-il les transactions ?

Bitcoin Core valide une transaction en vérifiant que le bitcoin que vous souhaitez dépenser existe réellement, n’a pas déjà été dépensé et peut être utilisé par vous. Bitcoin ne fonctionne pas avec un simple solde qui serait modifié quelque part. Un paiement utilise des montants reçus précédemment, appelés outputs.

Un output qui n’a pas encore été dépensé s’appelle un UTXO, abréviation de unspent transaction output. Vous pouvez voir un UTXO comme un morceau distinct de bitcoin encore disponible à la dépense.

Lors d’un nouveau paiement, Bitcoin Core examine notamment les points suivants :

  • Les UTXO utilisés existent réellement.
  • Ces UTXO n’ont pas déjà été dépensés.
  • Les données de déverrouillage respectent les conditions de l’output précédent.
  • La valeur de tous les outputs n’est pas supérieure à la valeur de tous les inputs.

Pour de nombreuses transactions ordinaires, une signature cryptographique prouve que l’expéditeur possède la bonne private key. Bitcoin Script vérifie ensuite que cette signature et la clé publique associée sont correctes. Bitcoin Script est le langage de script limité qui exécute les conditions des transactions Bitcoin.

Exemple : Supposons que vous ayez déjà reçu 0,5 BTC et que cet output n’ait pas encore été utilisé. Ces 0,5 BTC peuvent alors servir d’input pour une nouvelle transaction. Si vous essayez de dépenser à nouveau ce même output plus tard, Bitcoin Core le rejettera comme un « double-spending ».

Dans une transaction normale, aucune valeur ne peut non plus apparaître à partir de rien. Si les inputs totalisent 0,5 BTC et que vous envoyez 0,49 BTC à une autre adresse, la différence de 0,01 BTC peut correspondre aux frais de transaction. La transaction coinbase spéciale d’un bloc fonctionne différemment ; elle est destinée à la récompense de bloc et aux frais.

Comment Bitcoin Core contrôle-t-il les blocs ?

Bitcoin Core contrôle un bloc en examinant à la fois les données de l’en-tête de bloc et toutes les transactions contenues dans le bloc. Seuls les blocs conformes aux règles de consensus sont conservés par le node comme faisant partie de la chaîne Bitcoin valide.

Un bloc se compose, en gros, de transactions et d’un en-tête de bloc. Cet en-tête contient notamment une référence à l’en-tête du bloc précédent et une racine de Merkle. Cette racine de Merkle est un résumé cryptographique de toutes les transactions du bloc.

La référence au bloc précédent rend l’historique difficile à modifier. Si vous modifiez une ancienne transaction, le résumé de ce bloc change. Vous devriez alors aussi modifier à nouveau tous les blocs qui suivent.

Bitcoin Core vérifie également chaque transaction à l’intérieur du bloc. Le node contrôle ainsi une nouvelle fois qu’un output n’a pas déjà été dépensé. Chaque bloc contient en outre une transaction coinbase. Celle-ci attribue la récompense de bloc et les frais de transaction au mineur. Le bitcoin issu d’une transaction coinbase ne peut être dépensé qu’après 100 confirmations.

Il arrive parfois que deux versions valides de la chaîne Bitcoin coexistent brièvement. Dans ce cas, le modèle full node suit la version qui cumule le plus de proof-of-work. Ce n’est pas quelque chose que les développeurs de Bitcoin Core ou les mineurs décident pour tout le monde : chaque full node effectue lui-même les contrôles et choisit selon les mêmes règles.

Qui a développé Bitcoin Core ?

Le premier logiciel Bitcoin a été développé et publié sous le pseudonyme Satoshi Nakamoto. Satoshi est donc un pseudonyme ; personne ne sait qui est ce mystérieux développeur.

Bitcoin Core est désormais développé comme un projet open source. Les personnes peuvent contribuer en proposant des modifications, des tests et des revues. Le nouveau code n’est pas ajouté sans contrôle : d’autres contributeurs examinent la modification et des tests sont nécessaires.

Il n’existe pas de groupe fixe et privilégié qui dirigerait simplement Bitcoin Core. Il existe en revanche des mainteneurs du dépôt. Ils ont des tâches pratiques, comme fusionner les modifications proposées, coordonner les versions et modérer les discussions. Cela ne fait pas d’eux un propriétaire central de Bitcoin.

Pour un usage normal, il faut choisir une version stable. La version principale sur laquelle les développeurs collaborent est bien testée, mais elle n’est pas automatiquement une version stable destinée à un usage quotidien.

Quelle est la différence entre Bitcoin Core et Bitcoin ?

Bitcoin Core est un logiciel, tandis que Bitcoin peut désigner le réseau, le protocole ou le BTC en tant que cryptomonnaie. Cette différence est importante, car les noms sont souvent utilisés de manière interchangeable.

Bitcoin est par exemple le réseau peer-to-peer dans lequel les participants échangent des transactions. Le BTC est l’unité bitcoin avec laquelle vous transférez de la valeur. Bitcoin Core est ensuite un programme que vous installez pour participer au fonctionnement de ce réseau selon ses règles.

On peut comparer cela à un navigateur et à Internet. Un navigateur vous donne accès à Internet, mais n’est pas Internet lui-même. De la même manière, Bitcoin Core vous permet de participer à Bitcoin, sans que le logiciel soit équivalent à Bitcoin dans son ensemble.

De même, une modification de Bitcoin Core ne change pas automatiquement les règles de Bitcoin pour tout le monde. Pour qu’une modification des règles de consensus s’applique, les autres participants doivent eux aussi choisir d’utiliser des règles ou un logiciel compatibles.

Qu’est-ce que le wallet Bitcoin Core ?

Le wallet Bitcoin Core est le wallet crypto intégré à Bitcoin Core. Il vous permet de recevoir, gérer et envoyer des bitcoins. Le wallet fonctionne avec Bitcoin Core, mais il a une fonction différente de celle du node lui-même. Le node vérifie les transactions et les blocs, tandis que le wallet sert surtout à gérer vos bitcoins et les clés associées.

Le wallet Bitcoin Core est un wallet self-custody. Cela signifie que vous êtes vous-même responsable de vos private keys, de vos sauvegardes et de la sécurité de votre appareil. Vous pouvez en outre protéger le wallet avec une passphrase (phrase secrète).

Il est donc important de faire régulièrement une sauvegarde sécurisée de votre wallet et de ne jamais partager vos private keys, votre sauvegarde ni votre phrase secrète avec d’autres personnes. Toute personne qui obtient accès à ces données peut aussi, potentiellement, accéder à vos bitcoins.

Comment utiliser Bitcoin Core ?

Vous pouvez utiliser Bitcoin Core comme programme de bureau, comme node fonctionnant discrètement en arrière-plan, ou via des outils en ligne de commande et RPC. RPC est une méthode qui permet à d’autres programmes de donner des instructions à votre node.

Pour beaucoup de personnes, la version graphique est la plus simple. Elle permet de suivre la synchronisation, de gérer un wallet et d’envoyer des transactions. Les utilisateurs plus techniques exécutent souvent bitcoind sans interface graphique, par exemple sur leur propre ordinateur qui sert principalement de node.

Votre node peut fonctionner uniquement pour vous, mais vous pouvez aussi autoriser les connexions entrantes. Pour votre propre wallet et la validation, les connexions sortantes suffisent. Les connexions entrantes aident toutefois d’autres nodes et des clients légers, ce qui permet au réseau peer-to-peer de rester plus disponible.

Vous voulez d’abord vous entraîner sans utiliser de vrais bitcoins ? Vous pouvez alors utiliser un réseau de test séparé comme signet. Sur le mainnet Bitcoin, des erreurs lors d’une transaction peuvent entraîner une perte irréversible.

Si vous utilisez RPC, soyez particulièrement prudent avec l’accès externe. Des identifiants RPC valides peuvent donner à quelqu’un un contrôle important sur votre node Bitcoin Core et, selon votre configuration, sur un wallet chargé. N’ouvrez donc pas l’accès RPC à d’autres personnes sans nécessité.

Comment installer Bitcoin Core ?

Vous pouvez télécharger Bitcoin Core sur le site officiel de Bitcoin Core. Choisissez la version adaptée à votre système d’exploitation, comme Windows, macOS ou Linux.

Après le téléchargement, installez le logiciel et ouvrez Bitcoin Core. Lors du premier démarrage, vous pouvez choisir l’emplacement de stockage des données de la blockchain. Gardez à l’esprit que Bitcoin Core peut nécessiter beaucoup d’espace de stockage, car le logiciel télécharge et vérifie une copie de la blockchain Bitcoin.

Bitcoin Core commence ensuite à se synchroniser avec le réseau Bitcoin. Cela peut prendre un certain temps lors de la première utilisation. Une fois la synchronisation terminée, votre node peut contrôler les transactions et les blocs de manière autonome.

Vous souhaitez installer Bitcoin Core vous-même et recherchez les étapes techniques exactes ? Consultez les guides d’installation officiels de Bitcoin Core pour votre système d’exploitation.

Comment Bitcoin Core se synchronise-t-il avec la blockchain ?

Bitcoin Core se synchronise en téléchargeant les blocs depuis le début et en les validant un par un jusqu’au bloc valide le plus récent. Ce processus s’appelle l’initial block download et a lieu au premier démarrage, ou lorsque votre node est très en retard.

Pendant ce processus, votre ordinateur utilise de la bande passante, de l’espace de stockage et de la puissance de calcul. La durée varie de quelques heures à plusieurs jours, voire davantage, selon votre matériel et votre connexion Internet.

Votre wallet peut sembler incomplet pendant la synchronisation. Les nouvelles transactions ou un solde ne deviennent pleinement visibles que lorsque votre node a été mis à jour jusqu’au bloc dans lequel cette activité apparaît.

Si vous souhaitez utiliser moins d’espace de stockage, vous pouvez activer le pruning. Avec le pruning, Bitcoin Core supprime les anciennes données brutes des blocs et les undo-data après que le node les a déjà validées lui-même. Le node reste alors un full node, car il continue à contrôler les blocs de manière autonome.

Quels sont les avantages et les limites de Bitcoin Core ?

Le principal avantage de Bitcoin Core est que vous pouvez vérifier Bitcoin vous-même. Vous n’avez pas besoin de faire entièrement confiance à un fournisseur de wallet externe, à un serveur ou à une entreprise crypto pour la validité des blocs et des transactions.

Un full node personnel aide aussi le réseau. Votre node reçoit des données valides, les contrôle et peut les transmettre. Si trop peu de personnes le font, les clients légers deviennent plus rapidement dépendants de services centralisés.

Bitcoin Core peut également être meilleur pour votre vie privée qu’un wallet qui doit interroger un node externe pour chaque solde et chaque transaction. Cela ne rend pas Bitcoin automatiquement anonyme : les transactions restent inscrites sur une blockchain publique.

L’inconvénient est que Bitcoin Core demande davantage à votre ordinateur et à vous-même qu’un simple wallet crypto. Vous avez besoin de beaucoup d’espace de stockage, la première synchronisation peut être longue, et vous êtes vous-même responsable des mises à jour, des sauvegardes et de la sécurité de votre appareil.

Vous pouvez limiter l’utilisation de l’espace de stockage et d’Internet, mais cela peut se faire au détriment de certaines fonctions. La self-custody signifie aussi que vous êtes vous-même responsable de vos bitcoins. Un node personnel ne vous protège pas, par exemple, contre les logiciels malveillants, la perte de private keys ou de mauvais réglages.

En résumé

Bitcoin Core est une manière de faire fonctionner Bitcoin soi-même plutôt que de dépendre uniquement de l’infrastructure des autres. Le logiciel télécharge et contrôle les blocs et les transactions selon les règles de Bitcoin, et peut transmettre des données valides à d’autres nodes.

Cela rend Bitcoin Core intéressant si vous souhaitez davantage d’autonomie, de contrôle et, potentiellement, de confidentialité. En contrepartie, cela demande du temps, de l’espace de stockage et une certaine attention technique. Si vous utilisez aussi le wallet intégré, la sécurité de vos bitcoins repose entièrement sur vous. Pour celles et ceux qui souhaitent assumer cette responsabilité, un full node personnel est une manière pratique de vérifier Bitcoin soi-même.

A propos de Finst

Finst est l'une des principales plateformes de cryptomonnaies aux Pays-Bas. Elle propose des frais de trading ultra-compétitifs, une sécurité de niveau institutionnel et une offre complète de services crypto incluant le trading, la conservation, le staking ainsi que des solutions de fiat on/off ramp. Fondée par d’anciens cadres de DEGIRO, Finst est autorisée sous MiCAR en tant que prestataire de services sur crypto-actifs par l’Autorité néerlandaise des marchés financiers (AFM). La plateforme est disponible pour les investisseurs particuliers et institutionnels dans 30 pays européens.

La plateforme crypto pour tous les investisseurs

Que vous soyez un trader actif ou un investisseur de long terme, Finst vous offre les outils pour investir dans les crypto-actifs en toute simplicité

Inscription