Conception du premier GAS pour le langage MOVE : exploration des méthodes de calcul des frais de GAS off-chain
La version précédente du langage MOVE était initialement prévue pour fonctionner dans un environnement sans GAS, donc elle n'était pas prête pour le GAS. Récemment, une équipe de projet blockchain a lancé le premier plan de conception de GAS pour sa chaîne basée sur le langage MOVE, ce qui est considéré comme une "tentative audacieuse".
Dans ce plan de GAS, l'équipe a précisé les principes, le processus, la méthode de calcul et le mécanisme d'ajustement ultérieur pour établir le GAS, et a déclaré qu'elle accueillait les suggestions de la communauté.
La mesure du GAS est un concept fondamental pour ce projet et de nombreuses autres blockchains, définissant le calcul abstrait de la quantité de ressources de calcul et de stockage nécessaires pour exécuter et stocker des transactions off-chain. Le schéma du GAS détermine le coût de toutes les exécutions sur la chaîne, utilisé pour calculer les frais de GAS utilisés pendant l'exécution des transactions.
processus
Pour une exécution efficace, le processus off-chain de ce projet est :
Définir les principes
Préparez le cadre d'évaluation, déterminez le prix de chaque exécution.
Établir un système de mesure de GAS et une algèbre de GAS sécurisée pour MOVE
Importer le cadre GAS en amont dans le projet
Rendre le cadre GAS conscient du stockage
Affiner davantage le plan GAS
principe
Les principes définis incluent :
Le coût d'opération devrait être directement lié aux ressources disponibles sur le réseau et diminuer avec les avancées technologiques.
GAS doit être configuré par la gouvernance off-chain, pouvant être configuré de manière flexible.
GAS peut prévenir les attaques DoS et s'ajuster rapidement en fonction de l'état du réseau.
Le prix du GAS reflète la vision de la fondation du projet pour promouvoir la croissance et maintenir l'accessibilité de la blockchain.
Encourager à faire des choix excellents dans la conception, comme se concentrer sur la sécurité, la modularité, etc.
Calculer le GAS
L'utilisateur doit spécifier deux quantités lors de la soumission de la transaction :
Quantité maximale de GAS : le nombre maximal d'unités de GAS qu'un 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 natif
Pendant le processus d'exécution, des frais seront appliqués pour la transaction :
Coût fixe
Coût d'exécution
Coût de lecture
Coût d'écriture
Frais de transaction final = Quantité totale de GAS consommée × Prix unitaire du GAS
Par exemple, si une transaction consomme 670 unités de GAS, le prix du GAS spécifié par l'utilisateur est de 100 Octa par unité, alors les frais de transaction finaux seront de 670 × 100 = 67000 Octa = 0.00067 jetons natifs.
Si le GAS est épuisé pendant l'exécution de la transaction, l'expéditeur sera facturé au montant maximal de GAS, et tous les changements effectués par la transaction seront annulés.
Établir un plan GAS
Configuration de base
Le plan GAS comprend plusieurs composants qui ne sont pas liés à une seule opération, tels que la taille de la transaction et le maximum d'unités de GAS.
Taille des transactions
La plupart des tailles de transaction sont au niveau des kilooctets, mais le module Move peut atteindre plusieurs kilooctets, avec un cadre de projet d'environ 100 Ko. La taille de transaction initiale était fixée à 32 Ko, puis ajustée à 64 Ko en fonction des besoins de la communauté pour simplifier le développement d'applications.
Maximum unité de GAS
La limite maximale d'unités de GAS dans le plan GAS définit le nombre maximum d'opérations pouvant être exécutées par une seule transaction. Si elle est trop élevée, cela peut avoir un impact négatif sur la performance de la blockchain. Actuellement fixée à 1 000 000, même avec la mise à niveau maximale du cadre, elle n'a pas dépassé 90 %.
Exécution
Évaluer le coût d'exécution à l'aide d'un cadre de référence et d'outils d'analyse, en estimant le coût relatif de toutes les instructions MOVE et des fonctions natives. En tenant compte de la robustesse et de la sécurité du système, déterminer le nombre final d'instructions machine exécutées et effectuer un compromis avec le stockage et le maximum d'unités de GAS.
Stockage
Le plan de stockage de GAS prend en compte la rareté instantanée de l'accès aux données et le coût d'occupation permanent du disque. L'accès et le stockage des éléments d'état génèrent des coûts associés à la vérification de l'état entier de la blockchain. Frais de stockage de GAS = frais de projet + ( frais par octet × nombre d'octets )
lire, créer et écrire
Les accès aux éléments d'état se divisent en trois types : lecture, création et écriture, chacun ayant une méthode de calcul des frais différente. L'opération de lecture est la plus courante, l'opération de création a le coût le plus élevé, et l'opération d'écriture se situe entre les deux.
Sur la base de ces considérations, six paramètres GAS ont été définis :
per_item_read
par_octet_lu
per_item_create
per_byte_create
per_item_write
per_byte_write
Coût unitaire du GAS stable
Chaque opération et transaction nécessite un coût unitaire fixe par rapport aux coûts de stockage et d'exécution, ce qui aide à maintenir la stabilité du plan GAS. L'équipe du projet représente les unités GAS avec une précision d'environ 3 chiffres, ce qui rend le coût des transactions de transfert d'environ 700 unités GAS.
participation de la communauté
En tant que projet communautaire, les membres peuvent :
Indiquer les incohérences dans le plan GAS
Exprimer des préoccupations concernant le plan GAS et participer à la discussion
Voter sur les propositions de gouvernance liées au GAS
Comment ajuster le coût du GAS ?
Le plan GAS, en tant que stockage de configuration off-chain, peut être modifié via des propositions de gouvernance et il est possible d'ajouter de nouvelles instructions ou fonctionnalités natives de manière transparente. Les paramètres GAS peuvent être ajustés au fil du temps pour s'adapter au développement du projet et de la communauté.
Certain changements complexes des formules GAS peuvent nécessiter la mise à jour des logiciels des nœuds et être différenciés par de nouveaux drapeaux de caractéristiques GAS. Cela nécessite une adoption extensive du nouveau logiciel par les opérateurs de nœuds et l'approbation de la nouvelle version par le biais de propositions de gouvernance.
Travail futur
En tant que premier cadre GAS fonctionnel pour le langage Move, ce projet ouvre la voie à de futurs travaux :
Réduire les coûts d'exécution
Réaliser un calcul multidimensionnel de GAS, permettant aux utilisateurs de spécifier un budget séparé pour l'exécution et le stockage.
Atténuer l'état encombré, explorer le concept TTL de chaque projet, supprimer les projets d'état non visités à l'expiration du TTL.
Ce GAS constitue une base importante pour le développement de l'écosystème du langage MOVE, et il reste encore beaucoup d'optimisations et d'améliorations à réaliser à l'avenir.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
17 J'aime
Récompense
17
6
Partager
Commentaire
0/400
SingleForYears
· Il y a 6h
Une bonne direction de percée
Voir l'originalRépondre0
TokenTaxonomist
· Il y a 7h
Il faut encore tester davantage.
Voir l'originalRépondre0
ConsensusDissenter
· 07-15 08:49
Soutenir des essais d'innovation audacieuse
Voir l'originalRépondre0
liquidation_watcher
· 07-15 08:47
Il est très important d'avoir une facturation équitable.
Voir l'originalRépondre0
HodlKumamon
· 07-15 08:46
La conception des frais est vraiment élégante.
Voir l'originalRépondre0
LiquidationWizard
· 07-15 08:42
Quand on est en colère, on peut même se blesser soi-même.
Conception de GAS innovante par le langage MOVE : Analyse complète des frais on-chain
Conception du premier GAS pour le langage MOVE : exploration des méthodes de calcul des frais de GAS off-chain
La version précédente du langage MOVE était initialement prévue pour fonctionner dans un environnement sans GAS, donc elle n'était pas prête pour le GAS. Récemment, une équipe de projet blockchain a lancé le premier plan de conception de GAS pour sa chaîne basée sur le langage MOVE, ce qui est considéré comme une "tentative audacieuse".
Dans ce plan de GAS, l'équipe a précisé les principes, le processus, la méthode de calcul et le mécanisme d'ajustement ultérieur pour établir le GAS, et a déclaré qu'elle accueillait les suggestions de la communauté.
La mesure du GAS est un concept fondamental pour ce projet et de nombreuses autres blockchains, définissant le calcul abstrait de la quantité de ressources de calcul et de stockage nécessaires pour exécuter et stocker des transactions off-chain. Le schéma du GAS détermine le coût de toutes les exécutions sur la chaîne, utilisé pour calculer les frais de GAS utilisés pendant l'exécution des transactions.
processus
Pour une exécution efficace, le processus off-chain de ce projet est :
principe
Les principes définis incluent :
Calculer le GAS
L'utilisateur doit spécifier deux quantités lors de la soumission de la transaction :
Pendant le processus d'exécution, des frais seront appliqués pour la transaction :
Frais de transaction final = Quantité totale de GAS consommée × Prix unitaire du GAS
Par exemple, si une transaction consomme 670 unités de GAS, le prix du GAS spécifié par l'utilisateur est de 100 Octa par unité, alors les frais de transaction finaux seront de 670 × 100 = 67000 Octa = 0.00067 jetons natifs.
Si le GAS est épuisé pendant l'exécution de la transaction, l'expéditeur sera facturé au montant maximal de GAS, et tous les changements effectués par la transaction seront annulés.
Établir un plan GAS
Le plan GAS comprend plusieurs composants qui ne sont pas liés à une seule opération, tels que la taille de la transaction et le maximum d'unités de GAS.
La plupart des tailles de transaction sont au niveau des kilooctets, mais le module Move peut atteindre plusieurs kilooctets, avec un cadre de projet d'environ 100 Ko. La taille de transaction initiale était fixée à 32 Ko, puis ajustée à 64 Ko en fonction des besoins de la communauté pour simplifier le développement d'applications.
La limite maximale d'unités de GAS dans le plan GAS définit le nombre maximum d'opérations pouvant être exécutées par une seule transaction. Si elle est trop élevée, cela peut avoir un impact négatif sur la performance de la blockchain. Actuellement fixée à 1 000 000, même avec la mise à niveau maximale du cadre, elle n'a pas dépassé 90 %.
Évaluer le coût d'exécution à l'aide d'un cadre de référence et d'outils d'analyse, en estimant le coût relatif de toutes les instructions MOVE et des fonctions natives. En tenant compte de la robustesse et de la sécurité du système, déterminer le nombre final d'instructions machine exécutées et effectuer un compromis avec le stockage et le maximum d'unités de GAS.
Le plan de stockage de GAS prend en compte la rareté instantanée de l'accès aux données et le coût d'occupation permanent du disque. L'accès et le stockage des éléments d'état génèrent des coûts associés à la vérification de l'état entier de la blockchain. Frais de stockage de GAS = frais de projet + ( frais par octet × nombre d'octets )
lire, créer et écrire
Les accès aux éléments d'état se divisent en trois types : lecture, création et écriture, chacun ayant une méthode de calcul des frais différente. L'opération de lecture est la plus courante, l'opération de création a le coût le plus élevé, et l'opération d'écriture se situe entre les deux.
Sur la base de ces considérations, six paramètres GAS ont été définis :
Coût unitaire du GAS stable
Chaque opération et transaction nécessite un coût unitaire fixe par rapport aux coûts de stockage et d'exécution, ce qui aide à maintenir la stabilité du plan GAS. L'équipe du projet représente les unités GAS avec une précision d'environ 3 chiffres, ce qui rend le coût des transactions de transfert d'environ 700 unités GAS.
participation de la communauté
En tant que projet communautaire, les membres peuvent :
Comment ajuster le coût du GAS ?
Le plan GAS, en tant que stockage de configuration off-chain, peut être modifié via des propositions de gouvernance et il est possible d'ajouter de nouvelles instructions ou fonctionnalités natives de manière transparente. Les paramètres GAS peuvent être ajustés au fil du temps pour s'adapter au développement du projet et de la communauté.
Certain changements complexes des formules GAS peuvent nécessiter la mise à jour des logiciels des nœuds et être différenciés par de nouveaux drapeaux de caractéristiques GAS. Cela nécessite une adoption extensive du nouveau logiciel par les opérateurs de nœuds et l'approbation de la nouvelle version par le biais de propositions de gouvernance.
Travail futur
En tant que premier cadre GAS fonctionnel pour le langage Move, ce projet ouvre la voie à de futurs travaux :
Ce GAS constitue une base importante pour le développement de l'écosystème du langage MOVE, et il reste encore beaucoup d'optimisations et d'améliorations à réaliser à l'avenir.