¿Qué es el Gas en Ethereum?

Uno de los conceptos más importantes del mundo Ethereum es, ¿qué es el gas en Ethereum?. Este término debe haberse visto mucho en la interacción de transacciones de Ethereum o contratos inteligentes, y debo estar pensando en qué es el gas.

Una analogía para comprender qué es el Gas en Ethereum

Aquí hay una forma sencilla de entender qué es el gas en Ethereum:

Quieres viajar de Madrid a Barcelona con tu familia, el viaje se hará en tu coche. En este punto, has sabido de antemano que está a 500 kilómetros de distancia, y tu coche usa 1 litro de gasolina cada 10 kilómetros (para que el cálculo sea sencillo), por lo que necesitarás 50 litros de gasolina para llegar a tu destino. Además, también sabes que el coste de la gasolina por litro está entre 1 Euro y 1,5 Euro, dependiendo de dónde dejes de repostar.

Esto es lo mismo que en Ethereum. Por un lado, cada tarea en Ethereum tiene un costo de gasolina específico y constante, que equivale a la cantidad de litros de gasolina que usa su automóvil cada 10 kilómetros. Por supuesto, la operación de Ethereum se compone de diferentes funciones menores, y cada persona tiene un valor de Gas específico (o consumo de gasolina), y la suma nos dirá el valor de Gas final de la operación (la cantidad total de gas utilizada para viajar ). Por lo tanto, solo nos queda una cosa, ¿cuánto pagaremos para que este Gas opere en Ethereum?

Según nuestra analogía, el precio de la gasolina está entre 1 Euro y 1,5 Euro, puedes elegir dónde repostar, y los 50 litros de gasolina necesarios para viajar es lo más pequeño posible. Lo mismo ocurre en Ethereum. El precio del gas en Ethereum está determinado por la demanda y la oferta en Ethereum. En otras palabras, el precio del gasen Ether es variable, aunque en este caso puedes elegir el precio que quieres pagar por el gas. Si el minero acepta el precio, se hará cargo de tu transacción y la ejecutará.

Como puede ver, en Ethereum, el concepto de Gas es muy poderoso y útil, y estudiaremos más a fondo las razones para establecer una relación tan buena.

Gas, un método único para medir la potencia informática de Ethereum

Para que puedas ejecutar una transacción que ha sido aceptada e incluida en la cadena de bloques, se debe pagar una comisión para que el minero pueda aceptar tu transacción e incluirla en el bloque. Después de llegar a la ubicación, la red verificará la transacción, y luego se ejecutará la orden en la transacción antes de que pueda decir que ha sido aceptada y confirmada.

Una forma sencilla de ver PoW, pero esta es una idea correcta. Esto significa que para acceder a la red blockchain, siempre debemos pagar un pequeño precio. Por lo general, este pago se realiza en unidades decimales de moneda aplicables a la cadena de bloques.

Este es el caso de Bitcoin, donde las transacciones se pagan en satoshis (la unidad decimal más pequeña de Bitcoin). El propósito es simple, lo resumiremos en la siguiente lista:

  1. Asigne gastos a cualquier tarea que se ejecute en la red. Esto mantiene la motivación para ejecutar la red, que depende de los mineros.
  2. Mantenga la seguridad del sistema evitando el acceso aleatorio a los recursos. Como todo tiene un coste, por ejemplo, los hackers no pueden dedicarse a enviar spam o realizar DDoS en la red porque será muy caro.

Si esto se aplica a Bitcoin, pregúntese, ¿también se aplica a Ethereum? La respuesta es sí, sucederá lo mismo en Ethereum, pero el creador de Ethereum ha buscado un enfoque diferente a este problema. La decisión de establecer este mecanismo llamado «Gas» es una respuesta al hecho de que Ethereum no es solo una simple criptomoneda. De hecho, toda la red Ethereum opera de manera similar a las computadoras (llamadas «computadoras blockchain»).

¿Para qué se creó el Gas?

Continuando con el contenido anterior, debe saber que en Ethereum, cada transacción es un «pequeño programa». El programa proporciona instrucciones a la Máquina Virtual Ethereum (EVM) para que la máquina la interprete como una acción o una serie de acciones a realizar. En este punto, Ethereum y su EVM operan igual que los scripts de Bitcoin y Bitcoin. Lo que realmente los distingue es que Ethereum tiene más flexibilidad que Bitcoin.

Sin embargo, en Ethereum, los desarrolladores decidieron asignar valores constantes a diferentes operaciones que se pueden realizar en Ethereum. De esta manera, cada tarea en Ethereum tiene un valor de Gas prescrito, que no cambiará, ni cambiará debido a la subida o bajada del valor de la propia moneda de Ethereum, Ether.

El hecho de que el valor del gas sea constante es una respuesta al hecho de que, aunque el precio del éter está fluctuando, el costo computacional del cálculo siempre permanece constante. Es por eso que al crear Gas, los desarrolladores de Ethereum pueden distinguir entre el costo computacional y el valor real de la operación en un momento dado. De hecho, el sistema puede ayudar a Ethereum y su red a permanecer siempre disponibles, independientemente del auge y caída de Ethereum.

Por ejemplo, si el contrato inteligente tiene la función de «comprobar el saldo de la dirección», la operación en la red puede tener un valor de 1000 Gas, y siempre tendrá ese valor. Esto significa que para realizar esta operación en Ethereum se debe pagar una pequeña comisión (Ether), que corresponde a la cantidad de Gas requerida para poder realizar las operaciones anteriores en la blockchain.

El contenido anterior genera tres cosas importantes y vitales dentro de Ethereum, que explicamos a continuación:

  1. Unidad de Gas. Una unidad de gas es la cantidad de gas atribuible a una descripción específica, pero no tiene valor monetario.
  2. Precio de Gas. El precio del gas en sí es la comisión que pagamos por cada unidad de gas. Este es el precio que elegimos pagar por cada unidad, y usamos la unidad decimal de Ether (llamada Gwei) para pagar. Esta delegación le da una atención prioritaria. Si paga un precio más alto por cada unidad de gas natural utilizada, los mineros más rápidos llevarán su transacción al bloque más grande.
  3. Limite de Gas. Este valor indica el número máximo de unidades de gas que la red Ethereum puede manejar en un momento dado. Este es su límite máximo, que es un punto que los mineros no pueden superar en ningún momento.

Como ves, es mucho más complicado que lo que sucede en Bitcoin u otras criptomonedas derivadas, el motivo es que en Ethereum, EVM se limita a procesar una determinada cantidad de información. Por tanto, para hacer frente a esta limitación de información, se ha creado este indicador de trabajo para controlar la cantidad de trabajo computacional que puede realizar la red al mismo tiempo.

La curiosidad del Gas de Ethereum

¿Cuál es el límite de gas?

El límite de gas depende de si nos referimos a transacciones, operaciones con contratos inteligentes o grandes transacciones. Por tanto, tenemos las siguientes restricciones:

  1. El límite de gas para la transacción es de aproximadamente 21.000 unidades de gas. Esto significa que ninguna transacción dentro de Ethereum consumirá más que esta cantidad de gas.
  2. Por su parte, el límite de gas para los contratos inteligentes es mucho mayor y variable. Esto se debe a que la interacción de estos contratos inteligentes puede tener más o menos complejidad y agregar un mayor nivel de gas. Generalmente, este límite está entre 1,3 y 145.000 unidades de gas.
  3. Finalmente, tenemos un límite de gas para un bloque que no excede los 8 millones de unidades de gas. Esto significa que los mineros pueden incluir tantas transacciones e interacciones con contratos inteligentes como sea posible, siempre que no excedan el límite.

La última limitación es interesante porque nos permite afrontar el «problema de la pausa». Este es un problema computacional que nos permite saber si un programa de computadora se ejecutará en un ciclo infinito solo preparando la entrada de datos y la programación. Esta situación causará serios problemas en la cadena de bloques y puede conducir a la denegación de servicio (DoS). Sin embargo, dado que Ethereum impone un límite de gas en cada bloque, esto significa que cualquier operación en Ethereum (sin importar cuán complicada sea) no puede exceder este límite.

¿Realmente es posible alternar ciertos valores de Gas en las transacciones en Ethereum?

Aunque existen algunos valores de Gas fijos en Ethereum, estos valores también se pueden cambiar cuando establecemos transacciones en Ethereum. Un buen ejemplo es la librería web3.js, que nos permite parametrizar el valor de Gas a utilizar en la transacción. Sí, es posible cambiar el valor del gas natural que usamos en las transacciones, pero debemos tener cuidado al realizar estos cambios, de lo contrario nuestras transacciones pueden no ejecutarse correctamente.

¿Cómo se les paga a los mineros?

Como ya hemos mencionado, el gas natural no tiene valor económico, ni es un token interno de Ethereum, es solo una unidad de medida. Es una unidad importante para establecer el valor de transacción. Esto se debe a que cada unidad de gas tiene un precio en Gwei (un decimal de Ethereum). Por lo tanto, para transacciones que consuman una cierta cantidad de gas natural, debe pagar una cierta cantidad de éter para procesarlo.

Por ejemplo, si tenemos una operación «Pay Maria» con un costo de 12,000 unidades de gas y el costo de esa unidad de gas es de 20 Gwei, debemos:

Costo TX en Gwei = 12.000 * 20 = 240.000 Gwei
Cost TX en Ether = 240.000 Gwei * 0.00000001 = 0.0024 Ether ~ 0,54 $ / 0,48 €

Ahora sabes cómo Ethereum cobra comisiones. Como puede ver, esto también tiene un impacto en las recompensas en bloque. En la actualidad, la recompensa por bloque de Ethereum es de 2 Ether por bloque, y se extrae cada 15 segundos en promedio.

Por lo tanto, cada bloque generado tiene una recompensa fija de 2 Ether. El resto de la remuneración viene dada por la comisión que cobra el minero según el ejemplo anterior. Por supuesto, el valor del gas de la transacción se adapta a cada situación. Por lo tanto, una transacción simple (que consume poco gas) no es lo mismo que un contrato inteligente avanzado con múltiples acciones descritas (que consume mucho gas).

De hecho, en este último, los gases y sus cantidades disponibles dependen de la complejidad de las instrucciones que pueden utilizar en el EVM. Los desarrolladores de Ethereum han enumerado estas instrucciones y su lista de costos en Gas, que puede ver aquí.