Conception du premier GAS pour le langage MOVE : Analyse du calcul des frais GAS sur la chaîne Aptos
La version précédente du langage MOVE était initialement prévue pour fonctionner sans GAS, et n'était donc pas préparée pour le GAS. Le plan GAS établi pour sa blockchain par Aptos est qualifié de "une aventure", c'est le premier design de GAS pour le langage MOVE.
La mesure du GAS est un concept fondamental d'Aptos et de nombreuses 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 sur la chaîne. Le plan GAS détermine le coût de consommation 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
Le processus de conception du GAS sur Aptos inclut :
Définir les principes
Préparer le cadre d'évaluation, déterminer le prix de chaque exécution.
Établir un système de mesure du GAS et une algèbre de GAS sécurisée pour MOVE
Importer le cadre GAS en amont dans Aptos
Rendre le cadre GAS conscient du stockage
Affiner davantage le plan GAS
Principes
Les principes de conception du GAS d'Aptos incluent :
Le coût d'opération est directement lié aux ressources disponibles sur le réseau, après l'amélioration technique, le coût du GAS devrait diminuer.
GAS est configuré par la gouvernance off-chain, pouvant être configuré sans couture.
GAS peut prévenir les attaques DoS sur les ressources fixes du réseau, nécessitant un ajustement rapide en fonction de la situation du réseau.
Le prix du GAS reflète la vision de rendre la blockchain accessible à tous.
Encourager de bonnes choix dans la conception, comme privilégier la sécurité, la modularité, etc.
Calcul de 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 que l'utilisateur est prêt à dépenser pour exécuter une transaction.
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 :
Coûts fixes : base fixe plus des frais supplémentaires pour les transactions importantes
Coûts d'exécution : utilisés pour exécuter des instructions MOVE
Coût de lecture : lire des données à partir du stockage persistant
Coût d'écriture : écrire des données dans un stockage persistant
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é au montant maximal de GAS, et tous les changements effectués par la transaction seront annulés.
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 l'unité maximale de GAS.
taille de la transaction
Initialement fixé à 32 Ko, puis ajusté à 64 Ko en fonction des besoins de la communauté. Les transactions de très grande envergure augmentent le coût de la bande passante du réseau, ce qui peut affecter les performances.
unité de GAS maximale
Définit le nombre maximal d'opérations pouvant être exécutées dans une seule transaction, fixé à 1 000 000. Cela affecte directement la durée d'exécution de la transaction, un réglage trop élevé peut avoir un impact négatif sur les performances de la blockchain.
exécuter
Analyser la machine virtuelle Move à l'aide d'un cadre de référence et de Valgrind, estimer le coût relatif de toutes les instructions Move et des fonctions natives. Considérer la robustesse et la sécurité du système, puis obtenir le nombre final d'instructions machine exécutées.
stockage
Considérez la bande passante des dispositifs de stockage, la capacité IOPS et le coût d'occupation des disques, et concevez un plan de GAS de stockage. L'accès et le stockage de tout élément d'état engendreront des coûts liés à la vérification de l'état complet de la blockchain.
Frais de stockage de GAS = frais de projet + ( frais par octet * nombre d'octets )
lire, créer et écrire
Opération de lecture : la plus courante, les frais sont calibrés en fonction des IOPS du disque et de la capacité de bande passante.
Opération de création : ajouter un nouvel élément dans le stockage d'état, coût maximal.
Opération d'écriture : mettre à jour un élément existant, facturer les mêmes frais que pour la création pour les octets dans l'élément mis à jour.
Chaque transaction ne nécessite de payer qu'un seul frais pour plusieurs lectures/écritures des mêmes ressources.
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 la stabilité du plan GAS. Aptos représente les unités GAS avec une précision d'environ 3 chiffres, par exemple, le coût d'une transaction de transfert est d'environ 700 unités GAS.
Participation de la communauté
Aptos encourage les membres de la communauté :
Identifier les points déraisonnables du plan GAS
Participer aux discussions communautaires, exprimer des préoccupations
Voter sur les propositions de gouvernance liées au GAS
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 via des propositions. Certains changements complexes peuvent nécessiter une mise à jour du logiciel des nœuds et un large adoption.
Travail futur
En tant que premier cadre GAS viable de MOVE, les orientations de travail futures comprennent :
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 le problème de l'état encombré, explorer le concept de TTL pour chaque projet.
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.
9 J'aime
Récompense
9
3
Partager
Commentaire
0/400
AirdropHuntress
· Il y a 19h
Faites attention, la conception du gas est toujours piégeuse.
Analyse de la conception du GAS sur la chaîne Aptos : Détails du premier plan GAS en langage MOVE
Conception du premier GAS pour le langage MOVE : Analyse du calcul des frais GAS sur la chaîne Aptos
La version précédente du langage MOVE était initialement prévue pour fonctionner sans GAS, et n'était donc pas préparée pour le GAS. Le plan GAS établi pour sa blockchain par Aptos est qualifié de "une aventure", c'est le premier design de GAS pour le langage MOVE.
La mesure du GAS est un concept fondamental d'Aptos et de nombreuses 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 sur la chaîne. Le plan GAS détermine le coût de consommation 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
Le processus de conception du GAS sur Aptos inclut :
Principes
Les principes de conception du GAS d'Aptos incluent :
Calcul de GAS
L'utilisateur doit spécifier deux quantités lors de la soumission de la 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é au montant maximal de GAS, et tous les changements effectués par la transaction seront annulés.
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 l'unité maximale de GAS.
taille de la transaction
Initialement fixé à 32 Ko, puis ajusté à 64 Ko en fonction des besoins de la communauté. Les transactions de très grande envergure augmentent le coût de la bande passante du réseau, ce qui peut affecter les performances.
unité de GAS maximale
Définit le nombre maximal d'opérations pouvant être exécutées dans une seule transaction, fixé à 1 000 000. Cela affecte directement la durée d'exécution de la transaction, un réglage trop élevé peut avoir un impact négatif sur les performances de la blockchain.
exécuter
Analyser la machine virtuelle Move à l'aide d'un cadre de référence et de Valgrind, estimer le coût relatif de toutes les instructions Move et des fonctions natives. Considérer la robustesse et la sécurité du système, puis obtenir le nombre final d'instructions machine exécutées.
stockage
Considérez la bande passante des dispositifs de stockage, la capacité IOPS et le coût d'occupation des disques, et concevez un plan de GAS de stockage. L'accès et le stockage de tout élément d'état engendreront des coûts liés à la vérification de l'état complet de la blockchain.
Frais de stockage de GAS = frais de projet + ( frais par octet * nombre d'octets )
lire, créer et écrire
Chaque transaction ne nécessite de payer qu'un seul frais pour plusieurs lectures/écritures des mêmes ressources.
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 la stabilité du plan GAS. Aptos représente les unités GAS avec une précision d'environ 3 chiffres, par exemple, le coût d'une transaction de transfert est d'environ 700 unités GAS.
Participation de la communauté
Aptos encourage les membres de la communauté :
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 via des propositions. Certains changements complexes peuvent nécessiter une mise à jour du logiciel des nœuds et un large adoption.
Travail futur
En tant que premier cadre GAS viable de MOVE, les orientations de travail futures comprennent :