Conception de GAS pour le premier langage MOVE : une méthode innovante de calcul des ressources off-chain
La dernière version du langage MOVE a été initialement conçue pour fonctionner sans GAS, et n'était donc pas suffisamment préparée pour un plan de GAS. Pour s'adapter aux besoins de l'écosystème blockchain, une plateforme de blockchain publique bien connue a récemment annoncé son plan de GAS unique, qui est le premier design de GAS du langage MOVE, considéré comme une tentative audacieuse.
Le plan GAS clarifie les principes, les processus, les méthodes de calcul et les mécanismes d'ajustement futurs. La plateforme a déclaré qu'elle adoptera activement les suggestions de la communauté pour améliorer ensemble ce mécanisme innovant.
La mesure du GAS est un concept fondamental de nombreuses blockchains, elle définit la quantité abstraite de ressources de calcul et de stockage nécessaires à l'exécution et au stockage des transactions on-chain. Le plan GAS détermine le coût de toutes les exécutions on-chain, utilisé pour calculer la consommation de ressources pendant l'exécution des transactions.
processus de conception
Pour assurer une exécution efficace, la plateforme a pris les mesures suivantes :
Principes de conception clairs
Établir un cadre d'évaluation pour déterminer les prix des différentes exécutions.
Établir un système de mesure du GAS et une algèbre de GAS sécurisée pour MOVE
Intégrer le cadre GAS en amont sur la plateforme
Améliorer la capacité de perception de stockage du cadre GAS
Optimiser en continu le plan GAS
Principes fondamentaux
Ce design de GAS respecte les principes suivants :
Les coûts d'exploitation doivent être directement liés aux ressources disponibles du réseau et diminuer avec les progrès technologiques.
GAS est configuré par la gouvernance off-chain, permettant une configuration flexible.
GAS peut prévenir les attaques DoS sur les ressources fixes du réseau et peut s'ajuster rapidement en fonction de la situation du réseau.
Le prix du GAS reflète la vision de la plateforme pour promouvoir la croissance et maintenir la popularité de la blockchain.
Encourager à privilégier la sécurité, la modularité et d'autres bonnes pratiques dans la conception.
méthode de calcul du GAS
L'utilisateur doit spécifier deux quantités lors de la soumission d'une transaction :
Quantité maximale de GAS : le nombre maximum d'unités de GAS que l'utilisateur est prêt à payer pour exécuter une transaction.
Prix du GAS : calculé en octal par unité de GAS, 1 octal = 0,00000001 jeton de plateforme
Des frais seront appliqués lors de l'exécution de la transaction :
Coûts fixes : frais de base plus frais supplémentaires sur les transactions importantes
Coût d'exécution : utilisé pour exécuter la commande MOVE
Coût de lecture : frais de lecture des données à partir du stockage persistant
Coût d'écriture : le coût d'écriture des données dans le stockage permanent.
Frais de transaction finaux = Quantité totale de GAS consommée × Prix unitaire du GAS
Si le GAS est épuisé pendant l'exécution de la transaction, l'expéditeur sera facturé pour la quantité maximale de GAS, et toutes les modifications seront annulées.
construction du plan GAS
Configuration de base
Le plan GAS comprend certains composants qui ne sont pas liés à une seule opération, tels que la taille de la transaction et l'unité MAXIMUM de GAS.
Taille de la transaction
La plupart des transactions sont de l'ordre de quelques Ko, mais la publication de modules MOVE peut atteindre de quelques Ko à plusieurs dizaines de Ko. La plateforme a initialement fixé la taille des transactions à 32 Ko, puis l'a ajustée à 64 Ko en fonction des retours de la communauté, afin de faciliter le développement des applications.
Maximum unité de GAS
La plus grande unité de GAS définie dans le plan GAS détermine la quantité maximale d'opérations pouvant être exécutées dans une seule transaction, actuellement fixée à 1 000 000. Même lors d'une mise à niveau de cadre à grande échelle, cela ne dépasse généralement pas 90 % de cette limite.
Évaluation des coûts d'exécution
En construisant un cadre de référence et en utilisant des outils d'analyse, l'équipe a estimé le coût relatif de toutes les instructions MOVE et des fonctions locales. En tenant compte de la robustesse et de la sécurité du système, le nombre d'instructions machine nécessaires à l'exécution a été déterminé.
Coût de stockage
Le coût de stockage des frais GAS prend en compte la bande passante d'accès aux données, la capacité IOPS et les coûts de stockage permanent. Accéder à tout élément d'état entraîne des coûts associés à la vérification de l'ensemble de l'état de la blockchain.
Stockage des frais de GAS = frais de projet + ( frais par octet × nombre d'octets )
opérations de lecture, de création et d'écriture
Lecture : l'opération la plus courante, calibrée sur les IOPS et la capacité de bande passante du disque.
Créer : ajouter un nouvel élément dans le stockage d'état, coût maximum
Écriture : Mettre à jour les éléments existants, les frais en octets sont les mêmes que pour la création
Coût unitaire de GAS stable
Chaque opération et transaction a un coût unitaire relativement fixe, ce qui aide à maintenir la stabilité du plan GAS et à découpler la valeur du marché des tokens.
participation communautaire
La plateforme encourage les membres de la communauté :
Indiquer les incohérences dans le plan GAS
Participer aux discussions pertinentes
Voter sur les propositions de gouvernance liées au GAS
mécanisme d'ajustement des coûts de GAS
Le plan GAS, en tant que stockage de configuration off-chain, peut être modifié par le biais de propositions de gouvernance. Il est conçu pour être évolutif, permettant des mises à niveau via des propositions de gouvernance.
Perspectives d'avenir
En tant que premier cadre de GAS pour le langage MOVE, cette conception jette les bases pour le travail futur :
Réduire les coûts d'exécution
Réaliser un calcul multidimensionnel de GAS
Atténuer le problème de la surcharge de l'état
L'équipe explore le concept de TTL pour chaque projet, afin de supprimer automatiquement les projets d'état non visités lorsque le TTL expire, optimisant ainsi la gestion des données off-chain.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
MOVE langage a innové la conception de GAS : une nouvelle façon de calculer les ressources off-chain.
Conception de GAS pour le premier langage MOVE : une méthode innovante de calcul des ressources off-chain
La dernière version du langage MOVE a été initialement conçue pour fonctionner sans GAS, et n'était donc pas suffisamment préparée pour un plan de GAS. Pour s'adapter aux besoins de l'écosystème blockchain, une plateforme de blockchain publique bien connue a récemment annoncé son plan de GAS unique, qui est le premier design de GAS du langage MOVE, considéré comme une tentative audacieuse.
Le plan GAS clarifie les principes, les processus, les méthodes de calcul et les mécanismes d'ajustement futurs. La plateforme a déclaré qu'elle adoptera activement les suggestions de la communauté pour améliorer ensemble ce mécanisme innovant.
La mesure du GAS est un concept fondamental de nombreuses blockchains, elle définit la quantité abstraite de ressources de calcul et de stockage nécessaires à l'exécution et au stockage des transactions on-chain. Le plan GAS détermine le coût de toutes les exécutions on-chain, utilisé pour calculer la consommation de ressources pendant l'exécution des transactions.
processus de conception
Pour assurer une exécution efficace, la plateforme a pris les mesures suivantes :
Principes fondamentaux
Ce design de GAS respecte les principes suivants :
méthode de calcul du GAS
L'utilisateur doit spécifier deux quantités lors de la soumission d'une transaction :
Des frais seront appliqués lors de l'exécution de la transaction :
Frais de transaction finaux = Quantité totale de GAS consommée × Prix unitaire du GAS
Si le GAS est épuisé pendant l'exécution de la transaction, l'expéditeur sera facturé pour la quantité maximale de GAS, et toutes les modifications seront annulées.
construction du plan GAS
Le plan GAS comprend certains composants qui ne sont pas liés à une seule opération, tels que la taille de la transaction et l'unité MAXIMUM de GAS.
La plupart des transactions sont de l'ordre de quelques Ko, mais la publication de modules MOVE peut atteindre de quelques Ko à plusieurs dizaines de Ko. La plateforme a initialement fixé la taille des transactions à 32 Ko, puis l'a ajustée à 64 Ko en fonction des retours de la communauté, afin de faciliter le développement des applications.
La plus grande unité de GAS définie dans le plan GAS détermine la quantité maximale d'opérations pouvant être exécutées dans une seule transaction, actuellement fixée à 1 000 000. Même lors d'une mise à niveau de cadre à grande échelle, cela ne dépasse généralement pas 90 % de cette limite.
En construisant un cadre de référence et en utilisant des outils d'analyse, l'équipe a estimé le coût relatif de toutes les instructions MOVE et des fonctions locales. En tenant compte de la robustesse et de la sécurité du système, le nombre d'instructions machine nécessaires à l'exécution a été déterminé.
Le coût de stockage des frais GAS prend en compte la bande passante d'accès aux données, la capacité IOPS et les coûts de stockage permanent. Accéder à tout élément d'état entraîne des coûts associés à la vérification de l'ensemble de l'état de la blockchain.
Stockage des frais de GAS = frais de projet + ( frais par octet × nombre d'octets )
opérations de lecture, de création et d'écriture
Coût unitaire de GAS stable
Chaque opération et transaction a un coût unitaire relativement fixe, ce qui aide à maintenir la stabilité du plan GAS et à découpler la valeur du marché des tokens.
participation communautaire
La plateforme encourage les membres de la communauté :
mécanisme d'ajustement des coûts de GAS
Le plan GAS, en tant que stockage de configuration off-chain, peut être modifié par le biais de propositions de gouvernance. Il est conçu pour être évolutif, permettant des mises à niveau via des propositions de gouvernance.
Perspectives d'avenir
En tant que premier cadre de GAS pour le langage MOVE, cette conception jette les bases pour le travail futur :
L'équipe explore le concept de TTL pour chaque projet, afin de supprimer automatiquement les projets d'état non visités lorsque le TTL expire, optimisant ainsi la gestion des données off-chain.