O EIP-1559 multidimensional surgiu como um tópico de pesquisa após ser introduzido por Vitalik Buterin em um Postagem no 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 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 há a necessidade de aumentar o número de dimensões de recursos 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 gerenciar 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 e a alocação de recursos do Ethereum.
Vamos primeiro nos aprofundar no que exatamente é o preço do gás multidimensional.
Precificação de gás multidimensional é uma solução de escalonamento L1, como Aumentar o limite de gásrecentementeimplementadona Ethereum. Embora não aumente diretamente a capacidade total de transações da Ethereum, maximiza a utilização de recursos dentro dos limites existentes. Isso permite que mais aplicativos descentralizados (DApps) e usuários realizem transações na camada base da Ethereum sem congestionamentos desnecessários.
Ethereum atualmente agrupa todos os custos de recursos, como computação, armazenamento e largura de banda, em uma única unidade de gás. Em vez disso, a precificação de gás multidimensional separa esses recursos, otimizando sua alocação enquanto 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 uma academia com várias instalações, como esteiras para cardio, suportes para treinamento de peso e halteres para uso geral. Os membros têm preferências diferentes: alguns usam exclusivamente esteiras, outros se concentram em suportes para agachamento e alguns alternam entre ambos.
Em um sistema onde a academia cobra uma taxa de entrada fixa com base no número total de membros, ineficiências surgem. Nos dias em que as esteiras estão lotadas, mas os racks de agachamento estão subutilizados, a taxa fixa sobe para todos, forçando os praticantes de musculação a pagarem pela congestão que não causaram. Da mesma forma, quando os racks de agachamento estão em alta demanda, mas as esteiras estão vazias, os usuários de cardio suportam custos desnecessários. Esse modelo de precificação unidimensional liga a capacidade da academia ao seu recurso mais congestionado, criando subutilização de outras instalações. Isso pode ser considerado como um modelo de precificação unidimensional.
Agora, imagine a academia introduzindo um modelo de precificação multidimensional. Em vez de uma taxa fixa, cobra separadamente por esteiras e suportes de agachamento. Os usuários de cardio e os treinadores de peso não são mais afetados pelo uso um do outro, e a academia pode otimizar sua capacidade gerenciando esses recursos de forma independente. Com uma utilização mais equilibrada, a academia pode acomodar mais usuários sem aumentar a congestão geral.
Essa abordagem demonstra a essência da precificação multidimensional: dividir os recursos em mercados separados para melhorar a equidade e a eficiência. No entanto, muita granularidade, como preços separados para cada equipamento, pode introduzir complexidade desnecessária e tornar o sistema mais difícil de usar. É por isso que, na prática, os clubes de fitness têm, em sua maioria, um preço fixo de entrada e insistem em um modelo de precificação unidimensional.
Da mesma forma que taxas separadas para esteiras e suportes de agachamento 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 usava 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 em uma métrica única: gás. Esse modelo leva inerentemente a ineficiências, semelhantes à analogia do clube de fitness:
Um exemplo-chave dessa ineficiência é como os rollups armazenavam anteriormente os dados da transação. Antes do EIP-4844, os rollups postavam 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 usam uma unidade separada chamada blob gas, o 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, ela permanece limitada em escopo: o gás de blob se aplica apenas a transações de blob. Outros componentes da transação—incluindo execução 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, porém 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 segurança com tamanhos de dados maiores, a transação não pode propagar dados adicionais, pois o gás é tratado como uma única restrição em vez de vários limites independentes.
Esse problema se torna 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 que a média.
Preços de gás multidimensionais abordam esse problema ao tratar cada recurso independentemente: computação, armazenamento e largura de banda têm preços e limites separados. Essa separação evita gargalos em que 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-chave de recursos para 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, resultando em precificação subótima.
Assim, antes de classificar os recursos Ethereum em mercados de gás separados, devemos primeiro identificar quais recursos são independentes o suficiente para serem precificados separadamente sem distorcer a economia de rede.
Em sua essência, um nó Ethereum é um computador que gerencia vários recursos em paralelo. Os recursos de hardware tradicionais são categorizados em componentes distintos que podem ser otimizados de forma independente:
O princípio-chave aqui é a paralelizabilidade: se um sistema pode processar independentemente esses recursos, separá-los para precificação é significativo. Aplicando isso ao Ethereum, devemos visar classificar os recursos do Ethereum de uma forma que permita que os nós do Ethereum operem da maneira mais eficiente possível sem dependências desnecessárias.
Ao contrário dos computadores, as operações do Ethereum não se encaixam perfeitamente em uma única categoria. Muitas operações consomem vários recursos simultaneamente, tornando difícil separá-las perfeitamente. Por exemplo,
Essas interdependências tornam impraticável separar cada recurso em seu próprio mercado de preços. Em vez disso, devemos nos concentrar nos gargalos mais significativos que impactam diretamente a escalabilidade do Ethereum.
Embora as operações do Ethereum envolvam múltiplos recursos, os candidatos para precificação multidimensional atualmente discutidos 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, em teoria, pudéssemos subdividir os recursos do Ethereum em categorias ainda mais granulares, fazer isso aumentaria a complexidade sem benefícios proporcionais. Em vez disso, devemos nos concentrar nos principais gargalos que limitam o desempenho do Ethereum hoje.
Por exemplo, o tamanho dos dados da 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 de manter, mantendo a descentralização.
Assim, em vez de introduzir muitas 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 preços multidimensionais: mercados de taxas separados ou uma única unidade de gás modificada.
Uma abordagem para implementar preços de gás multidimensionais é 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 o gás do blob como uma unidade separada para armazenamento de dados de rollup.
Esse conceito pode ser estendido para outros recursos, como crescimento do estado ou tamanho da testemunha, permitindo que o Ethereum gerencie os limites de cada recurso separadamente, em vez de agrupar todos os custos em 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 em uma 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 all txbi ki , para todos i para todos os recursos i. Assim como o modelo EIP-1559 atual, bi é ajustado dinamicamente com base no uso do bloco anterior. O Ethereum poderia adotar modelos de precificação exponencial (como usado para gás de blob) ou outro mecanismo de atualização de taxa 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 de pior caso ineficientes sob o modelo de gás atual. Ele também impede a congestão desnecessária, 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 ao permitir limites diretos em fatores como a propagação de dados, como limitá-la 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 os mercados de taxas separados ofereçam melhor alocação de recursos, a subdivisão de recursos de forma muito granular introduz uma complexidade significativa. Criar mercados independentes para cada tipo de recurso exigiria grandes modificações de protocolo, potencialmente desestabilizando a camada base do Ethereum. DApps e carteiras também enfrentariam desafios adicionais, pois precisariam rastrear vários mercados de taxas e prever flutuações de taxas básicas para cada recurso, tornando a inclusão de transações econômica e oportuna mais difícil.
Outra questão surge quando um recurso experimenta uma alta de preço imprevisível. Mesmo que uma carteira otimize taxas para todos os outros recursos, um pico repentino em apenas um mercado de taxas poderia impedir que uma transação seja incluída em um bloco, levando a incerteza e ineficiências para os usuários.
Os validadores enfrentam desafios semelhantes, pois seu objetivo é maximizar os ganhos, mantendo-se dentro das restrições de cada limite de recursos. À medida que o número de mercados de recursos independentes aumenta, essa situação se torna um problema complexo de otimização, 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 do Valor Extraível Máximo (MEV) contribuem significativamente para os lucros dos validadores, tornando as taxas de prioridade menos críticas em sua tomada de decisão. No entanto, a viabilidade geral de implementar 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 totalmente os mercados de taxas é manter o gás como unidade primária, ajustando a forma como as taxas são calculadas. Em vez de introduzir novas unidades para cada recurso, a taxa de transação total é 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 usada como gi. A taxa de transação é então determinada por:
(c1g1 , c2g2 , c3*g3,…)
Em vez de somar o uso de gás entre os recursos, uma transação é cobrada apenas com base 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. Sob este modelo, a taxa de transação é de 200.000 gás, uma vez que calldata é o recurso dominante, e o custo de execução é efetivamente ignorado.
Embora este método simplifique a precificação, ele introduz problemas potenciais:
Apesar dessas preocupações, a principal vantagem dessa abordagem é sua simplicidade. Ao manter o gás como a unidade de preço universal, o Ethereum evita a complexidade de gerenciar várias unidades de recursos enquanto ainda diferencia entre diferentes tipos de uso de recursos.
EIP-7623, que será implementado no Atualização Pectra, segue uma abordagem semelhante, mas ligeiramente modificada. Ele introduz um mecanismo de precificação dual para transações com uso intenso de calldata, garantindo que transações com uso de calldata desproporcionalmente alto paguem taxas mais altas. Embora não seja um modelo de precificação de gás totalmente multidimensional, representa um passo em direção a uma melhor diferenciação de recursos sem reformular a estrutura de gás do Ethereum.
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. Esse mecanismo garante que transações que consomem calldata excessivo paguem taxas mais altas, desencorajando o armazenamento desnecessário de dados sem exigir novas unidades de preço.
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 se simplifica ainda mais para:
total_gas_used 4tokens_in_calldata + máx(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 calldata. Se uma transação usar principalmente dados de chamada, serão cobradas taxas mais altas por dados de chamada, em vez de ser subsidiada por custos de execução mais baixos. Isso desencoraja o armazenamento excessivo de dados e, ao mesmo tempo, garante que as transações pesadas de computação não sejam penalizadas injustamente.
O EIP-7623 é uma versão simplificada do preço do gás multidimensional porque introduz uma distinção implícita entre gás de execução e gás calldata, incentivando uma alocação mais equilibrada dos recursos da rede.
Embora o preço do gás multidimensional seja frequentemente visto como um aprimoramento econômico ou de UI/UX, é uma melhoria fundamental de escalabilidade que permite a alocação otimizada de recursos. No entanto, sua implementação enfrenta desafios significativos, principalmente devido às substanciais modificações necessárias na camada de protocolo e à dificuldade de separar totalmente os tipos de recursos. Como resultado, é improvável que preços de gás de dimensões mais altas sejam adotados em breve.
Apesar desses desafios, a precificação de gás multidimensional oferece benefícios substanciais, incluindo melhor utilização de recursos, segurança de rede aprimorada 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 ao mesmo tempo a descentralização e a segurança.
مشاركة
المحتوى
O EIP-1559 multidimensional surgiu como um tópico de pesquisa após ser introduzido por Vitalik Buterin em um Postagem no 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 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 há a necessidade de aumentar o número de dimensões de recursos 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 gerenciar 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 e a alocação de recursos do Ethereum.
Vamos primeiro nos aprofundar no que exatamente é o preço do gás multidimensional.
Precificação de gás multidimensional é uma solução de escalonamento L1, como Aumentar o limite de gásrecentementeimplementadona Ethereum. Embora não aumente diretamente a capacidade total de transações da Ethereum, maximiza a utilização de recursos dentro dos limites existentes. Isso permite que mais aplicativos descentralizados (DApps) e usuários realizem transações na camada base da Ethereum sem congestionamentos desnecessários.
Ethereum atualmente agrupa todos os custos de recursos, como computação, armazenamento e largura de banda, em uma única unidade de gás. Em vez disso, a precificação de gás multidimensional separa esses recursos, otimizando sua alocação enquanto 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 uma academia com várias instalações, como esteiras para cardio, suportes para treinamento de peso e halteres para uso geral. Os membros têm preferências diferentes: alguns usam exclusivamente esteiras, outros se concentram em suportes para agachamento e alguns alternam entre ambos.
Em um sistema onde a academia cobra uma taxa de entrada fixa com base no número total de membros, ineficiências surgem. Nos dias em que as esteiras estão lotadas, mas os racks de agachamento estão subutilizados, a taxa fixa sobe para todos, forçando os praticantes de musculação a pagarem pela congestão que não causaram. Da mesma forma, quando os racks de agachamento estão em alta demanda, mas as esteiras estão vazias, os usuários de cardio suportam custos desnecessários. Esse modelo de precificação unidimensional liga a capacidade da academia ao seu recurso mais congestionado, criando subutilização de outras instalações. Isso pode ser considerado como um modelo de precificação unidimensional.
Agora, imagine a academia introduzindo um modelo de precificação multidimensional. Em vez de uma taxa fixa, cobra separadamente por esteiras e suportes de agachamento. Os usuários de cardio e os treinadores de peso não são mais afetados pelo uso um do outro, e a academia pode otimizar sua capacidade gerenciando esses recursos de forma independente. Com uma utilização mais equilibrada, a academia pode acomodar mais usuários sem aumentar a congestão geral.
Essa abordagem demonstra a essência da precificação multidimensional: dividir os recursos em mercados separados para melhorar a equidade e a eficiência. No entanto, muita granularidade, como preços separados para cada equipamento, pode introduzir complexidade desnecessária e tornar o sistema mais difícil de usar. É por isso que, na prática, os clubes de fitness têm, em sua maioria, um preço fixo de entrada e insistem em um modelo de precificação unidimensional.
Da mesma forma que taxas separadas para esteiras e suportes de agachamento 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 usava 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 em uma métrica única: gás. Esse modelo leva inerentemente a ineficiências, semelhantes à analogia do clube de fitness:
Um exemplo-chave dessa ineficiência é como os rollups armazenavam anteriormente os dados da transação. Antes do EIP-4844, os rollups postavam 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 usam uma unidade separada chamada blob gas, o 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, ela permanece limitada em escopo: o gás de blob se aplica apenas a transações de blob. Outros componentes da transação—incluindo execução 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, porém 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 segurança com tamanhos de dados maiores, a transação não pode propagar dados adicionais, pois o gás é tratado como uma única restrição em vez de vários limites independentes.
Esse problema se torna 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 que a média.
Preços de gás multidimensionais abordam esse problema ao tratar cada recurso independentemente: computação, armazenamento e largura de banda têm preços e limites separados. Essa separação evita gargalos em que 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-chave de recursos para 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, resultando em precificação subótima.
Assim, antes de classificar os recursos Ethereum em mercados de gás separados, devemos primeiro identificar quais recursos são independentes o suficiente para serem precificados separadamente sem distorcer a economia de rede.
Em sua essência, um nó Ethereum é um computador que gerencia vários recursos em paralelo. Os recursos de hardware tradicionais são categorizados em componentes distintos que podem ser otimizados de forma independente:
O princípio-chave aqui é a paralelizabilidade: se um sistema pode processar independentemente esses recursos, separá-los para precificação é significativo. Aplicando isso ao Ethereum, devemos visar classificar os recursos do Ethereum de uma forma que permita que os nós do Ethereum operem da maneira mais eficiente possível sem dependências desnecessárias.
Ao contrário dos computadores, as operações do Ethereum não se encaixam perfeitamente em uma única categoria. Muitas operações consomem vários recursos simultaneamente, tornando difícil separá-las perfeitamente. Por exemplo,
Essas interdependências tornam impraticável separar cada recurso em seu próprio mercado de preços. Em vez disso, devemos nos concentrar nos gargalos mais significativos que impactam diretamente a escalabilidade do Ethereum.
Embora as operações do Ethereum envolvam múltiplos recursos, os candidatos para precificação multidimensional atualmente discutidos 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, em teoria, pudéssemos subdividir os recursos do Ethereum em categorias ainda mais granulares, fazer isso aumentaria a complexidade sem benefícios proporcionais. Em vez disso, devemos nos concentrar nos principais gargalos que limitam o desempenho do Ethereum hoje.
Por exemplo, o tamanho dos dados da 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 de manter, mantendo a descentralização.
Assim, em vez de introduzir muitas 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 preços multidimensionais: mercados de taxas separados ou uma única unidade de gás modificada.
Uma abordagem para implementar preços de gás multidimensionais é 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 o gás do blob como uma unidade separada para armazenamento de dados de rollup.
Esse conceito pode ser estendido para outros recursos, como crescimento do estado ou tamanho da testemunha, permitindo que o Ethereum gerencie os limites de cada recurso separadamente, em vez de agrupar todos os custos em 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 em uma 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 all txbi ki , para todos i para todos os recursos i. Assim como o modelo EIP-1559 atual, bi é ajustado dinamicamente com base no uso do bloco anterior. O Ethereum poderia adotar modelos de precificação exponencial (como usado para gás de blob) ou outro mecanismo de atualização de taxa 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 de pior caso ineficientes sob o modelo de gás atual. Ele também impede a congestão desnecessária, 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 ao permitir limites diretos em fatores como a propagação de dados, como limitá-la 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 os mercados de taxas separados ofereçam melhor alocação de recursos, a subdivisão de recursos de forma muito granular introduz uma complexidade significativa. Criar mercados independentes para cada tipo de recurso exigiria grandes modificações de protocolo, potencialmente desestabilizando a camada base do Ethereum. DApps e carteiras também enfrentariam desafios adicionais, pois precisariam rastrear vários mercados de taxas e prever flutuações de taxas básicas para cada recurso, tornando a inclusão de transações econômica e oportuna mais difícil.
Outra questão surge quando um recurso experimenta uma alta de preço imprevisível. Mesmo que uma carteira otimize taxas para todos os outros recursos, um pico repentino em apenas um mercado de taxas poderia impedir que uma transação seja incluída em um bloco, levando a incerteza e ineficiências para os usuários.
Os validadores enfrentam desafios semelhantes, pois seu objetivo é maximizar os ganhos, mantendo-se dentro das restrições de cada limite de recursos. À medida que o número de mercados de recursos independentes aumenta, essa situação se torna um problema complexo de otimização, 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 do Valor Extraível Máximo (MEV) contribuem significativamente para os lucros dos validadores, tornando as taxas de prioridade menos críticas em sua tomada de decisão. No entanto, a viabilidade geral de implementar 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 totalmente os mercados de taxas é manter o gás como unidade primária, ajustando a forma como as taxas são calculadas. Em vez de introduzir novas unidades para cada recurso, a taxa de transação total é 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 usada como gi. A taxa de transação é então determinada por:
(c1g1 , c2g2 , c3*g3,…)
Em vez de somar o uso de gás entre os recursos, uma transação é cobrada apenas com base 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. Sob este modelo, a taxa de transação é de 200.000 gás, uma vez que calldata é o recurso dominante, e o custo de execução é efetivamente ignorado.
Embora este método simplifique a precificação, ele introduz problemas potenciais:
Apesar dessas preocupações, a principal vantagem dessa abordagem é sua simplicidade. Ao manter o gás como a unidade de preço universal, o Ethereum evita a complexidade de gerenciar várias unidades de recursos enquanto ainda diferencia entre diferentes tipos de uso de recursos.
EIP-7623, que será implementado no Atualização Pectra, segue uma abordagem semelhante, mas ligeiramente modificada. Ele introduz um mecanismo de precificação dual para transações com uso intenso de calldata, garantindo que transações com uso de calldata desproporcionalmente alto paguem taxas mais altas. Embora não seja um modelo de precificação de gás totalmente multidimensional, representa um passo em direção a uma melhor diferenciação de recursos sem reformular a estrutura de gás do Ethereum.
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. Esse mecanismo garante que transações que consomem calldata excessivo paguem taxas mais altas, desencorajando o armazenamento desnecessário de dados sem exigir novas unidades de preço.
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 se simplifica ainda mais para:
total_gas_used 4tokens_in_calldata + máx(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 calldata. Se uma transação usar principalmente dados de chamada, serão cobradas taxas mais altas por dados de chamada, em vez de ser subsidiada por custos de execução mais baixos. Isso desencoraja o armazenamento excessivo de dados e, ao mesmo tempo, garante que as transações pesadas de computação não sejam penalizadas injustamente.
O EIP-7623 é uma versão simplificada do preço do gás multidimensional porque introduz uma distinção implícita entre gás de execução e gás calldata, incentivando uma alocação mais equilibrada dos recursos da rede.
Embora o preço do gás multidimensional seja frequentemente visto como um aprimoramento econômico ou de UI/UX, é uma melhoria fundamental de escalabilidade que permite a alocação otimizada de recursos. No entanto, sua implementação enfrenta desafios significativos, principalmente devido às substanciais modificações necessárias na camada de protocolo e à dificuldade de separar totalmente os tipos de recursos. Como resultado, é improvável que preços de gás de dimensões mais altas sejam adotados em breve.
Apesar desses desafios, a precificação de gás multidimensional oferece benefícios substanciais, incluindo melhor utilização de recursos, segurança de rede aprimorada 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 ao mesmo tempo a descentralização e a segurança.