MOVE linguagem inovação: análise do método de cálculo do consumo de Gas na cadeia Aptos

robot
Geração de resumo em curso

Primeiro design de Gas da linguagem MOVE: Método de cálculo do consumo de Gas na cadeia Aptos

A medição de Gas é um conceito fundamental no Aptos e em muitas outras blockchains, que define 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 todos os consumos de execução na cadeia, que é usado para calcular os gastos de Gas utilizados durante a execução de transações.

Processo

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

  1. Princípios de definição
  2. Preparar um quadro de avaliação, determinar o preço de cada execução
  3. Estabelecer um sistema de medição de Gas e uma álgebra de Gas segura para MOVE
  4. Importar o quadro Gas upstream para Aptos
  5. Tornar a estrutura Gas consciente do armazenamento
  6. Refinar ainda mais o plano de 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. Após melhorias técnicas e de processos, o custo de Gas deve diminuir.
  2. O Gas deve ser definido pela governança na cadeia e pode ser configurado sem costura.
  3. O Gas pode prevenir ataques DoS a um conjunto fixo de recursos da rede, podendo ser necessário ajustar rapidamente através de propostas de governança com base na situação da rede.
  4. O preço do Gas do Aptos reflete o desejo de acelerar o crescimento e manter a popularidade da blockchain.
  5. Incentivar a fazer escolhas excelentes no design, como priorizar a segurança, a modularidade, as asserções, etc.

Cálculo de Gas

Quando o usuário submete uma transação, é necessário especificar duas quantidades:

  • Máximo de Gas: medido em unidades de Gas, 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.

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

  1. Custo fixo: base fixa mais as taxas adicionais para 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: utilizado para gravar dados no armazenamento persistente

A taxa de transação final pode ser calculada multiplicando a quantidade total de Gas consumido pelo preço do Gas por unidade. Por exemplo, se uma transação consumir 670 unidades de Gas, e o preço do Gas especificado pelo usuário for 100 Octa por unidade, a taxa de transação final será 670 * 100 = 67000 Octa = 0.00067 APT.

Se o Gas for esgotado durante a execução da transação, o remetente será cobrado de acordo com a quantidade máxima de Gas, e todas as mudanças feitas por essa transação serão revertidas.

Estabelecimento do plano de Gas

configuração básica

O plano de Gas tem vários componentes que não estão relacionados com os detalhes de uma única operação, incluindo o tamanho da transação e a unidade máxima de Gas.

escala de negociação

A maioria dos tamanhos de transação pode estar na faixa de kilobytes. O módulo Move pode ter algumas milhares de bytes, enquanto o framework Aptos tem cerca de 100 KB. O tamanho do módulo do usuário geralmente varia entre 4KB e 40KB. O tamanho inicial da transação foi definido em 32KB, mas foi ajustado para 64KB com base na reação da comunidade.

Transações em grande escala podem levar a um aumento nos custos de largura de banda da rede, o que pode ter um impacto negativo no desempenho. O pool de memórias será incentivado a ignorar transações de maior escala, portanto, é necessário equilibrar o tamanho máximo das transações e a acessibilidade.

maior unidade de Gas

A unidade máxima de Gas definida no plano de Gas determina quantas operações podem ser executadas em uma transação. Isso é diferente da quantidade máxima de Gas especificada pelo usuário na transação. Definir um valor muito alto pode ter um impacto negativo no desempenho da blockchain. Mesmo com a atualização do quadro máximo, não chega a 90% da unidade máxima de Gas do plano, que está definida como 1,000,000(.

) executar

Para avaliar o custo de execução, foi construído um quadro de referência e utilizado o Valgrind para analisar o MOVE VM. A saída é um conjunto de código fonte comentado, mostrando o número de instruções de máquina geradas por cada linha de código.

Com base nos resultados da análise, foram estimados os custos relativos de todas as instruções MOVE e funções nativas. Notou-se que existem alguns problemas com funções inline, que foram resolvidos somando os números.

Considere exemplos de codificação que aumentem a robustez e a segurança do sistema, e obtenha o número final de instruções de máquina executadas. Este número é ponderado em relação ao armazenamento e à unidade máxima de Gas, para determinar o valor atual no plano de Gas.

armazenar

Quando um nó Aptos acessa itens de estado ou dados do livro-razão armazenados em armazenamento persistente, ele emite leituras ou gravações para o dispositivo de armazenamento. O número total de acessos a dados por segundo depende da largura de banda do dispositivo de armazenamento e da capacidade de IOPS. O acesso a dados é a escassez instantânea competitiva no mercado de taxas quando o sistema está sob carga. O custo de ocupação do disco para gravar dados é permanente na cadeia.

Acesso e armazenamento de qualquer item de estado geram custos relacionados à estrutura de dados ### da árvore de Merkle de água-viva, que verifica o estado completo da blockchain. Este custo está relacionado à cardinalidade dos diferentes itens de estado. Há também um custo proporcional ao tamanho de cada item.

Armazenar taxa de Gas = item_fee + (byte_fee * bytes)

( ler, criar e escrever

O acesso aos itens de estado é dividido em três tipos: leitura, criação ou escrita. O acesso é cobrado com base na taxa do item e na taxa de bytes.

A operação de leitura é a mais comum, limitada apenas pela escassez momentânea de recursos. O custo de leitura é calibrado de acordo com a capacidade de largura de banda das IOPS de disco e das especificações de hardware de referência.

A criação consiste em adicionar novos itens ao armazenamento de estado, aumentando a estrutura de dados de autenticação, com o custo mais alto. As taxas de criação são calibradas com base no espaço de disco de referência que a rede possui.

As operações de escrita atualizam os itens existentes no armazenamento de estado, sem gerar sobrecarga adicional na estrutura de dados de autenticação. A mesma taxa é cobrada para os bytes nos itens atualizados como era cobrada na criação.

Os custos relacionados ao armazenamento são avaliados com base em cada transação: mesmo que haja várias leituras/gravações do mesmo recurso, só é necessário pagar uma vez.

Com base nas considerações acima, foram definidos 6 parâmetros de Gas:

  • per_item_read: de acordo com a calibração IOPs
  • per_byte_read: calibrar de acordo com a largura de banda real
  • per_item_create: Calibrar de acordo com o total do projeto alvo
  • per_byte_create: calibrar de acordo com o tamanho total alvo
  • per_item_write: igual a per_item_read
  • per_byte_write: igual a per_byte_create

Custo Unitário de Gas Estável

Cada operação e transação em si requer um custo fixo em unidades em relação aos custos de armazenamento e execução. O custo fixo em unidades de Gas ajuda a manter o plano de Gas constante, desvinculando-se do valor de mercado livre da APT. A equipe da Aptos expressa as unidades de Gas com precisão de cerca de 3 dígitos. O custo de transações de transferência é de cerca de 700 unidades de Gas.

Participação da Comunidade

Os membros da comunidade Aptos podem:

  1. Identificar as irracionalidades do plano de Gas
  2. Expressar preocupações sobre o plano Gas, participar na discussão da comunidade
  3. Votar nas propostas de governança relacionadas ao Gas na Aptos

Ajuste de custos de Gas

O plano de Gas, como armazenamento de configuração na cadeia, pode ser alterado através de propostas de governança da Aptos e novos comandos ou funcionalidades nativas podem ser adicionados sem problemas. O plano de Gas é projetado para ser escalável, permitindo atualizações através de propostas de governança. À medida que a Aptos e a comunidade melhoram o Move VM e incorporam o feedback dos usuários, os parâmetros de Gas podem ser ajustados ao longo do tempo.

Mudanças complexas na fórmula do Gas exigem a atualização do software do nó e a distinção por diferentes marcas de características do Gas. É necessário publicar o software do nó e adotá-lo amplamente, e finalmente publicar e aprovar a proposta de governança para usar a nova versão do Gas.

Trabalho Futuro

Como o primeiro framework de Gas viável da MOVE, as direções de trabalho futuras incluem:

  1. Reduzir os custos de execução: melhorar a eficiência do compilador e da 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 o estado volumoso: explorar o conceito de TTL de cada projeto e remover itens de estado não visitados quando o TTL expirar.
MOVE-9.66%
APT-8.93%
GAS-6.24%
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
  • 10
  • Republicar
  • Partilhar
Comentar
0/400
FlashLoanKingvip
· 07-15 09:55
fora da cadeia Arbitragem também é bom啊
Ver originalResponder0
FloorPriceWatchervip
· 07-15 04:26
gás ainda não é melhor do que subir até o teto.
Ver originalResponder0
SandwichDetectorvip
· 07-14 16:16
Um pouco complicado, vamos ver novamente na otimização do próximo mês.
Ver originalResponder0
DancingCandlesvip
· 07-12 16:24
Não sinto que o move tenha algo de especial~
Ver originalResponder0
BlockDetectivevip
· 07-12 16:22
move é o rei da popularidade
Ver originalResponder0
VitaliksTwinvip
· 07-12 16:21
move ficou complicado
Ver originalResponder0
CryptoComedianvip
· 07-12 16:16
Outra vez a sangrar dinheiro, o gás ainda quer fazer truques, não é?
Ver originalResponder0
CryptoPunstervip
· 07-12 16:07
Mais uma nova desculpa para fazer as pessoas de parvas
Ver originalResponder0
  • Pino
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)