Ce dimanche 30 juin était une date importante pour le futur du protocole : les spécifications de la « Beacon Chain » première phase de déploiement d’Ethereum 2.0 ont été « gelées » (freeze), selon un consensus unanime des chercheurs. Aucune modification importante ne sera donc plus faite sur ces spécifications, hors découverte d’un bug lors des futures phases d’implémentations.
Cela signifie que les développeurs de clients, déjà à pied d’oeuvre pour implémenter les premières spécifications en réseau de test, ont maintenant le champ libre ; alors qu’ils étaient jusqu’ici perpétuellement en attente de la sortie de la dernière version et à la merci d’une modification importante qui leur aurait fait perdre beaucoup de travail, ils peuvent maintenant avancer plus sereinement. Eux-mêmes vont apporter l’essentiel des modifications finales aux spécifications, en retour de leurs travaux d’implémentation sur lesquelles il sera possible de réaliser des tests plus poussés (vérification formelle, fuzzing et audits).
Il s’agit donc d’une étape importante pour le déploiement d’Ethereum 2.0 (aussi appelé « Serenity« ), dont le plan de développement se décompose en 3 phases, étalées sur trois ans :
- La Phase 0, dite « Beacon Chain », est constituée d’une toute nouvelle chaîne fonctionnant en « Proof of Stake » (preuve d’enjeu) selon le protocole développé depuis plusieurs années par une équipe de chercheurs menés par Vitalik Buterin. Cette nouvelle chaîne a pour objet principal de tester le modèle de Proof of Stake « Casper FFG » complètement décentralisé – et dont le succès représenterai une avancée majeure dans le domaine des protocoles de consensus. Elle sera également la base sur laquelle sera construite les autres étapes d’Ethereum 2.0, générant notamment des chiffres aléatoires qui seront utilisés par toutes les autres phases. Il sera possible de « staker » de l’ETH sur cette chaîne, mais elle ne sera pas capable d’enregistrer des états complexes ni d’exécuter des smart-contracts. Pour valider la chaîne « Beacon », il sera nécessaire de mettre en dépôt un bloc de 32 ETH qui seront mis en gage et perdus en cas de comportement non-conforme au protocole. Ces 32 ETH devront être « migrés » depuis la chaîne Ethereum 1.0.
- La Phase 1, dite « Shard Chain », consistera à déployer les « shards » (la fragmentation), une multitude de sous-chaînes rattachées à la chaine principale « Beacon ». Mais aussi à s’assurer qu’elles soient toutes sécurisées efficacement par cette Beacon Chain unique. Ces Shards seront des plus petites chaînes qui fonctionneront en parallèle et pourront donc normalement traiter simultanément plusieurs transactions, augmentant fortement la capacité totale d’Ethereum. Lors de cette phase, les « shards » ne peuvent pas exécuter de smart-contracts mais seulement contenir un état.
- La Phase 2 dite, « State Execution » (exécution d’états) qui visera à ajouter à chacun de ces shards un moteur d’exécution de façon similaire à ce qui existe déjà sur Ethereum 1.0 (l’Ethereum Virtual Machine). Ce n’est qu’à l’issue de cette phase qu’Ethereum 2.0 sera entièrement finalisé et disposera de toutes les fonctionnalités d’Ethereum 1.0, améliorées par le Proof of Stake et le Sharding, comme promis depuis de nombreuses années maintenant.
Dans l’intervalle, Ethereum 1.0 sera maintenu, avec le Proof of Work actuel. De nombreuses améliorations du protocole 1.0 sont par ailleurs encore prévues. Les premières seront déployées dans la mise à jour « Istambul » prévue d’ici à la fin de l’année 2019.
Vous trouverez plus d’informations en anglais sur les phases de développement d’Ethereum 2.0 sur Ethhub.io : https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-phases/