Bitcoin/Noeuds

De WikiOpenTruc
Aller à : navigation, rechercher
  • l'ensemble de la gestion du bitcoin est décentralisé et exécuté par des "noeuds". Noeud étant la terminologie pour désigner un ordinateur connecté au réseau internet.
  • il n'y a pas de noeud central ... mais tous les noeuds ne sont pas non plus rigoureusement équivalents. ... Tous les noeuds sont égaux ... mais certains sont plus égaux que d'autres !
  • Il y a plusieurs niveaux de participation possibles pour un noeud :
    • le niveau le plus élevé, et le plus consommateur de temps-machine étant celui de noeud de minage
    • le niveau le plus faible étant celui de noeud d'"observation"

From BCT : un noeud Bitcoin, c'est un client Bitcoin accessible depuis l'extérieur (port 8333 ouvert). le rôle du noeud étant de :

  • vérifier les transactions, et si elles sont valides, les ajouter au pool de transactions et de les rediffuser
  • vérifier les blocs, et s'ils sont valides, les ajouter à leur registre des blocs et de les rediffuser
  • permettre l'accès au registre des blocs à tout client qui le demande (les clients SPV dépendent totalement de ces noeuds)

la force du réseau ne réside pas que dans le hashrate (rien n'oblige le mineur à inclure des transactions dans un bloc) mais aussi dans ce nombre de noeud, qui en supporte tout le traffic.


  • a priori, l'essentiel des calculs se font grâce à des tables d'indexation
  • le fonctionnement normal d'un noeud est de considérer tout ce qu'il reçoit comme suspect. Avec les données dont il dispose, il revalide donc systématiquement tout ce qu'il reçoit avant de le mémoriser ou de le diffuser
  • il y a des regroupements "naturels", "pools", typiquement un "full-node" (qui mémorise toute la blockchain) associé à plusieurs autres noeuds qui eux ne stockent pas la blockchain, mais s'occupent plutôt de travailler sur les tables d'indexation. On peut dire que la blockchain est de fait partagée. (Je subodore que les noeuds d'un même pool travaillent entre eux en s'échangeant des tables d'index).
  • en particulier, les noeuds doivent avoir en mémoire la table des soldes (avec une entrée par adresse) constamment à jour
  • cette table des soldes est éventuellement initialisée avec un long parcours de la blockchain, mais ensuite, elle est mise à jour par simple récurrence avec le contenu du dernier bloc (toutes les 10' donc)
  • Satoshi has chosen the flooding algorithm for Bitcoins P2P network to obtain a highly decentralized and randomized network structure which is very important to secure the network against hostile takeover of parts of the network. (https://bisq.network/blog/new-p2p-network/)


Pratique

  • N'importe qui peut installer un noeud ... mais l'install officielle (bitcoin core) implique de downloader l'intégralité de la blockchain, soit 100GB. Bof
    • si ça se trouve, c'est juste une astuce pour dissuader des "passagers clandestins" de monter un noeud pour exploiter la BC sans participer au trafic bitcoin ?
  • N'importe qui peut utiliser librement le logiciel bitcoin pour bricoler sa propre blockchain ... et tenter de la diffuser