Le langage MOVE innove avec la conception de GAS, explorant un nouveau modèle de mesure des ressources dans les projets Blockchain.

Conception de GAS innovante pour le langage MOVE : Exploration des méthodes de calcul de la consommation de GAS sur la Blockchain

Récemment, un projet Blockchain a annoncé son plan GAS. Étant donné que les versions antérieures du langage MOVE n'avaient pas pris en compte le mécanisme GAS, c'est la première fois que le langage MOVE introduit un design GAS, appelé "une aventure".

Le plan GAS du projet clarifie les principes, processus, méthodes de calcul, ajustements ultérieurs et la participation de la communauté, etc.

La mesure du GAS est un concept fondamental de nombreuses Blockchains, utilisé pour abstraire la quantité de ressources de calcul et de stockage nécessaires à l'exécution des calculs et au stockage des transactions. Le plan GAS détermine le coût de toutes les exécutions on-chain, utilisé pour calculer la consommation de GAS pendant l'exécution des transactions.

processus de mise en œuvre

Pour une exécution efficace, ce projet Blockchain prend les mesures suivantes :

  1. Principes de définition
  2. Préparer le cadre d'évaluation, déterminer 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
  5. Rendre le cadre GAS conscient du stockage
  6. Affiner davantage le plan GAS

Principes fondamentaux

L'équipe du projet a défini les principes suivants :

  1. Les coûts d'opération doivent être directement liés aux ressources disponibles sur le réseau, telles que le CPU, la mémoire, le réseau, le stockage I/O et l'utilisation de l'espace. Après des améliorations techniques et de processus, les coûts de GAS devraient être réduits en conséquence.

  2. GAS doit être défini par la gouvernance off-chain, et peut être configuré de manière flexible.

  3. GAS peut empêcher les attaques DoS sur les ressources fixes du réseau et peut être rapidement ajusté en fonction des conditions du réseau grâce à des suggestions de gouvernance.

  4. Le prix du GAS reflète la vision d'une croissance accélérée et de la préservation de la popularité de la Blockchain.

  5. Encourager à faire de bons choix dans la conception, comme privilégier la sécurité, la modularité, les assertions, etc.

méthode de calcul du GAS

L'utilisateur doit spécifier deux montants lors de la soumission de la transaction :

  1. Quantité maximale de GAS : mesurée en unités de GAS, elle représente le nombre maximal d'unités de GAS que l'utilisateur est prêt à dépenser pour exécuter une transaction.

  2. Prix du GAS : calculé en octal par unité de GAS, 1 octal = 0.00000001 APT.

Des frais seront appliqués lors de l'exécution de la transaction :

  1. Coûts fixes : base fixe plus des frais supplémentaires pour les grandes transactions
  2. Coût d'exécution : utilisé pour exécuter des instructions MOVE.
  3. Coût de lecture : lire des données à partir du stockage persistant
  4. Coût d'écriture : écrire des données dans un stockage persistant

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 et que l'utilisateur spécifie un prix du GAS de 100 Octa/unité, alors les frais finaux seront de 670 × 100 = 67000 Octa = 0,00067 APT.

Si l'exécution de la transaction épuise le GAS, l'expéditeur sera facturé au montant maximal de GAS, et les modifications apportées par la transaction seront annulées.

Construction du tableau de planification GAS

  1. Configuration de base

Le plan GAS comprend des composants qui ne sont pas liés aux détails d'une opération unique, tels que la taille des transactions et le maximum d'unités de GAS.

  1. Échelle des transactions

La plupart des tailles de transaction sont au niveau des kilobytes. Le module MOVE publié peut atteindre plusieurs milliers de bytes, le cadre fait environ 100 Ko. Les modules utilisateurs sont généralement entre 4 Ko et 40 Ko. La taille initiale des transactions a été fixée à 32 Ko, puis ajustée à 64 Ko en fonction des retours de la communauté.

Les transactions de grande envergure peuvent augmenter les coûts de bande passante du réseau et affecter les performances. Le projet cherche un équilibre entre la taille maximale des transactions et leur accessibilité.

  1. Maximum unité de GAS

La limite maximale d'unité de GAS dans le plan GAS définit la quantité maximale d'opérations exécutables dans une transaction. Un réglage trop élevé peut entraîner des impacts négatifs sur les performances. L'expérience montre que même lors de la mise à niveau maximale du cadre, on n'atteint pas 90 % de la valeur maximale définie (1 000 000).

  1. Évaluation des coûts d'exécution

L'équipe construit un cadre de référence et utilise Valgrind pour analyser le Move VM, en estimant le coût relatif de toutes les instructions Move et des fonctions natives. Après avoir pris en compte la robustesse et la sécurité du système, le nombre final d'instructions machine exécutées est déterminé.

  1. Coût de 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 de l'occupation permanente du disque. L'accès et le stockage des éléments d'état engendrent des coûts liés à la vérification de la structure de données d'état de la Blockchain.

Frais de stockage GAS = Frais de projet + ( frais par octet × nombre d'octets )

Lire, créer et écrire des opérations

L'accès aux éléments d'état se divise en trois types : lecture, création ou écriture.

  • Lecture : Opération la plus courante, calibrage des frais en fonction de l'IOPS et de la capacité de bande passante du disque.
  • Création : Ajouter un nouvel élément dans le stockage d'état, coût maximal, calibré en fonction de l'espace disque réseau.
  • Écriture : Mettre à jour les éléments existants, facturer les mêmes frais que pour la création pour les octets dans les éléments mis à jour.

Chaque transaction ne nécessite de payer des frais qu'une seule fois pour plusieurs lectures/écritures de la même ressource.

Coût unitaire de GAS stable

Le coût unitaire fixe du GAS aide à maintenir le plan de GAS constant et à le découpler de la valeur marchande des jetons. Le projet représente le GAS en unités avec une précision d'environ 3 chiffres, ce qui rend le coût des transactions de transfert d'environ 700 unités de GAS.

Participation communautaire

En tant que projet communautaire, les membres peuvent :

  1. Identifier les incohérences du plan GAS
  2. Exprimer des inquiétudes concernant le plan GAS et participer à la discussion
  3. Voter sur les propositions de gouvernance liées au GAS

Ajustement du coût du GAS

Le plan GAS est un stockage de configuration off-chain qui peut être modifié par des propositions de gouvernance. Conçu avec évolutivité, permettant des mises à niveau via des propositions de gouvernance. Au fil du temps, les paramètres GAS peuvent être ajustés en fonction des retours des utilisateurs.

Des modifications complexes des formules de GAS nécessitent la mise à jour du logiciel des nœuds, et après une adoption à grande échelle, l'utilisation de la nouvelle version doit être approuvée par une proposition de gouvernance.

Perspectives d'avenir

En tant que premier cadre de GAS viable pour MOVE, ce projet jette les bases des travaux futurs :

  1. Réduire les coûts d'exécution : en améliorant l'efficacité du compilateur et de la machine virtuelle.

  2. Calcul GAS multidimensionnel : permet aux utilisateurs de spécifier des budgets séparés pour l'exécution et le stockage, réalisant une définition des prix maximums du GAS plus granulaire.

  3. Atténuer l'expansion de l'état : explorer le concept de TTL pour chaque projet et supprimer les éléments d'état non visités lorsque le TTL expire.

Ce design innovant de GAS ouvre de nouvelles possibilités pour l'écosystème du langage MOVE, avec l'espoir d'une optimisation et d'une amélioration supplémentaires à l'avenir.

Voir l'original
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.
  • Récompense
  • 4
  • Partager
Commentaire
0/400
MagicBeanvip
· Il y a 13h
move doit aussi charger du gas ?
Voir l'originalRépondre0
SybilSlayervip
· Il y a 13h
C'est cher d'apprendre avec ce genre de choses.
Voir l'originalRépondre0
OnChainArchaeologistvip
· Il y a 13h
Un acteur de la Blockchain publique qui aime s'étonner et s'exclamer de tout, aime taquiner et critiquer.
Voir l'originalRépondre0
MemecoinTradervip
· Il y a 14h
psst... le modèle de gas de move vient d'être déployé. la saison des fuites alpha prime arrive fr fr
Voir l'originalRépondre0
  • Épingler
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)