Validator / Node
Last updated
Last updated
Un node est une partie prenante d'une blockchain utilisant le PoS (Proof-of-Stake), il sert principalement à vérifier et valider les blocs publiés, les prérequis nécessaires à la performance d'un node sont multiples et nécessitent un investissement financier ainsi qu'une immobilisation d'asset.
Pour pérenniser et sécuriser le système, les noeuds sont récompensé par le "gas" dépensé par les différents utilisateurs de la blockchain au moment d'effectuer leurs transactions (hors ).
Il existe plusieurs types de nodes répondant à différent cas d'usage, dans les 3 cas de figures ils permettent d'obtenir certains type & détails de données?
Un Archive node permet d'obtenir des données concernant des blocs ultérieurs aux 128 plus récents (stockage du full node).
Grâce à ces nœuds on peut donc accéder à des données depuis la genèse du réseau concerné bien plus facilement qu'avec un full node qui devrait exécuter toutes les transactions précédentes pour arriver à l'information voulue.
Ces nœuds servent entre autres aux block explorers, qui permettent à l'utilisateur final d'analyser les données voulues pour tel bloc, tx, adresse, etc
Les Light Node sont le minimum requis pour participer au réseau de la blockchain, ils peuvent récolter des informations assez sommaires et doivent faire appel à des Full node pour les informations manquantes.
De part ce fait, les light node ne peuvent pas participer au mécanisme de consensus, et cette caractéristique ne les permets pas de recevoir de récompenses dû à la validation de blocs.
Ils apportent en revanche une amélioration de la sécurité de la blockchain en permettant une meilleure décentralisation, résistance à la censure et à la corruption.
Les full node servent principalement à la validation et vérification de blocs.
Ils stockent les données correspondantes aux 128 derniers blocs et sont donc moins complet qu'un archive node. Le stockage requis reste donc relativement stable pour les Full node qui ne chargent qu'un nombre fixe de blocs contrairement aux Archive Node ne cessant d'avoir besoin de plus d'espace au fil du temps et de l'intensité d'utilisation du réseau.
Minimum requirements
Operating system: 64-bit Linux (i.e. Ubuntu 22.04.1 LTS Server or Desktop)
Processor: Dual core CPU, Intel Core i5–760 or AMD FX-8100 or better
Memory: 16GB RAM
Storage: 2TB SSD
Internet: Stable broadband internet connection with speeds at least 5 Mbps upload and download.
Internet Data Plan: At least 2 TB per month.
Wallet: Metamask installed
Recommended specifications
Operating system: 64-bit Linux (i.e. Ubuntu 22.04.1 LTS Server or Desktop)
Processor: Quad core CPU, Intel Core i7–4770 or AMD FX-8310 or better
Memory: 32GB RAM
Storage: 2TB NVME
Internet: Stable broadband internet connections with speeds at least 10 Mbps without data limit.
Data Plan: At least 2 TB per month. Ideally, no data cap or unlimited data plan.
Wallet: Metamask installed
Node requirements +
ETH balance: at least 32 ETH and some ETH for deposit transaction fees
Le client permet de sécuriser le réseau en établissant une connexion avec les autres noeuds.
Aujourd'hui la distribution de clients n'est pas bien répartie et présente actuellement un risque.
e.g. La grande majorité des noeuds ethereum performant le client geth (Go Ethereum) qui aujourd'hui représente environ 70% de la part d'utilisation des clients eth.
Le Remote Procedure Call est un protocole de communication permettant au client d'obtenir des informations sur le réseau par l'intermédiaire d'un Node (RPC node) connecté à ce même réseau.
Un RPC node est un node non dédié au processus de consensus (dans le cas d'Ethereum), il permet de répondre à des requêtes du client demandant des informations précises publiées sur la blockchain.
Le client peut donc obtenir les données lui étant nécessaire, et ce, en temps réel.
Configurer et maintenir des node peut être fastidieux, et c'est encore plus le cas pour les protocoles amassant une grande masse d'utilisateurs (et donc de requêtes).
Le nombre de requêtes peut devenir important et les ressources physiques (hardware) doivent donc pouvoir suivre cette fréquence de demandes.
Le NaaS tient du même principe que le Cloud computing, et leurs avantages sont relativements comparables :
Economies
Disponibilité
Élasticité
Service managé par des professionnels dédiés
Gains de temps sur la conception du produit
La souveraineté des données n'est pas une problématique inhérente au dApp car les données demandées par le client sont par essence publiques et n'ont aucun caractère sensible.
désavantage(s) : Si la solution n'utilise les services que d'un fournisseur, alors SPOF (dangereux concernant la décentralisation).
Alchemy
Moralis
Infura
JSON-RPC est le format standard de l'API sur Ethereum.
A chaque requête effectuée, votre RPC peut collecter un certains type de données.
En revanche certains fournisseurs abusent des données collectées, parmis lesquelles on peut retrouver : adresse IP, adresse, cookies, adresse MAC, etc L'ensemble de ces données permettent facilement d'identifier l'appartenance d'une adresse.
Ces pratiques vont donc à l'encontre des valeurs du pseudonymat promulgué par les blockchains publiques.
Comme vu à l'instant, il est possible pour les fournisseurs de récolter certaines informations, certains s'en servent au delà de l'aspect informationnel.
Il est possible pour un fournisseur de services RPC de ne pas accepter des requêtes de la part de quiconque utilise ses services selon certains facteurs qui peuvent être votre adresse, adresse IP, adresse MAC, etc
Garder un RPC par défaut présente un risque non négligeable.
L'écrasante majorité des utilisateurs de blockchain ne changent pas leur RPC par défaut, qui en période de grande utilisation peuvent se retrouver à recevoir un nombre trop important de requête, pouvant congestionner le réseau.
Pour rappel, le staking consiste à immobiliser un certain fond sur un node/validateur afin de valider et vérifier les bloc de sorte à sécuriser le réseau.
En revanche, ce ne sont pas tous les utilisateurs du réseau qui peuvent se permettre de vérifier l'ensemble des pré-requis technique & financier. Aujourd'hui plusieurs infrastructures sont mises à disposition des utilisateurs du réseau afin que n'importe lequel d'entre eux puisse trouver une solution convenant à ses capacités et donc participer à la sécurisation du réseau.
Les node on-prem sont des nodes dont vous avez l'accès physique et les entretiens annexes à charge. C'est donc aussi l'infrastructure la plus chère.
désavantages : chère, choix & entretien du matériel.
avantages : infrastructure la plus décentralisé & sécurisé pour le réseau (se rapprochant le plus possible de l'idée de P2P).
C'est aujourd'hui l'infrastructure la plus utilisée aujourd'hui, cette solution à l'avantage de supprimer les coûts fixe relatif à l'investissement du matériel sont fractionnés grâce à la possibilité de remplacer.
Le problème se posant aujourd'hui est l'hégémonie de certains fournisseurs cloud, en particulier AWS (Amazon Web Services) même si des mesures de décentralisation sont prises au sein de cette entreprise, les décisions impactant les ressources performant des noeuds ethereum sont soumises par le même comité.
Ce déséquilibre crée donc une dépendance et une plus grande centralisation du réseau sur des infrastructures propriétaire à Amazon (SPOF)
désavantages : moins décentralisé & souverain qu'un node on-prem, entretien du node.
avantages : pay as you go (beaucoup moins de frais fixes & paiement uniquement pour les ressources consommées)
AWS
Azure
GCP
OVH
Hetzner
Digital Ocean
Cette option permet d'autoriser le fournisseur de service à gérer votre node sous l'autorisation du client.
Cette infrastructure permet de complètement déléguer les coûts relatifs à l'entretien du matériel.
Désavantage : Selon le fournisseur, cette option joue un rôle négatif dans la centralisation du réseau. Barrière d'entrée reste similaire : 32 eth.
BlockStaking
Sensei Node
Abyss Finance
Le pooled staking permet de supprimer toutes les barrières d'entrées (techniques, financières, maintenance, etc) à la participation du réseau.
N'importe qui peut donc financer une fraction des 32 ETH nécessaire et tout de même bénéficier des récompenses du validateur à la proportion de sa participation.
En principe ces solutions sont bénéfiques aux particuliers n'ayant ni possibilité ni envie d'opérer un validateur d'eux même (solo staking). En revanche la déléguation d'autant de liquidité à des protocoles uniques comporte de nombreux risques.
Ces protocoles de pooled staking choisissent d'eux même leurs Node Operator (performés sous les infrastructures vues au préalable) selon des critères fixés par eux mêmes.
e.g. le pourcentage de censure des 2 plus gros protocoles DeFi de pooled staking ont un taux de censure relativement élevé.
désavantage(s) : Nuisible à la décentralisation du réseau (SPOF), Aucun contrôle sur les validateurs et cela peut mener à des abus de censures (e.g. OFAC compliance)
avantage(s) : barrière d'entrée inexistante.
Lido
StakeWise
Rocket Pool
Ankr
Ethereum
Ethereum node distribution
Mevwatch
CoinCashew
EthGlobal
Dans l'absolu, le seul type de node indispensable au bon fonctionnement du réseau sont les , car ce sont eux qui permettent de participer au consensus de validations des blocs.
Pour en savoir plus, .
Si un Archive node peut stocker plus de données qu'un Full node, alors les ressources physiques nécessaires (hardware) ne sont pas les mêmes. De plus, tous les ne sont pas optimisés pour les Archive node. Nous retrouvons un espace nécessaire de 3TB pour Erigon et + de 15TB pour les autres clients stockant pourtant les mêmes données.
Power: Reliable electrical power. Mitigate with a .
Power: Reliable electrical power with a .
.
Pour une liste de solutions plus complète, .
e.g. &
.
e.g. (RPC par défaut sur Metamask) & dit OFAC compliant censurant l'accès à des applications telles que .
La mempool étant publique, vous êtes exposés à des , si aucune mesure n'a été prise au niveau du RPC et/ou slippage.
Si vous voulez en savoir plus, .
Censure Protection :
MEV protection :
Pour une liste de solutions plus complète, .
Pour plus de détails sur la configuration des validateurs servant ces protocoles, .
Pour une liste de solution plus complète, .