O que é um reembolso de gas?
Um reembolso de gas é uma redução no valor final de gas cobrado por uma transação na blockchain depois que a Ethereum Virtual Machine conclui sua execução.O termo também pode se referir, de forma mais geral, ao gas não utilizado que é devolvido quando uma transação consome menos unidades de gas do que o limite de gas especificado.Esses dois significados estão relacionados, mas descrevem partes diferentes do sistema de contabilização de transações da Ethereum.O gas não utilizado corresponde à diferença entre o limite de gas da transação e a quantidade consumida durante a execução.Um reembolso de gas no nível do protocolo é gerado por um contador de reembolso, que pode receber créditos quando um contrato inteligente realiza determinadas operações de armazenamento elegíveis.A Ethereum aplica os reembolsos do protocolo automaticamente. Portanto, os usuários não precisam enviar uma solicitação, entrar em contato com um validador nem acessar um site de reembolso.O reembolso de gas é medido em unidades de gas antes que seu valor monetário seja calculado em ETH.O valor do reembolso em ETH depende do preço efetivo por unidade de gas da transação.Os reembolsos de gas não podem tornar uma transação na Ethereum totalmente gratuita, pois as regras atuais do protocolo limitam a quantidade do gas consumido pela transação que pode ser reembolsada.Quais são os dois tipos de reembolso de gas?
A expressão reembolso de gas é comumente usada tanto para o gas não utilizado em uma transação quanto para os créditos do contador de reembolso da EVM.O gas não utilizado é aquele que o remetente autorizou por meio do limite de gas, mas que a transação não chegou a consumir.Por exemplo, uma transação com limite de gas de 100,000 que é concluída após consumir 60,000 unidades de gas não cobra do remetente as 40,000 unidades restantes.A documentação oficial de gas da Ethereum explica que o limite de gas é a quantidade máxima que uma transação pode consumir, e não uma cobrança final garantida.
Um reembolso de gas da EVM é diferente, pois reduz o consumo de gas após a execução e o registro de operações elegíveis no contador de reembolso da transação.O principal exemplo atual é limpar um slot de armazenamento persistente elegível, alterando seu valor de diferente de zero para zero.Os dois mecanismos reduzem o custo final, mas apenas o segundo é tecnicamente chamado de contador de reembolso da EVM.Como funcionam os pagamentos de gas na Ethereum
Gas é a unidade que a Ethereum usa para medir os recursos computacionais e de armazenamento necessários para uma transação.Cada operação da EVM tem um custo de gas baseado nos recursos que exige dos nós da Ethereum.Uma transferência básica de ETH para uma conta comum controlada externamente geralmente exige 21,000 unidades de gas.Uma transferência de token, transação de finanças descentralizadas, operação com NFT ou chamada complexa a um contrato inteligente pode exigir muito mais gas.O remetente especifica um limite de gas que define a quantidade máxima de gas de execução que a transação pode consumir.O remetente também precisa especificar os parâmetros de taxa que determinam o preço máximo que aceita pagar por cada unidade de gas.De acordo com o modelo de taxas introduzido pela EIP-1559, uma transação comum pode incluir uma taxa máxima por gas e uma taxa máxima de prioridade por gas.
A taxa base é determinada pelo protocolo e queimada quando a transação é incluída em um bloco.A taxa de prioridade é paga ao proponente do bloco como compensação pela inclusão da transação.O custo final da transação depende das unidades de gas cobradas e do preço efetivo do gas, e não simplesmente da multiplicação do limite total de gas pela taxa máxima.Como o gas não utilizado é devolvido
O limite de gas de uma transação é um teto de segurança, não uma quantidade que precisa ser totalmente gasta.Se um usuário enviar uma transação com limite de gas de 150,000 e ela precisar de apenas 90,000 unidades, as 60,000 unidades não utilizadas serão devolvidas por meio da contabilização da transação.O usuário não recebe uma transferência separada de ETH correspondente a esse valor não utilizado.Em vez disso, o saldo final reflete que o gas não utilizado não foi cobrado em definitivo.Uma carteira pode exibir temporariamente o custo máximo possível da rede antes da confirmação da transação.O custo confirmado pode ser menor porque a transação consumiu menos que o limite de gas ou porque o preço efetivo do gas ficou abaixo da taxa máxima.Definir um limite de gas mais alto normalmente não torna uma transação bem-sucedida mais cara quando o gas adicional não é consumido.No entanto, o remetente precisa ter ETH suficiente para atender aos requisitos máximos de financiamento da transação no momento do envio.Um limite de gas muito baixo pode fazer a transação falhar antes ou durante a execução.O que é o contador de reembolso da EVM?
O contador de reembolso da EVM é um valor interno de contabilização mantido durante a execução de uma transação.Operações elegíveis podem aumentar o contador, enquanto operações posteriores podem reduzir um reembolso adicionado anteriormente.O contador não adiciona gas à quantidade disponível para a execução do contrato inteligente.Ele só é aplicado depois que a execução é concluída.Isso significa que um contrato não pode depender de um reembolso futuro para evitar uma falha por falta de gas na mesma transação.O contador de reembolso está relacionado principalmente a alterações no armazenamento persistente realizadas com o opcode
As regras de contabilização líquida de gas da EIP-2200 comparam os valores original, atual e novo de um slot de armazenamento para calcular cobranças e reembolsos.
Esse sistema impede que contratos recebam uma recompensa excessiva por alterar repetidamente o mesmo slot em uma única transação.Se a execução for revertida, os créditos de reembolso associados às alterações de estado revertidas não permanecem disponíveis como reembolsos válidos do protocolo.Regras atuais de reembolso de gas da Ethereum
As regras centrais atuais de reembolso de gas da Ethereum foram estabelecidas pela EIP-3529 durante a atualização London.
A atualização removeu o reembolso de gas que antes estava associado ao
A cronologia oficial das atualizações da rede Ethereum identifica a EIP-3529 como a proposta da atualização London que reduziu os reembolsos de gas da EVM.
Como funciona o limite de 20% para reembolso de gas
O reembolso máximo do protocolo que pode ser aplicado é calculado dividindo o consumo bruto de gas da transação por cinco.A fórmula básica é: Reembolso aplicado = o menor valor entre o contador de reembolso e o gas bruto utilizado ÷ 5.O gas cobrado no final corresponde ao gas bruto utilizado menos o reembolso aplicado.Suponha que uma transação consuma 100,000 unidades de gas antes dos reembolsos e gere um contador de reembolso de 30,000 unidades.O reembolso máximo é de 20,000 unidades, pois 100,000 dividido por cinco é igual a 20,000.Assim, a transação é cobrada por 80,000 unidades de gas, e não por 70,000.Suponha que outra transação consuma 100,000 unidades de gas, mas gere um contador de reembolso de apenas 8,000.O reembolso total de 8,000 unidades pode ser aplicado porque está abaixo do máximo de 20,000.Então, a transação é cobrada por 92,000 unidades de gas.Os créditos do contador de reembolso que excedem o limite não são guardados para outra transação.Como funciona um reembolso de gas do SSTORE
Por que os cálculos de reembolso de armazenamento podem ser complexos
Um slot de armazenamento pode ser modificado várias vezes durante uma única transação.Por isso, a EVM analisa o valor original do slot, seu valor atual e o novo valor que está sendo gravado.O valor original é aquele que existia antes do início da transação.O valor atual é aquele presente após quaisquer gravações anteriores na mesma transação.O novo valor é aquele solicitado pela operação
As regras de acesso a armazenamento quente e frio introduzidas pela EIP-2929 também afetam o custo bruto de acesso a um slot.
Os desenvolvedores devem usar ferramentas atuais de compilação, rastreamentos de execução e simulações de transação, em vez de confiar apenas em uma tabela simplificada de custos de armazenamento.Exemplo de reembolso de gas com taxas em ETH
Suponha que uma transação de contrato inteligente consuma 120,000 unidades de gas bruto e gere 10,000 unidades de créditos de reembolso elegíveis.O limite de 20% é de 24,000 unidades de gas, pois 120,000 dividido por cinco é igual a 24,000.Assim, o reembolso total de 10,000 unidades pode ser aplicado.O consumo final de gas cobrado é de 110,000 unidades.Se o preço efetivo do gas for 20 gwei, a taxa final será de 2,200,000 gwei.Esse valor equivale a 0.0022 ETH.Sem o reembolso do protocolo, a taxa bruta seria de 0.0024 ETH.Portanto, neste exemplo, o reembolso economiza 0.0002 ETH.O mesmo número de unidades de gas reembolsadas teria um valor maior em ETH durante um período em que o preço efetivo do gas fosse mais alto.Reembolsos de gas e EIP-1559
A EIP-1559 e os reembolsos de gas da EVM afetam partes diferentes da contabilização das taxas de transação.A EIP-1559 determina o preço efetivo pago por cada unidade de gas cobrada.O mecanismo de reembolso da EVM ajuda a determinar quantas unidades de gas serão cobradas no final.Em geral, o preço efetivo do gas equivale à taxa base mais uma taxa de prioridade elegível, respeitando as configurações de taxa máxima do remetente.A parte da cobrança final correspondente à taxa base é queimada pelo protocolo Ethereum.A parte referente à taxa de prioridade é paga ao proponente do bloco.Quando a taxa máxima do remetente é superior ao preço efetivo de gas necessário, a diferença não é retida como uma taxa de transação adicional.Às vezes, as interfaces das carteiras descrevem esse valor máximo não utilizado como reembolso, embora ele seja diferente do contador de reembolso da EVM.Assim, o custo final pode ser inferior ao máximo exibido devido a gas não utilizado, preço efetivo mais baixo, créditos de reembolso do protocolo ou uma combinação desses fatores.Os reembolsos de gas são pagos pelos validadores?
Os validadores não enviam manualmente aos usuários os reembolsos de gas do protocolo.O processamento dos reembolsos faz parte das regras de consenso da Ethereum e é calculado pelos clientes de execução.Todos os nós da Ethereum que funcionam corretamente aplicam as mesmas regras de contabilização de gas de forma independente ao verificar a transação.O proponente do bloco recebe apenas a parte elegível da taxa de prioridade da cobrança final.A parte correspondente à taxa base é queimada depois que o consumo final de gas cobrado pela transação é determinado.O usuário não precisa da autorização de um validador para receber gas não utilizado ou um reembolso elegível de armazenamento.Nenhum validador pode solicitar legitimamente uma taxa de processamento para liberar um reembolso de gas da Ethereum.O que acontece quando uma transação é revertida?
Uma transação revertida normalmente desfaz as alterações de estado, mas ainda cobra pelo processamento realizado antes da reversão.O gas que permanecer sem uso quando a operação
O que acontece quando uma transação fica sem gas?
Uma falha por falta de gas ocorre quando a execução precisa de mais gas do que o disponível para a transação ou para o quadro de chamada.A EVM reverte as alterações de estado feitas pela execução que falhou.O gas fornecido a uma execução que fica sem gas é consumido, e não devolvido como gas não utilizado.Um reembolso do protocolo não pode salvar uma execução que já esgotou seu gas, pois os reembolsos só são aplicados após a execução.Por isso, os desenvolvedores precisam estimar um limite de gas suficiente, mesmo quando se espera que a transação limpe dados de armazenamento.Uma transação rejeitada antes da inclusão por ser inválida é diferente de uma transação incluída que falha durante a execução.O guia oficial de gas da Ethereum diferencia a rejeição antes da inclusão de uma falha on-chain por falta de gas.O SELFDESTRUCT ainda oferece reembolso de gas?
O
A EIP-3529 removeu o antigo reembolso do
A alteração posterior EIP-6780 para SELFDESTRUCT também reduziu a capacidade do opcode de excluir contratos.
Para um contrato que não foi criado na mesma transação, o
O
O que eram os tokens de gas?
Os tokens de gas eram ativos de contratos inteligentes projetados para aproveitar as antigas regras de reembolso de gas da Ethereum.Os usuários podiam realizar operações que criavam estado quando o gas estava barato e, mais tarde, remover esse estado quando o gas estivesse caro.O reembolso resultante podia reduzir o gas cobrado por uma transação mais valiosa.Esse processo às vezes era descrito como armazenar ou guardar gas.Os tokens de gas não armazenavam literalmente unidades de gas como recursos transferíveis da rede.Eles usavam operações de contratos inteligentes que se qualificavam para grandes reembolsos segundo as regras antigas do protocolo.O sistema podia aumentar o tamanho do estado da Ethereum e permitir que a carga de trabalho real de execução ultrapassasse o padrão de gas de bloco previsto.A EIP-3529 removeu o reembolso do
Por que a Ethereum reduziu os reembolsos de gas
Originalmente, a Ethereum usava reembolsos para incentivar os desenvolvedores a limpar estados que não eram mais necessários.Na prática, o mecanismo criou incentivos para adicionar estado em períodos de taxas baixas apenas para excluí-lo mais tarde.Esse comportamento contrariava o objetivo de reduzir a carga de armazenamento de longo prazo da Ethereum.Reembolsos grandes também aumentavam a diferença entre o gas informado para uma transação e o trabalho computacional que os nós talvez precisassem realizar.As regras antigas permitiam que as transações recebessem reembolsos equivalentes a até metade do consumo bruto de gas.Isso aumentava a variabilidade da carga de trabalho dos blocos e complicava o planejamento de recursos dos clientes da Ethereum.A EIP-3529 manteve um incentivo menor para boas práticas de armazenamento, ao mesmo tempo que reduziu as oportunidades de explorar a contabilização dos reembolsos.O limite de 20% restringe até que ponto os reembolsos podem aumentar o trabalho efetivo de execução em um bloco.Reembolsos de gas e armazenamento transitório
O armazenamento transitório é um tipo de armazenamento temporário da EVM que existe apenas durante uma transação.A Ethereum introduziu os opcodes
Um contrato inteligente pode enviar um reembolso de gas para outro endereço?
O reembolso de gas do protocolo pertence ao remetente responsável pela taxa da transação de nível superior.Um contrato inteligente não pode redirecionar diretamente o contador de reembolso da Ethereum para um endereço arbitrário.Um contrato ou aplicativo pode transferir ETH ou tokens separadamente como incentivo, reembolso de despesas ou abatimento.Esse pagamento é um reembolso de gas no nível do aplicativo, e não um reembolso nativo de gas da EVM.Um sistema de transações patrocinadas também pode organizar para que outra parte pague ou reembolse o custo de gas do usuário.Os termos, a fonte dos fundos, os critérios de elegibilidade e os riscos desse acordo dependem do aplicativo.Os usuários devem distinguir um reembolso do protocolo de uma recompensa promocional ou de um programa privado de reembolso.Reembolsos de gas em redes Layer 2
Redes Layer 2 compatíveis com Ethereum podem usar conceitos de gas da EVM e, ainda assim, calcular os custos totais das transações de outra forma.Uma taxa de Layer 2 pode incluir custos locais de execução e o custo de publicar dados ou provas na Ethereum.Um reembolso de armazenamento pode reduzir o componente de execução sem reduzir todos os outros componentes da taxa total.Algumas redes modificam as tabelas de gas, o processamento de reembolsos, os tipos de transação ou a forma de informar as taxas.Os usuários não devem presumir que o reembolso exato de 4,800 unidades de gas e o limite de 20% da Ethereum mainnet se aplicam da mesma forma a todas as redes compatíveis com EVM.Os desenvolvedores devem consultar a documentação oficial do protocolo da rede em que o contrato será executado.Por que uma carteira pode exibir um reembolso de gas
Uma carteira pode estimar a taxa máxima da transação antes que ela seja confirmada.Essa estimativa pode se basear na multiplicação do limite de gas pela taxa máxima por gas.O valor final pode ser menor quando a transação consome menos gas do que o limite.Também pode ser menor quando o preço efetivo do gas fica abaixo da taxa máxima definida pelo usuário.Operações elegíveis de armazenamento em contratos inteligentes podem reduzir ainda mais o gas final cobrado por meio do contador de reembolso.A carteira pode agrupar essas diferenças sob um rótulo geral, como reembolso, economia, taxa não utilizada ou gas devolvido.Para entender a cobrança final, os usuários devem verificar o gas confirmado utilizado, o preço efetivo do gas, o status da transação e a alteração no saldo.Como os desenvolvedores podem otimizar o gas sem buscar reembolsos
Os desenvolvedores devem se concentrar em reduzir a computação desnecessária e o estado persistente, em vez de projetar contratos apenas para gerar reembolsos.As gravações em armazenamento geralmente são mais caras do que as operações de memória, pois o estado persistente precisa continuar disponível após a transação.Os projetos de contratos devem evitar gravar os mesmos dados repetidamente quando for possível calcular ou reutilizar o valor com segurança.Às vezes, é possível agrupar operações relacionadas em uma única transação para reduzir custos repetidos de autenticação e configuração.O armazenamento transitório pode ser considerado para valores temporários limitados à transação.Calldata, memória, empacotamento de armazenamento, valores imutáveis, erros personalizados e estruturas de dados eficientes também podem afetar o consumo de gas.Os desenvolvedores devem realizar testes realistas, pois uma otimização que economiza gas em um caminho de execução pode aumentar os custos em outro.Os rastreamentos de transação devem ser analisados para confirmar onde o gas está sendo consumido e se os créditos de reembolso esperados estão realmente sendo aplicados.Uma auditoria de contrato inteligente deve avaliar a segurança antes de aprovar uma otimização, pois um custo de gas menor não justifica uma lógica insegura.Equívocos comuns sobre reembolsos de gas
Um equívoco é pensar que todo gas não utilizado é pago em definitivo e depois devolvido por meio de uma transação separada.Na realidade, o gas não utilizado é contabilizado no saldo dentro da transação original.Outro equívoco é pensar que o reembolso de gas pode disponibilizar gas adicional enquanto o contrato está em execução.Os reembolsos são aplicados após a execução e não podem evitar uma falha por falta de gas.Um terceiro equívoco é pensar que limpar o armazenamento sempre reduz a taxa exatamente em 4,800 unidades de gas.O valor efetivamente aplicado pode ser menor devido ao limite de reembolso de 20% ou a alterações mais complexas no armazenamento dentro da mesma transação.Um quarto equívoco é pensar que o
Golpes envolvendo reembolso de gas
Os reembolsos de gas da Ethereum são automáticos e não exigem o preenchimento manual de uma solicitação em um site.Uma pessoa que se apresente como membro do suporte não pode reverter uma taxa de rede confirmada nem liberar um reembolso oculto do protocolo.Golpistas podem criar sites que prometem recuperar todas as taxas de gas pagas anteriormente por uma carteira.Esses sites podem solicitar uma autorização maliciosa de token, uma assinatura da carteira, uma frase de recuperação ou um pagamento direto em criptomoeda.Nenhum processo legítimo de reembolso de gas exige uma frase de recuperação ou chave privada.Um token inesperado chamado Gas Refund pode ser um ativo sem relação com o reembolso e não deve ser tratado como uma compensação da Ethereum.Os usuários devem verificar a transação em um explorador de blockchain confiável e revisar as permissões da carteira antes de assinar qualquer coisa.Um reembolso promocional oferecido por um aplicativo de criptomoedas deve ser verificado no domínio oficial e nos termos do aplicativo.Perguntas frequentes
O que é um reembolso de gas, em termos simples?
Um reembolso de gas é uma redução no gas cobrado no final porque parte do gas autorizado não foi utilizada ou porque operações elegíveis da EVM geraram créditos de reembolso.A Ethereum devolve o gas não utilizado?
Sim. O gas que não é utilizado quando uma transação é concluída não faz parte da cobrança final definitiva.Gas não utilizado é o mesmo que um reembolso de SSTORE?
Não. O gas não utilizado corresponde ao limite de gas restante, enquanto um reembolso de
Qual é o reembolso máximo de gas na Ethereum?
O reembolso máximo do protocolo é de 20% do consumo bruto de gas da transação.Por que o limite de reembolso de gas é de 20%?
A EIP-3529 reduziu o limite para restringir tokens de gas baseados em reembolsos, a variação da carga de trabalho dos blocos e o abuso relacionado ao estado.Quanto gas é reembolsado ao limpar o armazenamento?
Uma alteração elegível de um valor diferente de zero para zero no armazenamento persistente pode adicionar 4,800 unidades de gas ao contador de reembolso.O reembolso de 4,800 unidades de gas é sempre aplicado integralmente?
Não. O valor aplicado continua sujeito ao limite de reembolso de 20% válido para toda a transação.O SELFDESTRUCT reembolsa gas?
Não. A Ethereum removeu o reembolso de gas do
O SELFDESTRUCT ainda exclui um contrato?
Em geral, ele não exclui um contrato existente, a menos que esse contrato tenha sido criado e destruído na mesma transação.Um reembolso pode impedir um erro por falta de gas?
Não. Os reembolsos do protocolo são aplicados somente depois que a execução termina.Transações com falha recebem de volta o gas não utilizado?
Uma transação que é revertida explicitamente pode devolver o gas restante, mas uma execução que fica sem gas consome o gas fornecido a essa execução com falha.Por que preciso pagar por uma transação revertida?
A transação ainda exigiu que os nós verificassem e executassem operações antes da falha.Os reembolsos de gas são pagos em ETH?
O reembolso é calculado em unidades de gas, e seu valor em ETH é determinado pelo preço efetivo do gas da transação.Um validador aprova meu reembolso manualmente?
Não. Os clientes de execução da Ethereum calculam e aplicam o reembolso automaticamente, de acordo com as regras do protocolo.Posso solicitar o reembolso de antigas taxas de gas da Ethereum?
Não existe um mecanismo nativo da Ethereum que permita recuperar taxas normais de transações históricas depois que elas foram finalizadas.Sites de reembolso de gas são legítimos?
Um site que alegue liberar reembolsos automáticos do protocolo Ethereum provavelmente não é seguro, a menos que ofereça claramente um reembolso separado, financiado pelo aplicativo e verificável.O que aconteceu com os tokens de gas?
A EIP-3529 tornou as estratégias tradicionais com tokens de gas economicamente ineficazes ao remover e reduzir os reembolsos dos quais dependiam.O que é armazenamento transitório?
O armazenamento transitório é um armazenamento da EVM limitado à transação, descartado automaticamente e que não utiliza o contador de reembolso de gas.Um reembolso de gas pode tornar uma transação gratuita?
Não. O limite de 20% significa que pelo menos 80% do consumo bruto de gas continua sujeito à cobrança no cálculo do reembolso do protocolo.Por que minha taxa final foi menor do que a estimativa da carteira?
A transação pode ter consumido menos do que seu limite de gas, pago um preço efetivo de gas inferior ao máximo, recebido créditos de reembolso do protocolo ou combinado esses efeitos.Conclusão
Um reembolso de gas reduz o custo final de uma transação na Ethereum por meio do gas não utilizado ou de créditos elegíveis do contador de reembolso da EVM.O gas não utilizado é a parte do limite de gas da transação que não foi consumida durante a execução.Os reembolsos do protocolo são calculados separadamente após a execução e estão relacionados principalmente a alterações elegíveis no armazenamento persistente.Limpar um slot de armazenamento adequado, cujo valor seja diferente de zero, alterando-o para zero, pode adicionar 4,800 unidades de gas ao contador de reembolso.O reembolso total do protocolo aplicado não pode ultrapassar 20% do consumo bruto de gas.O reembolso não fornece gas adicional para execução e não pode impedir uma falha por falta de gas.O
Você também pode gostar
HOT
Criptomoedas que estão em alta atualmente e ganhando atenção significativa do mercado
TOP volume
As criptomoedas com o maior volume de negociação
Recém-adicionados
Criptomoedas listadas recentemente que estão disponíveis para negociação

