Transacciones de Ethereum: Qué es el Gas y para qué se utiliza
Cuando alguien comienza a operar con Ethereum es normal que se realice una pregunta: ¿Para qué sirve el Gas en Ethereum? La comprensión de la mecánica de gas y sus conceptos asociados, como límite de gas o precio del gas, son cruciales para la ejecución de las transacciones en la blockchain de Ethereum.
Antes de profundizar en los detalles del gas, es necesario tener una comprensión básica de Ethereum. Aunque a continuación te introduciremos esta criptomoneda para ponerte en situación, te recomendamos la lectura del artículo sobre Ethereum para entender todos los términos.
Índice del contenido - Explicación para entender el Gas en Ethereum
- Principios de Ethereum
- Qué es el Gas en Ethereum
- Para qué sirve el Gas
- Transacciones de Ethereum
- TxHash o Hash de la transacción
- TxReceipt Status o estado de la transacción
- Block Height o altura de bloque
- TimeStamp o sello d tiempo
- From / To o Emisor / Receptor
- Value o valor de la transferencia
- Gas Limit o Límite de Gas
- Gas Used By Transaction o Gas Usado por la Transacción
- Value o valor de la transferencia
- Gas Price o Precio del Gas
- Actual Tx Cost/Fee o Coste de la transacción
- Nonce & {Position} o Nonce y Posición
- Input Data o Datos introducidos
- Cómo pagar menos en una transacción Ethereum
- Cómo acelerar una transacción Ethereum
Principios de Ethereum
Ethereum funciona como un gran ordenador donde se ejecutan todas las operaciones de Ethereum. A esta mega máquina se le conoce como Ethereum Virtual Machine o EVM.
Pero la realidad es que lo que denominamos gran ordenador no es un servidor central, si no que está compuesto por miles de ordenadores individuales conectados entre sí a través de internet.
A cada una de estas computadoras se les conoce como nodos. Los nodos que ceden su potencia computacional para ejecutar transferencias, Ðapps o contratos inteligentes son los conocidos mineros.
Como comprenderás, mantener estos ordenadores no es gratuito. Las máquinas se desgastan con el tiempo, necesitan una conexión a internet y consumen (mucha) energía.
Por ello, para recompensar a los mineros que ceden sus ordenadores, se originó el concepto de Gas en Ethereum.
Qué es el Gas de Ethereum
El Gas es la unidad de medición del trabajo computacional para ejecutar cualquier operación en la red Ethereum. Estas operaciones pueden ser transacciones, contratos inteligentes o Ðapps.
Por realizar un símil, se puede asemejar al consumo eléctrico en kW de un ordenador. En el caso de la plataforma Ethereum, este consumo se mide en Gas.
Hay que entender el consumo de Gas no es siempre el mismo y varía según la operación a realizar. Del mismo modo que no consume lo mismo una bombilla que una televisión, un contrato inteligente complejo requiere más Gas que el necesita una transacción simple.
¿Por qué es necesario el Gas?
Si la plataforma Ethereum utiliza el ether como moneda, ¿por qué no usa la criptomoneda como recompensa?
La respuesta se encuentra en que el ether, además de utilizarse en la Blockchain de Ethereum, es un activo financiero. Esto provoca que su precio varíe constantemente, aún más con la volatilidad que presenta el mercado de las criptomonedas.
En cambio, el coste computacional es bastante más constante, ya que el coste de los componentes informáticos o de la electricidad no son tan volátiles.
Para que lo entiendas algo mejor, queremos mostrarte un ejemplo.
Imagina que se establece una tarifa por transacción fija del 0,1 ETH por operación.
Cuando el valor del ether era 10€, este coste supondría 1€. Sin embargo, cuando se encontraba en los 1.000 €, este coste hipotético sería de 100€.
¿Quién estaría dispuesto a pagar 100€ por una transferencia? Por ello, se creó el Gas.
El coste del Gas se mantiene relativamente constante según el coste computacional y ciertos parámetros del protocolo de Ethereum. Esto consigue separar el valor financiero del coste de las transacciones.
En definitiva, la función del gas es establecer un coste computacionales e independizarlo del valor de Ethereum. Este coste se cobrará en cada una de las operaciones sobre la plataforma y será entregado a los mineros.
Transacción de Ethereum
Para que sea más claro, vamos a enseñarte todos los conceptos de una transacción Ethereum, que te explicaremos uno a uno. Las transacciones de la plataforma Ethereum son pública y pueden ser consultadas en tiempo real en etherscan.io.
Por ejemplo, la transacción que hemos utilizado en el ejemplo puede ser consultada aquí.
El término Tx es un diminutivo de Transacción.
TxHash o Hash de la transacción
Cada transacción realizada en Ethereum tiene un identificativo denominado Hash. Se representa con un código alfanumérico como el siguiente:
0x3b922e816830ad18d7a84a95004ac33ea9c31fd590d09d9051a651e0e5f20045
Este código encripta información de la transacción y funciona de manera similar al hash que utiliza el bitcoin. Es fundamental en el funcionamiento del blockchain e interviene en el trabajo de los mineros.
TxReceipt Status o estado de la transacción
TxReceipt Status hace referencia al estado de tu transacción.
Si realizas una transacción e inmediatamente después la compruebas en etherscan, seguramente te muestra que está Pending o pendiente.
Cuando se realice te mostrará el mensaje Success o éxito. Si algo va mal, pondrá Fail o Reverted.
Block Height o altura de bloque
El Block Height es el número de bloques que preceden al bloque donde se ha gestionado la transacción.
Por ejemplo, el Bloque Génesis o Bloque 0, tiene una altura de bloque cero.
Entre paréntesis suele indicar el número de confirmaciones que han sido necesarias para procesar el bloque.
El Bloque Génesis o Bloque 0 es el primer bloque de una cadena de bloques o Blockchain
TimeStamp o sello d tiempo
El sello de tiempo es el momento en el que se ha realizado la operación. Justo el momento en que aprietas el botón para hacer una transferencia Ethereum.
From / To o Emisor / Receptor
Los siguientes dos campos son los códigos alfanuméricos que identifican el monedero emisor (From) y receptor (To).
En el caso del ejemplo, el receptor es un contrato inteligente. Por ello, aparece junto al código la palabra Contract.
Value o valor de la transferencia
El campo Value recoge el monto total de transferencia en Ethereum
En el caso que la operación sea para ejecutar un contrato inteligente, como es el caso, el monto será 0. El usuario únicamente deberá pagar el Gas.
Gas Limit o Límite de Gas
El Gas Limit es la cantidad máxima de Gas que se pagará para que realizar una transacción de manera exitosa.
Normalmente, este dato es calculado de manera automática a la hora de realizar la transacción para que pagues lo menos posible. No obstante, existen algunas plataformas que permiten que sea introducido por el usuario.
Una una transacción simple necesita un límite de Gas de 21.000 unidades.
En el caso de los contratos, este dato depende de la complejo que sea. A más complicado, más gasto computacional requerirá, por lo que deberá gasta más Gas.
El Gas Limit es realmente una protección para el usuario. Imagina que ejecutas un contrato con un fallo de programación que hace que se repita de manera infinita. Esto consumiría todos los ether que poseas.
El límite de Gas evita este tipo errores humanos.
En el ejemplo, el usuario ha puesto un límite de 200.000 unidades de gas, pero no ha necesitado gastarlo todo, como veremos a continuación.
Gas Used By Transaction o Gas Usado por la Transacción
El Gas Used es el Gas que ha necesitado la transacción para ejecutarse.
Lo normal es que se consuma menos Gas del fijado en el límite. Es el caso del ejemplo, que ha gastado 94.659 unidades, el 47.33%. Lo que es seguro, es que nunca podrá superar el valor fijado por el Gas Limit.
Out of Gas o Fuera de Gas
Cuando se realiza una transacción, los mineros comenzarán a ejecutarla. Si el Gas fijado por el límite se acaba ante de haberse efectuado completamente, los mineros dejarán de trabajar.
En estos casos, el Blockchain arrojará un fallo (Fail). Además, perderás el ether destinado al Gas, como pago por el trabajo de los mineros.
Estas situaciones se conocen como Out of Gas o Fuera de Gas.
Gas Price o Precio del Gas
El Gas Price es el precio que estás dispuesto a pagar por cada unidad de Gas.
El precio del Gas es variable y depende de lo congestionada que esté la Blockchain de Ethereum. Cuanto más trabajo tengan los mineros, mayor será el Gas Price necesario para una transacción.
Por ejemplo, para acelerar la ejecución de una transferencia Ethereum, puedes poner un precio alto de Gas. De esta manera, tu transacción será prioritaria para los mineros, ya que recibirán una mayor recompensa.
El Gas Price se suele medir en GigaWei (Gwei). Un Ether equivale a 0,000000001 Gwei.
Actual Tx Cost/Fee o Coste de la transacción
El Actual Tx Cost es el Coste total de la transacción o comisión (fee).
Es muy simple de calcular. Basta con multiplicar el precio del Gas por la unidades de Gas consumidas.
Nonce & {Position} o Nonce y Posición
En Ethereum se utilizan dos tipos de Ethereum:
- El nonce de una cuenta. Es un índice que representa el número de transacciones realizadas por un monedero de Ethereum. El primer valor del índice es 0. Su función es evitar el doble gasto.
- El nonce de la Proof of Work. Es el hash aleatorio que tienen que encontrar los mineros para procesar un bloque. Lo explicamos con detalle en el artículo sobre Blockchain.
Lógicamente, las transacciones se refieren al nonce de una cuenta.
La posición es el número de la transacción dentro del bloque en el que ha sido ejecutada.
Input Data o Datos introducidos
El campo Input Data es un mensaje enviado a la cuenta receptora o un código de inicialización si se trata de un contrato.
Si el emisor no pone ningún mensaje, normalmente sale el código 0x.
Cómo pagar menos en una transferencia Ethereum
Es normal hacerse un lío con tanto término. Te preguntarás que tienes que hacer si quieres transferir ETH.
No te preocupes, como te hemos comentado, el Gas se calcula de manera automática en las plataformas más extendidas.
Si, en cambio, utilizas una que te solicite establecer estos datos, la mejor opción es consultar ethgasstation.info.
En esta web encontrarás datos actuales sobre el precio del Gas. Lo más aconsejable es fijarse en el recuadro Recommended Gas Prices que muestra tres conceptos:
- El SafeLow, que es el precio de la gasolina que están pagando en ese momento los usuarios de Ethereum por una transacción de prioridad baja.
- El precio Standard, que es lo que se paga por una transacción de prioridad normal.
- El precio Fast o rápidp, que es el precio pagado por una transferencia de prioridad alta.
Además, entre comillas encontraras el tiempo estimado para cada uno de los precios. En la imagen, menos de 2 minutos para Price Gas Fast; menos de 5 para una Standard; y menos de 30 minutos para una transacción SafeLow.
Recuerda que el Gas Limit estándar de una transacción simple de Ether es 21.000 unidades.
Cómo acelerar una transferencia Ethereum
Si eres alguien impaciente y antepones la rapidez de la transacción a ahorrar algunos ETH olvídate del SafeLow.
Para esto, utiliza el precio indicado como Fast en ethgasstation.info.
¿Te ha parecido interesante? Aprende mucho más sobre Ethereum en nuestra guía de criptomonedas.