Conception du premier Gas pour le langage MOVE : méthode de calcul de la consommation de Gas sur la chaîne Aptos
La mesure du Gas est un concept fondamental d'Aptos et de nombreuses autres blockchains, elle définit 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 les dépenses en Gas lors de l'exécution des transactions.
Processus
Pour une exécution efficace, le processus sur la chaîne Aptos comprend :
Définir les principes
Préparer le cadre d'évaluation, déterminer 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 Aptos
Rendre le cadre Gas conscient du stockage
Affiner davantage le plan de Gas
Principes
Les principes définis incluent :
Les coûts d'exploitation doivent être directement liés aux ressources disponibles sur le réseau. Après l'amélioration des technologies et des processus, le coût en Gas devrait diminuer.
Le gaz doit être configuré par la gouvernance off-chain et peut être configuré sans couture.
Gas peut prévenir les attaques DoS sur un ensemble de ressources fixes du réseau, et peut nécessiter des ajustements rapides via des propositions de gouvernance en fonction de l'état du réseau.
Le prix du Gas d'Aptos reflète le désir d'accélérer la croissance et de maintenir la popularité de la blockchain.
Encourager à faire des choix excellents dans la conception, tels que privilégier la sécurité, la modularité, les assertions, etc.
Calcul des Gas
Lorsqu'un utilisateur soumet une transaction, il doit spécifier deux quantités :
Quantité maximale de Gas : mesurée en unités de Gas, le nombre maximum d'unités de Gas que l'utilisateur est prêt à dépenser pour exécuter une transaction.
Prix du gaz : calculé en octal par unité de gaz, 1 octal = 0,00000001 APT.
Au cours de l'exécution, des frais de transaction seront appliqués :
Coût fixe : base fixe plus des frais supplémentaires pour les transactions importantes
Coût d'exécution : utilisé pour exécuter l'instruction MOVE
Coût de lecture : utilisé pour lire des données à partir du stockage permanent
Coût d'écriture : utilisé pour écrire des données dans un stockage persistant
Les frais de transaction finaux peuvent être calculés en multipliant le montant total de Gas consommé par le prix unitaire du Gas. Par exemple, si une transaction consomme 670 unités de Gas et que le prix unitaire de Gas spécifié par l'utilisateur est de 100 Octa par unité, les frais de transaction finaux seront de 670 * 100 = 67000 Octa = 0.00067 APT.
Si l'exécution de la transaction consomme tout le Gas, l'expéditeur sera facturé en fonction de la quantité maximale de Gas, et tous les changements effectués par cette transaction seront annulés.
Établissement du calendrier Gas
Configuration de base
Le plan Gas comprend plusieurs composants qui ne sont pas liés aux détails d'une opération unique, y compris la taille de la transaction et le maximum d'unités Gas.
taille de transaction
La plupart des tailles de transaction peuvent être de l'ordre du kilooctet. La publication du module Move peut atteindre plusieurs milliers d'octets, tandis que le cadre Aptos fait environ 100 Ko. La taille des modules utilisateurs se situe 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 réactions de la communauté.
Des transactions de très grande envergure peuvent entraîner une augmentation des coûts de bande passante du réseau, ce qui peut avoir un impact négatif sur les performances. Les pools de mémoire seront encouragés à ignorer les transactions de plus grande taille, il est donc nécessaire de trouver un équilibre entre la taille maximale des transactions et leur accessibilité.
unité de Gas maximale
L'unité maximale de Gas définie dans le plan Gas détermine combien d'opérations peuvent être exécutées au maximum dans une transaction. Cela est différent de la quantité maximale de Gas spécifiée par l'utilisateur dans la transaction. Un réglage trop élevé peut avoir un impact négatif sur les performances de la blockchain. Même avec la plus grande mise à niveau du cadre, cela ne représente pas 90 % de l'unité maximale de Gas du plan Gas, fixée à 1 000 000(.
) exécuter
Pour évaluer le coût d'exécution, un cadre de référence a été construit et Valgrind a été utilisé pour analyser le MOVE VM. La sortie est un ensemble de code source annoté, montrant le nombre d'instructions machine générées par chaque ligne de code.
Sur la base des résultats de l'analyse, le coût relatif de toutes les instructions MOVE et des fonctions natives a été estimé. Il a été noté qu'il existe des problèmes avec les fonctions en ligne, qui sont résolus en additionnant les chiffres.
Considérez les exemples de code visant à renforcer la robustesse et la sécurité du système, afin d'obtenir le nombre final d'instructions machine exécutées. Ce chiffre doit être mis en balance avec le stockage et l'unité maximale de Gas, afin de déterminer la valeur actuelle dans le plan de Gas.
stockage
Lorsqu'un nœud Aptos accède à des éléments d'état de grand livre ou à des données stockées dans un stockage persistant, il émet des lectures ou des écritures vers le dispositif de stockage. Le nombre total d'accès aux données par seconde dépend de la bande passante du dispositif de stockage et de la capacité IOPS. L'accès aux données est la rareté instantanée pour les utilisateurs en concurrence sur le marché des frais lors de la charge du système. Le coût d'occupation du disque pour l'écriture de données est permanent off-chain.
L'accès et le stockage de tout élément d'état génèrent des coûts associés à la structure de données de validation de l'état de la blockchain entière ### arbre de Merkle méduse (. Ces coûts sont liés à la cardinalité des différents éléments d'état. Il y a également un coût proportionnel à la taille de chaque élément.
Frais de stockage de Gas = item_fee + )byte_fee * bytes(
) Lire, créer et écrire
L'accès aux éléments d'état se divise en trois types : lecture, création ou écriture. L'accès est facturé en fonction des frais d'élément et des frais de byte.
Les opérations de lecture sont les plus courantes, limitées uniquement par la rareté des ressources instantanées. Les frais de lecture sont calibrés en fonction des IOPS de disque et de la capacité de bande passante des spécifications matérielles de référence.
La création consiste à ajouter un nouvel élément dans le stockage d'état, augmentant la structure de données d'authentification, avec un coût maximal. Les frais de création sont calibrés en fonction de l'espace disque de référence possédé par le réseau.
Les opérations d'écriture mettent à jour les éléments existants dans le stockage d'état, sans générer de frais supplémentaires dans la structure de données d'authentification. Les frais pour les octets dans les éléments mis à jour sont les mêmes que lors de leur création.
Les coûts de stockage sont évalués par transaction : même si la même ressource est lue/écrite plusieurs fois, seul un frais est à payer.
Sur la base des considérations ci-dessus, six paramètres Gas ont été définis :
per_item_read: correction selon les IOPs
per_byte_read: calibré en fonction de la bande passante réelle
per_item_create: calage selon le projet total cible
per_byte_create: calibrer en fonction de la taille totale cible
per_item_write: identique à per_item_read
per_byte_write: identique à per_byte_create
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. Le coût unitaire fixe du Gas aide à maintenir le plan de Gas constant, détaché de la valeur du marché libre d'APT. L'équipe d'Aptos représente le coût du Gas avec une précision d'environ 3 chiffres. Le coût des transactions de transfert est d'environ 700 unités de Gas.
Participation de la communauté
Les membres de la communauté Aptos peuvent :
Identifier les incohérences du plan Gas
Exprimer des inquiétudes concernant le plan Gas, participer aux discussions de la communauté
Voter sur les propositions de gouvernance liées aux Gas sur Aptos.
Ajustement des coûts de gaz
Le plan Gas, en tant que stockage de configuration off-chain, peut être modifié par des propositions de gouvernance Aptos et permet l'ajout sans faille de nouvelles instructions ou fonctionnalités natives. Le plan Gas est conçu pour être évolutif, permettant des mises à niveau via des propositions de gouvernance. À mesure qu'Aptos et la communauté améliorent Move VM et intègrent les retours des utilisateurs, les paramètres Gas peuvent être ajustés au fil du temps.
Des modifications complexes des formules de Gas nécessitent une mise à jour du logiciel des nœuds et doivent être différenciées par différents indicateurs de caractéristiques de Gas. Il est nécessaire de publier le logiciel des nœuds et de l'adopter massivement, puis de publier et d'approuver la proposition de gouvernance utilisant la nouvelle version de Gas.
Travail futur
En tant que premier cadre de Gas viable de MOVE, les directions de travail futures incluent :
Réduire les coûts d'exécution : améliorer l'efficacité du compilateur et de la machine virtuelle
Calcul de Gas multidimensionnel : permet aux utilisateurs de spécifier un budget séparé pour l'exécution et le stockage.
Atténuer l'état surchargé : explorer le concept TTL de chaque projet, supprimer les éléments 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.
20 J'aime
Récompense
20
10
Reposter
Partager
Commentaire
0/400
FlashLoanKing
· 07-15 09:55
L'arbitrage off-chain n'est pas mal non plus.
Voir l'originalRépondre0
FloorPriceWatcher
· 07-15 04:26
le gas n'est même pas aussi bien que la hausse jusqu'au plafond.
Voir l'originalRépondre0
SandwichDetector
· 07-14 16:16
C'est un peu compliqué, nous verrons l'optimisation le mois prochain.
Voir l'originalRépondre0
DancingCandles
· 07-12 16:24
Je ne sens vraiment pas que move ait quelque chose de spécial~
Voir l'originalRépondre0
BlockDetective
· 07-12 16:22
move est le roi de la popularité
Voir l'originalRépondre0
VitaliksTwin
· 07-12 16:21
move卷麻了
Répondre0
CryptoComedian
· 07-12 16:16
Encore une fois, il va y avoir une grosse sortie d'argent, les frais de gas veulent encore jouer des tours, n'est-ce pas ?
Voir l'originalRépondre0
CryptoPunster
· 07-12 16:07
Encore une nouvelle excuse pour se faire prendre pour des cons
MOVE langage innovant : analyse de la méthode de calcul de la consommation de Gas sur la chaîne Aptos
Conception du premier Gas pour le langage MOVE : méthode de calcul de la consommation de Gas sur la chaîne Aptos
La mesure du Gas est un concept fondamental d'Aptos et de nombreuses autres blockchains, elle définit 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 les dépenses en Gas lors de l'exécution des transactions.
Processus
Pour une exécution efficace, le processus sur la chaîne Aptos comprend :
Principes
Les principes définis incluent :
Calcul des Gas
Lorsqu'un utilisateur soumet une transaction, il doit spécifier deux quantités :
Au cours de l'exécution, des frais de transaction seront appliqués :
Les frais de transaction finaux peuvent être calculés en multipliant le montant total de Gas consommé par le prix unitaire du Gas. Par exemple, si une transaction consomme 670 unités de Gas et que le prix unitaire de Gas spécifié par l'utilisateur est de 100 Octa par unité, les frais de transaction finaux seront de 670 * 100 = 67000 Octa = 0.00067 APT.
Si l'exécution de la transaction consomme tout le Gas, l'expéditeur sera facturé en fonction de la quantité maximale de Gas, et tous les changements effectués par cette transaction seront annulés.
Établissement du calendrier Gas
Configuration de base
Le plan Gas comprend plusieurs composants qui ne sont pas liés aux détails d'une opération unique, y compris la taille de la transaction et le maximum d'unités Gas.
taille de transaction
La plupart des tailles de transaction peuvent être de l'ordre du kilooctet. La publication du module Move peut atteindre plusieurs milliers d'octets, tandis que le cadre Aptos fait environ 100 Ko. La taille des modules utilisateurs se situe 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 réactions de la communauté.
Des transactions de très grande envergure peuvent entraîner une augmentation des coûts de bande passante du réseau, ce qui peut avoir un impact négatif sur les performances. Les pools de mémoire seront encouragés à ignorer les transactions de plus grande taille, il est donc nécessaire de trouver un équilibre entre la taille maximale des transactions et leur accessibilité.
unité de Gas maximale
L'unité maximale de Gas définie dans le plan Gas détermine combien d'opérations peuvent être exécutées au maximum dans une transaction. Cela est différent de la quantité maximale de Gas spécifiée par l'utilisateur dans la transaction. Un réglage trop élevé peut avoir un impact négatif sur les performances de la blockchain. Même avec la plus grande mise à niveau du cadre, cela ne représente pas 90 % de l'unité maximale de Gas du plan Gas, fixée à 1 000 000(.
) exécuter
Pour évaluer le coût d'exécution, un cadre de référence a été construit et Valgrind a été utilisé pour analyser le MOVE VM. La sortie est un ensemble de code source annoté, montrant le nombre d'instructions machine générées par chaque ligne de code.
Sur la base des résultats de l'analyse, le coût relatif de toutes les instructions MOVE et des fonctions natives a été estimé. Il a été noté qu'il existe des problèmes avec les fonctions en ligne, qui sont résolus en additionnant les chiffres.
Considérez les exemples de code visant à renforcer la robustesse et la sécurité du système, afin d'obtenir le nombre final d'instructions machine exécutées. Ce chiffre doit être mis en balance avec le stockage et l'unité maximale de Gas, afin de déterminer la valeur actuelle dans le plan de Gas.
stockage
Lorsqu'un nœud Aptos accède à des éléments d'état de grand livre ou à des données stockées dans un stockage persistant, il émet des lectures ou des écritures vers le dispositif de stockage. Le nombre total d'accès aux données par seconde dépend de la bande passante du dispositif de stockage et de la capacité IOPS. L'accès aux données est la rareté instantanée pour les utilisateurs en concurrence sur le marché des frais lors de la charge du système. Le coût d'occupation du disque pour l'écriture de données est permanent off-chain.
L'accès et le stockage de tout élément d'état génèrent des coûts associés à la structure de données de validation de l'état de la blockchain entière ### arbre de Merkle méduse (. Ces coûts sont liés à la cardinalité des différents éléments d'état. Il y a également un coût proportionnel à la taille de chaque élément.
Frais de stockage de Gas = item_fee + )byte_fee * bytes(
) Lire, créer et écrire
L'accès aux éléments d'état se divise en trois types : lecture, création ou écriture. L'accès est facturé en fonction des frais d'élément et des frais de byte.
Les opérations de lecture sont les plus courantes, limitées uniquement par la rareté des ressources instantanées. Les frais de lecture sont calibrés en fonction des IOPS de disque et de la capacité de bande passante des spécifications matérielles de référence.
La création consiste à ajouter un nouvel élément dans le stockage d'état, augmentant la structure de données d'authentification, avec un coût maximal. Les frais de création sont calibrés en fonction de l'espace disque de référence possédé par le réseau.
Les opérations d'écriture mettent à jour les éléments existants dans le stockage d'état, sans générer de frais supplémentaires dans la structure de données d'authentification. Les frais pour les octets dans les éléments mis à jour sont les mêmes que lors de leur création.
Les coûts de stockage sont évalués par transaction : même si la même ressource est lue/écrite plusieurs fois, seul un frais est à payer.
Sur la base des considérations ci-dessus, six paramètres Gas ont été définis :
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. Le coût unitaire fixe du Gas aide à maintenir le plan de Gas constant, détaché de la valeur du marché libre d'APT. L'équipe d'Aptos représente le coût du Gas avec une précision d'environ 3 chiffres. Le coût des transactions de transfert est d'environ 700 unités de Gas.
Participation de la communauté
Les membres de la communauté Aptos peuvent :
Ajustement des coûts de gaz
Le plan Gas, en tant que stockage de configuration off-chain, peut être modifié par des propositions de gouvernance Aptos et permet l'ajout sans faille de nouvelles instructions ou fonctionnalités natives. Le plan Gas est conçu pour être évolutif, permettant des mises à niveau via des propositions de gouvernance. À mesure qu'Aptos et la communauté améliorent Move VM et intègrent les retours des utilisateurs, les paramètres Gas peuvent être ajustés au fil du temps.
Des modifications complexes des formules de Gas nécessitent une mise à jour du logiciel des nœuds et doivent être différenciées par différents indicateurs de caractéristiques de Gas. Il est nécessaire de publier le logiciel des nœuds et de l'adopter massivement, puis de publier et d'approuver la proposition de gouvernance utilisant la nouvelle version de Gas.
Travail futur
En tant que premier cadre de Gas viable de MOVE, les directions de travail futures incluent :