Gás
Last updated
Last updated
Na criptoeconomia do Ethereum, gas é o combustível necessário para executar os smart contracts. É a unidade de medida do poder computacional necessário para realizar transações.
Uma transação pode incluir várias instruções de máquina. Cada instrução tem um custo denominado em gas, que é pré-definido no Yellow Paper do Ethereum (Apêndice G). Por exemplo, uma instrução de soma (ADD) custa 3 gas, enquanto uma mais complexa, como verificar um saldo, custa 700 gas.
O uso de gas também serve para evitar que os usuários executem programas que sobrecarreguem os recursos da rede ou utilizem práticas de programação ineficientes. Um loop mal estruturado, por exemplo, será executado apenas até que o gas disponível se esgote.
Para determinar a taxa (fee) de uma transação, consideramos dois componentes:
Quantidade de gas: Corresponde às unidades de gas necessárias com base nas operações que uma transação consome. Não é a mesma coisa transferir ETH, editar um campo de dados ou armazenar um byte de dados. Cada uma dessas transações consome uma quantidade diferente de gas.
Na criptoeconomia do Ethereum, gas é o combustível necessário para executar os contratos inteligentes (smart contracts). É a unidade de medida do poder computacional requerido para executar transações.
Uma transação pode envolver muitas instruções de máquina. Cada instrução tem um custo denominado em gas, com um custo preestabelecido no (apêndice G). Por exemplo, uma instrução do tipo soma (ADD) custa 3 gas, mas uma mais complexa, como verificar um saldo, custa 700 gas.
O uso de gas também serve para evitar que os usuários executem programas que sobrecarreguem os recursos da rede ou que pratiquem programação ineficiente. Um loop incorreto, por exemplo, só será executado até que o gas se acabe.
Para determinar a taxa (fee) de uma transação, temos dois componentes:
Quantidade de gas: Refere-se às unidades de gas de acordo com as operações que uma transação consome. Não é a mesma coisa fazer uma transferência de ETH, editar um campo de dados ou armazenar um byte de dados. Cada uma dessas transações consome uma quantidade diferente de gas.
Transferência de ETH
21,000
Editar um slot
5,000
Byte de dados
16
Preço do gas: possui dois componentes: base fee e priority fee. O preço do gas é expresso em uma fração de ETH chamada gwei, equivalente a um bilionésimo de ETH (1 gwei = 10^-9 ETH).
A tarifa base é determinada de forma automática pelo protocolo em função da demanda de transações. Se os blocos se encherem acima do valor objetivo (15 milhões de gas), a base fee se incrementa automaticamente. O oposto ocorre quando os blocos se enchem abaixo do valor objetivo.
A partir da atualização EIP 1559 (London) no ano de 2021, este componente do gas é queimado.
Ou tarifa base, é determinada automaticamente pelo protocolo com base na demanda de transações. Se os blocos estiverem cheios acima do valor objetivo (15 milhões de gas), a base fee aumenta automaticamente. O oposto acontece quando os blocos estão cheios abaixo do valor objetivo.
A partir da atualização EIP 1559 (London) em 2021, esse componente do gas é queimado.
É o valor pago acima da base fee, como uma "gorjeta" para o validador que gera o bloco. Com base nesse valor, os validadores priorizam a inclusão das transações nos blocos.
É o valor pago além da base fee como uma gorjeta para o validador que gera o bloco. Com base nesse valor, os validadores priorizam a inclusão das transações nos blocos.
Dependendo da fee que incluímos, nossa transação será executada mais cedo ou mais tarde, pois os validadores selecionam, com preferência, do pool de transações que eles têm para processar aquelas que possuem o preço de gas mais alto. Portanto, se tivermos urgência para que nossa transação seja executada, precisaremos propor um preço de gas mais alto que a média do momento.
Suponhamos que queremos executar uma transação de 21.000 gas, como uma transferência de ETH. Se a base fee for 15 gwei e estamos dispostos a pagar uma priority fee de 2 gwei.
O cálculo da fee a ser paga por essa transação, assumindo que o preço do ETH é US$ 1600, será mostrado no gráfico a seguir:
Dependendo da fee que incluirmos, nossa transação será executada mais cedo ou mais tarde, pois os validadores darão preferência às transações com o preço de gas mais alto, retirando-as do pool de transações para processamento. Portanto, se tivermos urgência para que nossa transação seja executada, precisaremos propor um preço de gas mais alto que a média do momento.
Suponhamos que queremos executar uma transação de 21.000 gas, como uma transferência de ETH. Se a base fee for 15 gwei e estivermos dispostos a pagar uma priority fee de 2 gwei, o cálculo da taxa a ser paga por essa transação, assumindo que o preço do ETH é US$ 1.600, é mostrado no gráfico a seguir:
Embora a transação do nosso exemplo exigisse 21.000 unidades de gas, é comum definir um número mais alto, chamado de "limite de gas" (gas limit), que indica o máximo que estamos dispostos a considerar por transação. Isso é feito para evitar problemas caso tenhamos cometido um erro e a transação exija mais de 21.000 gas. Se a estimativa for insuficiente, a transação não será concluída, e perderíamos nosso dinheiro. Por outro lado, se a necessidade de gas for menor, o gas não consumido será devolvido. O limite de gas ou gas limit é normalmente estimado pela nossa wallet com base nas operações que a transação enviada irá executar. Por isso, recomenda-se não modificar esse dado.
Embora a transação do nosso exemplo exigisse 21.000 unidades de gas, o normal é definir um número mais alto, denominado "limite de gas", que expressa o máximo que estamos dispostos a considerar por transação, caso tenhamos cometido um erro e a transação precise de mais de 21.000 gas. Se nossa estimativa for insuficiente, a transação não será concluída e perderemos nosso dinheiro. Por outro lado, se a necessidade de gas for menor, o gas não consumido será devolvido. O limite de gas ou "gas limit" é normalmente estimado pela nossa carteira com base nas operações que a transação que estamos enviando irá executar, por isso, recomenda-se não modificar esse valor.
Em sites como y é possível monitorar os preços médios de mercado do gas. Tenha em mente que o preço do gas pode variar muito em pouco tempo. Variações de 500% ou mais em questão de minutos não são incomuns. Por isso, é importante acompanhar essas mudanças para evitar pagar valores excessivos por uma transação.
Em sites como e , é possível monitorar os preços médios de mercado do gas. Vale ressaltar que o preço do gas pode variar muito de um momento para outro, com variações de 500% ou mais em poucos minutos, o que não é raro. Por isso, é importante monitorar para não pagar demais por uma transação.