Les derniers mois ont été marqués par des hacks, attaques DoS et autres hard forks sur le réseau Ethereum, le dernier en date ayant été déployé la semaine dernière (hard-fork Spurious Dragon). Aujourd’hui, l’équipe de recherche de la Fondation, dirigée par Vitalik Buterin, se (re)tourne résolument vers l’avenir. Elle a communiqué le 4 décembre 2016 sur les prochaines étapes du développement du protocole dans un billet sur le blog officiel intitulé « Ethereum Reseach Update ». Feuille de route des prochains mois.
Metropolis : la version « grand public » du réseau est sur les rails
La prochaine étape du développement d’Ethereum s’appelle Metropolis. Cette mise à jour doit rendre le réseau utilisable et abordable par le grand public, et inclut des améliorations qui sont déjà en test aujourd’hui comme le navigateur Mist, l’Ethereum Name Service et le light client (client léger). Ces nouveautés ont été lancés ces derniers mois dans une relative discrétion mais sont pour la plupart déjà partiellement fonctionnelles. Metropolis doit également inclure une implémentation de Swarm, le protocole de partage de fichiers décentralisé développé par la Fondation.
Sur le plan du protocole, un hard-fork est prévu et inclura notamment les changements suivants, qui ont pour objectif de le rendre plus sûr et plus efficace :
- EIP 86 (account security abstraction) – Déplacer les processus de vérification des signatures et des nonces depuis le protocole dans les contrats eux-même, permettant aux développeurs d’expérimenter de nouveaux schémas de signature, des technologies de préservation de la vie privée et des modifications du protocole sans nécessiter d’autres forks. Permets également aux contrats de payer le gaz directement.
- EIP 96 (blockhash and state root changes) – Simplifie les implémentations du protocole et des clients, et permet de mettre à jour les light clients (clients légers) et les protocoles de synchronisation rapide pour les rendre beaucoup plus sûrs.
- Contrats précompilés / natifs pour des opérations de courbes elliptiques et arithmétique à grands nombres entiers, permettant des applications efficaces basées sur les ring signature (signature de cercle) ou le chiffrement RSA.
- Diverses améliorations qui permettront un traitement plus rapide des transactions.
Ces modifications ont pour objet de faire évoluer le protocole vers ce que la Fondation appelle l’abstraction. Cela signifie qu’à la place du système actuel dans lequel des règles complexes du protocole encadrent la création des contrats, la validation des transactions, le minage ou les autres modalités de fonctionnement d’Ethereum, la Fondation cherche à transférer la logique du protocole dans l’Ethereum Virtual Machine elle-même ; cette logique serait alors rédigée sous la forme de smart-contrats – presque – comme les autres. Cela permettrait de réduire la complexité des clients de la blockchain, de réduire le risque de pertes de consensus et de rendre rends les hard forks plus aisés et plus sécurisés – le hard fork pouvant dans certains cas être un simple fichier de configuration qui change le code de quelques contrats…
En réduisant la complexité du protocole lui-même, la Fondation a pour objectif de réduire largement la surface d’attaque d’Ethereum et d’ouvrir certaines parties du protocole à l’expérimentation des utilisateurs.
A noter qu’aucune date de sortie n’a été communiquée pour cette mise à jour significative. Compte tenu des objectifs affichés, il ne faudra rien attendre avant plusieurs mois.
Preuve d’enjeu, sharding et cryptoéconomie
La recherche sur Casper, c’est à dire la preuve d’enjeu et le sharding décrits dans le Mauve Paper et prévus dans la mise à jour Serenity, plus ambitieuse techniquement, progresse de façon constante depuis un an. Le PoC 3 de Casper est en cours de développement. Il fonctionne de façon satisfaisante mais il reste des imperfections dans la façon dont les incitations économiques sont programmées.
Il faut noter que la recherche sur Casper se fait en collaboration avec le monde académique (notamment un bootcamp à l’IC3 et un séminaire de recherche à Singapour). L’objectif principal de ces travaux académiques est la définition de règles d’incitation cryptoéconomiques qui doivent assurer que :
- même si un attaquant contrôle 90 % du réseau, il ne puisse pas mener à bien une attaque sans perdre énormément d’argent ; et
- il soit impossible pour un attaquant de faire perdre une grosse quantité d’argent à quelqu’un sans être au moins aussi affecté par l’attaque.
Pour avancer de façon concrète sur le protocole, deux approches ont été suivies simultanément par Vitalik Buterin et Vlad Zamfir. Vitalik a une approche dite à « finalité exponentielle », qui récompense les validateurs pour faire des paris avec une confiance croissante et les pénalise si leurs paris sont faux. L’approche de Vlad est dite « correcte par construction » et met l’accent sur la pénalisation des validateurs seulement si ils sont équivoques (c.-à-d. s’ils signent deux messages incompatibles). Ils ont récemment mis en commun leurs recherches et ont défini les grandes règles d’un protocole commun.
Vitalik a également rédigé deux FAQs sur la preuve d’enjeu et le sharding, en cours de traduction.
Là encore, aucune date précisée, mais compte tenu de l’avancement des travaux de recherche, il semble clair que le déploiement effectif de cette mise à jour Serenity ne sera pas faite avant plusieurs mois, au mieux, voire en début 2018.
Limiter la taille de l’état
Une autre dimension importante dans l’évolution du protocole est la taille de l’état (state), c’est à dire le fichier contenant le dernier état de l’ensemble des comptes de la blockchain (à l’opposé de l’historique, qui comprend l’ensemble des transactions qui ont été réalisées pour arriver à cet état). Comment réduire la quantité d’informations d’état que les noeuds complets doivent suivre ? À l’heure actuelle, l’état occupe environ un gigaoctet de taille (le reste des données qu’un nœud stocke actuellement est l’historique des transactions et ces données peuvent théoriquement être élaguées une fois qu’il existera un protocole client léger robuste). A la suite de l’attaque DoS, il a été constaté que la facilité d’utilisation du protocole se dégrade de plusieurs ordres de grandeur si l’état devient trop grand. De même, le sharding devient beaucoup plus difficile car les groupes de validateurs ont besoin de noeuds capables de télécharger rapidement des parties de l’état pour valider les blocs. Il existe plusieurs pistes de réflexions pour améliorer la taille ou la gestion de l’état, mais aucune n’est réellement satisfaisante pour l’instant. La recherche se poursuit donc.
On constate donc que de nombreux axes de recherche sont explorés simultanément par l’équipe, certains travaux s’inscrivant dans un temps plus long et s’apparentant à de la recherche fondamentale (on pense aux travaux sur Casper) alors que certains ont pour objectif l’amélioration progressive du protocole de façon concrète (mise à jour Metropolis). On mesure à la fois le travail déjà fourni, colossal, et celui qu’il reste à faire, tout aussi colossal. L’effort de communication de la Fondation est en tout cas apprécié, d’autant que le billet se conclut sur une promesse : une communication régulière sur l’ensemble de ces sujets dans le futur. Malgré les embûches, la construction de la vision initiale d’un monde décentralisé se poursuit !
A peine la feuille de route publié sur le blog d’Ethereum que l’on a déjà la traduction!
Merci
Bonjour,
Selon vous, quel sera l’impact de Metropolis sur le cours de l’Ethereum ?
Merci, le site est très clair !