Ethereum : un hard-fork pour repousser l’Âge de glace et préparer un nouveau modèle
C'est Byzance !
Le 05 octobre 2017 à 16h12
7 min
Économie
Économie
Tout comme Bitcoin, Ethereum cherche des solutions pour augmenter le débit de transactions possibles sur sa blockchain. Le 17 octobre, la première brique d'une série d'améliorations sera posée avec la mise en place de Byzantium. Une opération de grande envergure.
Régulièrement, les protocoles des différentes crypto-monnaies évoluent, afin de faire place à de nouvelles fonctionnalités ou tout simplement pour fluidifier leur réseau. Le plus souvent, ces modifications se font de façon transparente, et requièrent simplement une mise à jour du client utilisé pour accéder à leur blockchain.
Un fork pour préparer l'avenir
La dernière opération de très grande envergure concernait Bitcoin, avec la mise en place de SegWit (voir notre analyse). Celle-ci a permis à la blockchain de gérer davantage de transactions tout en conservant la taille originale des blocs (1 Mo), avec un maximum théorique passant de 7 opérations par seconde à environ 11.
Un mouvement suffisant pour résoudre, au moins temporairement, les problèmes d'engorgement du réseau, qui avait provoqué une montée en flèche du coût des échanges. Au plus fort de la crise, effectuer une transaction en Bitcoin pouvait coûter plus de 5 dollars, contre environ 1,3 dollar aujourd'hui.
Le problème est moins prononcé avec Ethereum, le coût moyen d'une transaction est passé de 0,005 dollar début 2017 à environ 0,35 dollar aujourd'hui. Cette augmentation est due en partie à l'accroissement de la difficulté du minage, qui ralentit le rythme de sortie des blocs. Une situation qui empire de jour en jour et peut causer d'ici quelques mois de sérieux problèmes fonctionnels.
Heureusement, un hard-fork, prévu de longue date, doit donner un peu d'air au réseau avant de mettre en place une solution plus radicale.
De Metropolis à Byzantium
Depuis son lancement en août 2015, la blockchain d'Ethereum suit une feuille de route (roadmap) clairement définie. La première version répondait au nom de Frontier et ne regroupait que des fonctionnalités de base : le minage, le suivi des transactions et les smart contracts.
Quelques mois plus tard est arrivée Homestead, une version plus stable, capable de supporter des applications décentralisées ou « dApps ». Un concept très large, regroupant plusieurs catégories d'applications, que le créateur d'Ethereum résume dans ce billet de blog.
Le 17 octobre, au moment de l'émission du bloc numéro 4 370 000, un troisième palier sera atteint, avec la mise à jour Metropolis. Elle se fera en deux temps. D'abord, avec une première vague d'améliorations nommée Byzantium, puis avec Constantinople dans un second temps, très certainement l'an prochain.
Byzance et une rustine pour repousser l'Âge de glace
Au total, Byzantium comprend dix Ethereum Improvement Proposals (EIP) chacune devant résoudre un problème particulier. Parmi elle, l'EIP 649 doit avoir certaines des conséquences les plus visibles. Elle modifie l'algorithme « Ice Age », qui détermine la difficulté avec laquelle les blocs sont minés.
Pour la plupart des crypto-monnaies, la courbe de difficulté suit linéairement celle du hashrate, c'est-à-dire de la puissance de calcul totale mise en œuvre par les mineurs. Dans le cas d'Ethereum, la croissance est exponentielle. Depuis avril dernier, la difficulté augmente plus rapidement que le hashrate, causant un allongement progressif du temps écoulé entre chaque bloc. Or, en passant moins de blocs dans une même fenêtre de temps, la capacité du réseau diminue mécaniquement.
Ce comportement est volontaire. Ethereum a en effet vocation à basculer d'un système de validation par preuve de travail (PoW) à un système par preuve d'enjeu (PoS). L'objectif est ici d'assurer une transition en douceur entre les deux modes de fonctionnement, en incitant les acteurs du réseau à passer de l'un à l'autre. Le problème est que la mise en place de la PoS demande plus de temps que prévu, et qu'en attendant, la difficulté continue de grimper.
Pour limiter les dégâts, l'EIP 649 propose de reculer de 18 mois la date de « l'Âge de glace », la date à laquelle la difficulté devient telle que le réseau ne peut plus fonctionner. Sans cette modification, on estime que des problèmes fonctionnels causés par la hausse de la difficulté apparaitront dès le printemps prochain et le réseau sera complètement figé courant 2021
Ce serait alors la deuxième fois qu'une telle rustine est appliquée, la première remontant au déploiement d'Homestead en 2016.
Une petite touche de zCash
Les EIP 198, 212 et 213 sont elles aussi très intéressantes. Elles permettent l'utilisation d'opérations cryptographiques complexes, telles que RSA, au sein d'un smart contract ou encore « le déploiement de contrats précompilés sur certaines courbes elliptiques ».
Si vu ainsi il n'y a pas de quoi sauter au plafond, ces trois EIP permettent en fait l'utilisation de zk-SNARK, un système permettant de cacher les détails des transactions ou des contrats tout en en permettant leur validation (zero knowledge proof). Ce principe a été développé par l'équipe derrière zCash (voir notre analyse de zCash).
Seul inconvénient : les transactions forgées en utilisant ce principe (qui reste optionnel) sont plus lourdes et nécessitent donc davantage de « gas » pour être traitées par le réseau et seront donc plus coûteuses à émettre.
Des contrats plus légers et plus sûrs
Trois EIP (206, 211 et 214) concernent directement les smart contracts et autorisent de nouveaux types d'opérations en leur sein. La première, REVERT, fournit une méthode pour arrêter l'exécution d'un contrat et pour annuler un changement d'état. Cette manipulation est déjà possible, à condition de bidouiller, ce qui peut être source d'erreurs et fait gonfler inutilement la taille du contrat. Par ailleurs, la fonction permet aussi de renvoyer une raison pour son déclenchement.
La deuxième ajoute deux instructions RETURNDATASIZE et RETURNDATACOPY, pour récupérer la taille d'une donnée ou son contenu plus simplement. Enfin, l'EIP 214 ajoute l'instruction STATICCALL qui permet de faire appel à un autre contrat, sans que celui-ci puisse forcer de changement d'état dans le contrat actuel. C'est ce type de vulnérabilité qui était en jeu dans le fameux piratage de The DAO, à 50 millions de dollars.
Minage, performances et clients légers
Du côté des clients, plusieurs améliorations ciblent les variantes dites « légères », qui ne téléchargent pas l'ensemble de la blockchain pour fonctionner. Via l'EIP 98, certains calculs nécessaires pour forger les transactions seront allégés, ce afin de faciliter l'utilisation d'Ethereum sur les appareils mobiles par exemple.
Les clients légers pourront aussi vérifier l'exécution d'un contrat (EIP 658), ce qui n'est pas encore possible nativement. Cette opération réclame aujourd'hui d'accéder à l'ensemble de la blockchain, il est donc nécessaire de passer par un service tiers qui effectue la vérification à la place du client léger, ce qui n'est pas idéal.
Enfin, les mineurs profiteront d'une meilleure gestion des blocs orphelins (qui sont appelés « oncles » par les adeptes d'Ethereum). Les blocs orphelins sont créés lorsque deux mineurs trouvent un bloc à quelques instants d'intervalle. Pendant un certain temps, ces deux blocs coexistent en attendant que le réseau détermine lequel est valide.
Actuellement, seul le bloc valide renferme une récompense. Pour rendre la tâche plus équitable, les oncles renfermeront eux aussi une petite récompense, plus faible. Le calcul de la difficulté est également revu à la marge afin d'éviter qu'un afflux soudain d'oncles ne provoque une surinflation.
En route pour Constantinople
La prochaine étape ne devrait pas arriver avant l'an prochain. La mise à jour Constantinople devra remplir deux objectifs principaux : lisser tous les petits bugs introduits avec Byzantium, et mettre en place une blockchain hybride tenant compte à la fois de l'actuelle PoW et de la future PoS.
Il sera alors intéressant de voir comment la communauté accueillera ce changement crucial, mais prévu de longue date. Pour l'heure, l'adoption de Byzantium ne semble pas particulièrement poser de problème, plus de 70 % des nœuds du réseau étant déjà prêts à accueillir la mise à jour.
Ethereum : un hard-fork pour repousser l’Âge de glace et préparer un nouveau modèle
-
Un fork pour préparer l'avenir
-
De Metropolis à Byzantium
-
Byzance et une rustine pour repousser l'Âge de glace
-
Une petite touche de zCash
-
Des contrats plus légers et plus sûrs
-
Minage, performances et clients légers
-
En route pour Constantinople
Commentaires (35)
Vous devez être abonné pour pouvoir commenter.
Déjà abonné ? Se connecter
Abonnez-vousLe 05/10/2017 à 18h30
Merci pour cet article analytique et synthétique à la fois ;-)
Le 05/10/2017 à 20h00
Un bel article sur un sujet assez technique.
Le 06/10/2017 à 09h20
Le 06/10/2017 à 09h38
Est-ce que cela veut dire qu’il y aura une nouvelle monnaie comme avec le bitcoin/bitcoin classic ?
Le 06/10/2017 à 09h59
Le 06/10/2017 à 11h56
Merci pour les liens, je vais lire ça " />
Le 06/10/2017 à 12h39
Le 06/10/2017 à 13h39
Est-ce qu’on forke à tout va les cryptomonaies pour garder un faible pourcentage de mineurs et donc des revenus confortables ? J’ai cru comprendre que plus il y avait de mineurs moins c’était rentable.
Le 06/10/2017 à 13h40
Il faut aussi dire qu’à chaque fois qu’on craie une nouvelle monnaie, le clandestin s’en sert à cœur joie avant d’être taxé (commercialement parlant)" />
Le 06/10/2017 à 13h47
Le 06/10/2017 à 13h57
Je commence à penser que les cryptomonaies profitent surtout aux mineurs.
Le 06/10/2017 à 14h00
Le 06/10/2017 à 14h13
Le 07/10/2017 à 09h01
Le 07/10/2017 à 09h36
Le 07/10/2017 à 09h51
Le 07/10/2017 à 19h50
Le 07/10/2017 à 20h18
Le 08/10/2017 à 10h21
Le 05/10/2017 à 20h08
Espérons que le hard-fork se passe bien, et qu’Ethereum ne reste pas bloqué, comme cela peut arriver, trop longtemps en Turquie… " />
Le 05/10/2017 à 20h32
Un truc que j’arrive pas à piger, avec les blockchains :
vu que tout le monde s’y intéresse, les compagnies d’assurances avec les smart contracts, les états avec l’intégration de leurs cadastres, les diplômes etc etc, les demandes de validation de transaction vont exploser de toutes parts.
Cela va mettre la pression sur toutes les blockchains, les difficultés de minage vont exploser elles aussi.
Est-ce que la puissance de calcul et donc l’énergie mise en jeu à l’échelle de la planète “juste” pour effectuer toutes ces transactions vaut-elle vraiment le coup à moyen et plus long terme ?
Ou bien la technologie de blockchain n’aura été qu’une “mode”, pour expérimenter, tester et valider certains concepts cryptologiques ?
Mais p’têt que je suis à côté de la plaque et que j’ai rien pigé… " />
Le 05/10/2017 à 20h57
Le 05/10/2017 à 21h03
#TraduisonsLes
Le 05/10/2017 à 21h34
Le 05/10/2017 à 22h03
:Ellierys
@Ellierys
Merci, c’est un article intéressant… mais avec quelques imprécisions…
# Le coût moyen d’une transaction en Ethers n’est pas significatif… il est “relativement” élevé parce-que la plupart des gens qui effectuent une transaction de base ne prennent même pas la peine de modifier le gas price par défaut (21 Gwei)…
Pour une transaction de base (gas used de 21000 gwei), on prend un gas price de 9 Gwei (0,000000009 ETH bien sur), on arrive à un coût de transaction de 5 centimes…
http://ethgasstation.info/
# je ne sais pas d’où vous sortez l’info que la mise à jour Constantinople devra remplir l’objectif de mettre en place une blockchain hybride tenant compte à la fois de l’actuelle PoW et de la future PoS.
C’est à ma connaissance faux (malheureusement) mais c’est plutôt un objectif futur, peut-être avant le HF Serenity (Casper) qui devrait avoir lieu fin 2018 ou 2019…
Le 05/10/2017 à 22h37
Il dit que ces crevures pourraient utiliser l’énergie des datacenters à autre chose que des opérations crypto.
Le 06/10/2017 à 00h23
Le 06/10/2017 à 07h01
Source " /> ?
Le 06/10/2017 à 07h15
La compréhension que j’ai de la roadmap est que Constantinople amène l’hybridation PoS/PoW et que Casper/Serenity mettra complètement fin à la PoW.
Le 06/10/2017 à 07h57
Le 06/10/2017 à 07h58
Le 06/10/2017 à 08h04
y’en a pas, c’est un troll. Dur d’être plus évident d’ailleurs :p
Le 06/10/2017 à 09h02
Il y a quelque part sur NextInpact un dossier qui expliquerait simplement le concept de blockchain? Je connais un peu le principe mais j’avoue être assez perdu en lisant cette news " />
Le 06/10/2017 à 09h12
Le 06/10/2017 à 09h17