main page

Gas
Rápida definição
Gas é a taxa de execução paga por transações na rede Ethereum.
Seu preço é expresso na criptomoeda Ether (ETH) e é decidido pelos mineradores.
As operações a serem executadas por um smart contract tem seu custo em Gas. O custo total de uma transação é então expresso na fórmula
Taxa = custo em Gas x preço do Gas
Gas é uma unidade especial no protocolo Ethereum e mede quanto de trabalho uma ação ou conjunto de ações cobram para ser executadas.
Requisitando que uma transação seja paga por cada operação que executa (ou que força um contrato inteligente a executar) garantimos que a rede não fique congestionada, realizando trabalho intensivo que não tenha valor para ninguém.

A unidade Gas
É uma unidade na qual as coisas podem ser mensuradas, mas não há na realidade um token "Gas".
Por exemplo, você não consegue ter posse de 1000 unidades de Gas (ao contrário da criptomoeda NEO, que tem também seu token chamado GAS).
Gas existe somente dentro da EVM (máquina virtual Ethereum) como uma unidade medindo quantidade de trabalho.
Na hora de se realizar o pagamento em Gas por uma transação, o valor é cobrado em Ether (ETH).

Mas por que não cobrar diretamente em Ether?
A resposta é simples: por causa da extrema volatilidade do preço do Ether.
Assim como o Bitcoin e demais moedas digitais, o Ether tem um preço de alta volatilidade no mercado de criptomoedas.
O custo para executar operações na rede não varia em função da variação do preço do Ether, então o preço de transações é separado do preço da criptomoeda.
Assim, o custo de execução não precisa variar, como ocorre com o preço das moedas digitais.

Custo de Gas
É o preço pago em Gas pelo trabalho realizado pelos mineradores para incluir sua transação na rede.
Analogamente, seria como o custo total de trabalho pago por um trabalhador para realizar suas funções.

Preço de Gas
É o preço de uma unidade de Gas e é definido pelos mineradores.
Para ver o preço atual de Gas em Gwei (1 Gwei = 1.000.000.000 Wei ou 0.000000001 Ether) visite https://ethgasstation.info/.
Analogia: preço da hora de trabalho pago a algum trabalhador para executar suas funções.

Taxa = custo em Gas x preço do Gas
Isso define o preço em Ether de uma transação.

Diferença entre 'não especificar uma taxa suficiente' e 'transação ficar sem Gas'
Se o preço do Gas que você definir para sua transação for muito baixo, nenhum minerador vai querer executar sua transação. Ela simplesmente não será incluída na rede.
Analogia: oferecer menos dinheiro do que um trabalhador está pedindo por seu trabalho
Por outro lado, se o preço em Gas for aceitável e a transação executar até ultrapassar a taxa total paga por ela, o Gas dedicado à transação será dado como "gasto".
Neste caso você não o receberá de volta em sua conta. O minerador irá:
- parar a transação
- reverter quaisquer mudanças feitas
- e mesmo assim registrar a transação na rede como "transação falha", coletando a taxa paga por ela.
Soa injusto?
Lembre-se que o minerador gastou poder computacional (eletricidade) tentando executar sua transação.
Desta forma, você o paga pelo trabalho que ele realizou, mesmo que sua "transação mal projetada" tenha ficado sem Gas.

Provendo uma taxa muito alta
É a mesma de lógica prover uma taxa muita alta para uma transferência de Bitcoin: a sua transação vai ser priorizada, mas o dinheiro que gastou com a taxa se foi.
Analogia: pagar a um trabalhador mais dinheiro do que ele pede pelo seu trabalho apenas porque você quis.

Preço de Gas aceitável + mais Ether anexado à transação do que o necessário
Neste caso o usuário anexa mais Ether para pagar pela transação do que ela realmente necessita.
O excesso em Ether será devolvido à sua conta. Isto ocorre porque os mineradores somente cobram pelo trabalho que eles efetivamente realizam.
Analogia: pagar uma conta de restaurante de R$ 50 com uma nota de R$ 100. O troco será retornado a você.

Como ter Gas para pagar por transações?
Como a taxa é cobrada em Ether, você apenas precisa adicionar esta criptomoeda à sua conta.

Conclusão
Esse sistema garante que as transações somente executem enquanto há alguém pagando por suas operações.
Desta forma, os usuários são forçados a serem cuidadosos com o código que rodam na rede Ethereum.