O plano GAS inovador da linguagem MOVE: uma análise completa do método de cálculo de taxas na cadeia

robot
Geração de resumo em curso

Design do primeiro GAS da linguagem MOVE: Análise do método de cálculo das taxas de GAS na cadeia

A versão anterior da linguagem MOVE foi originalmente projetada para funcionar sem GAS, portanto não estava preparada para o planejamento de GAS. Recentemente, um projeto de blockchain lançou um plano de GAS para sua linguagem MOVE na cadeia, sendo este o primeiro design de GAS da linguagem MOVE, chamado de "uma aventura".

O plano GAS explica os princípios, processos, métodos de cálculo e ajustes posteriores para a elaboração do GAS, e expressa boas-vindas a sugestões da comunidade.

A medição de GAS é um conceito básico em muitas blockchains, usado para definir a quantidade de recursos computacionais e de 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, usado para calcular o gasto de GAS durante a execução da transação.

Processo

Para uma execução eficaz, os processos na cadeia deste projeto incluem:

  1. Definição de Princípios
  2. Preparar a estrutura de avaliação, determinar o preço de cada execução
  3. Estabelecer um sistema de medição de GAS e álgebra de GAS seguro para o MOVE
  4. Importar o framework GAS na cadeia
  5. Tornar a estrutura GAS consciente do armazenamento
  6. Refinar ainda mais o plano GAS

Princípios

Os princípios definidos incluem:

  1. O custo de operação deve estar diretamente relacionado com os recursos disponíveis na rede e deve diminuir à medida que a tecnologia melhora.
  2. GAS é definido pela governança na cadeia e pode ser configurado sem costura.
  3. O GAS pode prevenir ataques DoS e pode ser ajustado rapidamente com base na situação da rede.
  4. O preço do GAS reflete a visão de crescimento acelerado e de manter a acessibilidade da na cadeia.
  5. Incentivar a fazer boas escolhas ao projetar, priorizando a segurança, a modularidade, entre outros.

Cálculo de GAS

O utilizador deve especificar ao submeter uma transação:

  • Máximo de unidades de GAS: número máximo de unidades de GAS que o usuário está disposto a gastar para executar uma transação.
  • Preço do GAS: calculado em octal por unidade de GAS, 1 octal = 0,00000001 token nativo

Durante o processo de execução da transação, será cobrada:

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

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

Por exemplo, se a transação consumir 670 unidades de GAS, o usuário especifica o preço do GAS como 100 Octa/unidade, então a taxa final será 670 × 100 = 67000 Octa = 0.00067 token nativo.

Se o GAS acabar durante a execução da transação, o remetente será cobrado pelo máximo de GAS, e as alterações feitas pela exchange serão revertidas.

Estabelecer um plano de GAS

Configuração básica

O plano GAS inclui componentes que não estão relacionados com os detalhes de uma única operação, como o tamanho da transação e a unidade máxima de GAS.

Escala de transações

A maioria das transações tem um tamanho na ordem de kilobytes, mas a publicação de módulos pode atingir vários milhares de bytes. O tamanho inicial da transação foi definido como 32KB, mas foi ajustado para 64KB com base no feedback da comunidade, para simplificar o desenvolvimento de aplicações.

Transações em grande escala aumentarão os custos de largura de banda da rede, o que pode afetar o desempenho. O pool de memórias tenderá a ignorar transações de maior escala, portanto, é necessário equilibrar entre a máxima escala e a acessibilidade.

maior unidade de GAS

A unidade máxima de GAS definida pelo plano de GAS determina a quantidade máxima de operações que podem ser executadas em uma transação. Um valor excessivamente alto pode levar a impactos negativos no desempenho. Atualmente, mesmo com a atualização máxima da estrutura, não chega a 90% da unidade máxima de GAS (1,000,000).

executar

Através de uma estrutura de referência e da análise do Valgrind na MOVE VM, estimar o custo relativo de todas as instruções MOVE e funções nativas. Considerando a robustez e segurança do sistema, obter o 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.

armazenamento

Ao acessar itens ou dados do estado do livro-razão, o nó emite leituras e gravações para o dispositivo de armazenamento. O número total de acessos a dados é limitado pela largura de banda e IOPS do dispositivo de armazenamento. O plano de armazenamento de GAS considera esses custos.

O acesso e o armazenamento de qualquer item de estado geram custos relacionados à estrutura de dados de estado da blockchain de validação. As taxas estão relacionadas à cardinalidade e ao tamanho do item de estado:

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

Ler, criar e escrever

O acesso aos itens de estado é dividido em três tipos: leitura, criação ou escrita.

  • A operação de leitura é a mais comum, limitada apenas pela escassez momentânea de recursos.
  • Criar um novo item na armazenagem de estado, custo máximo
  • A operação de escrita atualiza os itens existentes, cobrando o mesmo custo pelos bytes nos itens atualizados que pela criação.

Os custos relacionados com o armazenamento são avaliados com base em cada transação, mesmo que haja múltimas leituras e gravações do mesmo recurso, apenas uma taxa é cobrada.

Custo unitário de GAS estável

Cada operação e transação em si requer um custo fixo em relação aos custos de armazenamento e execução, ajudando a manter o plano de GAS inalterado. A precisão da unidade de GAS é de cerca de 3 dígitos, como o custo da transação de transferência que é de cerca de 700 unidades de GAS.

Participação da Comunidade

Os membros da comunidade podem:

  1. Identificar as inconsistências no plano GAS
  2. Participar em discussões da comunidade
  3. Votação sobre propostas de governança relacionadas

Ajuste de custos de GAS

O plano GAS, como armazenamento configurado na cadeia, pode ser alterado através de propostas de governança. Projetado para ser escalável, permite atualizações através de propostas. Com o passar do tempo, os parâmetros do GAS podem ser ajustados com base no feedback dos usuários.

Mudanças complexas na fórmula de GAS exigem atualização do software do nó, e o uso da nova versão deve ser aprovado por propostas de governança após a adoção em larga escala.

Trabalho Futuro

Como o primeiro quadro de GAS viável do MOVE, as direções de trabalho futuras incluem:

  1. Reduzir os custos de execução
  2. Cálculo de GAS multidimensional, permitindo que os usuários especifiquem orçamentos separados para execução e armazenamento.
  3. Aliviar o estado de inchaço, explorar o conceito TTL de cada projeto, excluir itens de estado não acessados quando o TTL expirar.
MOVE-1.06%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 4
  • Republicar
  • Partilhar
Comentar
0/400
MetaverseLandlordvip
· 7h atrás
move a jogar de forma tão extravagante, não tem medo que o gás suba às alturas?
Ver originalResponder0
SleepTradervip
· 10h atrás
move garantidamente falha prevista
Ver originalResponder0
FreeRidervip
· 10h atrás
Isso dói de verdade.
Ver originalResponder0
OfflineNewbievip
· 10h atrás
Esta operação é demasiado imprudente, não é? Dizem que mudam e mudam.
Ver originalResponder0
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)