Primeiro design de GAS da linguagem MOVE: discutindo a forma de cálculo do gasto de GAS na cadeia
A versão anterior da linguagem MOVE foi originalmente projetada para operar em um ambiente sem GAS, portanto não estava preparada para o plano de GAS. Recentemente, um determinado blockchain chamou o plano de GAS que foi estabelecido para ele de "uma aventura", sendo este o primeiro design de GAS da linguagem MOVE.
O plano de GAS esclarece os princípios, processos, métodos de cálculo e mecanismos de ajuste subsequentes para a definição de GAS. A medição de GAS é um conceito fundamental em muitas blockchains, definindo a quantidade de recursos computacionais e de armazenamento necessários para a execução e armazenamento de transações na cadeia. O plano de GAS determinará o custo de consumo de todas as execuções na cadeia, a ser usado para calcular os gastos de GAS durante a execução das transações.
processo
Para uma execução eficaz, a blockchain pública adota os seguintes processos:
Princípios de Definição
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 estrutura GAS a montante
Tornar a estrutura GAS consciente do armazenamento
Refinar ainda mais o plano de GAS
princípio
Os princípios definidos incluem:
O custo de operação está diretamente relacionado com os recursos disponíveis na rede, após melhorias tecnológicas, o custo do GAS deve ser reduzido em conformidade.
GAS é configurado através da governança na cadeia, podendo ser ajustado sem costura.
O GAS pode prevenir ataques DoS, podendo ajustar rapidamente de acordo com a situação da rede.
O preço do GAS reflete a visão de crescimento acelerado e de manter a popularidade da cadeia.
Incentivar a prioridade de fatores como segurança e modularidade no design.
cálculo GAS
O utilizador deve especificar duas quantidades ao submeter a transação:
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 pagar.
Preço do GAS: Calculado em octal por unidade de GAS, 1 octal = 0.00000001 APT.
Durante a execução da transação serão cobrados:
Custos fixos: base fixa mais taxas adicionais para grandes transações
Custo de execução: usado para executar instruções MOVE
Custo de leitura: utilizado para ler dados do armazenamento persistente
Custo de escrita: utilizado para gravar dados no 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 preço especificado pelo usuário for 100 Octa/unidade, então a taxa final será 670 × 100 = 67000 Octa = 0.00067 APT.
Se a execução da transação consumir todo o GAS, o remetente será cobrado com base na quantidade máxima de GAS, e as alterações feitas pela bolsa serão revertidas.
GAS plano de construção
1. Configuração Básica
O plano GAS inclui componentes que não estão relacionados a operações individuais, como o tamanho da transação e a unidade GAS máxima.
2. Escala de transações
A maioria das transações tem um tamanho na faixa de kilobytes, e o módulo MOVE pode alcançar alguns kilobytes. O tamanho inicial das transações foi definido em 32KB, depois ajustado para 64KB com base no feedback da comunidade, para simplificar o desenvolvimento de aplicações.
Transações em grande escala podem aumentar os custos de largura de banda da rede, afetando o desempenho. O pool de memória pode ignorar transações que são excessivamente grandes, portanto, é necessário alcançar um equilíbrio entre a máxima escala e a acessibilidade.
3. Unidade máxima de GAS
A unidade máxima de GAS definida no plano GAS determina o número máximo de operações que podem ser executadas em uma única transação. Definir um valor muito alto pode ter um impacto negativo no desempenho da cadeia. Atualmente, está definido em 1.000.000, que não excede 90% mesmo com a atualização máxima do quadro.
4. Execução
Através da construção de uma estrutura de referência e utilizando o Valgrind para analisar o Move VM, estimar o custo relativo de todas as instruções Move e funções nativas. Considerar exemplos de codificação que aumentem a robustez e segurança do sistema, determinar a quantidade final de instruções de máquina executadas e, em relação ao armazenamento e à ponderação das unidades máximas de GAS, estabelecer o valor atual no plano de GAS.
5. Armazenamento
Quando um nó acessa um item de estado ou dados no armazenamento persistente, ele envia solicitações de leitura e gravação ao dispositivo de armazenamento. O número total de acessos a dados depende da largura de banda do dispositivo de armazenamento e da capacidade de IOPS. A equipe projeta o plano de GAS de armazenamento considerando esses custos.
Acessar e armazenar qualquer item de estado gera custos relacionados à estrutura de dados que valida 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 = 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 e escrita:
A operação de leitura é a mais comum, limitada apenas pela escassez momentânea de recursos.
A operação de criação adiciona novos itens ao armazenamento de estado, com o custo mais alto.
A operação de escrita atualiza os itens existentes, sem gerar sobrecarga adicional na estrutura de dados de autenticação.
Com base nas considerações acima, foram definidos 6 parâmetros de GAS:
per_item_read: Corrigido de acordo com os IOPs
per_byte_read: Calibrar de acordo com a largura de banda real
per_item_create: Calibrar de acordo com o total de projetos alvo
per_byte_create: Calibrar de acordo com o tamanho total alvo
per_item_write: igual ao 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 inalterado e desvinculado do valor de mercado dos tokens. A equipe expressa as unidades de GAS com uma precisão de cerca de 3 dígitos, e o custo de transação de transferência é de cerca de 700 unidades de GAS.
participação da comunidade
Os membros da comunidade podem:
Identificar as inconsistências no plano de GAS
Levantar preocupações e participar na discussão
Votar em propostas de governação relacionadas
ajuste de custo de GAS
O plano GAS, como armazenamento de configuração na cadeia, pode ser alterado através de propostas de governança e novos comandos ou funcionalidades nativas podem ser adicionados sem costura. Com o passar do tempo, os parâmetros GAS podem ser ajustados com base no feedback dos usuários.
Mudanças complexas na fórmula do GAS exigem atualização do software do nó e diferenciação através da nova característica do GAS. Após os operadores de nós adotarem o novo software, é necessário publicar e aprovar propostas de governança para usar a nova versão.
Trabalho Futuro
Como o primeiro framework de GAS viável do MOVE, as direções de trabalho futuras incluem:
Reduzir os custos de execução
Implementar cálculos de GAS multidimensionais, permitindo que os usuários especifiquem orçamentos separados para execução e armazenamento.
Aliviar o estado volumoso, explorar o conceito de TTL de cada projeto, remover itens de estado não acessados quando o TTL expirar.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
10 Curtidas
Recompensa
10
4
Repostar
Compartilhar
Comentário
0/400
ruggedNotShrugged
· 12h atrás
Sem gás, não é nada. É só uma aventura.
Ver originalResponder0
MEVHunterBearish
· 21h atrás
gás finalmente chegou! Vamos lá!
Ver originalResponder0
BoredWatcher
· 08-15 07:13
Deveria chamá-lo de linguagem sem Gas
Ver originalResponder0
NeverVoteOnDAO
· 08-15 07:12
move também vai começar a cobrar GAS, é um pouco lamentável.
O primeiro plano GAS da linguagem MOVE foi apresentado, discutindo um novo modelo de cobrança de recursos na cadeia.
Primeiro design de GAS da linguagem MOVE: discutindo a forma de cálculo do gasto de GAS na cadeia
A versão anterior da linguagem MOVE foi originalmente projetada para operar em um ambiente sem GAS, portanto não estava preparada para o plano de GAS. Recentemente, um determinado blockchain chamou o plano de GAS que foi estabelecido para ele de "uma aventura", sendo este o primeiro design de GAS da linguagem MOVE.
O plano de GAS esclarece os princípios, processos, métodos de cálculo e mecanismos de ajuste subsequentes para a definição de GAS. A medição de GAS é um conceito fundamental em muitas blockchains, definindo a quantidade de recursos computacionais e de armazenamento necessários para a execução e armazenamento de transações na cadeia. O plano de GAS determinará o custo de consumo de todas as execuções na cadeia, a ser usado para calcular os gastos de GAS durante a execução das transações.
processo
Para uma execução eficaz, a blockchain pública adota os seguintes processos:
princípio
Os princípios definidos incluem:
cálculo GAS
O utilizador deve especificar duas quantidades ao submeter a transação:
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 pagar.
Preço do GAS: Calculado em octal por unidade de GAS, 1 octal = 0.00000001 APT.
Durante a execução da transação serão cobrados:
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 preço especificado pelo usuário for 100 Octa/unidade, então a taxa final será 670 × 100 = 67000 Octa = 0.00067 APT.
Se a execução da transação consumir todo o GAS, o remetente será cobrado com base na quantidade máxima de GAS, e as alterações feitas pela bolsa serão revertidas.
GAS plano de construção
1. Configuração Básica
O plano GAS inclui componentes que não estão relacionados a operações individuais, como o tamanho da transação e a unidade GAS máxima.
2. Escala de transações
A maioria das transações tem um tamanho na faixa de kilobytes, e o módulo MOVE pode alcançar alguns kilobytes. O tamanho inicial das transações foi definido em 32KB, depois ajustado para 64KB com base no feedback da comunidade, para simplificar o desenvolvimento de aplicações.
Transações em grande escala podem aumentar os custos de largura de banda da rede, afetando o desempenho. O pool de memória pode ignorar transações que são excessivamente grandes, portanto, é necessário alcançar um equilíbrio entre a máxima escala e a acessibilidade.
3. Unidade máxima de GAS
A unidade máxima de GAS definida no plano GAS determina o número máximo de operações que podem ser executadas em uma única transação. Definir um valor muito alto pode ter um impacto negativo no desempenho da cadeia. Atualmente, está definido em 1.000.000, que não excede 90% mesmo com a atualização máxima do quadro.
4. Execução
Através da construção de uma estrutura de referência e utilizando o Valgrind para analisar o Move VM, estimar o custo relativo de todas as instruções Move e funções nativas. Considerar exemplos de codificação que aumentem a robustez e segurança do sistema, determinar a quantidade final de instruções de máquina executadas e, em relação ao armazenamento e à ponderação das unidades máximas de GAS, estabelecer o valor atual no plano de GAS.
5. Armazenamento
Quando um nó acessa um item de estado ou dados no armazenamento persistente, ele envia solicitações de leitura e gravação ao dispositivo de armazenamento. O número total de acessos a dados depende da largura de banda do dispositivo de armazenamento e da capacidade de IOPS. A equipe projeta o plano de GAS de armazenamento considerando esses custos.
Acessar e armazenar qualquer item de estado gera custos relacionados à estrutura de dados que valida 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 = 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 e escrita:
Com base nas considerações acima, foram definidos 6 parâmetros de GAS:
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 inalterado e desvinculado do valor de mercado dos tokens. A equipe expressa as unidades de GAS com uma precisão de cerca de 3 dígitos, e o custo de transação de transferência é de cerca de 700 unidades de GAS.
participação da comunidade
Os membros da comunidade podem:
ajuste de custo de GAS
O plano GAS, como armazenamento de configuração na cadeia, pode ser alterado através de propostas de governança e novos comandos ou funcionalidades nativas podem ser adicionados sem costura. Com o passar do tempo, os parâmetros GAS podem ser ajustados com base no feedback dos usuários.
Mudanças complexas na fórmula do GAS exigem atualização do software do nó e diferenciação através da nova característica do GAS. Após os operadores de nós adotarem o novo software, é necessário publicar e aprovar propostas de governança para usar a nova versão.
Trabalho Futuro
Como o primeiro framework de GAS viável do MOVE, as direções de trabalho futuras incluem: