Libérer le Potentiel d'Ethereum : Un Aperçu de la Technologie Layer 2 de Morph

Daniel KambaleDaniel Kambale
23 min read

Table of contents

I. Introduction : Le Défi de mise à l’échelle (scaling) d'Ethereum

Les Problèmes de Croissance d'Ethereum

Ethereum, la deuxième plus grande plateforme blockchain au monde, est très populaire pour sa capacité à exécuter des contrats intelligents (smart contract) et des applications décentralisées (dApps). Cependant, cette popularité entraîne plusieurs défis importants :

  • Congestion du Réseau : Plus il y a d'utilisateurs sur Ethereum, plus le réseau devient lent, ce qui allonge les temps de transaction et augmente les frais.

  • Frais de Gaz Élevés : Le "gaz" est le coût des opérations sur Ethereum. Lorsque le réseau est encombré, ces frais peuvent devenir très élevés, rendant l'utilisation des dApps coûteuse pour les utilisateurs ordinaires.

  • Transactions Limitées par Seconde : Ethereum peut traiter seulement 15 à 30 transactions par seconde, ce qui est insuffisant pour une adoption à grande échelle.

Les Solutions Layer 2 : Un Rayon d'Espoir
Pour résoudre ces problèmes d'évolutivité, les développeurs ont créé des solutions dites "Layer 2". Voici ce que vous devez savoir :

  • Qu'est-ce que le Layer 2 ? : Le Layer 2 désigne un ensemble de technologies ou systèmes qui fonctionnent au-dessus d'Ethereum (Layer 1), permettant de traiter plus de transactions et de réduire les frais.

  • Comment ça marche ? :

    • Les solutions Layer 2 traitent les transactions en dehors de la chaîne principale Ethereum.

    • Elles regroupent ensuite ces transactions et les renvoient à Ethereum pour une vérification finale.

    • Cela permet des transactions plus rapides et moins chères, tout en conservant la sécurité d'Ethereum.

Types de Solutions Layer 2 :

  • Rollups : Regroupent plusieurs transactions en une seule et les soumettent à Ethereum.

  • State Channels : Permettent aux utilisateurs de faire plusieurs transactions hors chaîne avant de les régler sur Ethereum.

  • Plasma : Crée des chaînes secondaires qui rapportent régulièrement à la chaîne principale d'Ethereum.

En introduisant les solutions Layer 2, Ethereum vise à augmenter sa capacité, réduire les frais, et faciliter l'adoption des technologies blockchain dans les applications quotidiennes.

II. Morph : Une Solution Layer 2 Optimistic zkEVM

Qu'est-ce que Morph ?

Morph est une solution Layer 2 innovante conçue pour aider Ethereum à évoluer. Voici ce qu'il faut savoir :

  • Layer 2 Expliqué : Morph fonctionne au-dessus d'Ethereum, traitant les transactions plus rapidement et à moindre coût, tout en bénéficiant de la sécurité d'Ethereum.

  • Optimistic Rollup : Morph utilise la technologie des "rollups optimistes". Cela signifie qu'il suppose que les transactions sont valides par défaut, mais permet de contester en cas d'erreur.

  • zkEVM : "zk" signifie "zéro connaissance", et "EVM" signifie "Ethereum Virtual Machine". Morph combine ces technologies pour créer un système efficace et compatible avec les outils et applications Ethereum existants.

Caractéristiques et Avantages :

  • Rapidité et Faibles Coûts :

    • Les transactions sur Morph sont beaucoup plus rapides et moins chères que sur Ethereum.

    • Les utilisateurs bénéficient de confirmations quasi-instantanées et paient une fraction des frais de gaz par rapport à Ethereum.

  • Compatibilité avec Ethereum :

    • Les développeurs peuvent facilement adapter leurs applications Ethereum à Morph avec peu de changements.

    • La plupart des outils et portefeuilles Ethereum fonctionnent sans problème avec Morph.

  • Sécurité Renforcée :

    • Morph tire parti de la sécurité robuste d'Ethereum tout en ajoutant des couches supplémentaires de protection grâce à son rollup optimiste et ses preuves à zéro connaissance.
  • Évolutivité : Morph peut traiter bien plus de transactions par seconde qu'Ethereum, aidant ainsi à réduire la congestion du réseau.

  • Décentralisation : Morph vise à maintenir un haut degré de décentralisation, en accord avec les valeurs fondamentales d'Ethereum.

  • Facilité d'Utilisation : Morph s'efforce de rendre l'expérience utilisateur aussi fluide que possible, avec des ponts faciles à utiliser pour déplacer des actifs entre Ethereum et Morph.

III. Le Pont Morph-Ethereum : Connecter Deux Mondes

Comprendre le Concept du Pont

Le pont Morph-Ethereum est comme une autoroute spéciale reliant deux "villes" différentes : Ethereum (Layer 1) et Morph (Layer 2). Ce pont permet aux actifs et aux informations de circuler entre ces deux "villes" blockchain. Voici ce qu'il faut savoir :

  • Objectif du Pont :

    • Il permet aux utilisateurs de transférer leurs actifs (comme des tokens ETH ou ERC20) entre Ethereum et Morph.

    • Il permet également l'envoi de données et de messages entre les deux réseaux.

  • Comment ça fonctionne :

    • Le pont utilise des contrats intelligents sur Ethereum et Morph pour gérer le processus de transfert.

    • Quand vous transférez un actif, il n'est pas physiquement déplacé. Le système utilise plutôt un mécanisme de verrouillage et de création d'une version "emballée" de l'actif.

Verrouillage et Emballage d'Actifs

Voici comment ça marche lorsque vous utilisez le pont Morph-Ethereum :

  • Dépôt (d'Ethereum vers Morph) :

    • Verrouillage : Les actifs envoyés depuis Ethereum sont d'abord verrouillés dans un contrat intelligent sur Ethereum.

    • Emballage : Morph crée ensuite une version "emballée" de cet actif. Ce jeton emballé représente la valeur de l'actif Ethereum verrouillé.

    • Réception : Vous recevez l'actif emballé sur Morph, que vous pouvez utiliser comme l'original.

  • Retrait (de Morph vers Ethereum) :

    • Destruction : Les actifs emballés sur Morph sont détruits lorsque vous souhaitez les renvoyer à Ethereum.

    • Déverrouillage : Les actifs originaux sont alors déverrouillés sur Ethereum et vous sont retournés.

Ce système garantit qu'il y a toujours une relation 1:1 entre les actifs sur Ethereum et leurs versions emballées sur Morph.

La passerelle : Votre portail entre les couches

La passerelle est l'interface conviviale qui facilite l'utilisation du pont Morph-Ethereum. Imaginez-la comme le poste de douane à la frontière entre deux pays. Voici ce qu'il faut savoir :

Routeur de passerelle :

C'est le principal point d'entrée pour les utilisateurs.

Il dirige automatiquement vos actifs vers la passerelle spécifique appropriée en fonction du type d'actif que vous transférez.

Types de passerelles :

  • Passerelle ETH : Pour transférer la monnaie native d'Ethereum (ETH).

  • Passerelle ERC20 standard : Pour la plupart des tokens ERC20 courants.

  • Passerelle ERC20 personnalisée : Pour les tokens ERC20 nécessitant un traitement particulier.

  • Passerelle WETH : Pour les transferts de Wrapped Ethereum (WETH).

Comment utiliser la passerelle :

  1. Connectez votre portefeuille à l'interface du pont Morph.

  2. Choisissez l'actif que vous souhaitez transférer.

  3. Spécifiez le montant et l'adresse de destination.

  4. Confirmez la transaction, et la passerelle s'occupe du reste !

Avantages de l'utilisation de la passerelle :

  • Simplifie le processus complexe des transferts entre couches.

  • Gère automatiquement le verrouillage, l'encapsulation et la frappe des actifs.

  • Offre une expérience utilisateur cohérente pour différents types d'actifs.

En utilisant le pont Morph-Ethereum et son système de passerelle, les utilisateurs peuvent facilement déplacer leurs actifs entre Ethereum et Morph, profitant des transactions plus rapides et moins coûteuses de Morph tout en conservant l'accès à l'écosystème d'Ethereum.

IV. Plongée dans les Dépôts : D’Ethereum vers Morph

Le Processus de Dépôt Expliqué

Déposer des actifs d'Ethereum vers Morph, c'est un peu comme envoyer un colis d’un pays à un autre. Voici comment cela fonctionne :

  • Verrouillage des Actifs : Lorsque vous initiez un dépôt, vos actifs (comme ETH ou des tokens ERC20) sont d'abord verrouillés dans un contrat intelligent spécial sur Ethereum. C'est un peu comme mettre votre colis dans un casier sécurisé à la poste.

  • Création d’un Message : L’action de dépôt crée un message avec les détails de vos actifs et leur destination sur Morph.

  • Communication Intercouche : Ce message est ensuite envoyé d’Ethereum à Morph via un système appelé le CrossDomainMessenger.

  • Création des Actifs : Une fois que le message arrive sur Morph, il crée (ou "frappe") une nouvelle version de votre actif sur le réseau Morph. C'est comme si votre colis était recréé à sa destination.

  • Réception : Enfin, vous (ou le destinataire prévu) recevez les actifs nouvellement créés sur Morph, prêts à être utilisés.

Construire une Demande de Dépôt

Créer une demande de dépôt est plus simple qu’il n’y paraît. Voici ce qui se passe en coulisse :

  • Interaction Utilisateur : Vous interagissez avec une interface conviviale (comme le Pont Morph) pour initier votre dépôt.

  • Sélection du Passerelle : Le système choisit automatiquement la "passerelle" appropriée pour votre actif. Par exemple :

    • L’ETH utilise le ETHGateway.

    • La plupart des tokens ERC20 utilisent le StandardERC20Gateway.

    • Certains tokens spéciaux peuvent utiliser une CustomERC20Gateway.

  • Formation du Message : La passerelle choisie crée un message standardisé contenant :

    • Le type et le montant d'actifs que vous déposez.

    • Votre adresse de destination sur Morph.

    • Toutes les données supplémentaires nécessaires pour le transfert.

  • Calcul des Frais : Le système calcule les frais nécessaires pour traiter votre dépôt sur Morph. Vous devez inclure une petite quantité d’ETH pour couvrir ces frais.

Passage et Exécution du Message

Une fois que votre demande de dépôt est construite, elle commence son voyage à travers le pont :

  • Communication L1 vers L2 : Le message est d'abord envoyé au contrat L1CrossDomainMessenger sur Ethereum. Ce contrat le transfère ensuite à une file d'attente spéciale appelée L1MessageQueueWithGasPriceOracle.

  • Action du Séquenceur : Les séquenceurs de Morph (nœuds spéciaux qui traitent les transactions) surveillent constamment cette file d'attente. Lorsqu'ils repèrent votre message de dépôt, ils l'incluent dans le prochain bloc Morph qu'ils créent.

  • Exécution sur L2 : Sur Morph, le contrat L2CrossDomainMessenger reçoit et traite votre message. Il exécute ensuite les actions nécessaires, comme la création de nouveaux tokens ou la mise à jour des soldes.

  • Mesures de Sécurité : Morph utilise un réseau de séquenceurs décentralisé, ce qui rend extrêmement difficile pour une entité unique de falsifier les transactions de dépôt. Le système zkEVM optimiste permet des défis en cas de comportement malveillant détecté, garantissant l'intégrité de tous les dépôts.

  • Achèvement : Une fois exécutés, vos actifs sont disponibles pour utilisation sur Morph. Le processus de dépôt est terminé, et vous pouvez maintenant profiter de transactions plus rapides et moins chères sur le réseau de couche 2.

V. Retraits : Retourner des Actifs vers Ethereum

Aperçu du Processus de Retrait

Retirer des actifs de Morph vers Ethereum est un peu plus complexe que de faire un dépôt. Voici un aperçu des étapes :

  1. Initiation du Retrait : Vous commencez en demandant un retrait sur Morph, généralement via une interface conviviale.

  2. Destruction des Actifs : Les actifs enveloppés sur Morph sont "brûlés" (détruits) pour éviter toute dépense double.

  3. Création de Message : Un message de retrait est créé et ajouté à l’Arbre des Retraits sur Morph.

  4. Soumission de Batch : Le retrait, ainsi que d’autres transactions, est inclus dans un lot soumis à Ethereum par les séquenceurs de Morph.

  5. Période de Contestation : Le lot traverse une période de contestation sur Ethereum pour vérifier sa validité.

  6. Finalisation : Après la période de contestation, si aucun problème n'est détecté, le lot est finalisé.

  7. Génération de Preuve : Vous devez générer une preuve de votre retrait en utilisant les services de Morph.

  8. Réclamation sur Ethereum : Enfin, vous utilisez cette preuve pour réclamer vos actifs sur Ethereum en appelant une fonction sur le contrat L1CrossDomainMessenger.

L'Arbre de Retrait : Garantir la Validité des Transactions

L'Arbre de Retrait est un élément crucial du système de sécurité de Morph.

Qu'est-ce que l'Arbre de Retrait ?

C'est une structure de données spéciale (un Arbre de Merkle Sparse) qui enregistre toutes les transactions de retrait sur Morph.

Chaque feuille dans l'arbre représente une demande de retrait unique.

Comment ça fonctionne :

  • Lorsque vous initiez un retrait, une nouvelle feuille est ajoutée à l'Arbre de Retrait.

  • Cette feuille contient toutes les informations importantes sur votre retrait.

  • La racine de l'arbre (un identifiant unique pour l'arbre entier) est régulièrement mise à jour et soumise à Ethereum.

Pourquoi c'est important :

  • Cela permet à Ethereum de vérifier que votre retrait a bien eu lieu sur Morph, sans avoir besoin de connaître chaque transaction.

  • Il empêche les retraits frauduleux en s'assurant que seuls les retraits valides et enregistrés peuvent être traités.

Types de Feuilles de Retrait :

  • Type 0 : Pour enregistrer les informations de transfert d'actifs.

  • Type 1 : Pour enregistrer les informations de messagerie.

Périodes de Contestation et Finalisation des Lots

La période de contestation est une caractéristique de sécurité essentielle dans la conception du rollup optimiste de Morph.

Qu'est-ce que la Période de Contestation ?

Il s'agit d'une période déterminée (généralement environ une semaine) pendant laquelle n'importe qui peut contester la validité d'un lot de transactions soumises de Morph à Ethereum.

Comment ça fonctionne :

  • Les séquenceurs soumettent des lots de transactions (y compris des retraits) à Ethereum.

  • Ces lots incluent la dernière racine de l'Arbre de Retrait.

  • La période de contestation commence, durant laquelle les validateurs peuvent vérifier le lot pour détecter d'éventuelles erreurs ou fraudes.

  • Si aucune contestation n'est faite avec succès, le lot est considéré comme valide à la fin de la période.

Finalisation du Lot :

  • Une fois la période de contestation terminée et en l'absence de problèmes, le lot est "finalisé."

  • Cela signifie que les transactions dans le lot, y compris les retraits, sont désormais considérées comme valides sur Ethereum.

  • La racine de l'Arbre de Retrait pour ce lot est également finalisée, permettant aux utilisateurs de prouver leurs retraits.

Pourquoi c'est important :

  • Cela offre une garantie de sécurité solide pour les utilisateurs de Morph.

  • Cela permet à Ethereum de faire confiance aux transactions de Morph sans avoir à vérifier chacune individuellement.

  • Cela empêche les acteurs malveillants de voler des fonds via des retraits frauduleux.

Après la Finalisation :

  • Les utilisateurs peuvent désormais générer des preuves pour leurs retraits en utilisant les services backend de Morph.

  • Ces preuves, ainsi que la racine finalisée de l'Arbre de Retrait, permettent aux utilisateurs de réclamer leurs actifs sur Ethereum.

En comprenant ce processus, on peut voir comment Morph garantit que les retraits sont sécurisés, vérifiables et résistants à la fraude, tout en maintenant les normes de sécurité élevées d'Ethereum, tout en offrant les avantages de scalabilité d'une solution de Layer 2.

VI. L'architecture unique de Morph

Séquenceurs décentralisés et soumissionnaires de lots

Morph se distingue par son approche décentralisée de la séquence et de la soumission des lots.

Réseau de Séquenceurs Décentralisés :

Contrairement à de nombreuses solutions Layer 2 qui dépendent d’un séquenceur centralisé unique, Morph utilise un réseau de séquenceurs décentralisés.

Ce réseau est responsable de l’organisation, du traitement et de la validation des transactions Layer 2.

Les séquenceurs se relaient pour proposer des blocs, qui sont ensuite validés par d'autres séquenceurs dans le réseau.

Avantages de la décentralisation :
  • Sécurité accrue : Pas de point de défaillance ou de contrôle unique.

  • Résistance à la censure : La multiplicité des séquenceurs rend la censure des transactions difficile.

  • Répartition équitable de la MEV (Miner Extractable Value) : Empêche la monopolisation des opportunités MEV.

Soumissionnaires de lots :

Les soumissionnaires de lots sont responsables de regrouper les transactions Layer 2 en lots et de les soumettre à Ethereum (Layer 1).

Dans l'architecture de Morph, la soumission de lots est également décentralisée, avec différents séquenceurs qui se relaient pour soumettre les lots.

Le processus Rollup : Regrouper les transactions pour plus d'efficacité

Morph utilise un processus de rollup optimisé pour améliorer l'efficacité et réduire les coûts.

Construction des lots :

Plusieurs blocs Layer 2 sont regroupés en un seul lot.

Chaque lot contient :

  • Des transactions provenant de plusieurs blocs

  • Des informations sur les blocs (BlockWitness)

  • Des racines d'état (PreStateRoot et PostStateRoot)

  • Des informations de retrait

  • Une signature BLS pour la vérification

Transactions multi-lots :

Morph optimise encore plus en incluant plusieurs lots dans une seule transaction Layer 1, réduisant ainsi les coûts globaux en maximisant l'espace disponible dans les transactions Layer 1.

Compression des données :

Morph utilise des techniques de compression avancées, y compris des preuves à connaissance zéro (zero-knowledge proofs), pour minimiser la quantité de données à stocker sur Ethereum, réduisant ainsi le coût de disponibilité des données sur Layer 1.

Cycle de vie des transactions sur Morph

Le parcours d’une transaction sur Morph se déroule en plusieurs étapes :

  1. Soumission : Les utilisateurs soumettent des transactions au mempool du nœud Layer 2.

  2. Consensus : Un séquenceur propose un bloc contenant la transaction, et les autres séquenceurs valident ce bloc.

  3. Exécution : Après consensus, tous les séquenceurs et nœuds appliquent le bloc pour mettre à jour leur état local.

  4. Regroupement : À des points de regroupement prédéfinis, les séquenceurs construisent des lots contenant plusieurs blocs, qui passent par un autre cycle de consensus avec signatures BLS.

  5. Soumission Layer 1 : Un séquenceur sélectionné engage les lots dans le contrat Rollup de Layer 1.

  6. Vérification : Le contrat Layer 1 vérifie les signatures BLS pour confirmer le consensus Layer 2, suivi d'une période de contestation.

  7. Finalisation : Après cette période, si aucune contestation n’est soulevée, le lot (et ses transactions) est finalisé.

États des transactions :
  • En traitement : Phase de consensus, avant exécution.

  • Confirmé : Exécuté sur Layer 2, en attente de soumission Layer 1.

  • Sûr : Soumis à Layer 1, mais pas encore finalisé.

  • Finalisé : Après la période de contestation ou vérifié par preuve ZK, intégré à Layer 1 et Layer 2.

Cette architecture permet à Morph de combiner les avantages de la décentralisation, de l'efficacité et de la sécurité, offrant une solution Layer 2 robuste pour Ethereum.

VII. Morph vs Ethereum : Différences clés pour les développeurs

Bien que Morph vise une grande compatibilité avec Ethereum, il existe certaines différences clés que les développeurs doivent connaître.

Compatibilité EVM et limitations

Morph cherche à être 100 % compatible avec l'EVM, mais il y a quelques différences notables :

  • BLOCKHASH : Retourne keccak(chain_id || block_number) pour les 256 derniers blocs, au lieu du véritable hash de bloc.

  • COINBASE : Retourne l'adresse d’un contrat pré-déployé de coffre-fort de frais.

  • DIFFICULTY / PREVRANDAO : Retourne toujours 0.

  • BASEFEE : Désactivé. Les transactions utilisant cet opcode échoueront.

  • SELFDESTRUCT : Désactivé. Les transactions utilisant cet opcode échoueront.

Support des précompilations :

  • RIPEMD-160, blake2f et les précompilations d'évaluation de points ne sont pas pris en charge.

  • La précompilation modexp ne prend en charge que des entrées de taille ≤ 32 octets.

  • La précompilation ecPairing est limitée à 4 points au lieu de 6.

  • D'autres précompilations (ecRecover, identity, ecAdd, ecMul) sont entièrement prises en charge.

Limitations de la mise à jour Dencun :

  • Les opcodes de la mise à jour Dencun d'Ethereum (MCOPY, TSTORE, TLOAD, BLOBHASH, BLOBBASEFEE) ne sont pas encore disponibles sur Morph.

  • L'EIP-4788, permettant d'accéder à la racine du bloc Beacon Chain, n'est pas pris en charge.

Considérations sur le temps de bloc et le gas :

  • Temps de bloc : Morph produit des blocs toutes les secondes, comparé aux ~12 secondes d'Ethereum.

    • Des blocs vides sont générés s'il n'y a pas de transactions pendant 5 secondes.

    • Ce temps de bloc plus rapide permet un retour plus rapide et un débit potentiellement plus élevé.

  • Considérations sur le gas : L'opcode TIMESTAMP est mis à jour chaque seconde, conformément à la production de blocs.

    • BLOCKNUMBER est également mis à jour chaque seconde, ce qui brise la correspondance un-à-un entre les blocs et les transactions observée sur Ethereum.

    • Les limites de gas par bloc ou par lot peuvent être inférieures à celles d'Ethereum, mais la fréquence plus élevée peut mener à un débit global plus important.

Limites des précompilations et modifications des comptes d'état :

  • Limites des précompilations : En raison de la taille limitée des circuits zkEVM, il existe des limites sur le nombre d'appels à certaines précompilations :

    | Precompile | Number of Calls | | --- | --- | | keccak256 | 3157 calls | | ecRecover | 119 calls | | modexp | 23 calls | | ecAdd | 50 calls | | ecMul | 50 calls | | ecPairing | 2 calls |

    • Les transactions dépassant ces limites ne seront pas annulées mais ignorées par le séquenceur.
  • Modifications des comptes d'état : La structure des comptes d'état de Morph comprend des champs supplémentaires :

    • PoseidonCodeHash : Un hash Poseidon du bytecode du contrat, utilisé pour une vérification efficace dans le zkEVM.

    • CodeSize : Stocké directement pour éviter de charger l'intégralité des données du contrat pour les opérations EXTCODESIZE.

Système de double CodeHash :

  • KeccakCodeHash : Maintenu pour la compatibilité avec EXTCODEHASH.

  • PoseidonCodeHash : Utilisé pour une vérification efficace du bytecode dans le zkEVM.

Ces différences, bien que transparentes pour les utilisateurs finaux, sont importantes pour les développeurs lorsqu'ils construisent ou portent des applications sur Morph. Elles reflètent les optimisations de Morph pour son architecture zkEVM tout en maintenant une grande compatibilité avec Ethereum. Les développeurs doivent tester soigneusement leurs applications sur le testnet de Morph pour assurer la compatibilité et des performances optimales.

VIII. Comprendre les coûts de transaction sur Morph

Les coûts de transaction sur Morph se composent de deux éléments principaux : les frais d'exécution sur L2 et les frais de données sur L1. Comprendre ces coûts est crucial pour les développeurs et les utilisateurs du réseau Morph.

Frais d'exécution sur L2

Les frais d'exécution sur L2 sur Morph sont similaires aux frais de gas sur Ethereum, mais avec des différences clés :

  • Modèle de tarification EIP-1559 : Morph implémente le modèle de tarification EIP-1559, qui inclut des frais de base et des frais de priorité.

  • Formule pour les frais d'exécution L2 :

        textl2_execution_fee = l2_gas_price * l2_gas_used
        l2_gas_price = l2_base_fee + l2_priority_fee
    
  • Utilisation du gas : En raison de la compatibilité EVM, l'utilisation du gas pour les transactions sur Morph est généralement similaire à Ethereum, bien que certaines opérations puissent avoir des coûts de gas différents en raison des optimisations de Morph.

Avantages :

  • Le modèle EIP-1559 contribue à des frais de transaction plus prévisibles et stables.

  • Les utilisateurs peuvent ajuster leurs frais de priorité pour potentiellement accélérer le traitement des transactions.

Frais de données sur L1

Les frais de données sur L1 sont un aspect unique des solutions Layer 2 comme Morph :

  • But : Ces frais couvrent le coût de publication des données de transaction sur Ethereum, garantissant la disponibilité et la sécurité des données.

  • Calcul : Les frais de données L1 sont calculés à l'aide de la formule suivante :

        textl1DataFee = (l1BaseFee * commitScalar + l1BlobBaseFee * tx_data_gas * blobScalar) / rcfg.Precision
    

    ou`

  •     texttx_data_gas = count_zero_bytes(tx_data) * 4 + count_non_zero_bytes(tx_data) * 16
    

    Facteurs influençant les frais de données L1 :

    • Les frais de base d'Ethereum et les frais de base des blobs

    • La taille et la composition des données de transaction

    • Les facteurs d'échelle (commitScalar et blobScalar) définis par Morph

Importance :

  • Les frais de données L1 constituent souvent la majorité du coût total de transaction sur Morph.

  • Ces frais peuvent fluctuer en fonction de la congestion du réseau Ethereum.

Estimation et affichage des frais aux utilisateurs

L'estimation précise et l'affichage des frais sont essentiels pour une bonne expérience utilisateur :

  • Estimation des frais totaux : Combinez à la fois les estimations des frais d'exécution L2 et des frais de données L1 :

        texttotal_fee = l2_execution_fee + l1_data_fee
    
  • Interroger les prix du gas : Utilisez la méthode RPC eth_gasPrice pour obtenir le prix actuel du gas L2.

    • Le contrat GasPriceOracle (pré-déployé sur Morph) fournit les paramètres nécessaires pour le calcul des frais de données L1.
  • Affichage des frais aux utilisateurs : Montrez le coût total estimé, en le détaillant entre les composants des frais d'exécution L2 et des frais de données L1.

    • Envisagez d'afficher les frais en ETH et en équivalent USD pour une meilleure compréhension par les utilisateurs.
  • Gestion des transactions "Max ETH" : Lorsque l'utilisateur souhaite envoyer la totalité de son solde ETH, soustrayez à la fois les frais d'exécution L2 et les frais de données L1 du solde total.

  • Erreurs RPC courantes : Préparez-vous à gérer et afficher des messages conviviaux pour les erreurs courantes comme :

    • Fonds insuffisants (code d'erreur -32000)

    • Prix du gas trop bas ou trop élevé (code d'erreur -32000)

  • Mises à jour dynamiques : Envisagez de mettre en œuvre des mises à jour en temps réel des frais, en particulier pendant les périodes de congestion du réseau.

En estimant avec précision et en affichant clairement les coûts de transaction, les développeurs peuvent aider les utilisateurs à prendre des décisions éclairées sur leurs transactions sur Morph. Cette transparence est essentielle pour une expérience utilisateur positive sur le réseau de Layer 2.

  • IX. Conclusion : L'avenir de l'évolutivité avec Morph

    Récapitulatif des avantages de Morph

    Morph offre plusieurs avantages clés en tant que solution de mise à l'échelle Layer 2 pour Ethereum :

    • Technologie Optimistic zkEVM : Combine l'efficacité des rollups optimistes avec la sécurité des preuves à connaissance zéro.

      • Offre une haute compatibilité avec l'EVM, facilitant la portabilité des applications Ethereum existantes.
    • Architecture décentralisée : Utilise un réseau de séquenceurs et soumetteurs de lots décentralisés.

      • Améliore la sécurité et la résistance à la censure par rapport aux solutions centralisées de Layer 2.
    • Efficacité des coûts : Réduit considérablement les coûts de transaction par rapport au réseau principal d'Ethereum.

      • Optimise la soumission des lots pour minimiser les frais de données sur Layer 1.
    • Haut débit : Des temps de blocs plus rapides (1 seconde) permettent des confirmations de transaction plus rapides.

      • La capacité de traitement des transactions accrue aide à alléger les problèmes de congestion d'Ethereum.
    • Modèle de sécurité solide : Exploite la sécurité d'Ethereum tout en ajoutant des couches supplémentaires de protection grâce aux systèmes de rollup optimiste et de preuves à connaissance zéro.

      • Implémente des périodes de contestation et l'Arbre de Retrait pour des transferts d'actifs sécurisés.

Impact potentiel sur l'écosystème d'Ethereum

Morph pourrait avoir un impact significatif sur l'écosystème d'Ethereum :

  • Augmentation de l'évolutivité : En déchargeant les transactions vers Morph, Ethereum peut gérer un volume d'activité beaucoup plus important sans congestion.

    • Cette amélioration de l'évolutivité pourrait ouvrir de nouveaux cas d'utilisation et applications qui étaient auparavant impraticables sur Ethereum.
  • Expansion des DApp : Des coûts de transaction plus bas et des confirmations plus rapides pourraient encourager davantage de développeurs à créer sur Ethereum (via Morph).

    • Les DApp existantes pourraient voir une augmentation de leur utilisation grâce à une meilleure expérience utilisateur.
  • Évolution du rôle d'Ethereum : Au fur et à mesure que les solutions Layer 2 comme Morph se développent, Ethereum pourrait de plus en plus servir de couche de règlement et de sécurité.

    • Cela pourrait conduire à un écosystème plus diversifié et spécialisé de solutions Layer 2 basées sur Ethereum.
  • Avancées en matière d'interopérabilité : La technologie de pont de Morph pourrait contribuer à une meilleure interopérabilité entre Ethereum et son écosystème de Layer 2.

    • Cela pourrait favoriser l'innovation dans les applications et services cross-layer.
  • Dynamique du marché : La réduction des coûts de transaction pourrait rendre les services basés sur Ethereum plus compétitifs par rapport à d'autres blockchains.

    • Cela pourrait également conduire à de nouveaux modèles économiques et conceptions de tokenomics tirant parti des forces des couches 1 et 2.

Encouragement pour les développeurs à explorer et construire sur Morph

Aux développeurs qui envisagent Morph comme une plateforme :

  • Environnement de développement familier : La haute compatibilité EVM de Morph signifie que vous pouvez utiliser vos compétences et outils de développement Ethereum existants.

    • Les frameworks populaires comme Hardhat, Truffle et Web3.js sont entièrement pris en charge.
  • Tests et déploiement rentables : Profitez des coûts de transaction réduits de Morph pour itérer et tester vos applications plus fréquemment.

    • Déployez des contrats complexes et effectuez des tests approfondis sans vous soucier des frais de gas élevés.
  • Évolutivité sans compromis : Créez des applications capables de gérer de fortes charges d'utilisateurs sans sacrifier la décentralisation ou la sécurité.

    • Exploitez les temps de blocs rapides de Morph pour créer des applications réactives et en temps réel.
  • Fonctionnalités innovantes : Explorez les fonctionnalités uniques de Morph, telles que son réseau de séquenceurs décentralisés et ses soumissions de lots optimisées.

    • Réfléchissez à la manière dont ces fonctionnalités peuvent améliorer les performances et l'expérience utilisateur de votre application.
  • Écosystème en pleine croissance : Rejoignez une communauté croissante de développeurs repoussant les limites de ce qui est possible sur Ethereum.

    • Contribuez à l'évolution de la technologie Layer 2 et participez à façonner l'avenir de l'évolutivité des blockchains.
  • Support et ressources : Profitez de la documentation, des tutoriels et du support communautaire de Morph.

    • Participez à des hackathons, des programmes de subventions et d'autres initiatives pour lancer votre projet sur Morph.

En construisant sur Morph, vous ne développez pas seulement une application, vous contribuez à la prochaine phase de l'évolution d'Ethereum. L'avenir des applications évolutives et décentralisées est là, et Morph fournit les outils et l'infrastructure pour concrétiser votre vision. Que vous portiez une application Ethereum existante ou que vous créiez quelque chose de complètement nouveau, Morph offre une plateforme puissante pour donner vie à vos idées.

13
Subscribe to my newsletter

Read articles from Daniel Kambale directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Daniel Kambale
Daniel Kambale

Hello! I’m Daniel, a Web3 developer specializing in Solidity and smart contract development. My journey in the blockchain space is driven by a vision of a fully decentralized world, where technology empowers individuals and transforms industries. As an ambassador at Morph, I’m committed to fostering growth and innovation in this space, helping to shape a future that values transparency and security. Fluent in both English and French, I enjoy connecting with diverse communities and sharing my insights across languages. This is why you’ll find some of my articles in French, while others are in Swahili, as I believe knowledge should be accessible to all. I use my Hashnode blog to document my learning process, explore decentralized solutions, and share practical tutorials on Web3 development. Whether it's diving deep into Solidity, discussing the latest in blockchain, or exploring new tools, I’m passionate about contributing to a decentralized future and connecting with others who share this vision. Let’s build the future together!