MOVE Language Introduces GAS Design: Discussing the Calculation Method of GAS Consumption na cadeia
Recentemente, um projeto de Blockchain anunciou seu plano de GAS. Como versões anteriores da linguagem MOVE não consideravam o mecanismo de GAS, esta é a primeira vez que a linguagem MOVE introduz o design de GAS, sendo chamada de "uma aventura".
O plano de GAS do projeto esclarece os princípios, processos, métodos de cálculo, ajustes posteriores e a participação da comunidade na elaboração do GAS.
A medição de GAS é um conceito fundamental em muitas Blockchains, utilizado para abstrair a quantidade de recursos computacionais e de armazenamento necessários para executar cálculos e armazenar transações. O plano de GAS determina o custo de todas as execuções na cadeia, para calcular o consumo de GAS durante a execução das transações.
processo de implementação
Para executar eficazmente, este projeto de blockchain toma os seguintes passos:
Definição de Princípios
Preparar a estrutura de avaliação, determinar o preço de cada execução
Estabelecer um sistema de medição de GAS e uma álgebra de GAS segura para o MOVE
Importar a estrutura de GAS a montante
Tornar a estrutura GAS consciente do armazenamento
Refinar ainda mais o plano GAS
Princípios fundamentais
A equipe do projeto definiu os seguintes princípios:
Os custos de operação devem estar diretamente relacionados aos recursos disponíveis na rede, como CPU, memória, rede, armazenamento I/O e uso de espaço. Após melhorias tecnológicas e de processos, os custos de GAS devem ser reduzidos em conformidade.
O GAS deve ser definido pela governança na cadeia e pode ser configurado de forma flexível.
O GAS pode prevenir ataques DoS a recursos fixos da rede e pode ser rapidamente ajustado através de sugestões de governança, conforme a situação da rede.
O preço do GAS reflete a visão de acelerar o crescimento e manter a popularidade da Blockchain.
Incentivar a fazer boas escolhas no design, como priorizar a segurança, a modularidade, as afirmações, entre outros.
Método de cálculo de GAS
Os usuários devem especificar duas quantidades ao enviar uma transação:
Quantidade máxima de GAS: medida em unidades de GAS, representa o número máximo de unidades de GAS que o usuário está disposto a gastar para executar a transação.
Preço do GAS: calculado em octal por unidade de GAS, 1 octal = 0,00000001 APT.
Serão cobradas taxas durante a execução da transação:
Custo fixo: base fixa mais taxas adicionais para transações de grande valor
Custo de execução: usado para executar instruções MOVE
Custo de leitura: ler dados do armazenamento persistente
Custo de escrita: gravar dados em armazenamento persistente
Taxa de transação final = Total de GAS consumido × Preço do GAS
Por exemplo, se a transação consumir 670 unidades de GAS e o usuário especificar o preço do GAS como 100 Octa/unidade, então a taxa final será 670 × 100 = 67000 Octa = 0.00067 APT.
Se o GAS se esgotar durante a execução da transação, o remetente será cobrado pelo máximo de GAS, e as alterações feitas na transação serão revertidas.
Construção do plano GAS
Configuração básica
O plano GAS inclui componentes que não estão relacionados aos detalhes de uma única operação, como o tamanho da transação e a unidade máxima de GAS.
Escala de transação
A maioria das transações tem um tamanho na ordem de kilobytes. O módulo MOVE pode ser publicado com até alguns milhares de bytes, enquanto a estrutura tem cerca de 100 KB. Os módulos de usuário normalmente variam entre 4 KB e 40 KB. O tamanho inicial da transação foi definido em 32 KB, e depois ajustado para 64 KB com base no feedback da comunidade.
Transações em grande escala podem aumentar os custos de largura de banda da rede e afetar o desempenho. O projeto busca um equilíbrio entre o tamanho máximo das transações e a acessibilidade.
Máximo de unidades de GAS
A unidade máxima de GAS definida no plano GAS estabelece a quantidade máxima de operações que podem ser executadas em uma transação. Definir um valor muito alto pode resultar em impactos negativos no desempenho. A experiência mostra que, mesmo com a maior atualização de estrutura, não se atinge 90% do valor máximo definido (1.000.000).
Avaliação de custos de execução
A equipe constrói uma estrutura de referência e usa o Valgrind para analisar a MOVE VM, estimando o custo relativo de todas as instruções MOVE e funções nativas. Após considerar a robustez e segurança do sistema, chega-se ao número final de instruções de máquina executadas.
Custo de armazenamento
O plano de armazenamento de GAS considera a escassez momentânea de acesso aos dados e o custo permanente de ocupação do disco. O acesso e o armazenamento de itens de estado geram custos relacionados à verificação da estrutura de dados do estado da Blockchain.
Armazenar a taxa de GAS = taxa do projeto + ( taxa por byte × número de bytes )
Leitura, criação e operações de escrita
O acesso aos itens de estado é dividido em três tipos: leitura, criação ou escrita:
Leitura: a operação mais comum, calibrando os custos com base nos IOPS do disco e na capacidade de largura de banda.
Criar: Adicionar um novo item ao armazenamento de estado, custo mais alto, calibrado de acordo com o espaço em disco da rede.
Escrever: Atualizar itens existentes, cobrando a mesma taxa pelos bytes nos itens atualizados como para a criação.
Cada transação só precisa pagar uma vez pela leitura/escrita múltipla do mesmo recurso.
custo unitário de GAS estável
O custo fixo por unidade de GAS ajuda a manter o plano de GAS inalterado e a desassociá-lo do valor de mercado dos tokens. O projeto representa a unidade de GAS com uma precisão de cerca de 3 dígitos, fazendo com que o custo da transação de transferência seja de aproximadamente 700 unidades de GAS.
Participação da Comunidade
Como projeto comunitário, os membros podem:
Identificar as incongruências do plano GAS
Expressar preocupações sobre o plano GAS e participar da discussão
Votação sobre a proposta de governança relacionada ao GAS
Ajuste de custo de GAS
O plano GAS é armazenado na cadeia como uma configuração de armazenamento e pode ser alterado através de propostas de governança. Foi projetado para ser escalável, permitindo atualizações através de propostas de governança. Com o tempo, os parâmetros do GAS podem ser ajustados com base no feedback dos usuários.
Alterações complexas na fórmula de GAS necessitam de atualização do software do nó, e após a adoção em larga escala, a utilização da nova versão deve ser aprovada através de propostas de governança.
Perspectivas Futuras
Como o primeiro framework de GAS viável do MOVE, este projeto estabelece as bases para o trabalho futuro:
Reduzir custos de execução: melhorando a eficiência do compilador e da máquina virtual.
Cálculo de GAS multidimensional: permite que os usuários especifiquem orçamentos separados para execução e armazenamento, permitindo uma definição de preço máximo de GAS mais granular.
Aliviar a expansão do estado: explorar o conceito de TTL de cada projeto, removendo itens de estado não acessados quando o TTL expira.
Este design inovador de GAS abre novas possibilidades para o ecossistema da linguagem MOVE, com a expectativa de ser ainda mais otimizado e aperfeiçoado no futuro.
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.
14 Curtidas
Recompensa
14
4
Compartilhar
Comentário
0/400
MagicBean
· 13h atrás
move também precisa de gás?
Ver originalResponder0
SybilSlayer
· 13h atrás
Desperdiçar dinheiro aprendendo isso.
Ver originalResponder0
OnChainArchaeologist
· 13h atrás
Um profissional de uma blockchain pública que se surpreende e admira tudo o que vê, gosta de zombar e criticar.
Ver originalResponder0
MemecoinTrader
· 14h atrás
psst... o modelo de gás do move foi recentemente implementado. a temporada de vazamentos da prime alpha está a chegar fr fr
MOVE linguagem introduz o design de GAS, projeto de Blockchain explora novos modelos de medição de recursos
MOVE Language Introduces GAS Design: Discussing the Calculation Method of GAS Consumption na cadeia
Recentemente, um projeto de Blockchain anunciou seu plano de GAS. Como versões anteriores da linguagem MOVE não consideravam o mecanismo de GAS, esta é a primeira vez que a linguagem MOVE introduz o design de GAS, sendo chamada de "uma aventura".
O plano de GAS do projeto esclarece os princípios, processos, métodos de cálculo, ajustes posteriores e a participação da comunidade na elaboração do GAS.
A medição de GAS é um conceito fundamental em muitas Blockchains, utilizado para abstrair a quantidade de recursos computacionais e de armazenamento necessários para executar cálculos e armazenar transações. O plano de GAS determina o custo de todas as execuções na cadeia, para calcular o consumo de GAS durante a execução das transações.
processo de implementação
Para executar eficazmente, este projeto de blockchain toma os seguintes passos:
Princípios fundamentais
A equipe do projeto definiu os seguintes princípios:
Os custos de operação devem estar diretamente relacionados aos recursos disponíveis na rede, como CPU, memória, rede, armazenamento I/O e uso de espaço. Após melhorias tecnológicas e de processos, os custos de GAS devem ser reduzidos em conformidade.
O GAS deve ser definido pela governança na cadeia e pode ser configurado de forma flexível.
O GAS pode prevenir ataques DoS a recursos fixos da rede e pode ser rapidamente ajustado através de sugestões de governança, conforme a situação da rede.
O preço do GAS reflete a visão de acelerar o crescimento e manter a popularidade da Blockchain.
Incentivar a fazer boas escolhas no design, como priorizar a segurança, a modularidade, as afirmações, entre outros.
Método de cálculo de GAS
Os usuários devem especificar duas quantidades ao enviar uma transação:
Quantidade máxima de GAS: medida em unidades de GAS, representa o número máximo de unidades de GAS que o usuário está disposto a gastar para executar a transação.
Preço do GAS: calculado em octal por unidade de GAS, 1 octal = 0,00000001 APT.
Serão cobradas taxas durante a execução da transação:
Taxa de transação final = Total de GAS consumido × Preço do GAS
Por exemplo, se a transação consumir 670 unidades de GAS e o usuário especificar o preço do GAS como 100 Octa/unidade, então a taxa final será 670 × 100 = 67000 Octa = 0.00067 APT.
Se o GAS se esgotar durante a execução da transação, o remetente será cobrado pelo máximo de GAS, e as alterações feitas na transação serão revertidas.
Construção do plano GAS
O plano GAS inclui componentes que não estão relacionados aos detalhes de uma única operação, como o tamanho da transação e a unidade máxima de GAS.
A maioria das transações tem um tamanho na ordem de kilobytes. O módulo MOVE pode ser publicado com até alguns milhares de bytes, enquanto a estrutura tem cerca de 100 KB. Os módulos de usuário normalmente variam entre 4 KB e 40 KB. O tamanho inicial da transação foi definido em 32 KB, e depois ajustado para 64 KB com base no feedback da comunidade.
Transações em grande escala podem aumentar os custos de largura de banda da rede e afetar o desempenho. O projeto busca um equilíbrio entre o tamanho máximo das transações e a acessibilidade.
A unidade máxima de GAS definida no plano GAS estabelece a quantidade máxima de operações que podem ser executadas em uma transação. Definir um valor muito alto pode resultar em impactos negativos no desempenho. A experiência mostra que, mesmo com a maior atualização de estrutura, não se atinge 90% do valor máximo definido (1.000.000).
A equipe constrói uma estrutura de referência e usa o Valgrind para analisar a MOVE VM, estimando o custo relativo de todas as instruções MOVE e funções nativas. Após considerar a robustez e segurança do sistema, chega-se ao número final de instruções de máquina executadas.
O plano de armazenamento de GAS considera a escassez momentânea de acesso aos dados e o custo permanente de ocupação do disco. O acesso e o armazenamento de itens de estado geram custos relacionados à verificação da estrutura de dados do estado da Blockchain.
Armazenar a taxa de GAS = taxa do projeto + ( taxa por byte × número de bytes )
Leitura, criação e operações de escrita
O acesso aos itens de estado é dividido em três tipos: leitura, criação ou escrita:
Cada transação só precisa pagar uma vez pela leitura/escrita múltipla do mesmo recurso.
custo unitário de GAS estável
O custo fixo por unidade de GAS ajuda a manter o plano de GAS inalterado e a desassociá-lo do valor de mercado dos tokens. O projeto representa a unidade de GAS com uma precisão de cerca de 3 dígitos, fazendo com que o custo da transação de transferência seja de aproximadamente 700 unidades de GAS.
Participação da Comunidade
Como projeto comunitário, os membros podem:
Ajuste de custo de GAS
O plano GAS é armazenado na cadeia como uma configuração de armazenamento e pode ser alterado através de propostas de governança. Foi projetado para ser escalável, permitindo atualizações através de propostas de governança. Com o tempo, os parâmetros do GAS podem ser ajustados com base no feedback dos usuários.
Alterações complexas na fórmula de GAS necessitam de atualização do software do nó, e após a adoção em larga escala, a utilização da nova versão deve ser aprovada através de propostas de governança.
Perspectivas Futuras
Como o primeiro framework de GAS viável do MOVE, este projeto estabelece as bases para o trabalho futuro:
Reduzir custos de execução: melhorando a eficiência do compilador e da máquina virtual.
Cálculo de GAS multidimensional: permite que os usuários especifiquem orçamentos separados para execução e armazenamento, permitindo uma definição de preço máximo de GAS mais granular.
Aliviar a expansão do estado: explorar o conceito de TTL de cada projeto, removendo itens de estado não acessados quando o TTL expira.
Este design inovador de GAS abre novas possibilidades para o ecossistema da linguagem MOVE, com a expectativa de ser ainda mais otimizado e aperfeiçoado no futuro.