1. Le village Ethereum déchu
Il était une fois, dans le village de Ethereum, un groupe de grenouilles vertes Pepe. C’était autrefois l’un des royaumes les plus animés, où une forte décentralisation et une grande sécurité donnaient naissance à une économie prospère.
Guidés par ces principes, les villageois ont organisé des élections régulières basées sur leurs intérêts pour désigner des dirigeants qui ont supervisé la génération de blocs qui enregistraient les transactions toutes les 12 secondes. Ils ont ainsi géré avec diligence l’économie florissante du village.
Aujourd’hui, l’ancienne gloire d’Ethereum commence à s’estomper, les mèmes virus se propagent et le pouvoir du village s’affaiblit. Des ombres planent sur les rues et les grenouilles vertes de Pepe se traînent lourdement, errant sans but dans le village désolé et faiblement éclairé.
Cependant, certaines grenouilles vertes de Pepe aspirent toujours à restaurer la splendeur perdue d’Ethereum. Elles soutiennent la « réforme L2 », un mouvement visant à revitaliser le village. Grâce à leurs efforts, Ethereum recommence à prospérer, atteignant une vitalité économique autrefois jugée impossible.
Mais la réforme L2 a aussi ses limites. Les villages voisins comme Solana et Sui, bien que jeunes et pleins d’instabilité, évoluent rapidement grâce à des révolutions scientifiques sans précédent. Leurs innovations rendent les transactions financières complexes transparentes, tandis qu’Ethereum, malgré les réformes, est toujours en difficulté. Par conséquent, des rumeurs circulent parmi les grenouilles de Pepe sur la possibilité de se relocaliser dans ces villages voisins.
Puis, un jour fatidique, un sorcier Pepe violet est apparu dans le village Ethereum.
2. L’arrivée du magicien Pepe violet
Vêtu d’une robe violette, le sorcier Pepe contemple avec tristesse la gloire perdue du village Ethereum, déterminé à établir un nouveau royaume appelé Monad.
Un jour, il apparut devant les grenouilles vertes de Pepe et annonça son grand projet de créer le village de Monad. Il rassembla les grenouilles vertes de Pepe sur la place centrale et commença à écouter leurs pensées.
Green Pepe Frog 1 prend la parole : « J’espère que la vie dans Monad sera semblable à celle d’Ethereum. Bien qu’Ethereum n’ait pas l’évolutivité de Solana ou de Sui, je n’ai jamais envisagé de partir parce que leurs cultures sont très différentes de la nôtre. »
Green Pepe Frog 2 a ajouté : « Il est important de conserver le même mode de vie et la même culture, mais j’espère aussi que le système sera aussi efficace que ceux des autres villages. Bien qu’Ethereum soit sûr, il n’est pas suffisant pour les entreprises qui recherchent la vitesse et l’agilité. »
Le magicien s’est souvenu de leurs souhaits et a promis de créer Monad avec les caractéristiques culturelles d’Ethereum et l’évolutivité de Solana et Sui. Il contempla les puissants sorts nécessaires à la réalisation de ce rêve : un village compatible avec les traditions d’Ethereum et capable de répondre aux progrès de la nouvelle ère en matière d’efficacité.
Il a ensuite partagé sa vision avec les grenouilles de Pepe enthousiastes, allumant leur espoir d’une véritable maison qui offrirait le meilleur des deux mondes.
3. Sort secret 1 : Exécution différée
L’une des limites de l’évolutivité d’Ethereum village réside dans le traitement de chaque transaction au cours du processus de consensus, qui est une étape nécessaire à la génération de chaque nouveau bloc.
Dans Ethereum, le leader qui propose un bloc doit calculer au préalable toutes les transactions qu’il contient afin de s’assurer de la validité de chacune d’entre elles. En outre, les nœuds de validation qui reçoivent ce bloc doivent également calculer toutes les transactions pour vérifier la légitimité et le vote du bloc.
Étant donné que le processus de consensus implique des calculs et des communications entre les villageois, le temps alloué au traitement des transactions est très limité, ce qui conduit en fin de compte à une évolutivité restreinte.
Pour résoudre ce problème, le sorcier Pepe violet a introduit un nouveau sort appelé « Exécution différée ». Ce sort sépare le processus de « consensus » (ordonner les transactions des villageois) du processus d' »exécution » (calculer les résultats de ces transactions).
En termes simples, au lieu de parvenir à un consensus et à une exécution simultanée pour chaque bloc, le consensus est atteint pour le bloc N tandis que l’exécution a lieu pour le bloc N-1 (où l’ordre des transactions a déjà été établi).
En permettant l’exécution d’un bloc entier, cette méthode augmente considérablement le nombre de transactions pouvant être traitées dans le même laps de temps.
Sort avancé : Racine de merkle retardée
Dans Ethereum, les nœuds calculent avant d’atteindre le consensus pour garantir la validité du bloc. Cependant, dans le système d’exécution différée de Monad, le consensus et l’exécution sont séparés. Cela ouvre la possibilité aux nœuds malveillants d’ignorer les transactions de consensus précédemment atteintes ou de modifier arbitrairement les états de calcul.
Pour éviter cela, Monad intègre la racine de Merkle (le résultat calculé du bloc N-10) dans la proposition du bloc N. Si plus de deux tiers des nœuds parviennent à un consensus sur le bloc N, cela signifie qu’il y a consensus sur le calcul du bloc N-10.
Si le résultat du calcul d’un nœud pour le bloc N-10 ne correspond pas à la racine de Merkle contenue dans le bloc N, ce nœud sera retiré du consensus à partir du bloc N. Le délai de 10 blocs pour la racine de Merkle garantit la détection en temps utile de toute erreur de calcul.
Il convient de noter que le temps de blocage de Monad est de 1 seconde, mais cela ne signifie pas que la finalité de Monad nécessite 10 secondes. Grâce au système MonadBFT de Monad, il est possible d’atteindre la finalité à un seul emplacement, ce qui permet d’obtenir la finalité en 1 seconde.
4. Sort secret 2 : hachage des transactions
L’astucieux sorcier Pepe violet a réfléchi à la manière dont les chefs de village pourraient rapidement diffuser les propositions de bloc à d’autres nœuds.
Dans Ethereum, l’approche typique consiste à regrouper l’ensemble de la proposition de bloc (y compris toutes les transactions) et à l’envoyer à travers le réseau.
Cependant, l’assistant Pepe s’est rendu compte que si Monad adoptait cette méthode, la diffusion de propositions de blocs contenant de nombreuses transactions constituerait une tâche ardue et laborieuse.
Pour résoudre ce problème, l’assistant Pepe violet a introduit le concept de « hachage des transactions ». Étant donné que toutes les transactions soumises par les villageois avaient déjà été propagées dans le réseau, chaque nœud conservait un enregistrement des transactions du village Monad dans son propre pool de mémoire.
Cela signifie que le leader n’a plus besoin de transmettre une liste complète des transactions dans chaque proposition de bloc. Au lieu de cela, il pouvait simplement référencer les transactions en envoyant leurs valeurs de hachage.
Ainsi, les propositions de blocs de Monad ne contiendraient que les valeurs de hachage de chaque transaction. En recevant ces valeurs de hachage, les autres nœuds pourraient facilement les comparer avec leurs propres enregistrements de transaction.
5. Sort secret 3 : MonadBFT
Dans le village Monad, l’ordre des transactions au sein de chaque bloc et le consensus pour la création des blocs sont contrôlés par MonadBFT, un mécanisme de consensus très performant basé sur HotStuff. Cet algorithme de tolérance aux fautes byzantines (BFT) permet d’obtenir un consensus en deux étapes.
Le rôle du chef de bloc est sélectionné de manière aléatoire sur la base de la part de mise de chaque participant. Dans Monad, l’efficacité de la construction des blocs est plus élevée que dans le village Ethereum car chaque proposition de bloc N est transmise avec le certificat de quorum (QC) du bloc précédent N-1, indiquant que plus des deux tiers des nœuds ont vérifié ce bloc.
Le processus se déroule comme suit :
- Le leader N diffuse la proposition pour le bloc N, accompagnée du QC pour le bloc N-1.
- Les validateurs vérifient le bloc N et envoient leurs votes au leader N+1.
- Le responsable N+1 partage la proposition pour le bloc N+1, ainsi que le QC pour le bloc N.
Cependant, même avec le QC N, les validateurs ne peuvent pas confirmer immédiatement le bloc N, car la nature de la blockchain ne garantit pas que tous les participants sont en ligne et synchronisés.
Pour sécuriser complètement le bloc N, les validateurs doivent envoyer leurs votes « oui » pour le bloc N+1, qui contient le QC N, au chef N+2. Lorsque le leader N+2 génère le QC N+1, il confirme la réussite du tour N+1, finalisant ainsi le bloc N.
Ainsi, grâce à une magie intelligente, le sorcier Pepe violet fait entrer le village de Monad dans une nouvelle ère.
6. Sort secret 4 : Exécution parallèle
Dans Monad, pour gérer un grand nombre de transactions du village, le sorcier Pepe violet a conçu un nouveau sort qui traite les transactions en parallèle plutôt qu’en série comme dans Ethereum village.
Dans le cas de l’exécution différée, l’exécution ne commence qu’après l’obtention d’un consensus sur l’ordre des transactions du bloc. Le village Monad se compose de nombreux exécutants compétents, chacun étant responsable du traitement des transactions, du calcul indépendant de leurs entrées et sorties et de la création d’une liste d’attente.
Ces entrées et sorties ne modifient pas immédiatement l’état du village mais attendent dans un état magique suspendu, prêtes à être soumises dans l’ordre déterminé par consensus. Cette soumission fusionne les sorties avec l’état actuel, tissant ainsi une tapisserie magique homogène et ordonnée.
Cependant, un problème se pose. Le traitement parallèle introduit la possibilité de conflits de transactions, qui sont rares dans le village ordonné d’Ethereum mais représentent un nouveau défi dans Monad.
Par exemple, si une transaction (transaction b) montre que le villageois A offre 1 ETH au villageois B, tandis qu’une autre transaction (transaction c) montre que B dépense cet ETH à l’auberge du village, leur ordre devient critique. Si la transaction c tente de s’exécuter avant la transaction b, elle échouera. Dans ce cas, les transactions en conflit sont réorganisées et la transaction c attendra que la transaction b soit terminée avant de s’exécuter.
Par conséquent, dans Monad, le cœur de l’exécution parallèle réside dans l’ordonnancement : les résultats sont calculés en parallèle, mais les mises à jour d’état sont fusionnées dans l’ordre précis requis.
7. Sort secret 5 : MonadDb
Les idées créatives du sorcier Pepe violet ne se sont pas arrêtées là. Il a créé MonadDb, une base de données personnalisée propre au village Monad, spécialement conçue pour stocker l’état de la blockchain. Ethereum s’appuie sur un Merkle Patricia Trie complexe, connu pour sa résilience mais aussi pour son inefficacité pour les clients externes.
MonadDb a été conçu en tenant compte de l’exécution parallèle du village, prenant en charge plusieurs lectures et écritures simultanées avec une grande précision. Contrairement aux bases de données traditionnelles qui exigent que chaque tâche soit terminée avant de passer à la suivante, MonadDb utilise la magie des E/S asynchrones, ce qui permet aux tâches de se chevaucher de manière transparente et ouvre la voie à un véritable traitement parallèle des transactions.
8. Venez visiter le village Monad !
Grâce à une série de sorts merveilleux et à une magie complexe, le sorcier Pepe violet a créé le village Monad. Ici, les comptes de confiance, la cryptographie, les formats de transaction, les langues et les portefeuilles d’Ethereum se fondent sans effort dans l’évolutivité de Solana et de Sui. Aujourd’hui, Monad est en plein essor et vise à réaliser son rêve de traiter 10 000 transactions par seconde.
Né de la sagesse et de l’espoir, le village Monad pourra-t-il sauver le monde en proie aux mèmes virus et aider Ethereum à retrouver sa gloire ? Seul l’avenir nous le dira.