Conception du premier GAS en MOVE : Analyse de la méthode de calcul des frais de GAS off-chain
La précédente version du langage MOVE a été initialement conçue pour fonctionner sans GAS, et n'a donc pas été préparée pour un plan de GAS. Récemment, un projet de blockchain a lancé un plan de GAS pour son langage MOVE sur la chaîne, ce qui est le premier design de GAS pour le langage MOVE, qualifié de "une aventure".
Ce plan GAS clarifie les principes, les processus, les méthodes de calcul et les ajustements ultérieurs liés à l'élaboration du GAS, et invite la communauté à faire des suggestions.
La mesure du GAS est un concept fondamental de nombreuses blockchains, utilisé pour définir la quantité de ressources de calcul et de stockage nécessaires pour exécuter et stocker des transactions sur la chaîne. Le plan de GAS détermine le coût de toutes les exécutions sur la chaîne, utilisé pour calculer le coût en GAS pendant l'exécution de la transaction.
Processus
Pour assurer une exécution efficace, le processus off-chain du projet comprend :
Principes de définition
Préparer un cadre d'évaluation, déterminer le prix de chaque exécution.
Établir un système de mesure de GAS et un algèbre de GAS sécurisée pour MOVE
Importer le cadre GAS en amont
Rendre le cadre GAS conscient du stockage
Affiner davantage le plan GAS
Principes
Les principes définis comprennent :
Les coûts d'opération doivent être directement liés aux ressources disponibles du réseau et diminuer avec les améliorations technologiques.
GAS est configuré par la gouvernance off-chain, pouvant être configuré sans couture.
Le GAS peut prévenir les attaques DoS et peut être rapidement ajusté en fonction de l'état du réseau.
Le prix du GAS reflète la vision d'une croissance accélérée et du maintien de l'accessibilité de la blockchain.
Encourager à faire de bons choix en priorisant la sécurité, la modularité, etc. dans la conception.
Calculer le GAS
L'utilisateur doit spécifier lors de la soumission de la transaction :
Quantité maximale de GAS : le nombre maximal d'unités de GAS que l'utilisateur est prêt à dépenser pour exécuter une transaction
Prix unitaire du GAS : calculé en octal par unité de GAS, 1 octal = 0,00000001 jeton natif
Des frais seront appliqués lors de l'exécution de la transaction :
Coûts fixes : base fixe plus des frais supplémentaires pour des transactions importantes.
Coût d'exécution : utilisé pour exécuter des instructions MOVE
Coût de lecture : utilisé pour lire des données à partir du stockage persistant
Coût d'écriture : utilisé pour écrire des données dans un stockage permanent
Frais de transaction finale = 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 fixe le prix du GAS à 100 Octa/unité, alors les frais finaux s'élèvent à 670 × 100 = 67000 Octa = 0,00067 jetons natifs.
Si le GAS est épuisé lors de l'exécution de la transaction, l'expéditeur sera facturé selon le montant maximal de GAS, et les modifications effectuées par l'échange seront restaurées.
Établir un calendrier de GAS
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 de la transaction et l'unité maximale de GAS.
taille de la transaction
La plupart des transactions ont une taille au niveau des Ko, mais les publications de modules peuvent atteindre plusieurs milliers d'octets. La taille initiale des transactions était fixée à 32 Ko, mais a été ajustée à 64 Ko en fonction des retours de la communauté, afin de simplifier le développement des applications.
Les transactions à grande échelle augmenteront les coûts de bande passante du réseau, ce qui pourrait affecter les performances. Le pool de mémoire aura tendance à ignorer les transactions de plus grande ampleur, il est donc nécessaire d'équilibrer la taille maximale et l'accessibilité.
unité maximale de GAS
La plus grande unité de GAS définie par le plan GAS détermine la quantité maximale d'opérations pouvant être exécutées dans une transaction. Un réglage trop élevé peut entraîner des impacts négatifs sur les performances. Actuellement, même avec la mise à niveau maximale du cadre, cela ne représente pas 90 % de la plus grande unité de GAS (1,000,000).
exécuter
À travers le cadre de référence et l'analyse de Valgrind du Move VM, évaluer le coût relatif de toutes les instructions Move et des fonctions natives. Prendre en compte la robustesse et la sécurité du système, déterminer le nombre final d'instructions machine exécutées, et établir la valeur actuelle dans le plan GAS en fonction du compromis entre le stockage et les unités GAS maximales.
stockage
Lors de l'accès aux états ou données du registre, le nœud émet des opérations de lecture et d'écriture vers le dispositif de stockage. Le nombre total d'accès aux données est limité par la bande passante et les IOPS du dispositif de stockage. Le plan de stockage de GAS prend en compte ces coûts.
L'accès et le stockage de tout élément d'état entraînent des coûts liés à la structure de données d'état de la blockchain vérifiée. Les frais sont liés à la base et à la taille des éléments d'état :
Stockage des frais de GAS = frais de projet + ( frais par octet × nombre d'octets )
lire, créer et écrire
L'accès aux éléments d'état se divise en trois types : lecture, création ou écriture.
L'opération de lecture est la plus courante, limitée uniquement par la rareté des ressources instantanées.
Créer un nouvel élément dans le stockage d'état, coût le plus élevé
Les opérations d'écriture mettent à jour les éléments existants, en facturant les mêmes frais pour les octets dans les éléments mis à jour que pour la création.
Les coûts de stockage sont évalués sur la base de chaque transaction, même si la même ressource est lue et écrite plusieurs fois, des frais ne sont facturés qu'une seule fois.
coût unitaire de 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 le plan de GAS constant. La précision des unités de GAS est d'environ 3 chiffres, par exemple, le coût des transactions de transfert est d'environ 700 unités de GAS.
Participation de la communauté
Les membres de la communauté peuvent :
Trouver les incohérences du plan GAS
Participer aux discussions communautaires
Vote sur les propositions de gouvernance pertinentes
Ajustement des coûts de GAS
Le plan GAS est conçu comme un stockage de configuration off-chain, pouvant être modifié par des propositions de gouvernance. Conçu pour être évolutif, il permet des mises à niveau par le biais de propositions. Au fil du temps, les paramètres GAS peuvent être ajustés en fonction des retours des utilisateurs.
Des modifications complexes de la formule GAS nécessitent une 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.
Travail futur
En tant que premier cadre de GAS fonctionnel de MOVE, les orientations de travail futures comprennent :
Réduire les coûts d'exécution
Calcul GAS multidimensionnel, permettant aux utilisateurs de spécifier un budget séparé pour l'exécution et le stockage.
Soulager l'état encombré, explorer le concept de TTL de chaque projet, supprimer les projets d'état non visités à l'expiration du TTL.
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.
9 J'aime
Récompense
9
6
Reposter
Partager
Commentaire
0/400
HodlBeliever
· 08-12 12:14
La configuration standard du module subordonné move ROI doit être vérifiée.
Voir l'originalRépondre0
LiquidatedDreams
· 08-12 08:34
Ça vaut le coup d'essayer, mais j'ai peur de perdre de l'argent.
Voir l'originalRépondre0
MetaverseLandlord
· 08-10 15:48
Avec tous ces mouvements flamboyants, n'avez-vous pas peur que le gas monte en flèche ?
Voir l'originalRépondre0
SleepTrader
· 08-10 12:39
move sûr de se planter
Voir l'originalRépondre0
FreeRider
· 08-10 12:19
Cela coûte vraiment cher.
Voir l'originalRépondre0
OfflineNewbie
· 08-10 12:13
Cette opération est vraiment trop audacieuse, on dit que ça change et ça change.
Plan GAS pionnier du langage MOVE : analyse complète de la méthode de calcul des frais off-chain
Conception du premier GAS en MOVE : Analyse de la méthode de calcul des frais de GAS off-chain
La précédente version du langage MOVE a été initialement conçue pour fonctionner sans GAS, et n'a donc pas été préparée pour un plan de GAS. Récemment, un projet de blockchain a lancé un plan de GAS pour son langage MOVE sur la chaîne, ce qui est le premier design de GAS pour le langage MOVE, qualifié de "une aventure".
Ce plan GAS clarifie les principes, les processus, les méthodes de calcul et les ajustements ultérieurs liés à l'élaboration du GAS, et invite la communauté à faire des suggestions.
La mesure du GAS est un concept fondamental de nombreuses blockchains, utilisé pour définir la quantité de ressources de calcul et de stockage nécessaires pour exécuter et stocker des transactions sur la chaîne. Le plan de GAS détermine le coût de toutes les exécutions sur la chaîne, utilisé pour calculer le coût en GAS pendant l'exécution de la transaction.
Processus
Pour assurer une exécution efficace, le processus off-chain du projet comprend :
Principes
Les principes définis comprennent :
Calculer le GAS
L'utilisateur doit spécifier lors de la soumission de la transaction :
Des frais seront appliqués lors de l'exécution de la transaction :
Frais de transaction finale = 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 fixe le prix du GAS à 100 Octa/unité, alors les frais finaux s'élèvent à 670 × 100 = 67000 Octa = 0,00067 jetons natifs.
Si le GAS est épuisé lors de l'exécution de la transaction, l'expéditeur sera facturé selon le montant maximal de GAS, et les modifications effectuées par l'échange seront restaurées.
Établir un calendrier de GAS
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 de la transaction et l'unité maximale de GAS.
taille de la transaction
La plupart des transactions ont une taille au niveau des Ko, mais les publications de modules peuvent atteindre plusieurs milliers d'octets. La taille initiale des transactions était fixée à 32 Ko, mais a été ajustée à 64 Ko en fonction des retours de la communauté, afin de simplifier le développement des applications.
Les transactions à grande échelle augmenteront les coûts de bande passante du réseau, ce qui pourrait affecter les performances. Le pool de mémoire aura tendance à ignorer les transactions de plus grande ampleur, il est donc nécessaire d'équilibrer la taille maximale et l'accessibilité.
unité maximale de GAS
La plus grande unité de GAS définie par le plan GAS détermine la quantité maximale d'opérations pouvant être exécutées dans une transaction. Un réglage trop élevé peut entraîner des impacts négatifs sur les performances. Actuellement, même avec la mise à niveau maximale du cadre, cela ne représente pas 90 % de la plus grande unité de GAS (1,000,000).
exécuter
À travers le cadre de référence et l'analyse de Valgrind du Move VM, évaluer le coût relatif de toutes les instructions Move et des fonctions natives. Prendre en compte la robustesse et la sécurité du système, déterminer le nombre final d'instructions machine exécutées, et établir la valeur actuelle dans le plan GAS en fonction du compromis entre le stockage et les unités GAS maximales.
stockage
Lors de l'accès aux états ou données du registre, le nœud émet des opérations de lecture et d'écriture vers le dispositif de stockage. Le nombre total d'accès aux données est limité par la bande passante et les IOPS du dispositif de stockage. Le plan de stockage de GAS prend en compte ces coûts.
L'accès et le stockage de tout élément d'état entraînent des coûts liés à la structure de données d'état de la blockchain vérifiée. Les frais sont liés à la base et à la taille des éléments d'état :
Stockage des frais de GAS = frais de projet + ( frais par octet × nombre d'octets )
lire, créer et écrire
L'accès aux éléments d'état se divise en trois types : lecture, création ou écriture.
Les coûts de stockage sont évalués sur la base de chaque transaction, même si la même ressource est lue et écrite plusieurs fois, des frais ne sont facturés qu'une seule fois.
coût unitaire de 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 le plan de GAS constant. La précision des unités de GAS est d'environ 3 chiffres, par exemple, le coût des transactions de transfert est d'environ 700 unités de GAS.
Participation de la communauté
Les membres de la communauté peuvent :
Ajustement des coûts de GAS
Le plan GAS est conçu comme un stockage de configuration off-chain, pouvant être modifié par des propositions de gouvernance. Conçu pour être évolutif, il permet des mises à niveau par le biais de propositions. Au fil du temps, les paramètres GAS peuvent être ajustés en fonction des retours des utilisateurs.
Des modifications complexes de la formule GAS nécessitent une 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.
Travail futur
En tant que premier cadre de GAS fonctionnel de MOVE, les orientations de travail futures comprennent :