PEI-7706 e os Mecanismos de Gás Mais Recentes do Ethereum

intermediário5/24/2024, 6:12:02 AM
A proposta EIP-7706 tem como objetivo reduzir os custos operacionais do Ethereum L2, alterar o modelo econômico e introduzir um modelo de preços duplos de Taxa Base e Taxa de Prioridade. O EIP-4844 propõe a Transação Blob para estabilizar as taxas de transação e será implementado em 2024. O modelo de gás no Ethereum também aumentará as restrições à medida que a rede se desenvolve, como o consumo de calldata. Isso ajuda no desenvolvimento do L2 e reduz os custos do sequenciador. Este artigo irá apresentar os mecanismos mais recentes de taxas de gás do Ethereum.

Introdução: Em 13 de maio de 2024, Vitalik propôs o PEI-7706, que complementa o modelo de Gas existente ao remover separadamente o cálculo de gas para calldata e personalizar um mecanismo de precificação de taxa base semelhante ao Blob gas, reduzindo ainda mais os custos operacionais da Camada 2. Propostas relacionadas também precisam ser rastreadas até o PEI-4844 proposto em fevereiro de 2022, o que é um longo período de tempo. Portanto, ao verificar materiais relacionados, esperamos fornecer um resumo do mecanismo de Gas Ethereum mais recente para facilitar a compreensão rápida de todos.

Modelos de Gás Ethereum Suportados Atualmente - PEI-1559 e PEI-4844

No design inicial, o Ethereum adotou um mecanismo de leilão simples para precificar taxas de transação, exigindo que os usuários licitassem ativamente por suas transações, ou seja, definindo os preços do gás. Tipicamente, porque as taxas de transação pagas pelos usuários vão para os mineradores, os mineradores decidem a ordem de empacotamento da transação com base no princípio da optimalidade econômica, de acordo com o preço da licitação, ignorando a situação do MEV. Na visão dos desenvolvedores principais na época, esse mecanismo enfrentava quatro problemas:

A flutuação dos níveis de taxa de transação não corresponde ao custo consensual das transações: Para blockchains em estado ativo, existe demanda suficiente para a embalagem de transações, o que significa que os blocos podem ser facilmente preenchidos, mas isso frequentemente leva a flutuações significativas nas taxas gerais. Por exemplo, quando o Preço Médio do Gás é de 10 Gwei, o custo marginal incorrido pela rede para aceitar outra transação em um bloco é dez vezes maior do que quando o Preço Médio do Gás é de 1 Gwei, o que é inaceitável.

Atrasos desnecessários para os usuários: Devido ao limite rígido de gaslimit para cada bloco, combinado com a flutuação natural dos volumes de transações históricas, as transações frequentemente precisam esperar por vários blocos para serem agrupadas, o que é ineficiente para a rede como um todo. Não há um mecanismo de 'relaxamento' que permita que um bloco seja maior e o próximo bloco seja menor para atender às diferenças de demanda entre os blocos.

Preços ineficientes: A adoção de um mecanismo de leilão simples levou a uma baixa eficiência na descoberta de preços justos, o que significa que é difícil para os usuários atribuírem um preço razoável, resultando em muitos casos em que os usuários pagam taxas excessivas.

Blockchain sem recompensas em bloco será instável: Ao cancelar as recompensas em bloco trazidas pela mineração e adotar um modelo de taxas puras, pode levar a muitas instabilidades, como incentivar a mineração de "blocos irmãos" para roubar taxas de transação, abrindo mais vetores de ataque de mineração egoísta mais poderosos, etc.

Até a proposta e implementação do PEI-1559, houve uma primeira iteração do modelo de gás. O PEI-1559, proposto por Vitalik e outros desenvolvedores principais em 13 de abril de 2019, foi adotado na atualização de Londres em 5 de agosto de 2021. Esse mecanismo abandona o mecanismo de leilão e, em vez disso, adota um modelo de precificação dupla de taxa base e taxa de prioridade. A taxa base é calculada quantitativamente com base na relação entre o consumo de gás no bloco pai e um alvo de gás flutuante e recursivo por meio de um modelo matemático estabelecido. O efeito intuitivo é que se o uso de gás no bloco anterior exceder o alvo de gás predeterminado, a taxa base é aumentada e, se estiver abaixo do alvo de gás, a taxa base é reduzida. Isso pode refletir melhor a oferta e a demanda e fazer previsões para um gás razoável mais precisas, evitando Preços de Gás exorbitantes devido a más operações, porque o cálculo da taxa base é diretamente determinado pelo sistema em vez de livremente especificado pelos usuários. O código específico é o seguinte:

Pode-se inferir que quando parent_gas_used é maior que parent_gas_target, a taxa base do bloco atual será comparada à taxa base do bloco anterior mais um valor de deslocamento. Quanto ao valor de deslocamento, ele é calculado multiplicando parent_base_fee pelo deslocamento do uso total de gás do bloco anterior em relação ao alvo de gás e fazendo o módulo com o alvo de gás e uma constante, depois pegando o valor máximo do resultado e 1. A lógica é semelhante em sentido inverso.

Além disso, a taxa base não será mais alocada como uma recompensa para os mineradores, mas será queimada diretamente, colocando assim o modelo econômico do Ethereum em um estado deflacionário, o que é propício para a estabilidade de valor. Por outro lado, a taxa de prioridade é semelhante a uma gorjeta dada pelos usuários aos mineradores e pode ser precificada livremente, o que, até certo ponto, pode permitir que o algoritmo de sequenciamento de mineradores seja reutilizado.

À medida que o tempo avançava para 2021, o desenvolvimento dos Rollups gradualmente atingiu seu pico. Sabemos que, quer sejam os Rollups OP ou os Rollups ZK, isso implica a necessidade de carregar certos dados de prova de dados L2 comprimidos para a cadeia via calldata para alcançar a Disponibilidade de Dados on-chain, ou para serem verificados diretamente on-chain. Isso impõe custos significativos de gás na manutenção da finalidade do L2, que são finalmente repassados aos usuários. Portanto, o custo de uso da maioria dos protocolos L2 não era tão baixo quanto imaginado naquela época.

Ao mesmo tempo, o Ethereum também enfrentou o dilema da competição pelo espaço do bloco. Sabemos que cada bloco tem um Limite de Gás, o que significa que o consumo total de gás de todas as transações no bloco atual não pode exceder esse valor. Calculando com base no Limite de Gás atual de 30.000.000, há teoricamente um limite de 1.875.000 bytes, onde 16 se refere ao gás consumido por byte de calldata processado pela EVM. Isso implica que o tamanho máximo de dados que pode ser acomodado em um único bloco é aproximadamente 1,79 MB. No entanto, os dados relacionados ao Rollup gerados pelos sequenciadores L2 geralmente têm um tamanho de dados maior, o que concorre com a confirmação de transações por outros usuários da cadeia principal, resultando em uma diminuição no número de transações que podem ser empacotadas em um único bloco, afetando assim o TPS da cadeia principal.

Para resolver esse dilema, os desenvolvedores principais propuseram PEI-4844 em 5 de fevereiro de 2022, que foi implementado após a atualização Dencun no segundo trimestre de 2024. Esta proposta introduz um novo tipo de transação chamado Transação de Blob. Em contraste com os tipos de transações tradicionais, a ideia central da Transação de Blob complementa um novo tipo de dados, chamado dados de Blob. Ao contrário dos tipos de dados de chamada, os dados de blob não podem ser acessados diretamente pelo EVM, mas apenas seu hash, também conhecido como Hash Versão. Além disso, dois designs acompanhantes são introduzidos. Em primeiro lugar, em comparação com transações regulares, o ciclo de GC das transações de blob é mais curto, garantindo que os dados do bloco não fiquem muito inchados. Em segundo lugar, os dados de blob têm um mecanismo nativo de Gas. No geral, o efeito apresentado é semelhante ao PEI-1559, mas o modelo matemático seleciona uma função exponencial natural, que tem um desempenho melhor em estabilidade ao lidar com as flutuações no volume de transações. Isso ocorre porque a inclinação da função exponencial natural também é uma função exponencial natural, o que significa que, independentemente do estado do volume de transações da rede, quando o volume de transações aumenta rapidamente, a taxa base do gás do blob reflete mais plenamente, contendo efetivamente a atividade de transações. Além disso, essa função tem uma característica importante onde o valor da função é 1 quando a abscissa é 0.

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GASe*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

Onde MIN_BASE_FEE_PER_BLOB_GAS e BLOB_BASE_FEE_UPDATE_FRACTION são duas constantes, e excess_blob_gas é determinado pela diferença entre o consumo total de blob gas no bloco pai e uma constante TARGET_BLOB_GAS_PER_BLOCK. Quando o consumo total de blob gas excede o valor alvo, ou seja, a diferença é positiva, e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) é maior que 1, e base_fee_per_blob_gas aumenta, caso contrário diminui.

Isso permite a execução de baixo custo em cenários onde apenas a capacidade de consenso do Ethereum é desejada para armazenar dados em grande escala para garantir a disponibilidade, sem monopolizar a capacidade de empacotamento de transações do bloco. Tomando o sequenciador Rollup como exemplo, informações críticas do L2 podem ser encapsuladas em dados blob por meio de transações de blob, e a lógica para verificação on-chain pode ser implementada no EVM por meio de designs sofisticados usando o versionedHash.

Deve-se notar que a configuração atual de TARGET_BLOB_GAS_PER_BLOCK e MAX_BLOB_GAS_PER_BLOCK impõe uma limitação à mainnet, ou seja, um objetivo de processar em média 3 blobs (0,375 MB) por bloco e um limite máximo de 6 blobs (0,75 MB) por bloco. Esses limites iniciais visam minimizar a pressão que o PEI exerce sobre a rede e espera-se que sejam aumentados em futuras atualizações, à medida que a rede demonstre confiabilidade sob blocos maiores.

Refinamento do Modelo de Consumo de Gás para Ambiente de Execução - PEI-7706

Após esclarecer o modelo de Gas atual do Ethereum, vamos dar uma olhada nos objetivos e detalhes de implementação da proposta EIP-7706. Esta proposta foi introduzida por Vitalik em 13 de maio de 2024. Semelhante aos dados do Blob, esta proposta separa o modelo de Gas para outro campo de dados especial, ou seja, calldata, e otimiza a lógica de implementação de código correspondente.

Em princípio, a lógica de cálculo da taxa base para calldata é a mesma da taxa base para dados de blob em PEI-4844, ambos usando uma função exponencial para calcular o fator de escala para a taxa base atual com base na divergência entre o valor real de consumo de gás no bloco pai e o valor alvo.

Vale ressaltar um novo design de parâmetro, LIMIT_TARGET_RATIOS=[2,2,4], onde LIMIT_TARGET_RATIOS[0] representa a proporção alvo de Gas para operações de execução, LIMIT_TARGET_RATIOS[1] representa a proporção alvo de Gas para dados Blob, e LIMIT_TARGET_RATIOS[2] representa a proporção alvo de Gas para calldata. Este vetor é usado para calcular os valores alvo de gas para os três tipos de gas no bloco pai, usando os LIMIT_TARGET_RATIOS para divisão inteira no limite de gas da seguinte forma:

A lógica de configuração para limites de gás é a seguinte:

gas_limits[0] deve seguir a fórmula de ajuste existente.

os limites de gás[1] devem ser iguais a MAX_BLOB_GAS_PER_BLOCK.

os limites de gás[2] devem ser iguais aos limites de gás[0] // CALLDATA_GAS_LIMIT_RATIO.

Sabemos que o gas_limits[0] atual é 30000000, e CALLDATA_GAS_LIMIT_RATIO é predefinido como 4. Isso significa que o alvo de gas calldata atual é aproximadamente 30000000 // 4 // 4 = 1875000. Uma vez que, de acordo com a lógica de cálculo de gas calldata atual, cada byte não nulo consome 16 Gas e bytes nulos consomem 4 Gas, assumindo que a distribuição de bytes não nulos e nulos em um segmento de calldata é de 50%, o processamento médio de 1 byte de calldata requer 10 Gas. Portanto, o alvo de gas calldata atual deve corresponder a dados de calldata de 187500 bytes, aproximadamente o dobro do uso médio atual.

O benefício dessa abordagem é reduzir significativamente a probabilidade de os dados de chamada atingirem o limite de gás, mantendo o uso de dados de chamada em um nível relativamente consistente por meio do modelo econômico e evitando o abuso de dados de chamada. O motivo desse design é abrir caminho para o desenvolvimento de L2, combinado com dados de blob, para reduzir ainda mais o custo do sequenciador.

Disclaimer:

  1. Este artigo é reproduzido a partir de [TechFlow]. Todos os direitos autorais pertencem ao autor original [Web3Mario]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

PEI-7706 e os Mecanismos de Gás Mais Recentes do Ethereum

intermediário5/24/2024, 6:12:02 AM
A proposta EIP-7706 tem como objetivo reduzir os custos operacionais do Ethereum L2, alterar o modelo econômico e introduzir um modelo de preços duplos de Taxa Base e Taxa de Prioridade. O EIP-4844 propõe a Transação Blob para estabilizar as taxas de transação e será implementado em 2024. O modelo de gás no Ethereum também aumentará as restrições à medida que a rede se desenvolve, como o consumo de calldata. Isso ajuda no desenvolvimento do L2 e reduz os custos do sequenciador. Este artigo irá apresentar os mecanismos mais recentes de taxas de gás do Ethereum.

Introdução: Em 13 de maio de 2024, Vitalik propôs o PEI-7706, que complementa o modelo de Gas existente ao remover separadamente o cálculo de gas para calldata e personalizar um mecanismo de precificação de taxa base semelhante ao Blob gas, reduzindo ainda mais os custos operacionais da Camada 2. Propostas relacionadas também precisam ser rastreadas até o PEI-4844 proposto em fevereiro de 2022, o que é um longo período de tempo. Portanto, ao verificar materiais relacionados, esperamos fornecer um resumo do mecanismo de Gas Ethereum mais recente para facilitar a compreensão rápida de todos.

Modelos de Gás Ethereum Suportados Atualmente - PEI-1559 e PEI-4844

No design inicial, o Ethereum adotou um mecanismo de leilão simples para precificar taxas de transação, exigindo que os usuários licitassem ativamente por suas transações, ou seja, definindo os preços do gás. Tipicamente, porque as taxas de transação pagas pelos usuários vão para os mineradores, os mineradores decidem a ordem de empacotamento da transação com base no princípio da optimalidade econômica, de acordo com o preço da licitação, ignorando a situação do MEV. Na visão dos desenvolvedores principais na época, esse mecanismo enfrentava quatro problemas:

A flutuação dos níveis de taxa de transação não corresponde ao custo consensual das transações: Para blockchains em estado ativo, existe demanda suficiente para a embalagem de transações, o que significa que os blocos podem ser facilmente preenchidos, mas isso frequentemente leva a flutuações significativas nas taxas gerais. Por exemplo, quando o Preço Médio do Gás é de 10 Gwei, o custo marginal incorrido pela rede para aceitar outra transação em um bloco é dez vezes maior do que quando o Preço Médio do Gás é de 1 Gwei, o que é inaceitável.

Atrasos desnecessários para os usuários: Devido ao limite rígido de gaslimit para cada bloco, combinado com a flutuação natural dos volumes de transações históricas, as transações frequentemente precisam esperar por vários blocos para serem agrupadas, o que é ineficiente para a rede como um todo. Não há um mecanismo de 'relaxamento' que permita que um bloco seja maior e o próximo bloco seja menor para atender às diferenças de demanda entre os blocos.

Preços ineficientes: A adoção de um mecanismo de leilão simples levou a uma baixa eficiência na descoberta de preços justos, o que significa que é difícil para os usuários atribuírem um preço razoável, resultando em muitos casos em que os usuários pagam taxas excessivas.

Blockchain sem recompensas em bloco será instável: Ao cancelar as recompensas em bloco trazidas pela mineração e adotar um modelo de taxas puras, pode levar a muitas instabilidades, como incentivar a mineração de "blocos irmãos" para roubar taxas de transação, abrindo mais vetores de ataque de mineração egoísta mais poderosos, etc.

Até a proposta e implementação do PEI-1559, houve uma primeira iteração do modelo de gás. O PEI-1559, proposto por Vitalik e outros desenvolvedores principais em 13 de abril de 2019, foi adotado na atualização de Londres em 5 de agosto de 2021. Esse mecanismo abandona o mecanismo de leilão e, em vez disso, adota um modelo de precificação dupla de taxa base e taxa de prioridade. A taxa base é calculada quantitativamente com base na relação entre o consumo de gás no bloco pai e um alvo de gás flutuante e recursivo por meio de um modelo matemático estabelecido. O efeito intuitivo é que se o uso de gás no bloco anterior exceder o alvo de gás predeterminado, a taxa base é aumentada e, se estiver abaixo do alvo de gás, a taxa base é reduzida. Isso pode refletir melhor a oferta e a demanda e fazer previsões para um gás razoável mais precisas, evitando Preços de Gás exorbitantes devido a más operações, porque o cálculo da taxa base é diretamente determinado pelo sistema em vez de livremente especificado pelos usuários. O código específico é o seguinte:

Pode-se inferir que quando parent_gas_used é maior que parent_gas_target, a taxa base do bloco atual será comparada à taxa base do bloco anterior mais um valor de deslocamento. Quanto ao valor de deslocamento, ele é calculado multiplicando parent_base_fee pelo deslocamento do uso total de gás do bloco anterior em relação ao alvo de gás e fazendo o módulo com o alvo de gás e uma constante, depois pegando o valor máximo do resultado e 1. A lógica é semelhante em sentido inverso.

Além disso, a taxa base não será mais alocada como uma recompensa para os mineradores, mas será queimada diretamente, colocando assim o modelo econômico do Ethereum em um estado deflacionário, o que é propício para a estabilidade de valor. Por outro lado, a taxa de prioridade é semelhante a uma gorjeta dada pelos usuários aos mineradores e pode ser precificada livremente, o que, até certo ponto, pode permitir que o algoritmo de sequenciamento de mineradores seja reutilizado.

À medida que o tempo avançava para 2021, o desenvolvimento dos Rollups gradualmente atingiu seu pico. Sabemos que, quer sejam os Rollups OP ou os Rollups ZK, isso implica a necessidade de carregar certos dados de prova de dados L2 comprimidos para a cadeia via calldata para alcançar a Disponibilidade de Dados on-chain, ou para serem verificados diretamente on-chain. Isso impõe custos significativos de gás na manutenção da finalidade do L2, que são finalmente repassados aos usuários. Portanto, o custo de uso da maioria dos protocolos L2 não era tão baixo quanto imaginado naquela época.

Ao mesmo tempo, o Ethereum também enfrentou o dilema da competição pelo espaço do bloco. Sabemos que cada bloco tem um Limite de Gás, o que significa que o consumo total de gás de todas as transações no bloco atual não pode exceder esse valor. Calculando com base no Limite de Gás atual de 30.000.000, há teoricamente um limite de 1.875.000 bytes, onde 16 se refere ao gás consumido por byte de calldata processado pela EVM. Isso implica que o tamanho máximo de dados que pode ser acomodado em um único bloco é aproximadamente 1,79 MB. No entanto, os dados relacionados ao Rollup gerados pelos sequenciadores L2 geralmente têm um tamanho de dados maior, o que concorre com a confirmação de transações por outros usuários da cadeia principal, resultando em uma diminuição no número de transações que podem ser empacotadas em um único bloco, afetando assim o TPS da cadeia principal.

Para resolver esse dilema, os desenvolvedores principais propuseram PEI-4844 em 5 de fevereiro de 2022, que foi implementado após a atualização Dencun no segundo trimestre de 2024. Esta proposta introduz um novo tipo de transação chamado Transação de Blob. Em contraste com os tipos de transações tradicionais, a ideia central da Transação de Blob complementa um novo tipo de dados, chamado dados de Blob. Ao contrário dos tipos de dados de chamada, os dados de blob não podem ser acessados diretamente pelo EVM, mas apenas seu hash, também conhecido como Hash Versão. Além disso, dois designs acompanhantes são introduzidos. Em primeiro lugar, em comparação com transações regulares, o ciclo de GC das transações de blob é mais curto, garantindo que os dados do bloco não fiquem muito inchados. Em segundo lugar, os dados de blob têm um mecanismo nativo de Gas. No geral, o efeito apresentado é semelhante ao PEI-1559, mas o modelo matemático seleciona uma função exponencial natural, que tem um desempenho melhor em estabilidade ao lidar com as flutuações no volume de transações. Isso ocorre porque a inclinação da função exponencial natural também é uma função exponencial natural, o que significa que, independentemente do estado do volume de transações da rede, quando o volume de transações aumenta rapidamente, a taxa base do gás do blob reflete mais plenamente, contendo efetivamente a atividade de transações. Além disso, essa função tem uma característica importante onde o valor da função é 1 quando a abscissa é 0.

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GASe*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

Onde MIN_BASE_FEE_PER_BLOB_GAS e BLOB_BASE_FEE_UPDATE_FRACTION são duas constantes, e excess_blob_gas é determinado pela diferença entre o consumo total de blob gas no bloco pai e uma constante TARGET_BLOB_GAS_PER_BLOCK. Quando o consumo total de blob gas excede o valor alvo, ou seja, a diferença é positiva, e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) é maior que 1, e base_fee_per_blob_gas aumenta, caso contrário diminui.

Isso permite a execução de baixo custo em cenários onde apenas a capacidade de consenso do Ethereum é desejada para armazenar dados em grande escala para garantir a disponibilidade, sem monopolizar a capacidade de empacotamento de transações do bloco. Tomando o sequenciador Rollup como exemplo, informações críticas do L2 podem ser encapsuladas em dados blob por meio de transações de blob, e a lógica para verificação on-chain pode ser implementada no EVM por meio de designs sofisticados usando o versionedHash.

Deve-se notar que a configuração atual de TARGET_BLOB_GAS_PER_BLOCK e MAX_BLOB_GAS_PER_BLOCK impõe uma limitação à mainnet, ou seja, um objetivo de processar em média 3 blobs (0,375 MB) por bloco e um limite máximo de 6 blobs (0,75 MB) por bloco. Esses limites iniciais visam minimizar a pressão que o PEI exerce sobre a rede e espera-se que sejam aumentados em futuras atualizações, à medida que a rede demonstre confiabilidade sob blocos maiores.

Refinamento do Modelo de Consumo de Gás para Ambiente de Execução - PEI-7706

Após esclarecer o modelo de Gas atual do Ethereum, vamos dar uma olhada nos objetivos e detalhes de implementação da proposta EIP-7706. Esta proposta foi introduzida por Vitalik em 13 de maio de 2024. Semelhante aos dados do Blob, esta proposta separa o modelo de Gas para outro campo de dados especial, ou seja, calldata, e otimiza a lógica de implementação de código correspondente.

Em princípio, a lógica de cálculo da taxa base para calldata é a mesma da taxa base para dados de blob em PEI-4844, ambos usando uma função exponencial para calcular o fator de escala para a taxa base atual com base na divergência entre o valor real de consumo de gás no bloco pai e o valor alvo.

Vale ressaltar um novo design de parâmetro, LIMIT_TARGET_RATIOS=[2,2,4], onde LIMIT_TARGET_RATIOS[0] representa a proporção alvo de Gas para operações de execução, LIMIT_TARGET_RATIOS[1] representa a proporção alvo de Gas para dados Blob, e LIMIT_TARGET_RATIOS[2] representa a proporção alvo de Gas para calldata. Este vetor é usado para calcular os valores alvo de gas para os três tipos de gas no bloco pai, usando os LIMIT_TARGET_RATIOS para divisão inteira no limite de gas da seguinte forma:

A lógica de configuração para limites de gás é a seguinte:

gas_limits[0] deve seguir a fórmula de ajuste existente.

os limites de gás[1] devem ser iguais a MAX_BLOB_GAS_PER_BLOCK.

os limites de gás[2] devem ser iguais aos limites de gás[0] // CALLDATA_GAS_LIMIT_RATIO.

Sabemos que o gas_limits[0] atual é 30000000, e CALLDATA_GAS_LIMIT_RATIO é predefinido como 4. Isso significa que o alvo de gas calldata atual é aproximadamente 30000000 // 4 // 4 = 1875000. Uma vez que, de acordo com a lógica de cálculo de gas calldata atual, cada byte não nulo consome 16 Gas e bytes nulos consomem 4 Gas, assumindo que a distribuição de bytes não nulos e nulos em um segmento de calldata é de 50%, o processamento médio de 1 byte de calldata requer 10 Gas. Portanto, o alvo de gas calldata atual deve corresponder a dados de calldata de 187500 bytes, aproximadamente o dobro do uso médio atual.

O benefício dessa abordagem é reduzir significativamente a probabilidade de os dados de chamada atingirem o limite de gás, mantendo o uso de dados de chamada em um nível relativamente consistente por meio do modelo econômico e evitando o abuso de dados de chamada. O motivo desse design é abrir caminho para o desenvolvimento de L2, combinado com dados de blob, para reduzir ainda mais o custo do sequenciador.

Disclaimer:

  1. Este artigo é reproduzido a partir de [TechFlow]. Todos os direitos autorais pertencem ao autor original [Web3Mario]. Se houver objeções a esta reimpressão, entre em contato com o Gate Learnequipe e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!