Ce qui suit est basé sur un récent Twitter Spaces, avec les enthousiastes du client léger Phil Ngo, Gajinder Singh (Lodestar), Guillaume Ballet (Geth), et Matt Garnett (EF).
Chez Lodestar, nous sommes depuis longtemps partisans des clients légers, des logiciels qui se connectent à des nœuds complets pour interagir avec la blockchain. En tant qu'alternative respectueuse des ressources et sans confiance à l'exécution de votre propre nœud complet, les clients légers réduisent la nécessité de faire confiance à des tiers. Bien qu'ils ne confirment pas les blocs, ils sont précieux en termes d'accès direct aux données de la blockchain sans confiance.
Cependant, malgré toute leur valeur théorique, il reste encore du travail à faire pour que les clients légers deviennent un élément standard de l'interaction avec Ethereum. Nous examinerons ci-dessous certains défis existants (et les progrès réalisés) tout en soulignant l'importance de la confiance sans entraver l'expérience de l'utilisateur.
La manière la plus décentralisée et la plus fiable d'utiliser Ethereum est d'exécuter un nœud complet. Mais ce n'est pas une tâche facile : il faut maintenir une copie indépendante de la blockchain et un accès direct et instantané au réseau peer-to-peer d'Ethereum, ce qui nécessite beaucoup de mémoire, de stockage et d'unité centrale, ce qui rend l'opération irréalisable pour de nombreux utilisateurs. Sans compter que, dans de nombreux cas, il n'est pas nécessaire de valider l'ensemble de la chaîne.
Les solutions à ce problème, telles que l'apatridie, ne deviendront pas réalité avant des années. Pour l'instant, sacrifier quelques avantages de l'exploitation d'un nœud complet pour fonctionner avec des exigences matérielles minimales est une solution prometteuse sur laquelle nous sommes optimistes.
Nous avons d'ailleurs publié un article sur les clients légers l'année dernière, les présentant comme une solution à certains de nos problèmes.
À cette fin, les clients légers jouent un rôle central dans les systèmes de blockchain, offrant aux utilisateurs qui ne souhaitent pas exécuter des nœuds complets un accès sécurisé à Ethereum sans synchroniser l'ensemble du réseau.
Au lieu de stocker les données de la blockchain locale et de vérifier les changements de manière autonome, les clients légers acquièrent les données dont ils ont besoin auprès d'un fournisseur, qui pourrait se connecter directement à un nœud complet. Ces données sont ensuite traitées par le nœud léger, ce qui lui permet de confirmer qu'il fait partie de la chaîne canonique et de rester à jour.
Ethereum n'est pas le seul écosystème à travailler activement sur les clients légers.
Comme nous le savons tous, l'exécution d'un nœud complet implique des tâches gourmandes en ressources et des limitations concernant les capacités des appareils et les exigences en matière de calcul. Si les clients légers peuvent sembler une solution simple, ils ont toujours été difficiles à mettre en œuvre.
Cependant, la fusion a fondamentalement modifié ce que signifie être un client léger sur Ethereum, à la fois en termes de fonctionnement et d'offre. Le hard fork d'Altair a introduit le comité de synchronisation, c'est-à-dire un moyen utile d'obtenir un consensus léger sur ce qu'est la tête de la chaîne. Il s'agit essentiellement d'une intégration plus native des clients légers dans le protocole.
Avec la preuve d'enjeu, nous disposons désormais d'un protocole client léger qui vous permet de choisir n'importe quelle partie de la chaîne, de construire une preuve et d'effectuer un examen approfondi. Cela n'était pas disponible auparavant, ce qui rend l'ensemble de l'espace plus intéressant et encourage davantage de personnes à construire autour des clients légers.
Prover de Lodestar
L'équipe de Lodestar a notamment travaillé sur un prouveur. Il s'agit d'utiliser la synchronisation du client léger pour vérifier les données du côté de l'exécution, et donc de vérifier que les informations que vous recevez d'un fournisseur (comme Infura) sont correctes.
On espère que ce genre de choses ajoutera une nouvelle couche de sécurité et un peu plus de décentralisation au protocole. Il ne s'agit là que d'une première étape. Nous avons besoin de plus d'exemples concrets de ce qui peut être construit avec ce potentiel.
La réponse à cette question est moins liée à l'aspect technique qu'à l'adoption des PoC et de l'infrastructure dont nous disposons (par exemple, la bibliothèque Prover).
Nous devons ajouter des capacités de preuve concernant les transactions et les reçus, ce qui nous obligerait à passer à l'encodage SSZ des transactions, mais à part cela, du point de vue du protocole, nous sommes prêts.
Nous pouvons utiliser cette technologie dès maintenant ! En termes d'interface utilisateur, cependant, nous devons parvenir à ce que le client léger fonctionne simplement en arrière-plan et ne perturbe pas les utilisateurs ou ne leur demande pas d'effectuer des démarches supplémentaires.
Il est bien sûr difficile de forcer l'adoption de quelque chose dans un espace décentralisé, mais nous devrions réfléchir à la manière d'utiliser des incitations pour promouvoir cela et à la manière dont nous pourrions amener MetaMask, Rainbow, etc. à l'envisager également.
La modification de la structure des données pour une plus grande efficacité - le passage de la configuration de l'arbre Merkle Patricia aux nouveaux arbres Verkle - change la donne pour les clients légers qui auraient autrement du mal à gérer des preuves de taille importante.
L'introduction des arbres de Verkle répond à cette préoccupation par le biais d'une nouvelle structure de données. Grâce à son utilisation innovante de techniques basées sur les polynômes, les arbres Verkle réduisent considérablement la taille des preuves requises pour la vérification, ce qui rend le processus plus gérable et plus rationnel pour les clients légers.
"L'idée est que grâce à Verkle, vous disposez de petites preuves. Grâce à cela, vous pouvez fournir aux clients légers, que nous appellerons les clients apatrides, un moyen de vérifier tout ce qui a été donné, ce qui réduit la confiance".
Cette mise à jour marque un changement fondamental dans la manière dont les clients légers interagissent avec les données d'Ethereum, en améliorant leur capacité à vérifier efficacement l'état de la blockchain sans compromettre la sécurité ou la confiance.
Non seulement cela profite aux clients légers actuels, mais cela prépare également le terrain pour les innovations futures, en créant un espace où les utilisateurs peuvent traiter avec Ethereum de manière plus fluide, plus sûre et plus efficace.
Il s'agit d'un sujet quelque peu controversé qui fait actuellement l'objet d'un débat. Selon Guillaume, "je pense que nous ne devrions pas encore harmoniser la structure des données parce que les L2 sont en train d'expérimenter, ce sont des gens qui vont vite et qui cassent tout, et les L1 sont plus prudents et un peu plus conservateurs".
La vérité est que nous avons probablement besoin de plus de temps pour envisager la normalisation. La question du calendrier reste ouverte, mais il faudra peut-être attendre cinq à dix ans avant que la communauté ne puisse même envisager un processus d'harmonisation.
Ce retard est sans doute justifié par la nature complexe des couches d'Ethereum et par la difficulté de mettre en œuvre des changements en raison des technologies et des conceptions déjà en place. En résumé, nous devrions attendre un moment plus propice pour tout effort de normalisation potentiel, afin de permettre une infrastructure Ethereum plus mature et stabilisée.
Les créateurs d'Ethereum du monde entier se réuniront à Istanbul, en Turquie, la semaine prochaine pour Devconnect - rejoignez-nous pour la troisième itération du Light Client Summit, avec des présentations et des discussions sur l'orientation du développement des clients légers !
Vous ne pouvez pas venir ? Restez à l'écoute sur Twitter, rejoignez la conversation sur Telegram ou participez à l'action via Discord #light-clients.
Lodestar est le plus récent client de consensus Ethereum construit avec TypeScript et maintenu par ChainSafe. Notre client et nos bibliothèques open-source rendent le développement sur Ethereum accessible au plus grand groupe de développeurs au monde. En mettant l'accent sur les clients légers, Lodestar vise à améliorer la facilité d'utilisation des données vérifiables de la blockchain pour tous les types d'appareils et leurs utilisateurs.
Contribuer à la diversité de la clientèle. Exécutez Lodestar avec notre guide de démarrage rapide. Vous avez une question ? Visitez notre Discord👋
Ce qui suit est basé sur un récent Twitter Spaces, avec les enthousiastes du client léger Phil Ngo, Gajinder Singh (Lodestar), Guillaume Ballet (Geth), et Matt Garnett (EF).
Chez Lodestar, nous sommes depuis longtemps partisans des clients légers, des logiciels qui se connectent à des nœuds complets pour interagir avec la blockchain. En tant qu'alternative respectueuse des ressources et sans confiance à l'exécution de votre propre nœud complet, les clients légers réduisent la nécessité de faire confiance à des tiers. Bien qu'ils ne confirment pas les blocs, ils sont précieux en termes d'accès direct aux données de la blockchain sans confiance.
Cependant, malgré toute leur valeur théorique, il reste encore du travail à faire pour que les clients légers deviennent un élément standard de l'interaction avec Ethereum. Nous examinerons ci-dessous certains défis existants (et les progrès réalisés) tout en soulignant l'importance de la confiance sans entraver l'expérience de l'utilisateur.
La manière la plus décentralisée et la plus fiable d'utiliser Ethereum est d'exécuter un nœud complet. Mais ce n'est pas une tâche facile : il faut maintenir une copie indépendante de la blockchain et un accès direct et instantané au réseau peer-to-peer d'Ethereum, ce qui nécessite beaucoup de mémoire, de stockage et d'unité centrale, ce qui rend l'opération irréalisable pour de nombreux utilisateurs. Sans compter que, dans de nombreux cas, il n'est pas nécessaire de valider l'ensemble de la chaîne.
Les solutions à ce problème, telles que l'apatridie, ne deviendront pas réalité avant des années. Pour l'instant, sacrifier quelques avantages de l'exploitation d'un nœud complet pour fonctionner avec des exigences matérielles minimales est une solution prometteuse sur laquelle nous sommes optimistes.
Nous avons d'ailleurs publié un article sur les clients légers l'année dernière, les présentant comme une solution à certains de nos problèmes.
À cette fin, les clients légers jouent un rôle central dans les systèmes de blockchain, offrant aux utilisateurs qui ne souhaitent pas exécuter des nœuds complets un accès sécurisé à Ethereum sans synchroniser l'ensemble du réseau.
Au lieu de stocker les données de la blockchain locale et de vérifier les changements de manière autonome, les clients légers acquièrent les données dont ils ont besoin auprès d'un fournisseur, qui pourrait se connecter directement à un nœud complet. Ces données sont ensuite traitées par le nœud léger, ce qui lui permet de confirmer qu'il fait partie de la chaîne canonique et de rester à jour.
Ethereum n'est pas le seul écosystème à travailler activement sur les clients légers.
Comme nous le savons tous, l'exécution d'un nœud complet implique des tâches gourmandes en ressources et des limitations concernant les capacités des appareils et les exigences en matière de calcul. Si les clients légers peuvent sembler une solution simple, ils ont toujours été difficiles à mettre en œuvre.
Cependant, la fusion a fondamentalement modifié ce que signifie être un client léger sur Ethereum, à la fois en termes de fonctionnement et d'offre. Le hard fork d'Altair a introduit le comité de synchronisation, c'est-à-dire un moyen utile d'obtenir un consensus léger sur ce qu'est la tête de la chaîne. Il s'agit essentiellement d'une intégration plus native des clients légers dans le protocole.
Avec la preuve d'enjeu, nous disposons désormais d'un protocole client léger qui vous permet de choisir n'importe quelle partie de la chaîne, de construire une preuve et d'effectuer un examen approfondi. Cela n'était pas disponible auparavant, ce qui rend l'ensemble de l'espace plus intéressant et encourage davantage de personnes à construire autour des clients légers.
Prover de Lodestar
L'équipe de Lodestar a notamment travaillé sur un prouveur. Il s'agit d'utiliser la synchronisation du client léger pour vérifier les données du côté de l'exécution, et donc de vérifier que les informations que vous recevez d'un fournisseur (comme Infura) sont correctes.
On espère que ce genre de choses ajoutera une nouvelle couche de sécurité et un peu plus de décentralisation au protocole. Il ne s'agit là que d'une première étape. Nous avons besoin de plus d'exemples concrets de ce qui peut être construit avec ce potentiel.
La réponse à cette question est moins liée à l'aspect technique qu'à l'adoption des PoC et de l'infrastructure dont nous disposons (par exemple, la bibliothèque Prover).
Nous devons ajouter des capacités de preuve concernant les transactions et les reçus, ce qui nous obligerait à passer à l'encodage SSZ des transactions, mais à part cela, du point de vue du protocole, nous sommes prêts.
Nous pouvons utiliser cette technologie dès maintenant ! En termes d'interface utilisateur, cependant, nous devons parvenir à ce que le client léger fonctionne simplement en arrière-plan et ne perturbe pas les utilisateurs ou ne leur demande pas d'effectuer des démarches supplémentaires.
Il est bien sûr difficile de forcer l'adoption de quelque chose dans un espace décentralisé, mais nous devrions réfléchir à la manière d'utiliser des incitations pour promouvoir cela et à la manière dont nous pourrions amener MetaMask, Rainbow, etc. à l'envisager également.
La modification de la structure des données pour une plus grande efficacité - le passage de la configuration de l'arbre Merkle Patricia aux nouveaux arbres Verkle - change la donne pour les clients légers qui auraient autrement du mal à gérer des preuves de taille importante.
L'introduction des arbres de Verkle répond à cette préoccupation par le biais d'une nouvelle structure de données. Grâce à son utilisation innovante de techniques basées sur les polynômes, les arbres Verkle réduisent considérablement la taille des preuves requises pour la vérification, ce qui rend le processus plus gérable et plus rationnel pour les clients légers.
"L'idée est que grâce à Verkle, vous disposez de petites preuves. Grâce à cela, vous pouvez fournir aux clients légers, que nous appellerons les clients apatrides, un moyen de vérifier tout ce qui a été donné, ce qui réduit la confiance".
Cette mise à jour marque un changement fondamental dans la manière dont les clients légers interagissent avec les données d'Ethereum, en améliorant leur capacité à vérifier efficacement l'état de la blockchain sans compromettre la sécurité ou la confiance.
Non seulement cela profite aux clients légers actuels, mais cela prépare également le terrain pour les innovations futures, en créant un espace où les utilisateurs peuvent traiter avec Ethereum de manière plus fluide, plus sûre et plus efficace.
Il s'agit d'un sujet quelque peu controversé qui fait actuellement l'objet d'un débat. Selon Guillaume, "je pense que nous ne devrions pas encore harmoniser la structure des données parce que les L2 sont en train d'expérimenter, ce sont des gens qui vont vite et qui cassent tout, et les L1 sont plus prudents et un peu plus conservateurs".
La vérité est que nous avons probablement besoin de plus de temps pour envisager la normalisation. La question du calendrier reste ouverte, mais il faudra peut-être attendre cinq à dix ans avant que la communauté ne puisse même envisager un processus d'harmonisation.
Ce retard est sans doute justifié par la nature complexe des couches d'Ethereum et par la difficulté de mettre en œuvre des changements en raison des technologies et des conceptions déjà en place. En résumé, nous devrions attendre un moment plus propice pour tout effort de normalisation potentiel, afin de permettre une infrastructure Ethereum plus mature et stabilisée.
Les créateurs d'Ethereum du monde entier se réuniront à Istanbul, en Turquie, la semaine prochaine pour Devconnect - rejoignez-nous pour la troisième itération du Light Client Summit, avec des présentations et des discussions sur l'orientation du développement des clients légers !
Vous ne pouvez pas venir ? Restez à l'écoute sur Twitter, rejoignez la conversation sur Telegram ou participez à l'action via Discord #light-clients.
Lodestar est le plus récent client de consensus Ethereum construit avec TypeScript et maintenu par ChainSafe. Notre client et nos bibliothèques open-source rendent le développement sur Ethereum accessible au plus grand groupe de développeurs au monde. En mettant l'accent sur les clients légers, Lodestar vise à améliorer la facilité d'utilisation des données vérifiables de la blockchain pour tous les types d'appareils et leurs utilisateurs.
Contribuer à la diversité de la clientèle. Exécutez Lodestar avec notre guide de démarrage rapide. Vous avez une question ? Visitez notre Discord👋