Validator / Node

What is a Node ?

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 Light node).

Node Architecture

Node Architecture

Different node

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?

Dans l'absolu, le seul type de node indispensable au bon fonctionnement du réseau sont les Full Node, car ce sont eux qui permettent de participer au consensus de validations des blocs.

Archive node

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.

Il est tout de même important de noter que l'absence de noeuds d'archives n'est pas un problème pour le fonctionnement du réseau, il facilite seulement l'accès aux données.

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

Pour en savoir plus, On-Chain Analysis.

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 clients d’exécutions 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.

Light node

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.

Full node

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.

Technical Requirements

Node Requirements

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.

  • Power: Reliable electrical power. Mitigate with a Uninterruptible Power Supply (UPS).

  • 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.

  • Power: Reliable electrical power with a Uninterruptible Power Supply (UPS).

  • Wallet: Metamask installed

Validator Requirements

  • Node requirements +

  • ETH balance: at least 32 ETH and some ETH for deposit transaction fees

Comment configurer un validateur Ethereum.

Client

Execution Client

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.

Consensus Client

RPC

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.

RPC Node

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.

NaaS (Node-as-a-Service)

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).

Provider list

Pour une liste de solutions plus complète, NaaS provider list.

JSON-RPC API

JSON-RPC est le format standard de l'API sur Ethereum.

RPC Problematic

Privacy

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.

e.g. Infura & Alchemy

Liste des RPC publics et statut des données récoltées.

Censure

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

e.g. Infura (RPC par défaut sur Metamask) & Alchemy dit OFAC compliant censurant l'accès à des applications telles que Tornado Cash.

MEV risk

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.

La mempool étant publique, vous êtes exposés à des sandwich attack, si aucune mesure n'a été prise au niveau du RPC et/ou slippage.

Si vous voulez en savoir plus, MEV documentation.

RPC protection list

Censure Protection : Chainlist

MEV protection : Flashbots

Staking node Infrastructure

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.

Local validator (on-prem)

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).

VPS validator(Cloud/IaaS)

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)

Provider list

SaaS (Staking-as-a-Service)

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.

Provider list

Pour une liste de solutions plus complète, SaaS provider list.

Pooled Staking

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é.

Pour plus de détails sur la configuration des validateurs servant ces protocoles, Rated.Network.

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.

Staking pool & CEX list

Pour une liste de solution plus complète, Pooled Staking list.

Refs

Last updated