Ethereum n’est probablement pas trop préoccupé par la « rétrocompatibilité ». Il y a quelques années, l’écosystème Polkadot a également été mis à niveau de fond en comble, et plusieurs applications DeFi importantes sont passées de V1 et V2 à V3 et V4, et les utilisateurs n’avaient guère de perception, sans parler du fait qu’il n’y avait rien qui ne pouvait pas être changé...
Le nouvel article de blog de V mentionne le système Rosetta d’Apple, qui reflète avec précision les défis techniques auxquels le réseau principal Ethereum sera confronté s’il veut remplacer les EVM par d’autres VM, un peu comme lorsqu’Apple a abandonné Intel en faveur de ses propres puces de la série M basées sur l’architecture Arm.
Qu’est-ce qu’il y a de si difficile là-dedans ?
Comme nous l’avons déjà dit, tout code écrit dans un langage de haut niveau finit par s’exécuter sur un certain jeu d’instructions :
- Si le processeur de votre ordinateur est Intel/AMD, le programme sera exécuté selon le jeu d’instructions x86
- Dans le cas des puces Apple de la série M, le programme s’exécutera éventuellement sur le processeur selon le jeu d’instructions Arm
Rappelez-vous ensuite : comment le programme a-t-il vu le jour ?
Une fois qu’un programmeur a écrit du code dans un langage de haut niveau, il doit utiliser le compilateur pour le compiler dans un fichier exécutable « pour un certain système d’exploitation et un certain jeu d’instructions ». Lors du téléchargement d’une application, votre habituel « Linux-x86 », « macOS-x86 », « macOS-Arm » l’illustre, et le suffixe du nom de fichier représente le jeu d’instructions cible (pourquoi il y a toujours un système d’exploitation, la prochaine fois que vous pourrez en parler)
Alors, Tim, quel est le prix ? 😡
Lorsque Apple a décidé de changer le noyau, il n’y avait pas de version Arm compilée prête à l’emploi pour un grand nombre d’applications, et le résultat était que les programmes macOS-x86 ne pouvaient pas fonctionner nativement sur la puce M.
Que faire ? Trouvez un traducteur : c’est là que Rosetta entre en jeu.
Rosetta, de Rosetta Stone. Ce qui est génial, c’est que le même contenu a été enregistré dans trois langues anciennes, et que le grec ancien est devenu la clé pour déchiffrer les hiéroglyphes égyptiens. De la même manière, Rosetta agit principalement comme une « couche de traduction » entre les deux ensembles d’instructions, traduisant le programme compilé du jeu d’instructions A en jeu d’instructions B de manière dynamique ou en une seule fois. De cette façon, le programme précédent peut également fonctionner de manière transparente sur du matériel qui utilise le nouveau jeu d’instructions. Grâce à l'"équivalence de calcul », la sortie du programme traduit est exactement la même, mais au prix d’une certaine performance.
Pourquoi Rosetta est-elle rarement mentionnée ? Au fur et à mesure que l’écosystème de la puce M mûrit, les développeurs compilent généralement une version Arm du programme lors de la mise à jour de leurs applications. Seuls les vieux logiciels qui sont vieux et non entretenus doivent compter sur Rosetta.
Par conséquent, si Ethereum veut vraiment remplacer l’EVM, il devra essentiellement suivre à nouveau le chemin de migration d’Apple :
- Créez votre propre « Rosetta » afin que l’ancien bytecode du contrat puisse continuer à s’exécuter sur la nouvelle VM
- Progressivement, laissez le nouveau contrat se compiler directement sur la nouvelle VM native
C’est encore un long, long, long chemin entre la mise en place de la couche de compatibilité et la couverture de tous les anciens contrats.
7,33 k
8
Le contenu de cette page est fourni par des tiers. Sauf indication contraire, OKX n’est pas l’auteur du ou des articles cités et ne revendique aucun droit d’auteur sur le contenu. Le contenu est fourni à titre d’information uniquement et ne représente pas les opinions d’OKX. Il ne s’agit pas d’une approbation de quelque nature que ce soit et ne doit pas être considéré comme un conseil en investissement ou une sollicitation d’achat ou de vente d’actifs numériques. Dans la mesure où l’IA générative est utilisée pour fournir des résumés ou d’autres informations, ce contenu généré par IA peut être inexact ou incohérent. Veuillez lire l’article associé pour obtenir davantage de détails et d’informations. OKX n’est pas responsable du contenu hébergé sur des sites tiers. La détention d’actifs numériques, y compris les stablecoins et les NFT, implique un niveau de risque élevé et leur valeur peut considérablement fluctuer. Examinez soigneusement votre situation financière pour déterminer si le trading ou la détention d’actifs numériques vous convient.