Explore como EIP-1559 multidimensional optimiza a eficiencia do gas de Ethereum separando os custos dos recursos, mellorando a escalabilidade e mellorando a utilización da rede.
O EIP-1559 multidimensional xurdiu como un tema de investigación despois de ser introducido por Vitalik Buterin nunha publicación de EthResearch en xaneiro de 2022. Aínda que non recibiu tanta atención como outros temas de investigación como paquetes acumulativos, MEV ou solucións de dispoñibilidade de datos, é unha área de estudo activa.
Os traballos de investigación publicados recentemente por Guillermo Angeris e Theo Diamandis exploran os fundamentos teóricos e a robustez dos mercados de taxas multidimensionais e propoñen como deberían construírse.
De feito, os mercados de taxas multidimensionais xa están en uso hoxe en día. Coa adopción de EIP-4844 en marzo de 2024, Ethereum introduciu gas blob, creando un mercado de tarifas separado para transaccións blob. Isto marcou un cambio dun modelo de gas unidimensional a un mercado de taxas bidimensional.
Non obstante, aínda hai que aumentar o número de dimensións dos recursos para optimizar o uso dos recursos das transaccións. A expansión dos mercados de tarifas multidimensionais é unha solución de escalabilidade para mellorar a capacidade de Ethereum para xestionar diversos recursos de forma máis eficiente.
Este artigo explora a importancia e a mecánica dos mercados multidimensionais de taxas de gas, explicando como melloran a escalabilidade e a asignación de recursos de Ethereum.
Imos primeiro afondar en que é exactamente o prezo do gas multidimensional.
O prezo do gas multidimensional é unha solución de escala L1, como aumentar o límite de gas implementado recentemente en Ethereum. Aínda que non aumenta directamente a capacidade total de transaccións de Ethereum, maximiza a utilización dos recursos dentro dos límites existentes. Isto permite que aplicacións máis descentralizadas (DApps) e usuarios realicen transaccións na capa base de Ethereum sen conxestión innecesaria.
Actualmente, Ethereum agrupa todos os custos de recursos, como computación, almacenamento e ancho de banda, nunha única unidade de gas. Os prezos multidimensionales do gas separan estes recursos, optimizando a súa asignación mentres se mantén a seguridade e a descentralización de Ethereum.
Para entender por que isto é beneficioso, consideremos unha analoxía do mundo real.
Imaxina un club de fitness con varias instalacións, como cintas de correr para cardio, bastidores de agachamento para adestramento con pesas e pesas para uso xeral. Os membros teñen diferentes preferencias: algúns usan exclusivamente cintas de correr, outros céntranse en bastidores para sentadillas e algúns alternan entre ambos.
Nun sistema no que o ximnasio cobra unha entrada plana en función do número total de membros, xorden ineficiencias. Os días nos que as cintas de correr están ateigadas pero os bastidores para sentadillas están infrautilizados, a tarifa plana dispárase para todos, o que obriga aos adestradores de pesas a pagar pola conxestión que non causaron. Do mesmo xeito, cando os bastidores de squat teñen moita demanda, pero as cintas de correr están baleiras, os usuarios de cardio soportan custos innecesarios. Este prezo unidimensional vincula a capacidade do ximnasio ao seu recurso máis congestionado, creando unha infrautilización doutras instalacións. Este pode ser considerado como un modelo de prezos unidimensional.
Agora, imaxina o ximnasio introducindo un modelo de prezos multidimensional. En lugar dunha tarifa plana, cobra por separado as cintas de correr e os bastidores para sentadillas. Os usuarios de cardio e os adestradores de pesas xa non se ven afectados polo uso dos outros, e o ximnasio pode optimizar a súa capacidade xestionando estes recursos de forma independente. Cun uso máis equilibrado, o ximnasio pode acomodar a máis usuarios sen aumentar a conxestión xeral.
Este enfoque demostra a esencia dos prezos multidimensionales: dividir os recursos en mercados separados para mellorar a equidade e a eficiencia. Non obstante, demasiada granularidade, como o prezo separado para cada equipo, pode introducir unha complexidade innecesaria e facer que o sistema sexa máis difícil de usar. É por iso que, na práctica, os clubs de fitness teñen na súa maioría un prezo de entrada fixo e insisten nun modelo de prezos unidimensional.
Do mesmo xeito que as tarifas separadas para cintas de correr e racks de squat poden reducir a conxestión, Ethereum pode usar mercados separados para recursos, como a computación e o uso de datos.
Antes de EIP-4844, Ethereum utilizaba un modelo de prezos de gas unidimensional, onde todos os recursos de transacción, incluídos o cálculo, o almacenamento e o ancho de banda, estaban agrupados nunha única métrica: o gas. Este modelo conduce inherentemente a ineficiencias, semellante á analoxía do club de fitness:
Un exemplo clave desta ineficiencia é como os datos de transacción almacenados anteriormente se acumulan. Antes de EIP-4844, os paquetes acumulados publicaban os seus datos de transacción no campo de datos de chamadas de Ethereum e pagaban tarifas de gas en función dos prezos dos datos das chamadas. Non obstante, coa adopción de EIP-4844 en marzo de 2024, agora os rollups usan unha unidade separada chamada gas blob, que lles permite almacenar datos en estruturas dedicadas chamadas blobs.
Aínda que EIP-4844 introduciu unha segunda dimensión de gas (gas blob) para os datos acumulados, o seu alcance segue sendo limitado: o gas blob só se aplica ás transaccións blob. Outros compoñentes de transacción, incluíndo a execución de EVM, os datos de chamadas e o almacenamento, aínda teñen un prezo baixo un único modelo de gas.
As transaccións de Ethereum aínda consumen varios recursos independentes, aínda que todos teñen un prezo de gasolina, o que conduce a escenarios ineficientes no peor dos casos.
Por exemplo, supoñamos que unha única transacción consome todo o límite de gas (actualmente 36M) na execución de EVM. Aínda que os nodos de Ethereum puidesen manexar con seguridade tamaños de datos maiores, a transacción non pode propagar datos adicionais xa que o gas trátase como unha única restrición en lugar de múltiples límites independentes.
Este problema faise aínda máis evidente cando se mira a distribución do tamaño do bloque de Ethereum. Desde xullo de 2024 ata decembro de 2024, o tamaño medio dos bloques foi de ~73 KB, coa maioría dos bloques moi por debaixo dos 100 KB. Non obstante, no bloque #21419230 , o tamaño máximo do bloque alcanzou 1,48 MB, 20 veces maior que a media.
O prezo multidimensional do gas aborda este problema tratando cada recurso de forma independente: o cálculo, o almacenamento e o ancho de banda obteñen prezos e límites separados. Esta separación evita embotellamentos nos que un recurso domina os custos do gas e optimiza a capacidade sen aumentar os riscos de seguridade.
Os artigos de Vitalik Buterin propoñen varios tipos de recursos clave para a separación. Exploremos estes recursos candidatos e por que separalos podería mellorar a escalabilidade de Ethereum.
Ao deseñar un mercado de taxas multidimensional, a independencia dos recursos é un dos factores máis críticos. Se se colocan dous recursos altamente interdependentes en mercados de tarifas separados, pode provocar ineficiencias, prezos incorrectos e complexidade innecesaria. Por exemplo, se o cálculo (ciclos da CPU) e o uso da memoria (RAM) teñen un prezo por separado, aínda que un depende do outro, os usuarios poden xogar co sistema cambiando os custos entre eles, o que leva a un prezo subóptimo.
Así, antes de clasificar os recursos de Ethereum en mercados de gas separados, primeiro debemos identificar cales son os recursos o suficientemente independentes como para ter un prezo por separado sen distorsionar a economía da rede.
No seu núcleo, un nodo Ethereum é un ordenador que xestiona varios recursos en paralelo. Os recursos de hardware tradicionais clasifícanse en compoñentes distintos que se poden optimizar de forma independente:
O principio clave aquí é a paralelización: se un sistema pode procesar estes recursos de forma independente, é importante separalos para o prezo. Aplicando isto a Ethereum, deberíamos pretender clasificar os recursos de Ethereum de forma que permita que os nós de Ethereum funcionen da forma máis eficiente posible sen dependencias innecesarias.
A diferenza dos ordenadores, as operacións de Ethereum non encaixan perfectamente nunha categoría. Moitas operacións consomen varios recursos á vez, polo que é difícil separalos perfectamente. Por exemplo,
Estas interdependencias fan que non sexa práctico separar cada recurso no seu propio mercado de prezos. En cambio, deberíamos centrarnos nos pescozos de botella máis importantes que afectan directamente a escalabilidade de Ethereum.
Aínda que as operacións de Ethereum implican múltiples recursos, os candidatos para o prezo multidimensional que se discuten actualmente son:
Computación (Execución EVM): operacións sinxelas como ADD e MULTIPLY son tarefas puras da CPU.
E/S de almacenamento (SSTORE/SLOAD) - Lecturas e escrituras persistentes que afectan ao estado de Ethereum.
Transaction Calldata: usa principalmente o ancho de banda pero tamén contribúe ao almacenamento.
Datos de testemuña: afectan ao ancho de banda e ás E/S de almacenamento, especialmente para clientes sen estado.
Ao aliñar estas categorías coa forma en que os sistemas informáticos xestionan os recursos, podemos facer que a estrutura de tarifas de Ethereum sexa máis intuitiva e eficiente.
Aínda que, en teoría, poderiamos subdividir os recursos de Ethereum en categorías aínda máis granulares, facelo aumentaría a complexidade sen beneficios proporcionados. En cambio, deberíamos centrarnos nos principais pescozos de botella que limitan o rendemento de Ethereum hoxe.
Por exemplo, o tamaño da chamada de transacción determina directamente o tamaño máximo do bloque, polo que é un pescozo de botella crucial para a capa de consenso de Ethereum. Ademais, o crecemento do almacenamento debe controlarse para evitar que os nodos completos sexan demasiado caros para executalos, mantendo a descentralización.
Así, en lugar de introducir demasiadas dimensións, é práctico centrarse nalgúns recursos clave que dominan a eficiencia de Ethereum.
Con estes recursos primarios identificados, podemos explorar dúas formas distintas de realizar un prezo multidimensional: mercados de tarifas separados ou unha única unidade de gas modificada.
Un enfoque para implementar un prezo multidimensional do gas é crear mercados de tarifas independentes para cada recurso, garantindo unha asignación máis eficiente. Este método xa se implementou parcialmente a través do EIP-4844, que introduciu o gas blob como unha unidade separada para o almacenamento de datos acumulados.
Este concepto pódese estender a outros recursos, como o crecemento do estado ou o tamaño das testemuñas, o que permite a Ethereum xestionar os límites de cada recurso por separado en lugar de agrupar todos os custos nunha única métrica de gas.
Para formalizar este enfoque, definamos bi como a tarifa base para o recurso i, gi como o consumo do recurso i nunha transacción e ki como o límite para o recurso i dentro dun único bloque.
A taxa total de transacción calcularíase como ibi*gi, e un bloque debe satisfacer a restrición all txbi ki, para todo i para todos os recursos i. Do mesmo xeito que o modelo actual EIP-1559, bi axústase dinámicamente en función do uso anterior do bloque. Ethereum podería adoptar modelos de prezos exponenciais (como se usa para o gas blob) ou outro mecanismo de actualización de tarifas para regular o consumo de recursos.
O modelo de mercado de tarifas separado ofrece vantaxes fundamentais. Ofrece un control preciso sobre cada recurso ao permitir un límite independente, o que axuda a evitar estimacións ineficientes do peor dos casos baixo o modelo de gas actual. Tamén evita a conxestión innecesaria, garantindo que a alta demanda dun recurso non aumente de forma desproporcionada as tarifas por operacións non relacionadas. Ademais, este enfoque optimiza o uso da rede ao permitir límites directos a factores como a propagación de datos, como limitalos a 1 MB ou o crecemento do estado, en lugar de depender dos axustes indirectos do prezo do gas para regular o consumo de recursos.
Aínda que os mercados de tarifas separados ofrecen unha mellor asignación de recursos, subdividir os recursos de forma demasiado granular introduce unha complexidade significativa. A creación de mercados independentes para cada tipo de recurso requiriría importantes modificacións do protocolo, que poderían desestabilizar a capa base de Ethereum. As DApps e as carteiras tamén se enfrontarían a retos adicionais, xa que necesitarían rastrexar varios mercados de tarifas e predecir as flutuacións das tarifas base para cada recurso, o que dificultaría a inclusión de transaccións oportunas e rentables.
Outro problema xorde cando un recurso experimenta un aumento imprevisible dos prezos. Aínda que unha carteira optimice as tarifas para todos os outros recursos, un aumento repentino nun só mercado de tarifas podería impedir que unha transacción se inclúa nun bloque, o que provoca incerteza e ineficiencias para os usuarios.
Os validadores afrontan desafíos similares, xa que o seu obxectivo é maximizar as ganancias mantendo dentro das limitacións de cada límite de recursos. A medida que aumenta o número de mercados de recursos independentes, esta situación convértese nun complexo problema de optimización, que se asemella a un problema de mochila multidimensional onde a selección das transaccións máis rendibles faise cada vez máis difícil.
Algúns argumentan que esta complexidade pode non ser un problema importante xa que as ganancias do Valor Máximo Extraíble (MEV) contribúen significativamente aos beneficios do validador, facendo que as tarifas prioritarias sexan menos importantes na súa toma de decisións. Non obstante, a viabilidade xeral de implementar mercados de tarifas totalmente separados para cada recurso segue sendo unha cuestión de investigación aberta, que require unha exploración máis profunda das compensacións entre eficiencia, usabilidade e estabilidade da rede.
Unha alternativa máis sinxela para separar completamente os mercados de tarifas é manter o gas como a unidade principal mentres se axusta a forma en que se calculan as tarifas. En lugar de introducir novas unidades para cada recurso, a taxa total de transacción está determinada polo recurso que consume máis gas.
Definamos o custo do gas para o recurso i como ci e a cantidade de recurso utilizado como gi. A taxa de transacción determínase entón por:
(c1*g1, c2*g2, c3*g3,...)
En lugar de sumar o uso de gas entre os recursos, unha transacción cóbrase só en función do recurso máis caro que consome.
Por exemplo, considere unha transacción que consome 50.000 gas para a execución de EVM e 200.000 para os datos de chamadas. Baixo este modelo, a taxa de transacción é de 200.000 gasolina xa que os datos de chamadas son o recurso dominante e o custo de execución é ignorado.
Aínda que este método simplifica o prezo, introduce problemas potenciais:
A pesar destas preocupacións, a principal vantaxe deste enfoque é a súa sinxeleza. Ao manter o gas como a unidade de prezos universal, Ethereum evita a complexidade de xestionar varias unidades de recursos mentres segue diferenciando os diferentes tipos de uso de recursos.
EIP-7623 , que se implementará na actualización de Pectra , segue un enfoque similar pero lixeiramente modificado. Introduce un mecanismo de dobre prezo para as transaccións con grandes cantidades de datos de chamadas, o que garante que as transaccións cun uso de datos de chamadas desproporcionadamente elevado paguen taxas máis altas. Aínda que non é un modelo de prezos de gas multidimensional completo, representa un paso cara a unha mellor diferenciación dos recursos sen revisar a estrutura do gas de Ethereum.
EIP-7623 introduce tarifas máis altas para as transaccións de dispoñibilidade de datos (DA), especialmente cando o uso de datos de chamadas supera significativamente o uso de gas de execución. Este mecanismo garante que as transaccións que consumen datos de chamadas excesivos paguen tarifas máis altas, o que evita o almacenamento de datos innecesario sen necesidade de novas unidades de prezos.
Unha versión simplificada do cálculo de gas do EIP-7623 é a seguinte:
total_gas_used max (4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
O que simplifica aínda máis a:
total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)
Esta fórmula determina o consumo total de gas tomando o máximo entre o gas de execución e o gas de calldata. Se unha transacción utiliza principalmente datos de chamadas, cobraranse tarifas máis altas polos datos de chamadas en lugar de ser subvencionada por custos de execución máis baixos. Isto desaconsella o almacenamento excesivo de datos ao mesmo tempo que se garante que as transaccións pesadas en computación non sexan penalizadas inxustamente.
EIP-7623 é unha versión simplificada do prezo do gas multidimensional porque introduce unha distinción implícita entre o gas de execución e o gas de datos de chamada, fomentando unha asignación máis equilibrada dos recursos da rede.
Aínda que o prezo do gas multidimensional adoita considerarse como unha mellora económica ou UI/UX, é unha mellora de escalabilidade fundamental que permite unha asignación optimizada de recursos. Non obstante, a súa implementación enfróntase a importantes retos, debido principalmente ás modificacións substanciais da capa de protocolo necesarias e á dificultade de separar completamente os tipos de recursos. Como resultado, é pouco probable que os prezos do gas de maior dimensión se adopten en breve.
A pesar destes desafíos, o prezo multidimensional do gas ofrece beneficios substanciais, incluíndo unha mellor utilización dos recursos, unha maior seguridade da rede e un funcionamento sostible dos nodos. Permitir un uso máis eficiente da capacidade computacional e de almacenamento de Ethereum presenta un camiño viable para que Ethereum escalase ao tempo que se preserva a descentralización e a seguridade.
Unha versión deste artigo publicouse orixinalmente