Arbitrum Stylus : Une nouvelle norme pour la composabilité des contrats intelligents

Intermédiaire1/6/2024, 6:49:17 PM
L'article examine les motivations d'Arbitrum Stylus, les détails de sa mise en œuvre et son impact sur l'espace Web3.

Introduction

De la lutte avec le bytecode sur Etherscan à la protection contre toutes sortes d'exploits de code dans Solidity, la pile technologique EVM du développement de la blockchain est assez différente de celle d'une pile technologique web2 pour de nombreux développeurs, créant ainsi un "fossé" entre la pile technologique Solidity-EVM et les langages courants tels que Rust, C++ ou Python. Alors que l'espace blockchain continue de mûrir, il y a un grand besoin de combler ce fossé entre les développeurs et de permettre un développement web3 beaucoup plus composable.

Dans cet article, nous vous présentons le dernier projet d'Offchain Labs, Arbitrum Stylus, dévoilé lors de la conférence Blockchain Applications Stanford Summit (BASS) pendant la Stanford Blockchain Week. Arbitrum Stylus est un projet phare qui vise à créer une nouvelle norme pour la composabilité des contrats intelligents en unifiant l'environnement d'exécution de l'EVM avec celui du WASM. Tout d'abord, nous discuterons des motivations de ce projet, avant de plonger dans les détails de sa mise en œuvre, et enfin de discuter de son impact dans l'espace web3.

Motivation pour Arbitrum Stylus

Arbitrum Stylus a été développé pour répondre à deux problèmes clés dans le développement de la blockchain : (1) l'accessibilité du développement de la blockchain, et (2) l'efficacité d'exécution des contrats intelligents.

Rendre le développement de la blockchain plus accessible

Rapport du développeur par Electric Capital. Image de la source [1]. Consulté le 20 octobre 2023.

Selon le rapport sur les développeurs d'Electric Capital, il y a actuellement environ 20 000 développeurs de blockchain actifs mensuellement [1]. Bien que ce nombre ait considérablement augmenté au cours des dernières années, il reste bien inférieur aux millions (ou dizaines de millions) de développeurs qui utilisent des langages à usage général tels que Rust ou C++. Alors que l'espace blockchain continue de se développer, il est de plus en plus nécessaire de rationaliser le processus d'intégration de millions de nouveaux développeurs de contrats intelligents.

L'un des meilleurs moyens d'y parvenir est d'intégrer le processus de développement des contrats intelligents aux langages courants existants, tels que Rust ou C++. C'est l'approche adoptée par de nombreux écosystèmes non-EVM, tels que Solana et Cosmos, où Rust s'est imposé comme le langage de facto des contrats intelligents. Jusqu'à présent, l'écosystème EVM s'appuie principalement sur son propre langage de programmation Solidity pour écrire des contrats intelligents. Arbitrum Stylus, cependant, cherche à changer cela en permettant aux développeurs de blockchain d'écrire des contrats intelligents dans des langages courants tels que Rust, puis de les déployer sur des chaînes compatibles avec l'EVM.

Rendre l'exécution des contrats intelligents plus efficace

Au cours des dernières années, la popularité des applications décentralisées a explosé, ce qui a entraîné une augmentation considérable de la demande de calcul sur la chaîne, en particulier sur le réseau Ethereum. Ce pic de la demande du réseau a entraîné des prix du gaz exorbitants. Cela a entraîné une vague d'innovations visant à augmenter le débit transactionnel des blockchains publiques, et Arbitrum est l'un des projets et écosystèmes les plus en vue dans ce domaine. Cela inclut la chaîne phare Arbitrum One L2, ainsi que la pile technologique Arbitrum Nitro.

Arbitrum Stylus est une extension naturelle de tout cela et la dernière solution dans la boîte à outils d'Arbitrum. Par rapport aux solutions précédentes, qui se concentrent sur l'optimisation de l'efficacité inter-transactionnelle des transactions (comme la mise en lots des transactions par le biais de rollups), Stylus se concentre sur l'optimisation du niveau intra-transactionnel, c'est-à-dire sur la manière dont chaque transaction est exécutée. En permettant l'exécution des contrats en WebAssembly (WASM), les contrats Stylus sont d'un ordre de grandeur plus rapide, promettant des frais de gaz moins élevés, ainsi qu'un accès à la mémoire qui peut être jusqu'à 100-500 fois moins cher qu'en utilisant l'EVM [2].

Stylus : Assurer la compatibilité WASM + EVM

WebAssembly et Arbitrum Nitro

Pour comprendre pourquoi Stylus est tellement plus efficace et composable qu'un moteur EVM traditionnel, nous devons d'abord comprendre le rôle de WebAssembly, ou WASM. Le WASM est une forme de langage d'assemblage, ce qui signifie qu'il s'agit essentiellement d'un code binaire lisible par une machine, plutôt que de langages lisibles par l'homme tels que Rust ou C++. Ces langages lisibles par l'homme ont besoin d'un "compilateur" pour les transformer en "langages d'assemblage" lisibles par la machine avant d'être exécutés.

WASM en particulier, comme son nom l'indique, est un langage d'assemblage optimisé pour les navigateurs web, afin d'augmenter la vitesse d'exécution des applications web principalement basées sur Javascript. En tant que langage d'assemblage portable, modulaire et facilement exécutable, WASM permet aux développeurs d'écrire directement des extraits de code dans une variété de langages courants, tels que Rust ou C++ [3].

Avec la mise à jour Nitro d'Arbitrum, étant donné que tous les litiges sur la chaîne sont traités dans le WASM, cela signifie que Nitro dispose d'un système de fraude fonctionnel pour n'importe quel WASM arbitraire [2]. Et comme Arbitrum Nitro est capable de fournir des preuves de fraude pour n'importe quel code WASM, cela signifie qu'il peut fournir des preuves de fraude pour n'importe quel programme compilé en WASM.

Arbitrum Stylus ajoute principalement un moteur d'exécution WASM au dessus de ce prouveur de fraude WASM existant hérité d'Arbitrum Nitro, basé sur l'un des principaux moteurs WASM appelé Wasmer, qui exécute le code beaucoup plus rapidement que Geth exécute le bytecode EVM [2]. Avec un moteur d'exécution et un moteur de preuve, les contrats intelligents peuvent être entièrement rédigés, exécutés et prouvés dans WASM. Étant donné que de nombreux langages courants, tels que Rust et C++, sont capables de compiler directement dans WASM, c'est ainsi qu'Arbitrum Stylus permet aux développeurs de blockchain d'écrire, de déployer et d'exécuter des contrats intelligents dans une grande variété de langages courants à usage général.

Comparaison entre l'EVM et le Stylus EVM+. Image de la source [2].

Cohérence dans le moteur EVM

Arbitrum Stylus offre aux développeurs la possibilité d'écrire des contrats en Rust et dans d'autres langages compatibles avec WASM, sans avoir à sacrifier la capacité d'écrire et d'exécuter des contrats intelligents dans Solidity. En disposant de deux moteurs d'exécution égaux, l'EVM et le WASM, Stylus offre également aux développeurs la possibilité d'écrire une partie de leur application en Solidity, et une autre partie en Rust.

Cela soulève toutefois une question : comment le Stylus VM gère-t-il la cohérence entre les deux moteurs ? Comment sait-il quand passer de l'EVM à la VM WASM ?

Tout d'abord, Solidity et les autres contrats basés sur l'EVM sont compilés dans le même bytecode, puis exécutés comme ils le feraient normalement dans un moteur EVM pur. Les contrats intelligents basés sur WASM, comme ceux écrits en Rust par exemple, seront annotés par un "en-tête" supplémentaire au début du contrat. Ainsi, lorsque ces contrats sont appelés, la VM Stylus est en mesure de déterminer quels contrats nécessitent le moteur EVM et quels contrats nécessitent le moteur WASM. Cette conception permet également un degré élevé d'interopérabilité, les contrats écrits en WASM pouvant faire appel à des contrats écrits en Solidity, et vice versa. C'est aussi la principale différence entre Stylus et les autres blockchains qui ont adopté des moteurs d'exécution WASM : Stylus veille à ce que les contrats WASM soient entièrement composables et interopérables avec ceux de l'EVM, ce qui permet une compatibilité ascendante et aux contrats WASM de puiser dans la liquidité de l'EVM.

Une autre façon d'envisager le double moteur de Stylus, EVM et WASM, est de considérer la blockchain comme une "machine d'état mondiale" qui subit certaines transactions d'état telles que définies dans l'EVM. Dans Ethereum, l'état de la chaîne est représenté par une structure en trois parties, ou une structure de données arborescente utilisée pour stocker et récupérer des données de manière efficace [4]. Les moteurs EVM et WASM de Stylus utilisent la même structure Trie pour lire et écrire des données dans la "machine d'état du monde". Les deux moteurs produisent un changement d'état donné pour mettre à jour l'état du monde ; la seule différence réside dans la manière dont ils calculent ce changement d'état.

Économies de coûts grâce au moteur EVM

Précédemment, nous avons déjà laissé entendre que l'utilisation du moteur WASM peut permettre de réaliser des économies substantielles grâce à l'efficacité accrue de l'exécution. Nous pouvons maintenant examiner comment cela est possible. Pour ce faire, considérons une seule instruction ADD, par exemple pour 2 + 3.

Dans l'EVM, il faut suivre les étapes suivantes [5] :

  1. Payer pour l'essence, ce qui nécessite de multiples consultations d'un tableau en mémoire
  2. Envisager le traçage, même s'il est désactivé
  3. Retirer deux éléments de la pile simulée
  4. Additionnez-les
  5. Pousser le résultat

Nous pouvons constater que seule l'étape 4 implique réellement l'addition de ces deux nombres entiers, alors que toutes les autres étapes sont des "instructions standard" dans le système EVM qui coûtent toutes des quantités exorbitantes de gaz par rapport au calcul lui-même.

D'autre part, supposons que nous utilisions WASM pour cette simple opération ADD. Il n'y a qu'un pas à franchir :

  1. Exécuter une seule instruction ADD x86 ou ARM

Comparaison entre EVM ADD et WASM ADD. Image de la source [7].

On voit ici que c'est 150 fois moins cher que l'ajout d'un EVM. Compte tenu de toutes ces économies de gaz, Stylus VM a même introduit une nouvelle sous-unité de "gaz", appelée "encre", actuellement définie par défaut comme 1/10000 de 1 gaz, et même configurable par le propriétaire de la chaîne [5].

Toutes ces économies de gaz sont toutefois assorties d'un bémol : il faut du gaz pour activer le Stylus VM, qui est actuellement réglé sur un taux fixe de 114 millions de gaz. En outre, l'appel d'un programme Stylus lui-même prend actuellement entre 128 et 2048 gaz [5]. Ainsi, l'activation de l'environnement WASM dans le seul but d'optimiser une seule opération ADD pour deux nombres entiers n'est pas nécessairement rentable. Cependant, pour les contrats intelligents à forte intensité de mémoire, toutes ces économies se cumuleront, compensant ce "coût d'activation". Par exemple, un appel qui alloue 3,8 Mo de RAM dans l'EVM coûterait ~32 millions de gaz, alors que dans la VM Stylus WASM, il ne coûterait que ~64 000 gaz, ce qui représente une économie de 500x [6]. En corollaire, les applications à forte intensité de mémoire ne sont tout simplement pas possibles sur l'EVM vanille, car elles se heurtent rapidement à toutes sortes de limites de gaz. Cependant, cela devient tout à fait possible dans la VM Stylus, étant donné que la RAM devient beaucoup moins chère en utilisant un moteur d'exécution WASM.

Débloquer de nouveaux cas d'utilisation avec Stylus

1. Applications à forte intensité de mémoire

Comme nous l'avons vu plus haut, l'un des aspects les plus intéressants d'Arbitrum Stylus est la possibilité d'utiliser des applications gourmandes en mémoire sur la chaîne. Cela ouvre la voie à une toute nouvelle catégorie d'applications, telles que les NFT d'IA générative, le commerce à haute fréquence et les jeux en chaîne [7]. En effet, Stylus VM est peut-être une technologie historique qui permet à l'IA, connue pour ses besoins élevés en mémoire, d'être viable en termes de calcul sur la chaîne et d'être totalement interopérable avec les contrats EVM.

2. Composabilité de l'Alt-VM avec la liquidité de l'EVM

En outre, la compatibilité de Stylus avec l'EVM et sa capacité à permettre l'interopérabilité des contrats basés sur WASM avec les contrats Solidity natifs signifient que ces contrats WASM peuvent pleinement exploiter les liquidités massives et la base d'utilisateurs de l'EVM. Rappelez-vous que nous avons mentionné précédemment que de nombreuses VM alternatives, telles que Solana et Cosmos, utilisent des langages compatibles avec WASM tels que Rust pour exécuter leurs contrats intelligents. Le moteur WASM de Stylus signifie que les développeurs de ces VM alternatives peuvent facilement porter leurs contrats dans l'écosystème EVM et profiter immédiatement de la liquidité de l'EVM.

3. Bibliothèques d'usage général, précompilations et infrastructure de débogage

Un autre avantage de Stylus, qui permet aux développeurs d'utiliser des langages courants tels que Rust et C++ pour écrire leurs contrats intelligents, est que les développeurs peuvent utiliser les quantités massives de bibliothèques à usage général qui prennent en charge ces langages courants et qui contiennent tout, du calcul sur la chaîne aux primitives cryptographiques en passant par les E/S de fichiers.

Plus important encore, les développeurs peuvent bénéficier d'une infrastructure d'outils sophistiquée conçue pour ces langages courants. Il s'agit non seulement de gestionnaires de paquets avancés, mais aussi d'infrastructures de débogage familières, telles que la boîte à outils GDB en C/C++. Tout cela augmentera probablement considérablement la familiarité de web3 avec le développement, et permettra un processus d'intégration beaucoup plus simple dans le développement de la blockchain et de la pile EVM.

4. L'informatique en chaîne au service de l'IdO pour DePIN

Grâce à l'efficacité d'exécution accrue de WASM, Stylus VM pourrait ouvrir la voie à l'intégration du calcul sur la chaîne dans les appareils portables de l'internet des objets (IoT), des feux de signalisation aux réfrigérateurs intelligents en passant par les smartwatches. Bien que WASM ait été conçu à l'origine pour les environnements de navigation, son architecture portable et modulaire et son exécution efficace en font un outil parfaitement adapté aux appareils IoT, qui nécessitent des temps d'exécution réduits et efficaces [8].

Ainsi, la VM WASM d'Arbitrum Stylus s'inscrit naturellement dans la tendance croissante des réseaux d'infrastructure physique décentralisés (DePIN), qui cherchent à utiliser les réseaux de blockchain et de nouvelles incitations par jetons pour maintenir l'infrastructure physique, des systèmes WiFi aux batteries à énergie solaire [9]. Comme une grande partie de DePIN repose sur l'intégration de la pile blockchain avec des appareils IoT, Arbitrum Stylus pourrait servir de passerelle importante pour permettre à ces appareils d'exécuter efficacement des calculs basés sur WASM et de puiser dans la liquidité EVM à travers l'écosystème Arbitrum [10].

Conclusion

Tout au long de cet article, nous avons exploré en profondeur la motivation, la mise en œuvre et l'impact d'Arbitrum. Stylet. En permettant aux développeurs d'écrire et de déployer des contrats intelligents dans une grande variété de langages grand public, Stylus rend le développement de la blockchain à la fois plus accessible et plus efficace, en combinant la composabilité grand public avec la liquidité EVM pour débloquer un large éventail d'applications nouvelles, en particulier celles qui sont gourmandes en mémoire. Ainsi, Stylus est sans doute un projet phare dans la définition de la prochaine génération de contrats intelligents composables, devenant une plateforme capable de brouiller les frontières entre le développement web2 et web3 pour créer une pile de développement de blockchain plus efficace, plus intégrée et plus performante.

Clause de non-responsabilité:

  1. Cet article est repris de[STANFORD BLOCKCHAIN CLUB]. Tous les droits d'auteur appartiennent à l'auteur original[Rachel Bousfield;Jay Yu]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
  2. Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.

Arbitrum Stylus : Une nouvelle norme pour la composabilité des contrats intelligents

Intermédiaire1/6/2024, 6:49:17 PM
L'article examine les motivations d'Arbitrum Stylus, les détails de sa mise en œuvre et son impact sur l'espace Web3.

Introduction

De la lutte avec le bytecode sur Etherscan à la protection contre toutes sortes d'exploits de code dans Solidity, la pile technologique EVM du développement de la blockchain est assez différente de celle d'une pile technologique web2 pour de nombreux développeurs, créant ainsi un "fossé" entre la pile technologique Solidity-EVM et les langages courants tels que Rust, C++ ou Python. Alors que l'espace blockchain continue de mûrir, il y a un grand besoin de combler ce fossé entre les développeurs et de permettre un développement web3 beaucoup plus composable.

Dans cet article, nous vous présentons le dernier projet d'Offchain Labs, Arbitrum Stylus, dévoilé lors de la conférence Blockchain Applications Stanford Summit (BASS) pendant la Stanford Blockchain Week. Arbitrum Stylus est un projet phare qui vise à créer une nouvelle norme pour la composabilité des contrats intelligents en unifiant l'environnement d'exécution de l'EVM avec celui du WASM. Tout d'abord, nous discuterons des motivations de ce projet, avant de plonger dans les détails de sa mise en œuvre, et enfin de discuter de son impact dans l'espace web3.

Motivation pour Arbitrum Stylus

Arbitrum Stylus a été développé pour répondre à deux problèmes clés dans le développement de la blockchain : (1) l'accessibilité du développement de la blockchain, et (2) l'efficacité d'exécution des contrats intelligents.

Rendre le développement de la blockchain plus accessible

Rapport du développeur par Electric Capital. Image de la source [1]. Consulté le 20 octobre 2023.

Selon le rapport sur les développeurs d'Electric Capital, il y a actuellement environ 20 000 développeurs de blockchain actifs mensuellement [1]. Bien que ce nombre ait considérablement augmenté au cours des dernières années, il reste bien inférieur aux millions (ou dizaines de millions) de développeurs qui utilisent des langages à usage général tels que Rust ou C++. Alors que l'espace blockchain continue de se développer, il est de plus en plus nécessaire de rationaliser le processus d'intégration de millions de nouveaux développeurs de contrats intelligents.

L'un des meilleurs moyens d'y parvenir est d'intégrer le processus de développement des contrats intelligents aux langages courants existants, tels que Rust ou C++. C'est l'approche adoptée par de nombreux écosystèmes non-EVM, tels que Solana et Cosmos, où Rust s'est imposé comme le langage de facto des contrats intelligents. Jusqu'à présent, l'écosystème EVM s'appuie principalement sur son propre langage de programmation Solidity pour écrire des contrats intelligents. Arbitrum Stylus, cependant, cherche à changer cela en permettant aux développeurs de blockchain d'écrire des contrats intelligents dans des langages courants tels que Rust, puis de les déployer sur des chaînes compatibles avec l'EVM.

Rendre l'exécution des contrats intelligents plus efficace

Au cours des dernières années, la popularité des applications décentralisées a explosé, ce qui a entraîné une augmentation considérable de la demande de calcul sur la chaîne, en particulier sur le réseau Ethereum. Ce pic de la demande du réseau a entraîné des prix du gaz exorbitants. Cela a entraîné une vague d'innovations visant à augmenter le débit transactionnel des blockchains publiques, et Arbitrum est l'un des projets et écosystèmes les plus en vue dans ce domaine. Cela inclut la chaîne phare Arbitrum One L2, ainsi que la pile technologique Arbitrum Nitro.

Arbitrum Stylus est une extension naturelle de tout cela et la dernière solution dans la boîte à outils d'Arbitrum. Par rapport aux solutions précédentes, qui se concentrent sur l'optimisation de l'efficacité inter-transactionnelle des transactions (comme la mise en lots des transactions par le biais de rollups), Stylus se concentre sur l'optimisation du niveau intra-transactionnel, c'est-à-dire sur la manière dont chaque transaction est exécutée. En permettant l'exécution des contrats en WebAssembly (WASM), les contrats Stylus sont d'un ordre de grandeur plus rapide, promettant des frais de gaz moins élevés, ainsi qu'un accès à la mémoire qui peut être jusqu'à 100-500 fois moins cher qu'en utilisant l'EVM [2].

Stylus : Assurer la compatibilité WASM + EVM

WebAssembly et Arbitrum Nitro

Pour comprendre pourquoi Stylus est tellement plus efficace et composable qu'un moteur EVM traditionnel, nous devons d'abord comprendre le rôle de WebAssembly, ou WASM. Le WASM est une forme de langage d'assemblage, ce qui signifie qu'il s'agit essentiellement d'un code binaire lisible par une machine, plutôt que de langages lisibles par l'homme tels que Rust ou C++. Ces langages lisibles par l'homme ont besoin d'un "compilateur" pour les transformer en "langages d'assemblage" lisibles par la machine avant d'être exécutés.

WASM en particulier, comme son nom l'indique, est un langage d'assemblage optimisé pour les navigateurs web, afin d'augmenter la vitesse d'exécution des applications web principalement basées sur Javascript. En tant que langage d'assemblage portable, modulaire et facilement exécutable, WASM permet aux développeurs d'écrire directement des extraits de code dans une variété de langages courants, tels que Rust ou C++ [3].

Avec la mise à jour Nitro d'Arbitrum, étant donné que tous les litiges sur la chaîne sont traités dans le WASM, cela signifie que Nitro dispose d'un système de fraude fonctionnel pour n'importe quel WASM arbitraire [2]. Et comme Arbitrum Nitro est capable de fournir des preuves de fraude pour n'importe quel code WASM, cela signifie qu'il peut fournir des preuves de fraude pour n'importe quel programme compilé en WASM.

Arbitrum Stylus ajoute principalement un moteur d'exécution WASM au dessus de ce prouveur de fraude WASM existant hérité d'Arbitrum Nitro, basé sur l'un des principaux moteurs WASM appelé Wasmer, qui exécute le code beaucoup plus rapidement que Geth exécute le bytecode EVM [2]. Avec un moteur d'exécution et un moteur de preuve, les contrats intelligents peuvent être entièrement rédigés, exécutés et prouvés dans WASM. Étant donné que de nombreux langages courants, tels que Rust et C++, sont capables de compiler directement dans WASM, c'est ainsi qu'Arbitrum Stylus permet aux développeurs de blockchain d'écrire, de déployer et d'exécuter des contrats intelligents dans une grande variété de langages courants à usage général.

Comparaison entre l'EVM et le Stylus EVM+. Image de la source [2].

Cohérence dans le moteur EVM

Arbitrum Stylus offre aux développeurs la possibilité d'écrire des contrats en Rust et dans d'autres langages compatibles avec WASM, sans avoir à sacrifier la capacité d'écrire et d'exécuter des contrats intelligents dans Solidity. En disposant de deux moteurs d'exécution égaux, l'EVM et le WASM, Stylus offre également aux développeurs la possibilité d'écrire une partie de leur application en Solidity, et une autre partie en Rust.

Cela soulève toutefois une question : comment le Stylus VM gère-t-il la cohérence entre les deux moteurs ? Comment sait-il quand passer de l'EVM à la VM WASM ?

Tout d'abord, Solidity et les autres contrats basés sur l'EVM sont compilés dans le même bytecode, puis exécutés comme ils le feraient normalement dans un moteur EVM pur. Les contrats intelligents basés sur WASM, comme ceux écrits en Rust par exemple, seront annotés par un "en-tête" supplémentaire au début du contrat. Ainsi, lorsque ces contrats sont appelés, la VM Stylus est en mesure de déterminer quels contrats nécessitent le moteur EVM et quels contrats nécessitent le moteur WASM. Cette conception permet également un degré élevé d'interopérabilité, les contrats écrits en WASM pouvant faire appel à des contrats écrits en Solidity, et vice versa. C'est aussi la principale différence entre Stylus et les autres blockchains qui ont adopté des moteurs d'exécution WASM : Stylus veille à ce que les contrats WASM soient entièrement composables et interopérables avec ceux de l'EVM, ce qui permet une compatibilité ascendante et aux contrats WASM de puiser dans la liquidité de l'EVM.

Une autre façon d'envisager le double moteur de Stylus, EVM et WASM, est de considérer la blockchain comme une "machine d'état mondiale" qui subit certaines transactions d'état telles que définies dans l'EVM. Dans Ethereum, l'état de la chaîne est représenté par une structure en trois parties, ou une structure de données arborescente utilisée pour stocker et récupérer des données de manière efficace [4]. Les moteurs EVM et WASM de Stylus utilisent la même structure Trie pour lire et écrire des données dans la "machine d'état du monde". Les deux moteurs produisent un changement d'état donné pour mettre à jour l'état du monde ; la seule différence réside dans la manière dont ils calculent ce changement d'état.

Économies de coûts grâce au moteur EVM

Précédemment, nous avons déjà laissé entendre que l'utilisation du moteur WASM peut permettre de réaliser des économies substantielles grâce à l'efficacité accrue de l'exécution. Nous pouvons maintenant examiner comment cela est possible. Pour ce faire, considérons une seule instruction ADD, par exemple pour 2 + 3.

Dans l'EVM, il faut suivre les étapes suivantes [5] :

  1. Payer pour l'essence, ce qui nécessite de multiples consultations d'un tableau en mémoire
  2. Envisager le traçage, même s'il est désactivé
  3. Retirer deux éléments de la pile simulée
  4. Additionnez-les
  5. Pousser le résultat

Nous pouvons constater que seule l'étape 4 implique réellement l'addition de ces deux nombres entiers, alors que toutes les autres étapes sont des "instructions standard" dans le système EVM qui coûtent toutes des quantités exorbitantes de gaz par rapport au calcul lui-même.

D'autre part, supposons que nous utilisions WASM pour cette simple opération ADD. Il n'y a qu'un pas à franchir :

  1. Exécuter une seule instruction ADD x86 ou ARM

Comparaison entre EVM ADD et WASM ADD. Image de la source [7].

On voit ici que c'est 150 fois moins cher que l'ajout d'un EVM. Compte tenu de toutes ces économies de gaz, Stylus VM a même introduit une nouvelle sous-unité de "gaz", appelée "encre", actuellement définie par défaut comme 1/10000 de 1 gaz, et même configurable par le propriétaire de la chaîne [5].

Toutes ces économies de gaz sont toutefois assorties d'un bémol : il faut du gaz pour activer le Stylus VM, qui est actuellement réglé sur un taux fixe de 114 millions de gaz. En outre, l'appel d'un programme Stylus lui-même prend actuellement entre 128 et 2048 gaz [5]. Ainsi, l'activation de l'environnement WASM dans le seul but d'optimiser une seule opération ADD pour deux nombres entiers n'est pas nécessairement rentable. Cependant, pour les contrats intelligents à forte intensité de mémoire, toutes ces économies se cumuleront, compensant ce "coût d'activation". Par exemple, un appel qui alloue 3,8 Mo de RAM dans l'EVM coûterait ~32 millions de gaz, alors que dans la VM Stylus WASM, il ne coûterait que ~64 000 gaz, ce qui représente une économie de 500x [6]. En corollaire, les applications à forte intensité de mémoire ne sont tout simplement pas possibles sur l'EVM vanille, car elles se heurtent rapidement à toutes sortes de limites de gaz. Cependant, cela devient tout à fait possible dans la VM Stylus, étant donné que la RAM devient beaucoup moins chère en utilisant un moteur d'exécution WASM.

Débloquer de nouveaux cas d'utilisation avec Stylus

1. Applications à forte intensité de mémoire

Comme nous l'avons vu plus haut, l'un des aspects les plus intéressants d'Arbitrum Stylus est la possibilité d'utiliser des applications gourmandes en mémoire sur la chaîne. Cela ouvre la voie à une toute nouvelle catégorie d'applications, telles que les NFT d'IA générative, le commerce à haute fréquence et les jeux en chaîne [7]. En effet, Stylus VM est peut-être une technologie historique qui permet à l'IA, connue pour ses besoins élevés en mémoire, d'être viable en termes de calcul sur la chaîne et d'être totalement interopérable avec les contrats EVM.

2. Composabilité de l'Alt-VM avec la liquidité de l'EVM

En outre, la compatibilité de Stylus avec l'EVM et sa capacité à permettre l'interopérabilité des contrats basés sur WASM avec les contrats Solidity natifs signifient que ces contrats WASM peuvent pleinement exploiter les liquidités massives et la base d'utilisateurs de l'EVM. Rappelez-vous que nous avons mentionné précédemment que de nombreuses VM alternatives, telles que Solana et Cosmos, utilisent des langages compatibles avec WASM tels que Rust pour exécuter leurs contrats intelligents. Le moteur WASM de Stylus signifie que les développeurs de ces VM alternatives peuvent facilement porter leurs contrats dans l'écosystème EVM et profiter immédiatement de la liquidité de l'EVM.

3. Bibliothèques d'usage général, précompilations et infrastructure de débogage

Un autre avantage de Stylus, qui permet aux développeurs d'utiliser des langages courants tels que Rust et C++ pour écrire leurs contrats intelligents, est que les développeurs peuvent utiliser les quantités massives de bibliothèques à usage général qui prennent en charge ces langages courants et qui contiennent tout, du calcul sur la chaîne aux primitives cryptographiques en passant par les E/S de fichiers.

Plus important encore, les développeurs peuvent bénéficier d'une infrastructure d'outils sophistiquée conçue pour ces langages courants. Il s'agit non seulement de gestionnaires de paquets avancés, mais aussi d'infrastructures de débogage familières, telles que la boîte à outils GDB en C/C++. Tout cela augmentera probablement considérablement la familiarité de web3 avec le développement, et permettra un processus d'intégration beaucoup plus simple dans le développement de la blockchain et de la pile EVM.

4. L'informatique en chaîne au service de l'IdO pour DePIN

Grâce à l'efficacité d'exécution accrue de WASM, Stylus VM pourrait ouvrir la voie à l'intégration du calcul sur la chaîne dans les appareils portables de l'internet des objets (IoT), des feux de signalisation aux réfrigérateurs intelligents en passant par les smartwatches. Bien que WASM ait été conçu à l'origine pour les environnements de navigation, son architecture portable et modulaire et son exécution efficace en font un outil parfaitement adapté aux appareils IoT, qui nécessitent des temps d'exécution réduits et efficaces [8].

Ainsi, la VM WASM d'Arbitrum Stylus s'inscrit naturellement dans la tendance croissante des réseaux d'infrastructure physique décentralisés (DePIN), qui cherchent à utiliser les réseaux de blockchain et de nouvelles incitations par jetons pour maintenir l'infrastructure physique, des systèmes WiFi aux batteries à énergie solaire [9]. Comme une grande partie de DePIN repose sur l'intégration de la pile blockchain avec des appareils IoT, Arbitrum Stylus pourrait servir de passerelle importante pour permettre à ces appareils d'exécuter efficacement des calculs basés sur WASM et de puiser dans la liquidité EVM à travers l'écosystème Arbitrum [10].

Conclusion

Tout au long de cet article, nous avons exploré en profondeur la motivation, la mise en œuvre et l'impact d'Arbitrum. Stylet. En permettant aux développeurs d'écrire et de déployer des contrats intelligents dans une grande variété de langages grand public, Stylus rend le développement de la blockchain à la fois plus accessible et plus efficace, en combinant la composabilité grand public avec la liquidité EVM pour débloquer un large éventail d'applications nouvelles, en particulier celles qui sont gourmandes en mémoire. Ainsi, Stylus est sans doute un projet phare dans la définition de la prochaine génération de contrats intelligents composables, devenant une plateforme capable de brouiller les frontières entre le développement web2 et web3 pour créer une pile de développement de blockchain plus efficace, plus intégrée et plus performante.

Clause de non-responsabilité:

  1. Cet article est repris de[STANFORD BLOCKCHAIN CLUB]. Tous les droits d'auteur appartiennent à l'auteur original[Rachel Bousfield;Jay Yu]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, qui s'en chargera rapidement.
  2. Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!