¿Qué es un reembolso de gas?
Un reembolso de gas es una reducción del gas cobrado finalmente por una transacción de blockchain después de que la Máquina Virtual de Ethereum complete su ejecución.El término también puede referirse, de forma más general, al gas no utilizado que se devuelve cuando una transacción consume menos unidades de gas que el límite de gas especificado.Ambos significados están relacionados, pero describen distintas partes del sistema contable de las transacciones de Ethereum.El gas no utilizado corresponde a la diferencia entre el límite de gas de la transacción y la cantidad consumida durante su ejecución.Un reembolso de gas a nivel de protocolo procede de un contador de reembolso que puede recibir créditos cuando un contrato inteligente realiza determinadas operaciones de almacenamiento que cumplen los requisitos.Ethereum aplica automáticamente los reembolsos del protocolo, por lo que los usuarios no tienen que presentar una reclamación, ponerse en contacto con un validador ni visitar una web de reembolsos.El reembolso se mide en unidades de gas antes de calcular su valor monetario en ETH.El valor del reembolso en ETH depende del precio efectivo por unidad de gas de la transacción.Los reembolsos de gas no pueden hacer que una transacción de Ethereum sea completamente gratuita, ya que las reglas actuales del protocolo limitan la cantidad de gas consumido que se puede reembolsar.¿Qué dos tipos de reembolso de gas existen?
La expresión «reembolso de gas» se utiliza habitualmente tanto para el gas de transacción no utilizado como para los créditos del contador de reembolso de la EVM.El gas no utilizado es el que el remitente autorizó mediante el límite de gas, pero que la transacción no llegó a consumir.Por ejemplo, si una transacción tiene un límite de gas de 100,000 y se completa tras consumir 60,000 unidades, no se cobra al remitente por las 40,000 unidades restantes.La documentación oficial sobre gas de Ethereum explica que el límite de gas es la cantidad máxima que puede consumir una transacción, no un cargo final garantizado.
Un reembolso de gas de la EVM es distinto: reduce el consumo de gas después de que se hayan ejecutado operaciones que cumplen los requisitos y se hayan registrado en el contador de reembolso de la transacción.El ejemplo actual más importante es borrar una posición de almacenamiento persistente que cumple los requisitos, cambiando su valor de distinto de cero a cero.Ambos mecanismos reducen el coste final, pero solo el segundo se denomina técnicamente contador de reembolso de la EVM.Cómo funcionan los pagos de gas en Ethereum
El gas es la unidad que utiliza Ethereum para medir los recursos computacionales y de almacenamiento que requiere una transacción.Cada operación de la EVM tiene un coste de gas basado en los recursos que necesita de los nodos de Ethereum.Una transferencia básica de ETH a una cuenta normal controlada externamente suele requerir 21,000 unidades de gas.Una transferencia de tokens, una transacción de finanzas descentralizadas, una operación con NFT o una llamada compleja a un contrato inteligente pueden requerir mucho más gas.El remitente especifica un límite de gas que establece la cantidad máxima de gas de ejecución que puede consumir la transacción.El remitente también debe especificar los parámetros de comisiones que determinan el precio máximo que está dispuesto a pagar por cada unidad de gas.Con el modelo de comisiones introducido por EIP-1559, una transacción normal puede incluir una comisión máxima por unidad de gas y una comisión de prioridad máxima por unidad de gas.
El protocolo determina la comisión base y la quema cuando la transacción se incluye en un bloque.La comisión de prioridad se paga al proponente del bloque como compensación por incluir la transacción.El coste final de la transacción depende de las unidades de gas cobradas y del precio efectivo del gas, no de multiplicar simplemente el límite de gas completo por la comisión máxima.Cómo se devuelve el gas no utilizado
El límite de gas de una transacción es un límite de seguridad, no una cantidad que deba gastarse por completo.Si un usuario envía una transacción con un límite de gas de 150,000 y esta solo necesita 90,000 unidades, las 60,000 unidades no utilizadas se devuelven mediante la contabilidad de la transacción.El usuario no recibe una transferencia entrante de ETH independiente que represente esa cantidad no utilizada.En su lugar, el saldo final refleja que el gas no utilizado no se cobró de forma permanente.Una wallet puede mostrar temporalmente el coste de red máximo posible antes de que se confirme la transacción.El coste confirmado puede ser menor porque la transacción consumió menos gas que el límite o porque el precio efectivo del gas fue inferior a la comisión máxima.Establecer un límite de gas más alto normalmente no encarece una transacción que se completa correctamente si el gas adicional no se consume.Sin embargo, el remitente debe disponer de suficiente ETH para cubrir los requisitos máximos de financiación de la transacción en el momento de enviarla.Un límite de gas demasiado bajo puede hacer que la transacción falle antes o durante la ejecución.¿Qué es el contador de reembolso de la EVM?
El contador de reembolso de la EVM es un valor contable interno que se mantiene mientras se ejecuta una transacción.Las operaciones que cumplen los requisitos pueden aumentar el contador, mientras que las operaciones posteriores pueden reducir un reembolso añadido previamente.El contador no añade gas a la cantidad disponible para ejecutar el contrato inteligente.Solo se aplica una vez finalizada la ejecución.Esto significa que un contrato no puede depender de un reembolso futuro para evitar quedarse sin gas durante la misma transacción.El contador de reembolso está relacionado principalmente con los cambios en el almacenamiento persistente realizados mediante el opcode
Las reglas de medición neta de gas de EIP-2200 de Ethereum comparan los valores original, actual y nuevo de una posición de almacenamiento para calcular cargos y reembolsos.
Este sistema impide que los contratos reciban una recompensa excesiva por cambiar repetidamente la misma posición en una transacción.Si la ejecución se revierte, los créditos de reembolso asociados a los cambios de estado revertidos no se mantienen como reembolsos utilizables del protocolo.Reglas actuales de reembolso de gas de Ethereum
Las reglas básicas actuales de reembolso de gas de Ethereum se establecieron con EIP-3529, durante la actualización London.
La actualización eliminó el reembolso de gas que anteriormente se asociaba a
El calendario oficial de actualizaciones de la red Ethereum identifica EIP-3529 como la propuesta de London que redujo los reembolsos de gas de la EVM.
Cómo funciona el límite de reembolso de gas del 20%
El reembolso máximo del protocolo que se puede aplicar se calcula dividiendo entre cinco el consumo bruto de gas de la transacción.La fórmula básica es: reembolso aplicado = mínimo entre el contador de reembolso y el gas bruto utilizado ÷ 5.El gas facturado finalmente es el gas bruto utilizado menos el reembolso aplicado.Supongamos que una transacción consume 100,000 unidades de gas antes de los reembolsos y genera un contador de reembolso de 30,000 unidades.El reembolso máximo es de 20,000 unidades, ya que 100,000 dividido entre cinco equivale a 20,000.Por tanto, se facturan 80,000 unidades de gas por la transacción, no 70,000.Supongamos que otra transacción consume 100,000 unidades de gas, pero genera un contador de reembolso de solo 8,000 unidades.Se puede aplicar el reembolso completo de 8,000 unidades porque no supera el máximo de 20,000.En ese caso, se facturan 92,000 unidades de gas por la transacción.Los créditos del contador de reembolso que superen el límite no se guardan para otra transacción.Cómo funciona un reembolso de gas de SSTORE
Por qué los cálculos de reembolso del almacenamiento pueden ser complejos
Una posición de almacenamiento puede modificarse varias veces durante una misma transacción.Por eso, la EVM examina el valor original de la posición, su valor actual y el nuevo valor que se va a escribir.El valor original es el que existía antes de que comenzara la transacción.El valor actual es el que hay después de las escrituras anteriores realizadas en la misma transacción.El nuevo valor es el solicitado por la operación
Las reglas de acceso al almacenamiento en estado warm y cold introducidas por EIP-2929 también afectan al coste bruto de acceder a una posición.
Los desarrolladores deberían utilizar herramientas de compilación actuales, trazas de ejecución y simulaciones de transacciones, en lugar de basarse únicamente en una tabla simplificada de costes de almacenamiento.Ejemplo de reembolso de gas con comisiones en ETH
Supongamos que una transacción de un contrato inteligente consume 120,000 unidades de gas bruto y genera 10,000 unidades de créditos de reembolso válidos.El límite del 20% es de 24,000 unidades, ya que 120,000 dividido entre cinco equivale a 24,000.Por tanto, se puede aplicar el reembolso completo de 10,000 unidades.El consumo final de gas facturado es de 110,000 unidades.Si el precio efectivo del gas es de 20 gwei, la comisión final es de 2,200,000 gwei.Esta cantidad equivale a 0.0022 ETH.Sin el reembolso del protocolo, la comisión bruta habría sido de 0.0024 ETH.Por tanto, en este ejemplo el reembolso ahorra 0.0002 ETH.La misma cantidad de unidades de gas reembolsadas tendría un valor más alto en ETH durante un periodo en que el precio efectivo del gas fuera superior.Reembolsos de gas y EIP-1559
EIP-1559 y los reembolsos de gas de la EVM afectan a distintas partes del cálculo de las comisiones de transacción.EIP-1559 determina el precio efectivo que se paga por cada unidad de gas facturada.El mecanismo de reembolso de la EVM ayuda a determinar cuántas unidades de gas se facturan finalmente.El precio efectivo del gas suele equivaler a la comisión base más una comisión de prioridad válida, sujeto a los parámetros de comisión máxima del remitente.El protocolo de Ethereum quema la parte de la comisión base del cargo final.La parte correspondiente a la comisión de prioridad se paga al proponente del bloque.Si la comisión máxima del remitente supera el precio efectivo del gas requerido, la diferencia no se conserva como una comisión de transacción adicional.En ocasiones, las interfaces de wallet describen este margen máximo no utilizado como un reembolso, aunque sea distinto del contador de reembolso de la EVM.Por tanto, el coste final puede ser inferior al máximo mostrado debido al gas no utilizado, a un precio efectivo inferior, a créditos de reembolso del protocolo o a una combinación de estos factores.¿Los validadores pagan los reembolsos de gas?
Los validadores no envían manualmente a los usuarios los reembolsos de gas del protocolo.El procesamiento de los reembolsos forma parte de las reglas de consenso de Ethereum y lo calculan los clientes de ejecución.Todos los nodos de Ethereum que funcionan correctamente aplican de forma independiente las mismas reglas contables del gas al verificar la transacción.El proponente del bloque solo recibe la parte de la comisión de prioridad que cumple los requisitos del cargo final.El protocolo quema la parte de la comisión base una vez determinado el consumo de gas facturable final de la transacción.El usuario no necesita permiso de un validador para recibir el gas no utilizado o un reembolso de almacenamiento válido.Ningún validador puede solicitar legítimamente un pago de procesamiento para liberar un reembolso de gas de Ethereum.¿Qué ocurre cuando se revierte una transacción?
Normalmente, una transacción revertida deshace sus cambios de estado, pero sigue cobrando por los cálculos realizados antes de la reversión.El gas que no se haya utilizado cuando se produzca la operación
¿Qué ocurre cuando una transacción se queda sin gas?
Un fallo por falta de gas se produce cuando la ejecución necesita más gas del disponible para la transacción o el marco de llamada.La EVM revierte los cambios de estado realizados por la ejecución fallida.El gas proporcionado a una ejecución que se queda sin gas se consume, en lugar de devolverse como gas no utilizado.Un reembolso del protocolo no puede rescatar una ejecución que ya ha agotado su suministro de gas, porque los reembolsos solo se aplican después de la ejecución.Por eso los desarrolladores deben calcular un límite de gas suficiente, incluso si se espera que la transacción borre almacenamiento.El rechazo de una transacción antes de su inclusión por ser inválida no es lo mismo que el fallo de una transacción incluida durante su ejecución.La guía oficial de gas de Ethereum distingue entre el rechazo previo a la inclusión y un fallo on-chain por falta de gas.¿SELFDESTRUCT sigue proporcionando un reembolso de gas?
EIP-3529 eliminó el antiguo reembolso de
El posterior cambio de EIP-6780 a SELFDESTRUCT también redujo la capacidad del opcode para eliminar contratos.
En el caso de un contrato que no se haya creado en la misma transacción,
¿Qué eran los tokens de gas?
Los tokens de gas eran activos de contratos inteligentes diseñados para aprovechar las antiguas reglas de reembolso de gas de Ethereum.Los usuarios podían realizar operaciones que creaban estado cuando el gas era barato y eliminarlo posteriormente cuando el gas era caro.El reembolso resultante podía reducir el gas cobrado por una transacción de mayor valor.En ocasiones, este proceso se describía como almacenar o acumular gas.Los tokens de gas no almacenaban literalmente unidades de gas como recursos de red transferibles.Utilizaban operaciones de contratos inteligentes que daban derecho a grandes reembolsos conforme a reglas anteriores del protocolo.El sistema podía aumentar el tamaño del estado de Ethereum y permitir que las cargas de ejecución reales superaran el patrón de gas por bloque previsto.EIP-3529 eliminó el reembolso de
Por qué Ethereum redujo los reembolsos de gas
En un principio, Ethereum utilizó los reembolsos para incentivar a los desarrolladores a borrar el estado que ya no necesitaban.En la práctica, el mecanismo incentivó la creación de estado durante periodos de comisiones bajas solo para borrarlo más adelante.Este comportamiento iba en contra del objetivo de reducir la carga de almacenamiento de Ethereum a largo plazo.Los grandes reembolsos también aumentaban la diferencia entre el gas declarado para una transacción y el trabajo computacional que podían tener que realizar los nodos.Las reglas anteriores permitían reembolsos de hasta la mitad del consumo bruto de gas de una transacción.Esto aumentaba la variabilidad de la carga de los bloques y complicaba la planificación de recursos para los clientes de Ethereum.EIP-3529 mantuvo un incentivo más reducido para fomentar buenas prácticas de almacenamiento, a la vez que limitó las oportunidades de explotar la contabilidad de los reembolsos.El límite del 20% restringe hasta qué punto los reembolsos pueden aumentar el trabajo de ejecución efectivo de un bloque.Reembolsos de gas y almacenamiento transitorio
El almacenamiento transitorio es un almacenamiento temporal de la EVM que existe durante una sola transacción.Ethereum introdujo los opcodes
¿Puede un contrato inteligente enviar un reembolso de gas a otra dirección?
El reembolso de gas a nivel de protocolo corresponde al remitente responsable de la comisión de la transacción de nivel superior.Un contrato inteligente no puede redirigir directamente el contador de reembolso de Ethereum a una dirección arbitraria.Un contrato o una aplicación sí pueden transferir ETH o tokens por separado como incentivo, reembolso de gastos o bonificación.Ese pago es una bonificación de gas a nivel de aplicación, no un reembolso de gas nativo de la EVM.Un sistema de transacciones patrocinadas también puede disponer que otra parte pague o reembolse al usuario el coste del gas.Las condiciones, la fuente de financiación, los requisitos de participación y los riesgos de ese acuerdo dependen de la aplicación.Los usuarios deben distinguir entre un reembolso del protocolo y una recompensa promocional o un programa privado de reembolso de gastos.Reembolsos de gas en redes Layer 2
Las redes Layer 2 compatibles con Ethereum pueden utilizar conceptos de gas de la EVM y, a la vez, calcular de otra forma el coste total de las transacciones.Una comisión de Layer 2 puede incluir los costes de ejecución locales y el coste de publicar datos o pruebas en Ethereum.Un reembolso de almacenamiento puede reducir el componente de ejecución sin reducir todos los demás componentes de la comisión total.Algunas redes modifican los calendarios de gas, la gestión de reembolsos, los tipos de transacción o la presentación de comisiones.Los usuarios no deberían dar por hecho que el reembolso exacto de 4,800 unidades de gas y el límite del 20% de la mainnet de Ethereum se aplican de igual forma a todas las redes compatibles con la EVM.Los desarrolladores deberían consultar la documentación oficial del protocolo de la red en la que se ejecutará el contrato.Por qué una wallet puede mostrar un reembolso de gas
Una wallet puede estimar la comisión máxima de una transacción antes de que se confirme.Esta estimación puede basarse en el límite de gas multiplicado por la comisión máxima por unidad de gas.El importe final puede ser inferior si la transacción consume menos gas que el límite.También puede ser inferior si el precio efectivo del gas está por debajo de la comisión máxima fijada por el usuario.Las operaciones de contratos inteligentes que cumplen los requisitos pueden reducir aún más el gas facturado final mediante el contador de reembolso.La wallet puede agrupar estas diferencias bajo una etiqueta general como «reembolso», «ahorro», «comisión no utilizada» o «gas devuelto».Para entender el cargo final, los usuarios deberían revisar el gas utilizado confirmado, el precio efectivo del gas, el estado de la transacción y el cambio en el saldo.Cómo pueden optimizar el gas los desarrolladores sin perseguir reembolsos
Los desarrolladores deberían centrarse en reducir los cálculos innecesarios y el estado persistente, en lugar de diseñar contratos únicamente para generar reembolsos.Las escrituras de almacenamiento suelen ser más caras que las operaciones de memoria porque el estado persistente debe seguir disponible después de la transacción.Los diseños de contratos deberían evitar escribir repetidamente los mismos datos cuando el valor se pueda calcular o reutilizar de forma segura.En ocasiones, se pueden agrupar operaciones relacionadas en una sola transacción para reducir los costes repetidos de autenticación y configuración.Se puede valorar el almacenamiento transitorio para los valores temporales limitados a una transacción.Los datos de llamada (calldata), la memoria, el empaquetado del almacenamiento, los valores inmutables, los errores personalizados y las estructuras de datos eficientes también pueden afectar al consumo de gas.Los desarrolladores deberían realizar pruebas realistas, ya que una optimización que ahorre gas en una ruta de ejecución puede aumentar los costes en otra.Se deben examinar las trazas de transacción para confirmar dónde se consume el gas y si realmente se aplican los créditos de reembolso previstos.Una auditoría de contratos inteligentes debería evaluar la seguridad antes de aprobar una optimización, ya que reducir el coste de gas no justifica una lógica insegura.Errores habituales sobre los reembolsos de gas
Un error habitual es creer que todo el gas no utilizado se paga de forma permanente y después se devuelve mediante otra transacción.En realidad, el gas no utilizado se gestiona dentro de la contabilidad del saldo de la transacción original.Otro error es creer que un reembolso de gas puede hacer que haya más gas disponible mientras se ejecuta un contrato.Los reembolsos se aplican después de la ejecución y no pueden evitar un fallo por falta de gas.Un tercer error es pensar que borrar almacenamiento siempre reduce la comisión exactamente en 4,800 unidades de gas.El importe aplicado puede ser menor debido al límite de reembolso del 20% o a cambios más complejos en el almacenamiento durante una misma transacción.Un cuarto error es creer que
Estafas relacionadas con los reembolsos de gas
Los reembolsos de gas de Ethereum son automáticos y no requieren reclamar manualmente en una web.Una persona que afirme ser miembro del equipo de asistencia no puede revertir una comisión de red confirmada ni liberar un reembolso oculto del protocolo.Los estafadores pueden crear webs que prometan recuperar todas las comisiones de gas pagadas anteriormente por una wallet.Estas webs pueden solicitar una autorización maliciosa de tokens, una firma de wallet, una frase semilla o un pago directo en criptomonedas.Ningún proceso legítimo de reembolso de gas requiere una frase de recuperación ni una clave privada.Un token inesperado llamado Gas Refund puede ser un activo no relacionado y no debe considerarse un reembolso de Ethereum.Los usuarios deberían verificar la transacción en un explorador de blockchain de confianza y revisar los permisos de la wallet antes de firmar nada.Una bonificación promocional ofrecida por una aplicación cripto debe verificarse en el dominio oficial de la aplicación y en sus condiciones.Preguntas frecuentes
¿Qué es un reembolso de gas en términos sencillos?
Es una reducción del gas facturado finalmente porque parte del gas autorizado no se utilizó o porque ciertas operaciones de la EVM generaron créditos de reembolso.¿Ethereum devuelve el gas no utilizado?
Sí. El gas que no se utiliza cuando termina una transacción no se incluye en el cargo final permanente.¿El gas no utilizado es lo mismo que un reembolso de SSTORE?
No. El gas no utilizado procede del límite de gas restante, mientras que un reembolso de
¿Cuál es el reembolso máximo de gas en Ethereum?
El reembolso máximo del protocolo es el 20% del consumo bruto de gas de la transacción.¿Por qué el límite de reembolso de gas es del 20%?
EIP-3529 redujo el límite para restringir los tokens de gas basados en reembolsos, la variación de la carga de los bloques y los abusos relacionados con el estado.¿Cuánto gas se reembolsa al borrar almacenamiento?
Un cambio válido de un valor distinto de cero a cero en el almacenamiento persistente puede añadir 4,800 unidades de gas al contador de reembolso.¿Siempre se aplica por completo el reembolso de 4,800 unidades de gas?
No. El importe aplicado sigue sujeto al límite de reembolso del 20% para toda la transacción.¿SELFDESTRUCT reembolsa gas?
No. Ethereum eliminó el reembolso de gas de
¿SELFDESTRUCT sigue eliminando un contrato?
Por lo general, no elimina un contrato existente, salvo que se haya creado y destruido dentro de la misma transacción.¿Un reembolso puede evitar un error por falta de gas?
No. Los reembolsos del protocolo solo se aplican una vez terminada la ejecución.¿Se devuelve el gas no utilizado en las transacciones fallidas?
Una transacción que se revierte explícitamente puede devolver el gas restante, pero una ejecución que se queda sin gas consume el gas proporcionado para esa ejecución fallida.¿Por qué tengo que pagar por una transacción revertida?
Los nodos tuvieron que verificar y ejecutar operaciones antes de que se produjera el fallo.¿Los reembolsos de gas se pagan en ETH?
El reembolso se calcula en unidades de gas y su valor en ETH lo determina el precio efectivo del gas de la transacción.¿Un validador aprueba manualmente mi reembolso?
No. Los clientes de ejecución de Ethereum calculan y aplican automáticamente el reembolso conforme a las reglas del protocolo.¿Puedo reclamar antiguas comisiones de gas de Ethereum?
No existe ningún mecanismo nativo de Ethereum que permita a los usuarios recuperar las comisiones normales de transacciones históricas una vez finalizadas.¿Son legítimas las webs de reembolsos de gas?
Es probable que una web que afirme desbloquear reembolsos automáticos del protocolo de Ethereum no sea segura, salvo que ofrezca claramente una bonificación independiente financiada por una aplicación y verificable.¿Qué ocurrió con los tokens de gas?
EIP-3529 hizo que las estrategias tradicionales con tokens de gas dejaran de ser económicamente eficaces al eliminar y reducir los reembolsos de los que dependían.¿Qué es el almacenamiento transitorio?
Es un almacenamiento de la EVM limitado a una transacción que se descarta automáticamente y no utiliza el contador de reembolso de gas.¿Puede un reembolso de gas hacer que una transacción sea gratuita?
No. El límite del 20% implica que, según el cálculo del reembolso del protocolo, al menos el 80% del consumo bruto de gas sigue siendo facturable.¿Por qué mi comisión final fue inferior a la estimación de la wallet?
Es posible que la transacción utilizara menos gas que su límite, pagara un precio efectivo inferior al máximo, obtuviera créditos de reembolso del protocolo o combinara varios de estos efectos.Conclusión
Un reembolso de gas reduce el coste final de una transacción de Ethereum mediante gas no utilizado o créditos válidos del contador de reembolso de la EVM.El gas no utilizado es la parte del límite de gas de la transacción que no consumió la ejecución.Los reembolsos del protocolo se calculan por separado una vez finalizada la ejecución y están relacionados principalmente con cambios válidos en el almacenamiento persistente.Borrar una posición de almacenamiento adecuada cuyo valor sea distinto de cero y cambiarlo a cero puede añadir 4,800 unidades de gas al contador de reembolso.El reembolso total del protocolo que se aplique no puede superar el 20% del consumo bruto de gas.El reembolso no proporciona gas de ejecución adicional ni puede evitar un fallo por falta de gas.También te puede interesar
WhatsMiner M30S++
Dominios Web3
Proyectos Web3
POPULAR
Criptomonedas de moda que están acaparando la atención del mercado
Volumen TOP
Las criptomonedas con mayor volumen de trading
Recién Añadidos
Criptomonedas recientemente listadas y disponibles para operar

