paint-brush
Cómo optimizar la eficiencia del gas de Ethereum con EIP-1559 multidimensionalpor@2077research
1,815 lecturas
1,815 lecturas

Cómo optimizar la eficiencia del gas de Ethereum con EIP-1559 multidimensional

por 2077 Research11m2025/02/18
Read on Terminal Reader

Demasiado Largo; Para Leer

El modelo multidimensional EIP-1559 es una solución propuesta para optimizar la eficiencia del gas de Ethereum al separar los costos de los recursos (computación, almacenamiento, ancho de banda) en lugar de agruparlos en una sola unidad de gas. Este modelo, inspirado en EIP-4844, tiene como objetivo utilizar mejor la capacidad de Ethereum y reducir la congestión. Al introducir precios distintos para recursos como computación y almacenamiento, permite una asignación de recursos y una escalabilidad más eficientes. Sin embargo, desafíos como la complejidad, las interdependencias de recursos y las modificaciones de protocolo dificultan la implementación completa. Una alternativa más simple implica mantener el gas como la unidad principal y al mismo tiempo diferenciar el uso de los recursos, como se ve en EIP-7623, que ofrece un paso hacia la fijación de precios multidimensional sin una separación total.
featured image - Cómo optimizar la eficiencia del gas de Ethereum con EIP-1559 multidimensional
2077 Research HackerNoon profile picture

Explore cómo el EIP-1559 multidimensional optimiza la eficiencia del gas de Ethereum al separar los costos de recursos, mejorar la escalabilidad y mejorar la utilización de la red.

Introducción

El EIP-1559 multidimensional surgió como tema de investigación después de que Vitalik Buterin lo presentara en una publicación de EthResearch en enero de 2022. Si bien no ha recibido tanta atención como otros temas de investigación como los rollups, MEV o las soluciones de disponibilidad de datos, es un área de estudio activa.


Los artículos de investigación publicados recientemente por Guillermo Angeris y Theo Diamandis exploran los fundamentos teóricos y la solidez de los mercados de tarifas multidimensionales y proponen cómo deberían construirse.


De hecho, ya se utilizan mercados de tarifas multidimensionales. Con la adopción de EIP-4844 en marzo de 2024, Ethereum introdujo el gas blob, creando un mercado de tarifas independiente para las transacciones blob. Esto marcó un cambio de un modelo de gas unidimensional a un mercado de tarifas bidimensional.


Sin embargo, aún es necesario aumentar la cantidad de dimensiones de recursos para optimizar el uso de recursos de transacción. La expansión de los mercados de tarifas multidimensionales es una solución de escalabilidad para mejorar la capacidad de Ethereum de administrar diversos recursos de manera más eficiente.


Este artículo explora la importancia y la mecánica de los mercados de tarifas de gas multidimensionales, explicando cómo mejoran la escalabilidad y la asignación de recursos de Ethereum.


Primero, analicemos qué es exactamente el precio multidimensional del gas.

¿Qué es el precio multidimensional del gas?

La fijación de precios multidimensionales del gas es una solución de escalamiento L1, como el aumento del límite de gas implementado recientemente en Ethereum. Si bien no aumenta directamente la capacidad total de transacciones de Ethereum, maximiza la utilización de recursos dentro de los límites existentes. Esto permite que más aplicaciones descentralizadas (DApps) y usuarios realicen transacciones en la capa base de Ethereum sin congestiones innecesarias.


Actualmente, Ethereum agrupa todos los costos de recursos, como computación, almacenamiento y ancho de banda, en una sola unidad de gas. En cambio, el precio multidimensional del gas separa estos recursos, optimizando su asignación y manteniendo al mismo tiempo la seguridad y la descentralización de Ethereum.



Para entender por qué esto es beneficioso, consideremos una analogía del mundo real.

El gimnasio como analogía

Imagine un gimnasio con varias instalaciones, como cintas de correr para ejercicios cardiovasculares, soportes para sentadillas para entrenamiento con pesas y mancuernas para uso general. Los miembros tienen diferentes preferencias: algunos usan exclusivamente cintas de correr, otros se centran en los soportes para sentadillas y unos pocos alternan entre ambos.


En un sistema en el que el gimnasio cobra una tarifa fija de entrada en función del número total de miembros, surgen ineficiencias. En los días en que las cintas de correr están abarrotadas pero los soportes para sentadillas no se utilizan lo suficiente, la tarifa fija se dispara para todos, lo que obliga a los entrenadores de pesas a pagar por la congestión que no causaron. De manera similar, cuando los soportes para sentadillas tienen una gran demanda, pero las cintas de correr están vacías, los usuarios de cardio soportan costos innecesarios. Este precio unidimensional vincula la capacidad del gimnasio a su recurso más congestionado, lo que crea una subutilización de otras instalaciones. Esto puede considerarse un modelo de precios unidimensional.


Ahora, imaginemos que el gimnasio introduce un modelo de precios multidimensional. En lugar de una tarifa fija, cobra por separado las cintas de correr y los soportes para sentadillas. Los usuarios de cardio y los de pesas ya no se ven afectados por el uso que hacen los demás, y el gimnasio puede optimizar su capacidad administrando estos recursos de forma independiente. Con un uso más equilibrado, el gimnasio puede dar cabida a más usuarios sin aumentar la congestión general.


Este enfoque demuestra la esencia de la fijación de precios multidimensional: dividir los recursos en mercados separados para mejorar la equidad y la eficiencia. Sin embargo, una granularidad excesiva, como la fijación de precios separados para cada equipo, puede introducir una complejidad innecesaria y hacer que el sistema sea más difícil de usar. Por eso, en la práctica, los gimnasios suelen tener un precio de entrada fijo e insisten en un modelo de fijación de precios unidimensional.


De la misma manera que las tarifas separadas para las cintas de correr y los soportes para sentadillas pueden reducir la congestión, Ethereum puede utilizar mercados separados para recursos, como la computación y el uso de datos.

Cómo se aplica esto a Ethereum

Antes de la EIP-4844, Ethereum utilizaba un modelo de fijación de precios de gas unidimensional, en el que todos los recursos de transacción, incluidos los de computación, almacenamiento y ancho de banda, se agrupaban en una única métrica: el gas. Este modelo conduce inherentemente a ineficiencias, similares a la analogía del gimnasio:

  • Si se utiliza intensamente un recurso, como la informática, las tarifas aumentan para todos los usuarios, incluso si los demás recursos siguen subutilizándose.
  • Si ciertos recursos tienen exceso de capacidad, permanecen sin utilizar debido al rígido límite de gas.


Un ejemplo clave de esta ineficiencia es la forma en que los rollups almacenaban anteriormente los datos de las transacciones. Antes de la EIP-4844, los rollups publicaban sus datos de transacciones en el campo de datos de llamadas de Ethereum y pagaban tarifas de gas en función del precio de los datos de llamadas. Sin embargo, con la adopción de la EIP-4844 en marzo de 2024, los rollups ahora utilizan una unidad separada llamada gas blob, que les permite almacenar datos en estructuras dedicadas llamadas blobs.


Aunque EIP-4844 introdujo una segunda dimensión de gas (gas blob) para los datos de acumulación, su alcance sigue siendo limitado: el gas blob solo se aplica a las transacciones blob. Otros componentes de transacción (como la ejecución de EVM, los datos de llamadas y el almacenamiento) aún tienen un precio según un único modelo de gas.


Las transacciones de Ethereum aún consumen múltiples recursos independientes, pero todos tienen un precio en gas, lo que genera escenarios ineficientes en el peor de los casos.


Por ejemplo, supongamos que una sola transacción consume todo el límite de gas (actualmente 36M) en la ejecución de EVM. Incluso si los nodos de Ethereum pudieran manejar de manera segura tamaños de datos más grandes, la transacción no puede propagar datos adicionales ya que el gas se trata como una única restricción en lugar de múltiples límites independientes.


Este problema se hace aún más evidente cuando se observa la distribución del tamaño de los bloques de Ethereum. Desde julio de 2024 hasta diciembre de 2024, el tamaño medio de los bloques ha sido de unos 73 KB, y la mayoría de los bloques están muy por debajo de los 100 KB. Sin embargo, en el bloque n.° 21419230 , el tamaño máximo de bloque alcanzó los 1,48 MB, 20 veces más grande que el promedio.



La fijación de precios multidimensionales del gas aborda este problema al tratar cada recurso de forma independiente: el cálculo, el almacenamiento y el ancho de banda tienen precios y límites separados. Esta separación evita cuellos de botella en los que un recurso domina los costos del gas y optimiza la capacidad sin aumentar los riesgos de seguridad.


Los artículos de Vitalik Buterin proponen varios tipos de recursos clave para la separación. Exploremos estos recursos candidatos y por qué separarlos podría mejorar la escalabilidad de Ethereum.

¿Qué recursos se pueden separar a través de la fijación de precios multidimensionales del gas?

Al diseñar un mercado de tarifas multidimensional, la independencia de los recursos es uno de los factores más críticos. Si dos recursos altamente interdependientes se colocan en mercados de tarifas separados, puede generar ineficiencias, fijación incorrecta de precios y complejidad innecesaria. Por ejemplo, si el cálculo (ciclos de CPU) y el uso de memoria (RAM) se cotizan por separado, pero uno depende del otro, los usuarios podrían manipular el sistema al trasladar los costos entre ellos, lo que daría lugar a una fijación de precios subóptima.


Por lo tanto, antes de clasificar los recursos de Ethereum en mercados de gas separados, primero debemos identificar qué recursos son lo suficientemente independientes como para tener un precio separado sin distorsionar la economía de la red.


En esencia, un nodo de Ethereum es una computadora que administra múltiples recursos en paralelo. Los recursos de hardware tradicionales se clasifican en componentes distintos que se pueden optimizar de forma independiente:

  • Computación (CPU): ejecución de operaciones como SUMAR, MULTIPLICAR y ejecución de contratos inteligentes.
  • E/S de memoria (RAM): la lectura/escritura de datos temporales, que afecta la velocidad de ejecución.
  • E/S de almacenamiento (lectura/escritura de SSD/HDD): acceso al estado persistente, que afecta la eficiencia del almacenamiento a largo plazo.
  • Crecimiento del almacenamiento (aumento del espacio en disco): la expansión de los datos almacenados, que afecta la sostenibilidad del nodo.
  • Ancho de banda (transferencia de datos de red): la capacidad de transmitir transacciones y bloquear datos.


El principio clave aquí es la paralelización: si un sistema puede procesar estos recursos de forma independiente, separarlos para determinar el precio tiene sentido. Si aplicamos esto a Ethereum, deberíamos intentar clasificar los recursos de Ethereum de una manera que permita que los nodos de Ethereum funcionen de la forma más eficiente posible sin dependencias innecesarias.


A diferencia de las computadoras, las operaciones de Ethereum no encajan perfectamente en una sola categoría. Muchas operaciones consumen múltiples recursos simultáneamente, lo que dificulta separarlas perfectamente. Por ejemplo,

  • Los datos de llamadas de transacciones consumen principalmente ancho de banda porque deben transmitirse a través de la red. También contribuyen al crecimiento del almacenamiento porque permanecen en la cadena de bloques de forma permanente.
  • SLOAD (Lectura de almacenamiento) utiliza E/S de almacenamiento, pero si un nodo no tiene estado, también requiere ancho de banda para obtener pruebas de estado de un nodo completo.
  • Las escrituras de almacenamiento (SSTORE) son más costosas que las lecturas porque aumentan el estado persistente de Ethereum, lo que contribuye a la saturación del almacenamiento a largo plazo.


Estas interdependencias hacen que sea poco práctico separar cada recurso en su propio mercado de precios. En cambio, deberíamos centrarnos en los obstáculos más importantes que afectan directamente a la escalabilidad de Ethereum.


Si bien las operaciones de Ethereum involucran múltiples recursos, los candidatos para precios multidimensionales que se discuten actualmente son:

  • Cálculo (ejecución de EVM): operaciones simples como SUMAR y MULTIPLICAR son tareas puramente de CPU.

  • E/S de almacenamiento (SSTORE/SLOAD): lecturas y escrituras persistentes que afectan la hinchazón del estado de Ethereum.

  • Datos de llamada de transacción: utilizan principalmente ancho de banda, pero también contribuyen al almacenamiento.

  • Datos de testigo: afectan el ancho de banda y la E/S de almacenamiento, especialmente para clientes sin estado.



Al alinear estas categorías con la forma en que los sistemas informáticos administran los recursos, podemos hacer que la estructura de tarifas de Ethereum sea más intuitiva y eficiente.


Si bien, en teoría, podríamos subdividir los recursos de Ethereum en categorías aún más granulares, hacerlo aumentaría la complejidad sin beneficios proporcionales. En cambio, deberíamos centrarnos en los principales obstáculos que limitan el rendimiento de Ethereum en la actualidad.


Por ejemplo, el tamaño de los datos de las llamadas de transacción determina directamente el tamaño máximo del bloque, lo que lo convierte en un cuello de botella crucial para la capa de consenso de Ethereum. Además, el crecimiento del almacenamiento debe controlarse para evitar que los nodos completos resulten demasiado costosos de ejecutar, manteniendo así la descentralización.


Por lo tanto, en lugar de introducir demasiadas dimensiones, resulta práctico centrarse en unos pocos recursos clave que dominan la eficiencia de Ethereum.


Con estos recursos primarios identificados, podemos explorar dos formas distintas de lograr precios multidimensionales: mercados de tarifas separados o una unidad de gas única modificada.

Implementación de precios multidimensionales del gas 1: Mercados de tarifas separados para cada recurso

Un enfoque para implementar la fijación de precios multidimensionales del gas es crear mercados de tarifas independientes para cada recurso, lo que garantiza una asignación más eficiente. Este método ya se ha implementado parcialmente mediante la EIP-4844, que introdujo el gas en forma de blobs como una unidad separada para el almacenamiento de datos acumulados.


Este concepto se puede extender a otros recursos, como el crecimiento del estado o el tamaño de los testigos, lo que permite a Ethereum gestionar los límites de cada recurso por separado en lugar de agrupar todos los costos bajo una única métrica de gas.


Para formalizar este enfoque, definamos bi como la tarifa base para el recurso i, gi como el consumo del recurso i en una transacción y ki como el límite para el recurso i dentro de un solo bloque.


La tarifa total de transacción se calcularía como ibi*gi​, y un bloque debe satisfacer la restricción all txbi ki, para todos los i para todos los recursos i. Al igual que el modelo EIP-1559 actual, bi se ajusta dinámicamente en función del uso anterior del bloque. Ethereum podría adoptar modelos de precios exponenciales (como los utilizados para el gas blob) u otro mecanismo de actualización de tarifas para regular el consumo de recursos.


El modelo de mercado de tarifas separadas ofrece ventajas clave. Proporciona un control preciso sobre cada recurso al permitir la limitación independiente, lo que ayuda a evitar estimaciones ineficientes en el peor de los casos según el modelo de gas actual. También evita la congestión innecesaria, lo que garantiza que la alta demanda de un recurso no aumente desproporcionadamente las tarifas de operaciones no relacionadas. Además, este enfoque optimiza el uso de la red al permitir límites directos a factores como la propagación de datos, como la limitación de 1 MB o el crecimiento del estado, en lugar de depender de ajustes indirectos del precio del gas para regular el consumo de recursos.


Si bien los mercados de tarifas separados ofrecen una mejor asignación de recursos, subdividir los recursos de manera demasiado granular introduce una complejidad significativa. La creación de mercados independientes para cada tipo de recurso requeriría modificaciones importantes del protocolo, lo que podría desestabilizar la capa base de Ethereum. Las DApps y las billeteras también enfrentarían desafíos adicionales, ya que necesitarían rastrear múltiples mercados de tarifas y predecir las fluctuaciones de las tarifas base para cada recurso, lo que dificultaría la inclusión de transacciones de manera rentable y oportuna.


Otro problema surge cuando un recurso experimenta un aumento de precio impredecible. Incluso si una billetera optimiza las tarifas para todos los demás recursos, un aumento repentino en un solo mercado de tarifas podría impedir que una transacción se incluya en un bloque, lo que genera incertidumbre e ineficiencias para los usuarios.


Los validadores enfrentan desafíos similares, ya que su objetivo es maximizar las ganancias sin salirse de las limitaciones de cada recurso. A medida que aumenta el número de mercados de recursos independientes, esta situación se convierte en un problema de optimización complejo, similar a un problema de mochila multidimensional en el que seleccionar las transacciones más rentables se vuelve cada vez más difícil.


Algunos sostienen que esta complejidad puede no ser un problema importante, ya que las ganancias del Valor Máximo Extraíble (MEV) contribuyen significativamente a las ganancias de los validadores, lo que hace que las tarifas de prioridad sean menos críticas en su toma de decisiones. Sin embargo, la viabilidad general de implementar mercados de tarifas completamente separados para cada recurso sigue siendo una cuestión de investigación abierta, que requiere una mayor exploración de las compensaciones entre eficiencia, facilidad de uso y estabilidad de la red.

Implementación de precios multidimensionales del gas 2: mantener el gas como unidad principal

Una alternativa más sencilla a la separación total de los mercados de tarifas es mantener el gas como unidad principal y, al mismo tiempo, ajustar el modo de calcular las tarifas. En lugar de introducir nuevas unidades para cada recurso, la tarifa total por transacción se determina en función del recurso que consume más gas.


Definamos el costo del gas para el recurso i como ci y la cantidad de recurso utilizado como gi. La tarifa de transacción se determina entonces mediante:

(c1*g1, c2*g2, c3*g3,...)


En lugar de sumar el uso de gas de todos los recursos, se cobra una transacción basándose únicamente en el recurso más caro que consume.


Por ejemplo, considere una transacción que consume 50.000 gas para la ejecución de EVM y 200.000 gas para los datos de llamadas. En este modelo, la tarifa de transacción es de 200.000 gas, ya que los datos de llamadas son el recurso dominante y el costo de ejecución se ignora de manera efectiva.


Si bien este método simplifica la fijación de precios, presenta posibles problemas:

  • Preocupaciones de equidad: una transacción que utiliza 200 000 dólares de gas para datos de llamadas y 50 000 dólares para ejecución paga la misma tarifa que una que utiliza 200 000 dólares de gas para datos de llamadas y 150 000 dólares para ejecución. Esto incentiva la agrupación, en la que se combinan estratégicamente múltiples transacciones para aprovechar las ventajas de costos. Como resultado, los optimizadores sofisticados pueden beneficiarse, haciendo que los costos de transacción sean menos predecibles para los usuarios habituales y las DApps.
  • Ineficiencia de los recursos: dado que solo importa el recurso que más consume, los usuarios pueden usar deliberadamente otros recursos en exceso sin costo adicional. En el ejemplo anterior, la ejecución de EVM de hasta 150 000 de gas no tiene costo adicional, lo que genera transacciones innecesarias que inflan la red sin aumentar los costos.


A pesar de estas preocupaciones, la principal ventaja de este enfoque es su simplicidad. Al mantener el gas como unidad de precio universal, Ethereum evita la complejidad de gestionar múltiples unidades de recursos y, al mismo tiempo, diferencia entre los distintos tipos de uso de los recursos.


La EIP-7623 , que se implementará en la actualización de Pectra , sigue un enfoque similar pero ligeramente modificado. Introduce un mecanismo de precios duales para transacciones con un uso intensivo de datos de llamadas, lo que garantiza que las transacciones con un uso desproporcionadamente alto de datos de llamadas paguen tarifas más altas. Si bien no es un modelo de precios de gas multidimensional completo, representa un paso hacia una mejor diferenciación de recursos sin revisar la estructura de gas de Ethereum.

¿Cómo se relaciona el EIP-7623 con los precios multidimensionales del gas?

La EIP-7623 introduce tarifas más altas para las transacciones de disponibilidad de datos (DA), en particular cuando el uso de datos de llamadas excede significativamente el uso de gas de ejecución. Este mecanismo garantiza que las transacciones que consumen datos de llamadas en exceso paguen tarifas más altas, lo que desalienta el almacenamiento innecesario de datos sin requerir nuevas unidades de precios.


Una versión simplificada del cálculo de gas del EIP-7623 es la siguiente:

total_gas_usado_máximo(4tokens_en_datos_de_llamada + evm_gas_usado, 10*tokens_en_datos_de_llamada)

Lo cual se simplifica aún más:

total_gas_usado 4tokens_en_calldata + máx(evm_gas_usado, 6*tokens_en_calldata)


Esta fórmula determina el uso total de gas tomando el máximo entre el gas de ejecución y el gas de datos de llamadas. Si una transacción utiliza principalmente datos de llamadas, se le cobrarán tarifas más altas por los datos de llamadas en lugar de ser subsidiada por costos de ejecución más bajos. Esto desalienta el almacenamiento excesivo de datos y al mismo tiempo garantiza que las transacciones que requieren muchos cálculos no sean penalizadas injustamente.


EIP-7623 es una versión simplificada del precio del gas multidimensional porque introduce una distinción implícita entre el gas de ejecución y el gas de datos de llamada, lo que fomenta una asignación más equilibrada de los recursos de la red.

Conclusión

Aunque la fijación de precios multidimensionales del gas suele considerarse una mejora económica o de la interfaz de usuario y la experiencia de usuario, es una mejora fundamental de la escalabilidad que permite una asignación optimizada de los recursos. Sin embargo, su implementación enfrenta desafíos importantes, principalmente debido a las modificaciones sustanciales de la capa de protocolo que se requieren y a la dificultad de separar por completo los tipos de recursos. Como resultado, es poco probable que se adopte en breve una fijación de precios del gas con dimensiones más altas.


A pesar de estos desafíos, la fijación de precios multidimensionales del gas ofrece beneficios sustanciales, como una mejor utilización de los recursos, una mayor seguridad de la red y un funcionamiento sostenible de los nodos. Permitir un uso más eficiente de la capacidad computacional y de almacenamiento de Ethereum presenta un camino viable para que Ethereum escale al tiempo que preserva la descentralización y la seguridad.


Una versión de este artículo fue publicada originalmente aquí .