A linguagem MOVE introduz pela primeira vez o mecanismo GAS: análise completa dos princípios de design e métodos de cálculo

Discussão sobre o primeiro design de GAS da linguagem MOVE

A versão mais recente da linguagem MOVE estava originalmente planejada para funcionar em um ambiente sem GAS, portanto não estava preparada para o mecanismo de GAS. Recentemente, um projeto de blockchain projetou pela primeira vez um plano de GAS para a linguagem MOVE, o que é considerado uma tentativa inovadora. A equipe do projeto divulgou os princípios, processos, métodos de cálculo e planos de ajuste para a elaboração do GAS, e declarou que está aberta a sugestões da comunidade.

A medição de GAS é um conceito básico em muitas blockchains, usado para quantificar os recursos de computação e armazenamento necessários para executar e armazenar transações na cadeia. O plano de GAS determina o custo de todas as execuções na cadeia, utilizado para calcular o consumo de GAS durante a execução das transações.

Processo de Design

Para garantir uma execução eficaz, o projeto adotou os seguintes processos:

  1. Definição de princípios
  2. Preparar o quadro de avaliação, determinar os preços de execução de cada item.
  3. Estabelecer um sistema de medição de GAS e uma álgebra de GAS segura para MOVE
  4. Importar a estrutura GAS upstream para o projeto
  5. Tornar a estrutura GAS capaz de perceber o armazenamento
  6. Aperfeiçoar ainda mais o plano GAS

Princípios de design

Os princípios seguidos pelo projeto incluem:

  1. Os custos operacionais devem estar diretamente relacionados com os recursos disponíveis na rede e devem diminuir com o avanço da tecnologia.
  2. O GAS deve ser definido pela governança na cadeia, podendo ser configurado de forma flexível.
  3. O GAS deve prevenir ataques DoS a recursos fixos da rede, podendo ajustar-se rapidamente de acordo com as condições da rede.
  4. O preço do GAS deve refletir a visão da equipe do projeto de promover o crescimento e a popularização da blockchain.
  5. Incentivar a fazer escolhas excelentes no design, como focar na segurança, modularidade, etc.

Método de Cálculo de GAS

O usuário deve especificar dois valores ao submeter uma transação:

  • Número máximo de GAS: o número máximo de unidades de GAS que o usuário está disposto a pagar pela execução da transação.
  • Preço do GAS: calculado em octal, 1 octal = 0,00000001 token nativo

Durante a execução da transação, será cobrado:

  1. Custo fixo: taxa base mais taxa adicional de grandes transações
  2. Custo de execução: utilizado para executar a instrução MOVE
  3. Custo de leitura: usado para ler dados do armazenamento persistente
  4. Custo de escrita: usado para gravar dados em armazenamento persistente

Taxa de transação final = Quantidade total de GAS consumido × Preço do GAS

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 pela troca serão revertidas.

Construção do plano GAS

Configuração Básica

O plano GAS inclui vários componentes que não estão relacionados com operações específicas, como o tamanho da transação e a unidade máxima de GAS.

escala de negociação

A maioria das transações tem um tamanho na ordem de KB, mas o módulo MOVE pode alcançar vários kilobytes. A estrutura do projeto é de cerca de 100KB, e a maioria dos módulos dos usuários varia entre 4-40KB. O tamanho inicial das transações foi definido em 32KB, mas foi ajustado para 64KB com base no feedback da comunidade.

Transações de grande escala aumentam os custos de largura de banda da rede e podem afetar o desempenho. Para equilibrar a escala e a acessibilidade, a pool de memórias pode ignorar transações muito grandes.

maior unidade de GAS

A unidade máxima de GAS definida no plano GAS determina a quantidade máxima de operações que podem ser executadas em uma única transação. Definir um valor muito alto pode causar problemas de desempenho, como ciclos infinitos. Mesmo com a atualização de estrutura em larga escala, é utilizado menos de 90% da unidade máxima de GAS ( definida como 1.000.000 ).

avaliação de custo de execução

Avaliar os custos de execução através de uma estrutura de referência e ferramentas de análise, estimar o custo relativo dos comandos MOVE e das funções nativas. Considerando a estabilidade e a segurança do sistema, chegar ao número final de instruções de máquina executadas e determinar o valor atual no plano de GAS, em relação ao armazenamento e à unidade máxima de GAS.

custo de armazenamento

O acesso ao armazenamento é limitado pela largura de banda e IOPS do dispositivo. O plano de armazenamento de GAS considera a escassez instantânea e os custos de ocupação permanente. O acesso a qualquer item de estado gera custos relacionados à verificação de todo o estado da blockchain.

Armazenar taxas de GAS = Taxa do projeto + ( taxa por byte × Número de bytes )

operações de leitura, criação e escrita

  • Ler: A operação mais comum, calibrada com base no IOPS e na capacidade de largura de banda do disco.
  • Criar: custo mais alto, calibrado com base no espaço em disco de referência
  • Escrever: atualizar itens existentes, a taxa de byte é a mesma que a de criação

Cada transação incorrerá apenas uma vez na taxa de leitura/escrita dos mesmos recursos.

custo unitário de GAS estável

O custo fixo do GAS ajuda a manter o plano de GAS estável, não sendo afetado pelo valor de mercado dos tokens nativos. Com precisão de cerca de 3 dígitos, o custo de uma transação de transferência comum é de cerca de 700 unidades de GAS.

Participação da Comunidade

O projeto incentiva os membros da comunidade:

  1. Descobrir as inconsistências do plano GAS
  2. Participar nas discussões da comunidade, expressar preocupações sobre o plano GAS
  3. Votar em propostas de governança relacionadas ao GAS

Ajuste do custo de GAS

O plano GAS, como armazenamento de configuração em cadeia, pode ser alterado através de propostas de governança. Projetado para ter escalabilidade, permitindo atualizações através de propostas. Alterações complexas requerem atualização do software dos nós e adoção ampla, sendo finalmente aprovadas por propostas de governança.

Direção futura do trabalho

Como a primeira estrutura GAS viável do MOVE, este design estabelece uma base para o trabalho futuro:

  1. Reduzir custos de execução: otimizar o compilador e a máquina virtual
  2. Cálculo de GAS Multidimensional: permite que os usuários especifiquem orçamentos separados para execução e armazenamento.
  3. Aliviar a expansão do estado: explorar a introdução do conceito TTL para itens de estado, excluindo automaticamente itens não acessados que estejam expirados.

Este GAS traz novas possibilidades para o ecossistema da linguagem MOVE, e há muito espaço para desenvolvimento e melhorias no futuro.

Ver 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.
  • Recompensa
  • 7
  • Compartilhar
Comentário
0/400
SingleForYearsvip
· 6h atrás
Ainda é o eth que é bom, eu não brinco com coisas novas.
Ver originalResponder0
ILCollectorvip
· 7h atrás
move gás também acabou?
Ver originalResponder0
FUD_Whisperervip
· 07-02 03:34
move já conseguiu superar as dificuldades, hein
Ver originalResponder0
0xLostKeyvip
· 07-02 03:34
sentar e esperar perder gás
Ver originalResponder0
HappyToBeDumpedvip
· 07-02 03:34
Já estão a falar de conceitos novamente, sem gás não é mais saboroso?
Ver originalResponder0
HalfIsEmptyvip
· 07-02 03:24
Grande irmão, o teu gás finalmente está online!
Ver originalResponder0
EthMaximalistvip
· 07-02 03:08
move também vai queimar gás?! tm é tão chato
Ver originalResponder0
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)