Clients apatrides : la voie d'Ethereum vers la décentralisation

Auteur : YQ, fondateur d'AltLayer ; Traduction : Golden Finance cryptonaitive

À mesure que l’utilisation d’Ethereum augmente, l’exécution d’un nœud complet devient plus exigeante en ressources et en bande passante. Il en résulte que de moins en moins de personnes sont capables d'exécuter des nœuds complets, ce qui rend le réseau moins décentralisé. De plus, Ethereum est confronté à des difficultés de mise à l’échelle à mesure que la demande de transactions augmente, ce qui entraîne une congestion du réseau et des frais de gaz élevés.

Le client apatride proposé par Vitalik en 2017 offre une solution potentielle aux défis de décentralisation auxquels Ethereum est confronté. L'idée clé d'un client sans état est de réduire les besoins de stockage et de bande passante requis pour exécuter un nœud complet, permettant ainsi à davantage de personnes de participer et de décentraliser le réseau. Cet article examinera en profondeur le fonctionnement des clients apatrides ainsi que leurs avantages et inconvénients potentiels.

Qu'est-ce que l'état d'Ethereum ?

Pour comprendre les clients apatrides, nous devons d’abord comprendre le concept « d’État » dans Ethereum. L’état d’Ethereum fait référence à l’état actuel de tous les comptes, contrats, soldes, objets occasionnels et stockage dans le monde Ethereum. Il peut être considéré comme une base de données qui stocke toutes les informations pertinentes sur le réseau Ethereum à un moment donné.

L'état est conservé sous la forme d'un trie Merkle Patricia, qui est essentiellement un arbre Merkle modifié utilisé pour stocker les paires clé-valeur. Le hachage racine du trie résume l’intégralité de l’état. À chaque nouveau bloc, le statut est mis à jour en fonction des transactions dans ce bloc. Le hachage racine du nouvel état est inclus dans l’en-tête du bloc.

Au fil du temps, l’état d’Ethereum est devenu de plus en plus grand à mesure que de nouveaux comptes, contrats et transactions étaient ajoutés. Actuellement, la taille de l’État dépasse 1 To, avec des dizaines de Go ajoutés chaque année. Cet État en pleine croissance est à l’origine du problème de la décentralisation.

Pourquoi la croissance de l'État pose problème

L’augmentation de la taille de l’État Ethereum a conduit à certains problèmes clés :

● Temps de synchronisation long pour les nouveaux nœuds - Il faut beaucoup de temps aux nouveaux nœuds pour synchroniser tous les changements d'état historiques. Cela augmente la difficulté d’exécuter de nouveaux nœuds complets, ce qui entrave la décentralisation. La synchronisation des nouveaux nœuds du bloc Genesis vers le dernier état prend actuellement plusieurs jours, voire plusieurs semaines, ce qui, pour le matériel grand public, constitue un obstacle majeur au lancement efficace de nouveaux nœuds et à permettre à davantage de participants de rejoindre le réseau.

● Exigences matérielles accrues – Les états plus grands nécessitent davantage de stockage, de mémoire et de puissance de traitement pour le stockage, l'accès et la mise à jour. Cela rend impossible pour les utilisateurs disposant de moins de ressources d’exécuter des nœuds. L’exécution d’un nœud Ethereum entièrement synchronisé nécessite désormais au moins un SSD d’une capacité de 1 à 2 To. Ceci est hors de portée pour de nombreux opérateurs de nœuds potentiels.

● Utilisation accrue de la bande passante – la diffusion d'un nouveau bloc doit également inclure l'état mis à jour, ce qui nécessite davantage de bande passante. Cela augmente les coûts pour les opérateurs de nœuds. Actuellement, l’État domine la plupart des diffusions en bloc, de sorte que la taille des blocs continue de croître. Une plus grande bande passante se traduit par des coûts plus élevés pour les opérateurs de nœuds.

● Vérification des blocs ralentie – La lecture et la mise à jour d'états plus grands ralentissent la vérification des blocs, limitant ainsi le débit des transactions. Chaque transaction nécessite plusieurs lectures et écritures dans le stockage pour mettre à jour les soldes, les valeurs occasionnelles, l'état du contrat, etc. Un état plus grand signifie plus de lectures/écritures par bloc, réduisant ainsi le nombre de transactions pouvant être traitées par seconde.

● Coût de stockage permanent – Une fois les données ajoutées à l'état, elles doivent être stockées de manière permanente. Cela provoque la croissance de l’état illimité. Il n'existe actuellement aucun mécanisme permettant de supprimer de manière proactive les données d'état anciennes et inutilisées. Par conséquent, tant qu’Ethereum continuera de fonctionner, les coûts de rétention de l’État augmenteront indéfiniment.

Qu'est-ce qu'un client apatride ?

Les clients sans état offrent un moyen de valider de nouveaux blocs sans avoir besoin d’accéder à l’état complet d’Ethereum. Ils utilisent des preuves cryptographiques appelées « témoins » pour prouver la validité des changements d’état dans un bloc sans nécessiter de données d’état spécifiques.

Le client apatride fonctionne comme suit :

  1. Le client stocke uniquement l'en-tête de bloc et la racine d'état, pas les données d'état complètes. L'en-tête du bloc contient des métadonnées telles que le hachage racine du trie d'état après le traitement du bloc.

  2. Lors de la validation d'un nouveau blocage, le client reçoit un "témoin" avec le blocage. Ce témoin est un ensemble de preuves Merkle qui prouvent qu'une mise à jour d'état spécifique dans la transaction est valide.

  3. Le témoin contient la preuve Merkle d'une valeur d'état spécifique, qui est utilisée pour traiter les transactions. Par exemple, les mises à jour des soldes des comptes ou du stockage sous contrat.

  4. Le client utilise un témoin pour garantir la validité de la dernière racine d'état connue de la paire de transactions. La preuve vérifie que le changement d'état correspond à la racine précédente.

  5. S'il est valide, le client met à jour la nouvelle racine d'état fournie dans l'en-tête du bloc. Cette nouvelle racine d'état sera utilisée pour valider le bloc suivant.

En utilisant des témoins pour vérifier l’état, plutôt que de stocker l’état complet localement, les clients apatrides bénéficient de plusieurs avantages :

● Temps de synchronisation très rapides – pas besoin de synchroniser entièrement les changements d'état historiques. Les clients sans état peuvent se synchroniser presque instantanément, ne nécessitant que des en-têtes de bloc.

● Faibles besoins de stockage - la racine de l'état ne fait que 32 octets. Au lieu de centaines de gigaoctets d’état, seuls les en-têtes de bloc sont nécessaires.

● Moins d'utilisation de la bande passante : seuls les en-têtes de bloc et les témoins sont transmis, plutôt que l'état complet. L'utilisation de la bande passante est minimisée.

● Vérification rapide : les témoins ne contiennent qu'un petit sous-ensemble d'états pertinents. Seuls les comptes/magasins mis à jour se révèlent utiles.

● Prise en charge facile des clients légers – Les clients légers peuvent facilement vérifier les preuves. Le modèle client léger est très compatible avec la validation sans état.

Défis des clients apatrides

Bien que les clients apatrides apportent des avantages significatifs, ils présentent également des défis techniques importants :

● Taille des témoins : les témoins peuvent être trop nombreux pour être transmis efficacement. Si des épreuves Merkle complètes sont utilisées, elles peuvent dépasser la limite de taille de bloc.

● Création de témoins - La génération de témoins optimaux est complexe pour les proposants de blocs. Le proposant doit rassembler les bons éléments de preuve pour vérifier chaque transaction.

● Aucune incitation au témoignage – Il n'y a aucune récompense directe pour le témoignage. Contrairement au secteur minier, il n’existe pas d’incitations intégrées pour la création de témoins.

● Données temporaires : les témoins prouvent leur statut à un moment donné et doivent être régénérés. Les témoins ne peuvent pas être réutilisés pendant le développement de l'État.

● Stockage de l'état – Quelqu'un doit encore maintenir l'état complet pour générer des témoins. La validation sans état repose sur la génération de témoins avec état.

● Applications complexes - Certains contrats peuvent s'appuyer sur des sous-ensembles d'états plus importants, ce qui rend le témoin volumineux. Par exemple, un contrat qui met à jour de nombreux emplacements de stockage par transaction.

Solutions possibles

Les chercheurs ont proposé diverses solutions pour relever ces défis :

● Arbre Verkle – une structure de données spéciale utilisée pour réduire la taille des témoins. Les arbres Verkle utilisent des engagements cryptographiques concis pour minimiser la taille de la preuve.

● Cache de témoins : les proposants peuvent conserver des témoins récents pour les réutiliser. La mise en cache peut être là encore utile dans la mesure où le coût de création peut être amorti.

● Incitations au protocole – fournir un mécanisme de récompense pour les témoins utiles. De nouvelles structures d'incitation peuvent compenser la création de témoins.

● Racines d'état intermédiaires – Suivez les racines au fil du temps pour éviter de régénérer les preuves. La conservation de parties de la racine permet la réutilisation de fragments témoins.

● Loyer de condition – Nécessite un paiement pour maintenir l'état au fil du temps, éliminant ainsi l'état inutilisé. Rent impose le nettoyage des stockages obsolètes pour limiter la taille des épreuves.

● Modèle témoin partitionné – traitement de l'état partagé entre les proposants et les validateurs. Un certain nombre de nœuds proposants dédiés génèrent des témoins.

Il existe des compromis entre ces approches et des recherches supplémentaires sont nécessaires pour découvrir la mise en œuvre optimale. Heureusement, l’innovation rapide dans le domaine de la cryptographie à connaissance nulle pourrait ouvrir de nouvelles possibilités pour les clients apatrides efficaces.

Impact potentiel

Si les obstacles techniques peuvent être surmontés, les clients apatrides pourraient considérablement stimuler la croissance d’Ethereum :

● Synchronisation et vérification plus rapides pour prendre en charge un débit de transaction plus élevé. La vérification sans état accélérera considérablement le traitement des blocs.

● Réduisez les ressources requises pour exécuter les nœuds et améliorez la décentralisation. Les ordinateurs portables et les amateurs peuvent, de manière réaliste, exécuter des nœuds complets.

● Meilleure prise en charge des clients légers tels que les portefeuilles mobiles. La preuve d’état est hautement compatible avec le modèle client léger.

● Introduisez le partitionnement de manière plus fluide et effectuez une vérification sans état entre les fragments. Les transactions entre fragments peuvent tirer parti de preuves d’état efficaces.

● La possibilité de supprimer et d'élaguer les anciennes données d'état qui ne sont plus utiles. La croissance de l’État peut être gérée activement, plutôt que de croître indéfiniment.

● La possibilité pour les opérateurs de nœuds de personnaliser le statut de manière plus flexible en fonction des besoins. Les nœuds peuvent personnaliser les politiques de conservation de l'état en fonction des cas d'utilisation.

● Transition vers un modèle dans lequel le calcul et la bande passante sont plus importants que le stockage. L'architecture évolue vers des modèles plus adaptés au cloud.

Il existe également des risques potentiels, tels qu'une vulnérabilité accrue aux attaques DDoS et le fait que seuls quelques opérateurs de nœuds stockent de manière fiable l'historique de la blockchain. Toutefois, les preuves cryptographiques peuvent réduire ces risques. Dans l’ensemble, les clients apatrides constituent l’un des moyens les plus prometteurs de surmonter les limites actuelles d’Ethereum.

en conclusion

À mesure que l’adoption augmente, la taille croissante de l’État d’Ethereum pose un défi à la décentralisation. Les clients sans état fournissent une solution en permettant aux nœuds de vérifier les transactions sans nécessiter l'état complet de la blockchain. Cela pourrait éventuellement permettre aux téléphones mobiles d’exécuter des nœuds Ethereum, augmentant ainsi considérablement la décentralisation.

Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)