El Límite de Gas de Ethereum es el máximo que una transacción puede consumir de gas cuando es ejecutada por una máquina virtual de esta cadena de bloques.
La cantidad que queremos gastar de gas en una transacción variara dependiendo de la naturaleza de la misma. Por ejemplo, si es una que requiere contratos inteligentes, entonces necesitara de varios nodos para completarse. Por tanto, podemos esperar un mayor consumo de este recurso en comparación a una transacción que solo envía ETH.
Típicamente, una transacción que envía criptomonedas tienen un límite de gas de 21.000 unidades. La cual no es necesario que calculemos, ya que podemos establecer un límite superior y lo que no sea consumido se nos devolverá.
Este límite influenciará a la transacción de dos formas diferentes:
- Si el límite del gas es igual o mayor a lo necesario para ejecutar la transacción, entonces la misma será ejecutada de manera satisfactoria si es que no hay ningún otro problema.
- Si el límite del gas es menor a lo que se necesita para ejecutar la transacción, entonces la transacción fallara debido a la falta de gas.
Contenido
¿Qué es el Gas y como se usa?
Para poder entender que es el límite del gas y como funciona, antes es importa comprender que es el gas en sí y como se utiliza en las transacciones de Ethereum.
Aquí solo haremos un repaso de este concepto, ya que puedes encontrar la guía sobre el gas de Ethereum en el enlace para verlo con más detalle.
Todas las transacciones de Ethereum, ya sea para enviar criptomonedas o para ejecutar contratos inteligentes, se ejecutan sobre la máquina virtual de Ethereum (EVM).
Para poder realizar una operación en la EVM es necesario contar con un recurso que se denomina gas. Cuanto más compleja es la operación, más unidades de gas serán necesarias para que se complete.
En resumidas cuentas, la cantidad de gas que finalmente acabaremos gastando para ejecutar la transacción se calcula al multiplicar el precio del gas por el número de unidades de gas que son necesarias por la transacción:
Gas Total (comisiones de la transacción) = precio del gas (comisión base + propina) * unidades de gas requeridas
Las transacciones comunes, aquellas que envían ETH, no requieren más de 21.000 unidades de gas. Mientras que las más complejas, podrían consumir cientos de miles de unidades, si no es que más dependiendo de las funciones que utilice el contrato.
¿Cómo funciona el gas limit?
El gas limit o límite de gas tiene la función limitar la cantidad de recursos que se utilizaran. Esto para que si la transacción comienza a consumir mucho gas no termine saliendo demasiado cara.
La máquina virtual comenzará a procesar la transacción y a consumir gas hasta que se complete o que se alcance el límite de gas. En el primero de los casos la transacción se ejecuta satisfactoriamente y en el segundo falla.
¿Puedo recuperar el gas si la transacción falla?
Si establecemos un límite de gas muy bajo, entonces la transacción puede fallar porque no alcanzo para completarla. En ese caso, perderemos las comisiones de gas.
Esto se debe a que a pesar de no procesarse, el minero si ha consumido recursos para intentar completarla, debido a que en principio no sabe si podrá hacerlo o no y solo le queda intentarlo.
Que no debemos confundir con establecer un precio de gas bajo, ya que en ese caso el minero si puede elegir no procesarla, puesto que aunque tenga suficiente límite de gas no le sale rentable.
En ese caso la transacción queda en la mempool esperando a que el precio del gas descienda.
¿Cuál es el propósito del límite del gas?
Los bloques en Ethereum también cuentan con un límite de gas total. Es decir, solo se pueden agregar una cierta cantidad de transacciones hasta completar ese límite.
Por eso los mineros cuando crean un bloque deben elegir aquellas transacciones que quepan dentro, eligiendo aquella cuya suma de sus límites es menos al tamaño del bloque.
Desde el hard fork llamado London, cada bloque tiene un objetivo de 15 millones de unidades de gas, pero la realidad es que el tamaño de un bloque variara dependiendo de la demanda de la red. Aun así, el tamaño de bloque, o el límite del gas del bloque, es de 30 millones de gas.
Así que establecer un límite no solo nos sirve a nosotros para no llevarnos una sorpresa, sino para asegurarnos de que entren en el bloque.
Determinar el límite del gas adecuado
Hay que entender que si bajamos el límite del gas no nos servirá para ahorrar en comisiones de transacciones, debido a que la transacción gastara lo que sea necesario y el resto se nos será devuelto.
Solo cumple el rol de limitar el consumo en caso de que un contrato inteligente termine gastando más de lo que pensábamos en un principio.
Pero no debemos tomarnos el trabajo de determinar esto, ya que la mayoría de los monederos tiene una función automática que establece el límite dependiendo de la dirección a la que enviamos la transacción.
También se puede utilizar un explorador de cadenas de bloques para determinar los cotes asociados con una dirección. Y es que se puede hacer un análisis de transacciones previas para determinar un límite apropiado.
Agrega un Comentario