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 :

  1. Définir les principes
  2. Préparez le cadre d'évaluation, déterminez le prix de chaque exécution.
  3. Établir un système de mesure de GAS et une algèbre de GAS sécurisée pour MOVE
  4. Importer le cadre GAS en amont dans le projet
  5. Rendre le cadre GAS conscient du stockage
  6. Affiner davantage le plan GAS

principe

Les principes définis incluent :

  1. Le coût d'opération devrait être directement lié aux ressources disponibles sur le réseau et diminuer avec les avancées technologiques.
  2. GAS doit être configuré par la gouvernance off-chain, pouvant être configuré de manière flexible.
  3. GAS peut prévenir les attaques DoS et s'ajuster rapidement en fonction de l'état du réseau.
  4. Le prix du GAS reflète la vision de la fondation du projet pour promouvoir la croissance et maintenir l'accessibilité de la blockchain.
  5. 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 :

  1. Coût fixe
  2. Coût d'exécution
  3. Coût de lecture
  4. 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

  1. 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.

  1. 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.

  1. 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 %.

  1. 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.

  1. 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 :

  1. Indiquer les incohérences dans le plan GAS
  2. Exprimer des préoccupations concernant le plan GAS et participer à la discussion
  3. 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 :

  1. Réduire les coûts d'exécution
  2. Réaliser un calcul multidimensionnel de GAS, permettant aux utilisateurs de spécifier un budget séparé pour l'exécution et le stockage.
  3. 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.

Voir l'original
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.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
SingleForYearsvip
· Il y a 6h
Une bonne direction de percée
Voir l'originalRépondre0
TokenTaxonomistvip
· Il y a 7h
Il faut encore tester davantage.
Voir l'originalRépondre0
ConsensusDissentervip
· 07-15 08:49
Soutenir des essais d'innovation audacieuse
Voir l'originalRépondre0
liquidation_watchervip
· 07-15 08:47
Il est très important d'avoir une facturation équitable.
Voir l'originalRépondre0
HodlKumamonvip
· 07-15 08:46
La conception des frais est vraiment élégante.
Voir l'originalRépondre0
LiquidationWizardvip
· 07-15 08:42
Quand on est en colère, on peut même se blesser soi-même.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)