Qu’est-ce que le hard fork Byzance ?

Le hard fork Byzance représente une mise à jour effectuée sur la blockchain Ethereum en octobre 2017. Celui-ci se compose de 8 protocoles d’améliorations appelés EIP mis en place dans l’objectif d’améliorer les attributs d’évolutivité, de sécurité et de confidentialité de la chaîne de blocs. Ce fork a permis des transactions plus rapides couplées à une meilleure sécurité avec des contrats intelligents adaptés aux transactions commerciales. Zoom sur cette mise à jour.

Qu’est-ce que le hard fork Byzance
Le hard fork Byzance en tant que mise à jour

Comment s’est passée la mise à jour Byzance ?

C’est au bloc 4 370 000 que le hard fork Byzance d’Ethereum a été mis en œuvre en octobre 2017. Pour rappel, un hard fork représente la division d’une blockchain en deux, ce qui crée alors deux versions : une ancienne et une nouvelle. Les deux ne sont pas compatibles l’une de l’autre et toutes les transactions sont désormais enregistrées sur la nouvelle chaîne de blocs. Cette mise à jour a porté sur la sécurité, la rapidité et la légèreté de la blockchain permettant des transactions beaucoup plus rapides, d’un côté et de l’autre une plus grande sécurité.

Les mises à niveau effectives du hard fork Byzance

Quand un hard fork est mis en œuvre par une communauté et les développeurs d’une blockchain, celui-ci a pour objectifs des améliorations spécifiques. Cela est nécessaire pour améliorer le fonctionnement de la chaîne de blocs. Le hard fork Byzance portait sur 8 mises à niveau qui sont :

  • L’ajout de la prise en charge de certaines vérifications de signature ;
  • L’ajout d’un nouveau modèle mathématique et de vérification d’appariement permettant un meilleur fonctionnement de « zk-Snarks » (Preuve à divulgation nulle de connaissance) ;
  • L’ajout d’opcodes « Revert » à la blockchain permettant d’arrêter des contrats intelligents dans le cas où une erreur se produit sans pour autant consommer tout le gaz payé pour une transaction ;
  • L’ajout de la prise en charge des valeurs variables ;
  • L’ajout d’un champ d’état aux reçus de transactions pour indiquer le succès ou l'échec de la transaction ;
  • L’ajout de l’opcode « Staticcall » permettant des appels aux nœuds ne demandant pas des changements d’état ;
  • La modification de la formule sous-jacente à l’ajustement de la difficulté pour tenir compte des blocs Ommer ;
  • Retardement de la bombe de difficulté rendant l’exploitation minière peu rentable encourageant les mineurs à passer à la preuve d’enjeu (PoS – proof of stake).

Quelques changements mis en place avec Byzance

Grâce au hard fork Byzance, Ethereum a fait peau neuve avec différentes améliorations, dont les plus notables sont les suivants :

Amélioration de la cryptographie

Lors de cette mise à niveau, un codage natif d’Ethereum a été amélioré afin de réduire les besoins en énergie pour la mise en place de « zk-Snarks » ; une cryptographie à connaissance nulle où chacune des parties d’une transaction est en mesure de vérifier l’autre sans que les informations soient visibles. Cela est devenu la norme de confidentialité pour les transactions de cryptos.

Intégration du code d’état des transactions dans les reçus

Avant la mise à niveau, les transactions faisaient référence à un paramètre racine dans la structure de l’arbre de Merkle : les blocs s’appuyant les uns sur les autres pour sécuriser la chaîne. Cette structure de données utilise les données des blocs précédents dans l’objectif de créer des informations de vérification pour permettre d’examiner un bloc au lieu de vérifier chaque bloc à chaque transaction. Grâce à cette MAJ, les transactions communiquent le succès ou l’échec au lieu de rechercher le paramètre. La blockchain Ethereum a gagné en rapidité dans le traitement des transactions.

Changements d’état

Les transactions par nature modifient l’étant de la chaîne de blocs tandis que les « smart contracts » exécutent les transactions. De ce fait, il était nécessaire d’implémenter un système pour un utilisateur pour appeler ou interroger un contrat intelligent sans pour autant initier un changement d’état. Cela est aujourd’hui possible grâce à la fonction « Staticcall ».

Arrêt d’un contrat intelligent en cas d’erreur

Avant la mise à niveau, les « smart contracts » étaient sujets à des erreurs et les initiateurs étaient toujours facturés pour l’ensemble des transactions. Il faut savoir que les frais de gaz peuvent être onéreux pour les contrats intelligents et c’est pour cette raison que cette mise à jour a été importante empêchant alors les créateurs de contrat de perdre le « gwei » - la dénomination de l’ETH utilisée pour payer les transactions, alors que le contrat n’a pas été exécuté intégralement.

Bombe de difficulté

Depuis son développement, Ethereum travaille sur le mécanisme de consensus PoS (proof of stake – preuve d’enjeu/de participation). Celui-ci n’a pas été simple à mettre en place dans la mesure où de nombreux changements étaient nécessaires. Cela obligeait par ailleurs les participants à la blockchain d’utiliser leur ETH comme garantie pour le privilège de devenir un « validateur ». La bombe de difficulté, quant à elle, est une augmentation de la difficulté de minage, mise en place pour décourager le minage qui est énergivore contre des récompenses en jeton. Cela a été retardé dans le hard fork Byzance.

Blocs Ommer

Quand les mineurs ou les validateurs exploitent de nouveaux blocs, il y a une probabilité que plusieurs d’entre eux soient extraits simultanément en raison de la nature distribuée de la chaîne de blocs. Quand cela se produit, le réseau choisit celui à ajouter. Dans la blockchain Ethereum, ceux qui sont mis de côté – qui n’ont pas été choisis donc – sont appelés des blocs Ommer. Avec la mise à jour Byzance, ces blocs délaissés sont utilisés et pris en compte pour l’ajustement de la difficulté. Cela permet de s’assurer que la difficulté ne peut être manipulée grâce à l’ajustement du taux Ommer.

Résumé

On parle de hard fork Byzance pour désigner une mise à jour importante réalisée sur la blockchain Ethereum. C’est en octobre 2017 sur le bloc 4 370 000 que cela s’est produit. Cette mise à niveau a donné naissance à deux chaînes de blocs, dont le nouveau comprend 8 EIP (protocoles d’améliorations) qui ont été mis au point pour améliorer les attributs de sécurité, d’évolutivité et de confidentialité d’Ethereum. Parmi ceux-ci, il y a l’arrêt d’un contrat intelligent en cas d’erreur, la prise en compte des blocs Ommer dans l’ajustement de la difficulté, l’amélioration de la cryptographie et les changements d’état.

Laisser un commentaire

Ouvrir la discussion
1
Une assistance?
L'equipe FormationTrading
Hello 👋
vous avez besoin d'aide ?