EIP-1559 multidimensional emergiu como um tópico de pesquisa após ser introduzido por Vitalik Buterin em um Publicação EthResearchem janeiro de 2022. Embora não tenha recebido tanta atenção quanto outros tópicos de pesquisa como rollups, MEV ou soluções de disponibilidade de dados, é uma área de estudo ativa. Artigos de pesquisa recentemente publicados porGuillermo AngeriseTheo Diamandisexplorar as bases teóricas e a robustez dos mercados de taxas multidimensionais e propor como eles devem ser construídos.
Na verdade, os mercados de taxas multidimensionais já estão em uso hoje. Com a adoção do EIP-4844 em março de 2024, o Ethereum introduziu o gás de blob, criando um mercado de taxas separado para transações de blob. Isso marcou uma mudança de um modelo de gás unidimensional para um mercado de taxas bidimensional.
No entanto, ainda é necessário aumentar o número de dimensões de recurso para otimizar o uso de recursos de transação. Expandir os mercados de taxas multidimensionais é uma solução de escalabilidade para melhorar a capacidade do Ethereum de gerir recursos diversos de forma mais eficiente.
Este artigo explora a importância e a mecânica dos mercados de taxas de gás multidimensionais, explicando como eles aprimoram a escalabilidade do Ethereum e a alocação de recursos.
Vamos primeiro aprofundar-nos no que exatamente é o preço do gás multidimensional.
A precificação de gás multidimensional é uma solução de dimensionamento L1, como aumentar o limite de gásrecentementeimplementadono Ethereum. Embora não aumente diretamente a capacidade total de transação do Ethereum, maximiza a utilização de recursos dentro dos limites existentes. Isso permite que mais aplicações descentralizadas (DApps) e utilizadores transacionem na camada base do Ethereum sem congestão desnecessária.
Atualmente, o Ethereum agrupa todos os custos de recursos, como computação, armazenamento e largura de banda, numa única unidade de gás. Em vez disso, a fixação de preços de gás multidimensional separa esses recursos, otimizando a sua alocação ao mesmo tempo que mantém a segurança e descentralização do Ethereum.
Para entender por que isso é benéfico, vamos considerar uma analogia do mundo real.
Imagine um clube de fitness com várias instalações, como passadeiras para cardio, racks de agachamento para treino de peso, e halteres para uso geral. Os membros têm diferentes preferências: alguns usam exclusivamente passadeiras, outros concentram-se em racks de agachamento, e alguns alternam entre ambos.
Num sistema em que o ginásio cobra uma taxa de entrada fixa com base no número total de membros, surgem ineficiências. Nos dias em que as passadeiras estão lotadas mas os racks de agachamento estão subutilizados, a taxa fixa dispara para todos, forçando os treinadores de peso a pagar pela congestão que não causaram. Da mesma forma, quando os racks de agachamento estão em alta demanda, mas as passadeiras estão vazias, os utilizadores de cardio suportam custos desnecessários. Esta precificação unidimensional liga a capacidade do ginásio ao seu recurso mais congestionado, criando subutilização de outras instalações. Isto pode ser considerado um modelo de precificação unidimensional.
Agora, imagine o ginásio a introduzir um modelo de preços multidimensional. Em vez de uma taxa fixa, cobra separadamente pelos passadeiras e bancadas de agachamento. Os utilizadores de cardio e os treinadores de peso já não são afetados pelo uso uns dos outros, e o ginásio pode otimizar a sua capacidade gerindo estes recursos de forma independente. Com uma utilização mais equilibrada, o ginásio pode acomodar mais utilizadores sem aumentar a congestão geral.
Esta abordagem demonstra a essência da fixação de preços multidimensional: dividir os recursos em mercados separados para melhorar a equidade e eficiência. No entanto, demasiada granularidade, como preços separados para cada equipamento, pode introduzir complexidade desnecessária e tornar o sistema mais difícil de usar. Por isso, na prática, os clubes de fitness têm principalmente um preço fixo de entrada e insistem num modelo de fixação de preços unidimensional.
Da mesma forma que taxas separadas para passadeiras e suportes para agachamentos podem reduzir a congestão, o Ethereum pode usar mercados separados para recursos, como computação e uso de dados.
Antes do EIP-4844, o Ethereum utilizava um modelo de precificação de gás unidimensional, onde todos os recursos da transação, incluindo computação, armazenamento e largura de banda, eram agrupados numa única métrica: gás. Este modelo leva inerentemente a ineficiências, semelhantes à analogia do clube de fitness:
Um exemplo-chave desta ineficiência é como os rollups armazenavam anteriormente os dados das transações. Antes do EIP-4844, os rollups colocavam os seus dados de transação no campo de calldata do Ethereum e pagavam taxas de gás com base no preço da calldata. No entanto, com a adoção do EIP-4844 em março de 2024, os rollups agora utilizam uma unidade separada chamada gás blob, que lhes permite armazenar dados em estruturas dedicadas chamadas blobs.
Embora o EIP-4844 tenha introduzido uma segunda dimensão de gás (gás de blob) para dados de rollup, continua limitado no escopo: o gás de blob se aplica apenas a transações de blob. Outros componentes de transação — incluindo execução do EVM, calldata e armazenamento — ainda são precificados sob um único modelo de gás. As transações do Ethereum ainda consomem múltiplos recursos independentes, mas todos são precificados em gás, levando a cenários de pior caso ineficientes.
Por exemplo, suponha que uma única transação consuma todo o limite de gás (atualmente 36M) na execução do EVM. Mesmo que os nós do Ethereum pudessem lidar com tamanhos de dados maiores com segurança, a transação não pode propagar dados adicionais, uma vez que o gás é tratado como uma única restrição em vez de múltiplos limites independentes.
Este problema torna-se ainda mais evidente ao analisar a distribuição do tamanho dos blocos do Ethereum. De julho de 2024 a dezembro de 2024, o tamanho médio do bloco foi de ~73KB, com a maioria dos blocos bem abaixo de 100 KB. No entanto, no bloco #21419230, o tamanho máximo do bloco atingiu 1,48MB, 20 vezes maior do que a média.
A precificação multidimensional de gás aborda esse problema tratando cada recurso independentemente: computação, armazenamento e largura de banda recebem preços e limites separados. Essa separação evita gargalos onde um recurso domina os custos de gás e otimiza a capacidade sem aumentar os riscos de segurança.
Os artigos de Vitalik Buterin propõem vários tipos de recursos-chave para a separação. Vamos explorar esses recursos candidatos e por que separá-los poderia melhorar a escalabilidade do Ethereum.
Ao projetar um mercado de taxas multidimensional, a independência de recursos é um dos fatores mais críticos. Se dois recursos altamente interdependentes forem colocados em mercados de taxas separados, isso pode levar a ineficiências, precificação incorreta e complexidade desnecessária. Por exemplo, se a computação (ciclos de CPU) e o uso de memória (RAM) forem precificados separadamente, mas um depende do outro, os usuários podem manipular o sistema transferindo custos entre si, o que leva a uma precificação subótima.
Assim, antes de classificar os recursos do Ethereum em mercados de gás separados, devemos primeiro identificar quais recursos são suficientemente independentes para serem precificados separadamente sem distorcer a economia da rede.
No seu âmago, um nó Ethereum é um computador que gere múltiplos recursos em paralelo. Os recursos de hardware tradicionais são categorizados em componentes distintos que podem ser otimizados independentemente:
O princípio-chave aqui é a possibilidade de paralelização: Se um sistema pode processar independentemente esses recursos, separá-los para efeitos de preços é significativo. Aplicando isto ao Ethereum, devemos procurar classificar os recursos do Ethereum de forma a permitir que os nós do Ethereum operem de forma tão eficiente quanto possível, sem dependências desnecessárias.
Ao contrário dos computadores, as operações do Ethereum não se encaixam perfeitamente numa única categoria. Muitas operações consomem múltiplos recursos simultaneamente, tornando difícil separá-los perfeitamente. Por exemplo,
Estas interdependências tornam impraticável separar cada recurso em seu próprio mercado de preços. Em vez disso, devemos focar nos gargalos mais significativos que impactam diretamente a escalabilidade do Ethereum.
Embora as operações do Ethereum envolvam múltiplos recursos, os candidatos para preços multidimensionais atualmente em discussão são:
Ao alinhar essas categorias com a forma como os sistemas de computador gerenciam recursos, podemos tornar a estrutura de taxas do Ethereum mais intuitiva e eficiente.
Embora, teoricamente, pudéssemos subdividir os recursos do Ethereum em categorias ainda mais granulares, fazê-lo aumentaria a complexidade sem benefícios proporcionais. Em vez disso, devemos focar nos principais gargalos que limitam o desempenho do Ethereum hoje.
Por exemplo, o tamanho dos dados de chamada de transação determina diretamente o tamanho máximo do bloco, tornando-o um gargalo crucial para a camada de consenso do Ethereum. Além disso, o crescimento do armazenamento deve ser controlado para evitar que os nós completos se tornem muito caros para serem executados, mantendo a descentralização.
Assim, em vez de introduzir demasiadas dimensões, focar em alguns recursos-chave que dominam a eficiência do Ethereum é prático.
Com esses recursos primários identificados, podemos explorar duas maneiras distintas de realizar a precificação multidimensional: mercados de taxas separadas ou uma unidade de gás única modificada.
Uma abordagem para implementar preços de gás multidimensional é criar mercados de taxas independentes para cada recurso, garantindo uma alocação mais eficiente. Este método já foi parcialmente implementado através do EIP-4844, que introduziu gás de blob como uma unidade separada para armazenamento de dados de rollup.
Este conceito pode ser estendido a outros recursos, como o crescimento do estado ou o tamanho da testemunha, permitindo que o Ethereum gerencie os limites de cada recurso separadamente, em vez de agrupar todos os custos sob uma única métrica de gás.
Para formalizar esta abordagem, vamos definir bi como a taxa base para o recurso i, gi como o consumo do recurso i numa transação, e ki como o limite para o recurso i dentro de um único bloco.
A taxa total da transação seria calculada como ibi*gi, e um bloco deve satisfazer a restrição de todos txbi ki , para todos os i para todos os recursos i. Como o modelo atual EIP-1559, bi é ajustado dinamicamente com base no uso do bloco anterior. O Ethereum poderia adotar modelos de preços exponenciais (como os usados para gás blob) ou outro mecanismo de atualização de taxas para regular o consumo de recursos.
O modelo de mercado de taxas separado oferece vantagens-chave. Ele fornece controle preciso sobre cada recurso, permitindo o limite independente, o que ajuda a evitar estimativas ineficientes de pior cenário no modelo de gás atual. Também impede congestionamentos desnecessários, garantindo que a alta demanda por um recurso não aumente desproporcionalmente as taxas para operações não relacionadas. Além disso, essa abordagem otimiza o uso da rede, permitindo limites diretos em fatores como propagação de dados, como limitá-lo a 1MB ou crescimento de estado, em vez de depender de ajustes de preço de gás indiretos para regular o consumo de recursos.
Embora mercados separados de taxas ofereçam uma alocação de recursos aprimorada, subdividir recursos de forma muito granular introduz uma complexidade significativa. Criar mercados independentes para cada tipo de recurso exigiria grandes modificações no protocolo, potencialmente desestabilizando a camada base do Ethereum. DApps e carteiras também enfrentariam desafios adicionais, já que precisariam rastrear vários mercados de taxas e prever flutuações na taxa base para cada recurso, tornando a inclusão de transações eficiente em custos e oportuna mais difícil.
Outro problema surge quando um recurso experimenta um aumento imprevisível de preço. Mesmo que uma carteira otimize as taxas para todos os outros recursos, um pico repentino em apenas um mercado de taxas poderia impedir que uma transação fosse incluída em um bloco, levando a incertezas e ineficiências para os usuários.
Os validadores enfrentam desafios semelhantes, uma vez que o seu objetivo é maximizar os ganhos, ao mesmo tempo que se mantêm dentro dos limites de cada recurso. À medida que o número de mercados de recursos independentes aumenta, esta situação torna-se num problema de otimização complexo, assemelhando-se a um problema de mochila multidimensional, onde a seleção das transações mais lucrativas se torna cada vez mais difícil.
Alguns argumentam que essa complexidade pode não ser um problema principal, uma vez que os ganhos de Valor Extraível Máximo (MEV) contribuem significativamente para os lucros dos validadores, tornando as taxas prioritárias menos críticas em sua tomada de decisão. No entanto, a viabilidade geral da implementação de mercados de taxas totalmente separados para cada recurso permanece uma questão de pesquisa em aberto, exigindo uma exploração adicional dos trade-offs entre eficiência, usabilidade e estabilidade da rede.
Uma alternativa mais simples para separar completamente os mercados de taxas é manter o gás como a unidade principal, ajustando a forma como as taxas são calculadas. Em vez de introduzir novas unidades para cada recurso, a taxa total da transação é determinada pelo recurso que consome mais gás.
Vamos definir o custo de gás para o recurso i como ci e a quantidade de recurso usado como gi. A taxa de transação é então determinada por:
(c1g1 , c2g2, c3*g3,...)
Em vez de somar o uso de gás em todos os recursos, uma transação é cobrada com base apenas no recurso mais caro que consome.
Por exemplo, considere uma transação que consome 50.000 gás para execução de EVM e 200.000 gás para calldata. Neste modelo, a taxa de transação é de 200.000 gás, uma vez que os dados de chamada são o recurso dominante e o custo de execução é efetivamente ignorado.
Embora este método simplifique a fixação de preços, também introduz potenciais problemas:
Apesar destas preocupações, a principal vantagem desta abordagem é a sua simplicidade. Ao manter o gás como a unidade de preço universal, o Ethereum evita a complexidade de gerir múltiplas unidades de recurso, mantendo ainda a diferenciação entre diferentes tipos de utilização de recursos.
EIP-7623, que será implementado no Atualização do Pectra, segue uma abordagem semelhante, mas ligeiramente modificada. Ele introduz um mecanismo de precificação dupla para transações com uso intensivo de calldata, garantindo que transações com uso desproporcionalmente alto de calldata paguem taxas mais altas. Embora não seja um modelo de precificação de gás multidimensional completo, representa um passo em direção a uma melhor diferenciação de recursos sem reformular a estrutura de gás do Ethereum.
O EIP-7623 introduz taxas mais altas para transações de disponibilidade de dados (DA), especialmente quando o uso de calldata excede significativamente o uso de gás de execução. Este mecanismo garante que as transações que consomem calldata excessivo pagam taxas mais altas, desencorajando o armazenamento desnecessário de dados sem necessidade de novas unidades de preços.
Uma versão simplificada do cálculo de gás do EIP-7623 é o seguinte:
total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
Que simplifica ainda mais para:
total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)
Esta fórmula determina o uso total de gás, tomando o máximo entre o gás de execução e o gás de calldata. Se uma transação usa principalmente calldata, serão cobradas taxas mais altas para calldata, em vez de serem subsidiadas por custos de execução mais baixos. Isso desencoraja o armazenamento excessivo de dados, garantindo que transações com muita computação não sejam penalizadas de forma injusta.
EIP-7623 é uma versão simplificada do sistema de preços do gás multidimensional, porque introduz uma distinção implícita entre o gás de execução e o gás de calldata, incentivando uma alocação mais equilibrada de recursos da rede.
Embora a precificação de gás multidimensional seja frequentemente vista como um aprimoramento econômico ou de UI/UX, é uma melhoria fundamental de escalabilidade que permite uma alocação de recursos otimizada. No entanto, a sua implementação enfrenta desafios significativos, principalmente devido às substanciais modificações necessárias na camada de protocolo e à dificuldade de separar completamente os tipos de recursos. Como resultado, é improvável que a precificação de gás em dimensões superiores seja adotada em breve.
Apesar desses desafios, a precificação multidimensional do gás oferece benefícios substanciais, incluindo melhor utilização de recursos, maior segurança de rede e operação sustentável de nós. Permitir um uso mais eficiente da capacidade computacional e de armazenamento do Ethereum apresenta um caminho viável para o Ethereum escalar, preservando a descentralização e a segurança.
Partilhar
Conteúdos
EIP-1559 multidimensional emergiu como um tópico de pesquisa após ser introduzido por Vitalik Buterin em um Publicação EthResearchem janeiro de 2022. Embora não tenha recebido tanta atenção quanto outros tópicos de pesquisa como rollups, MEV ou soluções de disponibilidade de dados, é uma área de estudo ativa. Artigos de pesquisa recentemente publicados porGuillermo AngeriseTheo Diamandisexplorar as bases teóricas e a robustez dos mercados de taxas multidimensionais e propor como eles devem ser construídos.
Na verdade, os mercados de taxas multidimensionais já estão em uso hoje. Com a adoção do EIP-4844 em março de 2024, o Ethereum introduziu o gás de blob, criando um mercado de taxas separado para transações de blob. Isso marcou uma mudança de um modelo de gás unidimensional para um mercado de taxas bidimensional.
No entanto, ainda é necessário aumentar o número de dimensões de recurso para otimizar o uso de recursos de transação. Expandir os mercados de taxas multidimensionais é uma solução de escalabilidade para melhorar a capacidade do Ethereum de gerir recursos diversos de forma mais eficiente.
Este artigo explora a importância e a mecânica dos mercados de taxas de gás multidimensionais, explicando como eles aprimoram a escalabilidade do Ethereum e a alocação de recursos.
Vamos primeiro aprofundar-nos no que exatamente é o preço do gás multidimensional.
A precificação de gás multidimensional é uma solução de dimensionamento L1, como aumentar o limite de gásrecentementeimplementadono Ethereum. Embora não aumente diretamente a capacidade total de transação do Ethereum, maximiza a utilização de recursos dentro dos limites existentes. Isso permite que mais aplicações descentralizadas (DApps) e utilizadores transacionem na camada base do Ethereum sem congestão desnecessária.
Atualmente, o Ethereum agrupa todos os custos de recursos, como computação, armazenamento e largura de banda, numa única unidade de gás. Em vez disso, a fixação de preços de gás multidimensional separa esses recursos, otimizando a sua alocação ao mesmo tempo que mantém a segurança e descentralização do Ethereum.
Para entender por que isso é benéfico, vamos considerar uma analogia do mundo real.
Imagine um clube de fitness com várias instalações, como passadeiras para cardio, racks de agachamento para treino de peso, e halteres para uso geral. Os membros têm diferentes preferências: alguns usam exclusivamente passadeiras, outros concentram-se em racks de agachamento, e alguns alternam entre ambos.
Num sistema em que o ginásio cobra uma taxa de entrada fixa com base no número total de membros, surgem ineficiências. Nos dias em que as passadeiras estão lotadas mas os racks de agachamento estão subutilizados, a taxa fixa dispara para todos, forçando os treinadores de peso a pagar pela congestão que não causaram. Da mesma forma, quando os racks de agachamento estão em alta demanda, mas as passadeiras estão vazias, os utilizadores de cardio suportam custos desnecessários. Esta precificação unidimensional liga a capacidade do ginásio ao seu recurso mais congestionado, criando subutilização de outras instalações. Isto pode ser considerado um modelo de precificação unidimensional.
Agora, imagine o ginásio a introduzir um modelo de preços multidimensional. Em vez de uma taxa fixa, cobra separadamente pelos passadeiras e bancadas de agachamento. Os utilizadores de cardio e os treinadores de peso já não são afetados pelo uso uns dos outros, e o ginásio pode otimizar a sua capacidade gerindo estes recursos de forma independente. Com uma utilização mais equilibrada, o ginásio pode acomodar mais utilizadores sem aumentar a congestão geral.
Esta abordagem demonstra a essência da fixação de preços multidimensional: dividir os recursos em mercados separados para melhorar a equidade e eficiência. No entanto, demasiada granularidade, como preços separados para cada equipamento, pode introduzir complexidade desnecessária e tornar o sistema mais difícil de usar. Por isso, na prática, os clubes de fitness têm principalmente um preço fixo de entrada e insistem num modelo de fixação de preços unidimensional.
Da mesma forma que taxas separadas para passadeiras e suportes para agachamentos podem reduzir a congestão, o Ethereum pode usar mercados separados para recursos, como computação e uso de dados.
Antes do EIP-4844, o Ethereum utilizava um modelo de precificação de gás unidimensional, onde todos os recursos da transação, incluindo computação, armazenamento e largura de banda, eram agrupados numa única métrica: gás. Este modelo leva inerentemente a ineficiências, semelhantes à analogia do clube de fitness:
Um exemplo-chave desta ineficiência é como os rollups armazenavam anteriormente os dados das transações. Antes do EIP-4844, os rollups colocavam os seus dados de transação no campo de calldata do Ethereum e pagavam taxas de gás com base no preço da calldata. No entanto, com a adoção do EIP-4844 em março de 2024, os rollups agora utilizam uma unidade separada chamada gás blob, que lhes permite armazenar dados em estruturas dedicadas chamadas blobs.
Embora o EIP-4844 tenha introduzido uma segunda dimensão de gás (gás de blob) para dados de rollup, continua limitado no escopo: o gás de blob se aplica apenas a transações de blob. Outros componentes de transação — incluindo execução do EVM, calldata e armazenamento — ainda são precificados sob um único modelo de gás. As transações do Ethereum ainda consomem múltiplos recursos independentes, mas todos são precificados em gás, levando a cenários de pior caso ineficientes.
Por exemplo, suponha que uma única transação consuma todo o limite de gás (atualmente 36M) na execução do EVM. Mesmo que os nós do Ethereum pudessem lidar com tamanhos de dados maiores com segurança, a transação não pode propagar dados adicionais, uma vez que o gás é tratado como uma única restrição em vez de múltiplos limites independentes.
Este problema torna-se ainda mais evidente ao analisar a distribuição do tamanho dos blocos do Ethereum. De julho de 2024 a dezembro de 2024, o tamanho médio do bloco foi de ~73KB, com a maioria dos blocos bem abaixo de 100 KB. No entanto, no bloco #21419230, o tamanho máximo do bloco atingiu 1,48MB, 20 vezes maior do que a média.
A precificação multidimensional de gás aborda esse problema tratando cada recurso independentemente: computação, armazenamento e largura de banda recebem preços e limites separados. Essa separação evita gargalos onde um recurso domina os custos de gás e otimiza a capacidade sem aumentar os riscos de segurança.
Os artigos de Vitalik Buterin propõem vários tipos de recursos-chave para a separação. Vamos explorar esses recursos candidatos e por que separá-los poderia melhorar a escalabilidade do Ethereum.
Ao projetar um mercado de taxas multidimensional, a independência de recursos é um dos fatores mais críticos. Se dois recursos altamente interdependentes forem colocados em mercados de taxas separados, isso pode levar a ineficiências, precificação incorreta e complexidade desnecessária. Por exemplo, se a computação (ciclos de CPU) e o uso de memória (RAM) forem precificados separadamente, mas um depende do outro, os usuários podem manipular o sistema transferindo custos entre si, o que leva a uma precificação subótima.
Assim, antes de classificar os recursos do Ethereum em mercados de gás separados, devemos primeiro identificar quais recursos são suficientemente independentes para serem precificados separadamente sem distorcer a economia da rede.
No seu âmago, um nó Ethereum é um computador que gere múltiplos recursos em paralelo. Os recursos de hardware tradicionais são categorizados em componentes distintos que podem ser otimizados independentemente:
O princípio-chave aqui é a possibilidade de paralelização: Se um sistema pode processar independentemente esses recursos, separá-los para efeitos de preços é significativo. Aplicando isto ao Ethereum, devemos procurar classificar os recursos do Ethereum de forma a permitir que os nós do Ethereum operem de forma tão eficiente quanto possível, sem dependências desnecessárias.
Ao contrário dos computadores, as operações do Ethereum não se encaixam perfeitamente numa única categoria. Muitas operações consomem múltiplos recursos simultaneamente, tornando difícil separá-los perfeitamente. Por exemplo,
Estas interdependências tornam impraticável separar cada recurso em seu próprio mercado de preços. Em vez disso, devemos focar nos gargalos mais significativos que impactam diretamente a escalabilidade do Ethereum.
Embora as operações do Ethereum envolvam múltiplos recursos, os candidatos para preços multidimensionais atualmente em discussão são:
Ao alinhar essas categorias com a forma como os sistemas de computador gerenciam recursos, podemos tornar a estrutura de taxas do Ethereum mais intuitiva e eficiente.
Embora, teoricamente, pudéssemos subdividir os recursos do Ethereum em categorias ainda mais granulares, fazê-lo aumentaria a complexidade sem benefícios proporcionais. Em vez disso, devemos focar nos principais gargalos que limitam o desempenho do Ethereum hoje.
Por exemplo, o tamanho dos dados de chamada de transação determina diretamente o tamanho máximo do bloco, tornando-o um gargalo crucial para a camada de consenso do Ethereum. Além disso, o crescimento do armazenamento deve ser controlado para evitar que os nós completos se tornem muito caros para serem executados, mantendo a descentralização.
Assim, em vez de introduzir demasiadas dimensões, focar em alguns recursos-chave que dominam a eficiência do Ethereum é prático.
Com esses recursos primários identificados, podemos explorar duas maneiras distintas de realizar a precificação multidimensional: mercados de taxas separadas ou uma unidade de gás única modificada.
Uma abordagem para implementar preços de gás multidimensional é criar mercados de taxas independentes para cada recurso, garantindo uma alocação mais eficiente. Este método já foi parcialmente implementado através do EIP-4844, que introduziu gás de blob como uma unidade separada para armazenamento de dados de rollup.
Este conceito pode ser estendido a outros recursos, como o crescimento do estado ou o tamanho da testemunha, permitindo que o Ethereum gerencie os limites de cada recurso separadamente, em vez de agrupar todos os custos sob uma única métrica de gás.
Para formalizar esta abordagem, vamos definir bi como a taxa base para o recurso i, gi como o consumo do recurso i numa transação, e ki como o limite para o recurso i dentro de um único bloco.
A taxa total da transação seria calculada como ibi*gi, e um bloco deve satisfazer a restrição de todos txbi ki , para todos os i para todos os recursos i. Como o modelo atual EIP-1559, bi é ajustado dinamicamente com base no uso do bloco anterior. O Ethereum poderia adotar modelos de preços exponenciais (como os usados para gás blob) ou outro mecanismo de atualização de taxas para regular o consumo de recursos.
O modelo de mercado de taxas separado oferece vantagens-chave. Ele fornece controle preciso sobre cada recurso, permitindo o limite independente, o que ajuda a evitar estimativas ineficientes de pior cenário no modelo de gás atual. Também impede congestionamentos desnecessários, garantindo que a alta demanda por um recurso não aumente desproporcionalmente as taxas para operações não relacionadas. Além disso, essa abordagem otimiza o uso da rede, permitindo limites diretos em fatores como propagação de dados, como limitá-lo a 1MB ou crescimento de estado, em vez de depender de ajustes de preço de gás indiretos para regular o consumo de recursos.
Embora mercados separados de taxas ofereçam uma alocação de recursos aprimorada, subdividir recursos de forma muito granular introduz uma complexidade significativa. Criar mercados independentes para cada tipo de recurso exigiria grandes modificações no protocolo, potencialmente desestabilizando a camada base do Ethereum. DApps e carteiras também enfrentariam desafios adicionais, já que precisariam rastrear vários mercados de taxas e prever flutuações na taxa base para cada recurso, tornando a inclusão de transações eficiente em custos e oportuna mais difícil.
Outro problema surge quando um recurso experimenta um aumento imprevisível de preço. Mesmo que uma carteira otimize as taxas para todos os outros recursos, um pico repentino em apenas um mercado de taxas poderia impedir que uma transação fosse incluída em um bloco, levando a incertezas e ineficiências para os usuários.
Os validadores enfrentam desafios semelhantes, uma vez que o seu objetivo é maximizar os ganhos, ao mesmo tempo que se mantêm dentro dos limites de cada recurso. À medida que o número de mercados de recursos independentes aumenta, esta situação torna-se num problema de otimização complexo, assemelhando-se a um problema de mochila multidimensional, onde a seleção das transações mais lucrativas se torna cada vez mais difícil.
Alguns argumentam que essa complexidade pode não ser um problema principal, uma vez que os ganhos de Valor Extraível Máximo (MEV) contribuem significativamente para os lucros dos validadores, tornando as taxas prioritárias menos críticas em sua tomada de decisão. No entanto, a viabilidade geral da implementação de mercados de taxas totalmente separados para cada recurso permanece uma questão de pesquisa em aberto, exigindo uma exploração adicional dos trade-offs entre eficiência, usabilidade e estabilidade da rede.
Uma alternativa mais simples para separar completamente os mercados de taxas é manter o gás como a unidade principal, ajustando a forma como as taxas são calculadas. Em vez de introduzir novas unidades para cada recurso, a taxa total da transação é determinada pelo recurso que consome mais gás.
Vamos definir o custo de gás para o recurso i como ci e a quantidade de recurso usado como gi. A taxa de transação é então determinada por:
(c1g1 , c2g2, c3*g3,...)
Em vez de somar o uso de gás em todos os recursos, uma transação é cobrada com base apenas no recurso mais caro que consome.
Por exemplo, considere uma transação que consome 50.000 gás para execução de EVM e 200.000 gás para calldata. Neste modelo, a taxa de transação é de 200.000 gás, uma vez que os dados de chamada são o recurso dominante e o custo de execução é efetivamente ignorado.
Embora este método simplifique a fixação de preços, também introduz potenciais problemas:
Apesar destas preocupações, a principal vantagem desta abordagem é a sua simplicidade. Ao manter o gás como a unidade de preço universal, o Ethereum evita a complexidade de gerir múltiplas unidades de recurso, mantendo ainda a diferenciação entre diferentes tipos de utilização de recursos.
EIP-7623, que será implementado no Atualização do Pectra, segue uma abordagem semelhante, mas ligeiramente modificada. Ele introduz um mecanismo de precificação dupla para transações com uso intensivo de calldata, garantindo que transações com uso desproporcionalmente alto de calldata paguem taxas mais altas. Embora não seja um modelo de precificação de gás multidimensional completo, representa um passo em direção a uma melhor diferenciação de recursos sem reformular a estrutura de gás do Ethereum.
O EIP-7623 introduz taxas mais altas para transações de disponibilidade de dados (DA), especialmente quando o uso de calldata excede significativamente o uso de gás de execução. Este mecanismo garante que as transações que consomem calldata excessivo pagam taxas mais altas, desencorajando o armazenamento desnecessário de dados sem necessidade de novas unidades de preços.
Uma versão simplificada do cálculo de gás do EIP-7623 é o seguinte:
total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)
Que simplifica ainda mais para:
total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)
Esta fórmula determina o uso total de gás, tomando o máximo entre o gás de execução e o gás de calldata. Se uma transação usa principalmente calldata, serão cobradas taxas mais altas para calldata, em vez de serem subsidiadas por custos de execução mais baixos. Isso desencoraja o armazenamento excessivo de dados, garantindo que transações com muita computação não sejam penalizadas de forma injusta.
EIP-7623 é uma versão simplificada do sistema de preços do gás multidimensional, porque introduz uma distinção implícita entre o gás de execução e o gás de calldata, incentivando uma alocação mais equilibrada de recursos da rede.
Embora a precificação de gás multidimensional seja frequentemente vista como um aprimoramento econômico ou de UI/UX, é uma melhoria fundamental de escalabilidade que permite uma alocação de recursos otimizada. No entanto, a sua implementação enfrenta desafios significativos, principalmente devido às substanciais modificações necessárias na camada de protocolo e à dificuldade de separar completamente os tipos de recursos. Como resultado, é improvável que a precificação de gás em dimensões superiores seja adotada em breve.
Apesar desses desafios, a precificação multidimensional do gás oferece benefícios substanciais, incluindo melhor utilização de recursos, maior segurança de rede e operação sustentável de nós. Permitir um uso mais eficiente da capacidade computacional e de armazenamento do Ethereum apresenta um caminho viável para o Ethereum escalar, preservando a descentralização e a segurança.