Comprendre Ethereum Constantinople: une fourche dure

Après des mois de tests et de retards, Ethereum Constantinople est enfin en route. Devrait être exécuté d’ici la fin du mois de janvier, la mise à jour tant attendue d’Ethereum apporte de nombreux changements.

Constantinople fait partie de la deuxième mise à jour de Metropolis. Nous avons couvert Metropolis en détail avant. Alors, dans ce guide, mettons Constantinople sous le microscope et voyons tous les changements qu’il apporte à l’écosystème.

Ethereum Constantinople

Ethereum Constantinople va être une fourchette difficile. Avec toute la saga «ETH-ETC» et «Hash War», le terme parvient à évoquer une image assez négative. Cependant, ce n’est pas nécessairement le cas tout le temps. Donc, avant même de commencer quoi que ce soit, nous allons vous informer sur la fourche et pourquoi ils sont essentiels.

Qu’est-ce qu’une fourchette?

Une fourchette est une condition dans laquelle l’état de la blockchain diverge en chaînes où une partie du réseau a une perspective différente sur l’historique des transactions d’une autre partie du réseau. En d’autres termes, c’est une divergence dans la perspective de l’état de la blockchain.

Qu’est-ce qu’une fourche souple?

Chaque fois qu’une chaîne doit être mise à jour, il y a deux façons de le faire: une fourche souple ou une fourche dure. Considérez le soft fork comme une mise à jour du logiciel qui est rétrocompatible. Qu’est-ce que cela veut dire? Supposons que vous exécutiez MS Excel 2005 sur votre ordinateur portable et que vous souhaitiez ouvrir une feuille de calcul intégrée à MS Excel 2015, vous pouvez toujours l’ouvrir car MS Excel 2015 est rétrocompatible.

MAIS, cela dit, il y a une différence. Toutes les mises à jour dont vous pouvez bénéficier dans la nouvelle version ne vous seront pas visibles dans l’ancienne version. Pour en revenir à notre analogie MS Excel, supposons qu’il existe une fonctionnalité permettant de mettre des GIF dans la feuille de calcul dans la version 2015, vous ne verrez pas ces GIF dans la version 2005. Donc, en gros, vous verrez tout le texte, mais vous ne verrez pas le GIF.

Qu’est-ce qu’une fourche dure?

La principale différence entre une fourche souple et une fourche dure est qu’elle n’est pas rétrocompatible. Une fois qu’il est utilisé, il n’y a absolument aucun retour en arrière. Si vous ne rejoignez pas la version mise à niveau de la blockchain, vous n’aurez accès à aucune des nouvelles mises à jour ni n’interagissez avec les utilisateurs du nouveau système. Pensez PlayStation 3 et PlayStation 4. Vous ne pouvez pas jouer à des jeux PS3 sur PS4 et vous ne pouvez pas jouer à des jeux PS4 sur PS3.

Ethereum Constantinople: Hard Fork

Andreas Antonopoulos décrit la différence entre une fourchette dure et une fourchette molle comme suit: Si un restaurant végétarien choisissait d’ajouter du porc à son menu, il serait considéré comme une fourchette dure. s’ils décidaient d’ajouter des plats végétaliens, tous ceux qui sont végétariens pourraient toujours manger végétaliens, vous n’avez pas besoin d’être végétalien pour y manger, vous pourriez toujours être végétarien pour y manger et les mangeurs de viande pourraient y manger aussi, alors c’est une fourchette molle.

Donc, c’est ce qu’est une fourche et une fourche dure.

Le fait est que ces fourchettes se produisent tout le temps. Tous les systèmes doivent être mis à jour, ce qui est essentiellement un fork. Ce n’est que lorsque la communauté est divisée sur une fourchette que les problèmes surviennent. Heureusement, la communauté Ethereum n’est pas complètement divisée à propos du hard-fork de Constantinople Il y a encore quelques problèmes mineurs bien sûr, dont nous allons parler plus tard (consultez la section EIP 1234 ci-dessous).

Les 4 étapes d’Ethereum

Ce n’est pas la première fois qu’Ethereum se met à jour bien sûr et ce ne sera pas la dernière fois.

Ethereum n’a pas été conçu pour être juste un mode de monnaie. Il a été conçu pour être une plateforme d’applications décentralisées. Cependant, avant de pouvoir le faire, il doit passer par différentes étapes de croissance. À chaque étape, Ethereum «monte de niveau» en incorporant de plus en plus de propriétés rendant son système plus robuste et transparent.

Le processus de lancement complet d’Ethereum a été divisé en 4 étapes. Cela a été fait pour s’assurer que les différentes phases ont leur propre temps de développement et que chaque étape a été développée de manière aussi efficace et optimale que possible..

Les 4 étapes sont les suivantes:

  • Frontière: C’est ce que tout le monde a obtenu lors du lancement d’Ethereum.
  • Propriété
  • Métropole: La phase actuelle. Comme il y a tellement de mises à jour dans Metropolis, il a été subdivisé en Byzance et Constantinople
  • Sérénité: La dernière étape.

Présentation d’Ethereum Constantinople

Le hard fork de Constantinople devrait se produire autour de la hauteur de bloc de 7 080 000, ce qui devrait se produire entre le 14 janvier et le 18 janvier. Cette mise à jour va introduire cinq propositions d’amélioration d’Ethereum ou EIP dans l’écosystème:

  • EIP 145: Développé par deux développeurs ethereum, Alex Beregszaszi et Pawel Bylica, qui introduit un «décalage de bit» natif qui peut passer par le bytecode à un coût similaire à d’autres opérations arithmétiques.
  • EIP 1052: Offre un moyen d’optimiser l’exécution de code à grande échelle sur Ethereum. Cela permettra uniquement de vérifier le code compressé contenant les données essentielles du contrat, par opposition à l’ensemble du code. Ceci a été écrit par Nick Johnson et Bylica.
  • EIP 1283: Cet EIP est basé sur EIP 1087 qui a de nouveau été écrit par Nick Johnson. Cet EIP aide à réduire la quantité de gaz que les développeurs de gaz doivent payer pour exécuter et exécuter leurs contrats intelligents en coupant l’utilisation excessive et inutile de gaz..
  • EIP 1014: Cet EIP a été créé par Vitalik Buterin lui-même. Cela aidera essentiellement Ethereum à tirer parti des canaux d’état pour leur permettre de communiquer avec des adresses hors chaîne. Cela aidera à l’évolutivité de l’ensemble du système.
  • EIP 1234: Facilement la mise à jour la plus controversée qui a été défendue par le responsable de la publication de Parity, Afri Schoedon. Cela supprimera progressivement la bombe de difficulté du système d’Ethereum et réduira la récompense de bloc de 3 ETH à 2 ETH pour une période de 12 mois..

Examinons maintenant tous ces EIP en détail.

EIP 145 – Décalage au niveau du bit

Un décalage de bits est une opération au niveau du bit qui déplace chaque chiffre de la représentation binaire d’un nombre vers la gauche ou la droite un nombre de fois requis. Le “<<“Est l’opérateur de décalage gauche logique tandis que”>>”Est l’opérateur de décalage vers la droite logique.

Pour comprendre comment cela fonctionne, prenons un exemple.

3 peut être écrit dans un format binaire, en utilisant la notation 8 bits, comme ceci: 00000011

Si nous voulons décaler ceci à droite de 1, cela ressemblera à ceci:

00000011 >> 1

Cela poussera les chiffres d’un côté vers la droite. Le dernier chiffre, qui dans ce cas est «1», est complètement supprimé et perdu. De plus, un «0» est toujours ajouté au début.

Donc, 00000011 >> 1 deviendra 00000001 ou 1.

De même, si nous quittons le décalage 3 par 1, nous obtiendrons:

00000011 << 1

Dans ce cas, les chiffres sont décalés vers la gauche et le chiffre le plus à gauche, dans ce cas, «0» est repoussé. Après cela, un «0» est ajouté à la fin.

Donc, 00000011 << 1 devient 00000110 ou 6.

Maintenant, si vous regardez un peu plus profondément, vous observerez quelque chose d’assez fascinant.

Si vous déplacez à gauche un nombre binaire N fois, alors il multiplie ce nombre par 2 ^ N fois.

 0010 << 1 –>  0100

Donc, 0010 vaut 2 et le décalage vers la gauche de 1 nous donne 0100, soit 4 ou 2 * (2 ^ 1).

Deux décalages à gauche nous donnent 0010 << 2 -> 1000 qui vaut 8 ou 2 * (2 ^ 2).

D’un autre côté, si nous décalons à droite un nombre N fois, alors nous divisons le nombre par 2 ^ N et le quotient est la réponse (vous jetez le reste).

Alors, passons à droite 8 2 fois. 1000 >> 2 nous donnera 0010 qui vaut 2 ou 8 / (2 ^ 2).

Ok, alors vous vous demandez probablement à quoi ça sert de connaître toutes ces choses et comment cela va-t-il m’aider dans Ethereum? Pensez au nombre d’opérations que le décalage au niveau du bit comprend:

  • Opération exposant
  • Multiplication ou division

Ces opérations effectuées en séquence peuvent devenir très coûteuses. Cependant, une seule opération qui couvre les deux est beaucoup moins chère. Cela aidera les développeurs Ethereum à optimiser le code.

Cela aidera les applications décentralisées sous-jacentes telles que CryptoKitties à être traitées plus rapidement par la machine virtuelle Ethereum (EVM)..

EIP 1052 – Optimisation du code à grande échelle

Cet EIP aidera à spécifier un nouvel opcode, EXTCODEHASH, qui renvoie le hachage keccak256 du code d’un contrat. Le processus de réflexion sous-jacent est de ne permettre que les données essentielles du code du contrat à vérifier plutôt que l’intégralité du code lui-même..

De nombreux contrats doivent effectuer des vérifications sur le bytecode d’un contrat, mais n’ont pas nécessairement besoin du bytecode lui-même. Par exemple. un contrat intelligent peut avoir besoin de vérifier le bytecode d’un autre contrat s’il appartient ou non à un groupe particulier, ou il peut effectuer certaines analyses sur le code et mettre en liste blanche tout contrat avec le bytecode correspondant si l’analyse réussit.

Actuellement, les contrats le font de manière extrêmement inefficace en utilisant l’opcode EXTCODECOPY, mais cela coûte extrêmement cher pour les gros contrats. L’opcode EXTCODEHASH ne renverra que le hachage keccak256 du bytecode d’un contrat et aidera le développeur à économiser beaucoup d’argent.

EIP 1283 – Comptage de gaz net

Construit sur EIP 1087 et EIP 1153, EIP 1283 propose une nouvelle méthode de «comptage de gaz» pour l’opcode SSTORE qui permettra:

  • Facturer aux utilisateurs des frais pour la détention de données stockées en permanence sur la blockchain
  • Réduisez les coûts de gaz excessifs

En termes simples, cela réduit le montant que les développeurs doivent payer pour créer des contrats intelligents. Comme nous l’avons mentionné précédemment, les coûts du gaz sont un réel problème pour les développeurs, car l’hébergement de contrat intelligent nécessite beaucoup d’argent. Comme Nick Johnson, l’auteur de la proposition originale, le dit,

«Dans certains cas, dans le passé, nous facturions du gaz pour des choses qui ne s’étaient pas réellement produites ou qui ne coûtaient pas réellement de ressources réelles et maintenant nous essayons d’ajuster les choses afin que nous ne facturions que du gaz qui correspond au travail que nous faisons réellement. devoir faire.”

En facturant aux utilisateurs des frais pour la conservation de données stockées en permanence sur la blockchain, cela les dissuadera de continuer à le faire et «d’utiliser le stockage pour des choses pour lesquelles vous n’en avez pas besoin».

EIP 1014 – Canaux d’état

Alors, que sont les canaux d’État?

Un canal d’état est un canal de communication bidirectionnel entre les participants qui leur permet de mener des interactions, qui se produiraient normalement sur la blockchain, hors de la blockchain. Cela réduira le temps de transaction de manière exponentielle puisque vous n’êtes plus dépendant d’un tiers comme un mineur pour valider votre transaction.

Examinons les exigences pour créer un canal d’état hors chaîne?

  • Un segment de l’état de la blockchain est verrouillé via la multi-signature ou une sorte de contrat intelligent, qui est convenu par un ensemble de participants.
  • Les participants interagissent les uns avec les autres en signant des transactions entre eux sans rien soumettre aux mineurs.
  • L’ensemble de transactions complet est ensuite ajouté à la blockchain.

Les canaux d’état peuvent être fermés à un point qui est prédéterminé par les participants selon le fondateur de Slock.it Stephan Thual. Cela pourrait être:

  • Temps écoulé, par exemple. les participants peuvent accepter d’ouvrir une chaîne d’État et de la fermer après 2 heures.
  • Il pourrait être basé sur le montant total des transactions effectuées, par exemple. fermer la chaîne après que 100 $ de transactions ont eu lieu.

Ethereum Constantinople: Hard Fork

Courtoisie d’image: article de Stephan Tual Medium

Donc, dans l’image ci-dessus. Nous avons une voiture qui interagit directement avec le chargeur et effectue un total de 39,19 $ de transactions. Enfin, après une série d’interactions, l’ensemble de la transaction est ajouté à la blockchain. Imaginez combien de temps cela aurait pris s’ils devaient exécuter chaque transaction via la blockchain!

C’est le cas d’utilisation principal d’un canal d’état, cela aidera énormément à l’évolutivité de la blockchain. En fait, le réseau Lightning de Bitcoin est essentiellement un canal d’État sophistiqué qui ne traite que des paiements.

L’EIP 1014, sur lequel Vitalik Buterin travaille personnellement, permettra d’effectuer des interactions avec des adresses qui n’existent pas vraiment sur la blockchain, mais elles peuvent être utilisées pour

«Ne contiendra éventuellement que du code qui a été créé par un morceau particulier de code d’initialisation.»

Le développeur de chaînes d’État Liam Horne a décrit l’EIP 1014 comme «une augmentation significative des performances des canaux d’État».

EIP 1234 – Transition du PDV

Ok, donc avant de comprendre la signification de cet EIP, comprenons certaines choses, principalement:

  • Preuve de travail
  • Difficulté
  • Preuve d’enjeu

Maintenant, nous avons couvert tout cela dans notre article sur le protocole Casper que vous pouvez lire ici.

Qu’est-ce qu’une preuve de travail?

La plupart des crypto-monnaies, y compris Bitcoin, fonctionnent sur la «preuve de travail». La preuve de travail en tant que processus comporte les étapes suivantes:

  • Les mineurs résolvent des énigmes cryptographiques pour «miner» un bloc à ajouter à la blockchain.
  • Ce processus nécessite une énorme quantité d’énergie et d’utilisation de calcul. Les puzzles ont été conçus de manière à rendre les choses difficiles et éprouvantes pour le système.
  • Lorsqu’un mineur résout le puzzle, il présente son bloc au réseau pour vérification.
  • Vérifier si le bloc appartient à la chaîne ou non est un processus extrêmement simple.

Ethereum, à l’heure actuelle, utilise le mécanisme de consensus Proof of Work (POW). Maintenant que vous savez ce qu’est le POW et le rôle que jouent les mineurs, il est temps de comprendre ce que signifie «difficulté».

Quelle est la difficulté?

Ok, alors avant de comprendre le terme, faisons une expérience de réflexion.

L’idée derrière l’exploitation minière est que les mineurs utilisent leur puissance minière pour résoudre ces énigmes cryptographiquement difficiles et obtenir Ethereum en retour en récompense. Contrairement à Bitcoin, Ethereum n’a pas de plafond fixe sur son offre totale. Mais vous devez toujours réguler la quantité d’éther qui flotte dans le système pour vous assurer que l’équation offre-demande ne se déséquilibre pas..

C’est pourquoi Bitcoin et Ethereum ont tous deux un paramètre de «difficulté» codé en dur dans leur système. La difficulté fait en sorte que le temps écoulé entre la création des blocs reste le même. Donc, si le temps de création du bloc est trop bas, alors la difficulté augmente et s’il est trop élevé, alors il diminuera.

Le graphique suivant montre la difficulté du réseau d’Ethereum du 11 décembre 2018 au 11 janvier 2019.

Ethereum Constantinople: Hard Fork

Actuel Difficulté Ethereum s’élève à 2.691.878.354.888.980.00000000

Très bien, maintenant sur Proof of Stake (PoS).

Qu’est-ce que la preuve d’enjeu?

La preuve d’enjeu rendra tout le processus d’extraction virtuel et remplacera les mineurs par des validateurs. Voici comment le processus fonctionnera:

  • Les validateurs devront verrouiller certaines de leurs pièces comme mise.
  • Après cela, ils commenceront à valider les blocs. Cela signifie que lorsqu’ils découvrent un bloc qui, selon eux, peut être ajouté à la chaîne, ils le valideront en plaçant un pari dessus..
  • Si le bloc est ajouté, les validateurs recevront une récompense proportionnelle à leurs paris.

Ok, alors maintenant vous connaissez les moindres détails. Vous connaissez les bases du PoW, du PoS et de la difficulté, allons maintenant entrer dans les moindres détails de l’EIP 1234.

La méthode d’implémentation PoS d’Ethereum s’appelle le protocole Casper. De toute évidence, un changement soudain du PoW au PoS sera extrêmement déconseillé. Afin de faciliter la transition, Ethereum va d’abord introduire un mécanisme de consensus hybride PoW-PoS appelé «Casper FFG».

Dans le cadre de cette transition, ils ont décidé d’introduire également une «bombe de difficulté» qui rendra l’exploitation minière si difficile sur la blockchain Ethereum, que les mineurs n’auront aucune incitation à le faire et que tout le monde finira par passer au PoS. Le point où l’exploitation minière devient si difficile qu’elle est presque irréalisable s’appelle «l’ère glaciaire». La bombe de difficulté a été introduite le 7 septembre 2015 et a été programmée pour augmenter la difficulté de manière exponentielle.

Maintenant, tout cela est bien beau, cependant, le Protocole de Casper n’est pas encore prêt pour une mise en œuvre complète et il reste encore du travail à faire. C’est pourquoi, au lieu de simplement retarder Constantinople dans son ensemble, ils ont retardé la bombe de difficulté de 29 millions de secondes soit environ 12 mois..

Cela nous amène au problème suivant.

Parce que la difficulté a été retardée, il deviendra beaucoup plus simple pour les mineurs d’exploiter des blocs et ils pourront le faire avec beaucoup plus de régularité. Donc, pour contrebalancer cela, la récompense de bloc passera de 3 ETH à 2 ETH. Cette réduction peut être considérée comme un «palliatif» à la «purge d’approvisionnement».

Ce PEI a provoqué une énorme controverse dans la communauté. L’auteur de l’EIP. Afri Schoeden l’a qualifiée de «meilleure proposition pour stabiliser l’émission tout en retardant simultanément la bombe».

Cependant, il y a d’autres membres de la communauté Ethereum qui se sont opposés à cet EIP en faisant valoir que la réduction de la difficulté conduira à plus de centralisation..

Conclusion

L’ensemble de la communauté crypto attend avec impatience le hard fork de Constantinople. Ce faisant, Ethereum franchira une autre étape majeure vers la sérénité et la mise en œuvre complète. Comme vous pouvez l’imaginer, il y a des changements vraiment radicaux à venir qui profiteront non seulement grandement aux développeurs, mais les aideront également à prendre de l’élan vers la mise en œuvre complète du PoS. Nous devons juste attendre et regarder pour voir comment tout cela fonctionne.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me