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:
Definição de princípios
Preparar o quadro de avaliação, determinar os preços de execução de cada item.
Estabelecer um sistema de medição de GAS e uma álgebra de GAS segura para MOVE
Importar a estrutura GAS upstream para o projeto
Tornar a estrutura GAS capaz de perceber o armazenamento
Aperfeiçoar ainda mais o plano GAS
Princípios de design
Os princípios seguidos pelo projeto incluem:
Os custos operacionais devem estar diretamente relacionados com os recursos disponíveis na rede e devem diminuir com o avanço da tecnologia.
O GAS deve ser definido pela governança na cadeia, podendo ser configurado de forma flexível.
O GAS deve prevenir ataques DoS a recursos fixos da rede, podendo ajustar-se rapidamente de acordo com as condições da rede.
O preço do GAS deve refletir a visão da equipe do projeto de promover o crescimento e a popularização da blockchain.
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:
Custo fixo: taxa base mais taxa adicional de grandes transações
Custo de execução: utilizado para executar a instrução MOVE
Custo de leitura: usado para ler dados do armazenamento persistente
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:
Descobrir as inconsistências do plano GAS
Participar nas discussões da comunidade, expressar preocupações sobre o plano GAS
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:
Reduzir custos de execução: otimizar o compilador e a máquina virtual
Cálculo de GAS Multidimensional: permite que os usuários especifiquem orçamentos separados para execução e armazenamento.
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.
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 gostos
Recompensa
14
5
Partilhar
Comentar
0/400
FUD_Whisperer
· 07-02 03:34
move já conseguiu superar as dificuldades, hein
Ver originalResponder0
0xLostKey
· 07-02 03:34
sentar e esperar perder gás
Ver originalResponder0
HappyToBeDumped
· 07-02 03:34
Já estão a falar de conceitos novamente, sem gás não é mais saboroso?
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:
Princípios de design
Os princípios seguidos pelo projeto incluem:
Método de Cálculo de GAS
O usuário deve especificar dois valores ao submeter uma transação:
Durante a execução da transação, será cobrado:
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
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:
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:
Este GAS traz novas possibilidades para o ecossistema da linguagem MOVE, e há muito espaço para desenvolvimento e melhorias no futuro.