Análise do Limite de Gás do Ethereum

Avançado10.03
Este artigo discute a possibilidade e o impacto do aumento do limite de gás do Ethereum. A análise abrange três aspectos: armazenamento, largura de banda e computação. O artigo aponta que o crescimento do armazenamento não é o principal gargalo, enquanto a largura de banda pode representar um desafio maior. O autor acredita que, por meio do mecanismo de aumento gradual da EIP-7783, é possível aumentar o limite de gás em 33% ou até dobrá-lo. Ao mesmo tempo, o artigo também discute o impacto potencial da EIP-7782 (redução do tempo de bloco), sugerindo que sua implementação possa ser prematura nesta fase.
Análise do Limite de Gás do Ethereum

Encaminhar o Título Original 'Estamos finalmente prontos para um aumento do limite de gás?'

Tem havido uma crescente discussão em torno da possibilidade de aumentar o throughput de gás do Ethereum, quer seja aumentando o limite de gás ou reduzindo o tempo de slot. O principal argumento a favor disso é que os requisitos de hardware para executar um validador têm diminuído constantemente ao longo dos últimos quatro anos.

Além disso, surgiram 2 abordagens para aumentar o Limite de Gás:

  • EIP-7782: Uma redução no tempo de bloco no protocolo Ethereum
  • EIP-7783: Um mecanismo baseado em "aumento gradual" para aumentar lentamente o Limite de Gás ao longo do tempo.

Neste post, analisarei os possíveis piores cenários e cenários médios em largura de banda, computação e requisitos de armazenamento se o limite de gás fosse dobrado.

Recapitulação da história do Ethereum com o limite de gás

Quando o Ethereum foi lançado em 2015, o limite de gás foi inicialmente definido como 5,000 gás por bloco. Ao longo do tempo, este limite viu mudanças significativas:

  • 2016: O limite de gás foi aumentado pela primeira vez para cerca de 3 milhões e, mais tarde, no mesmo ano, foi aumentado novamente para aproximadamente 4,7 milhões.

– Após o hard fork Tangerine Whistle e mais especificamente a implementação do EIP-150, o limite de gás foi aumentado para 5,5 milhões. Este ajuste foi feito como parte de uma nova fixação de certos opcodes intensivos em I/O em resposta a ataques de negação de serviço (DoS).

- Em julho de 2017, o limite de gás foi aumentado para 6,7 milhões e continuou a aumentar:

– Dezembro de 2017: ~8 milhões

- Setembro de 2019: ~10 milhões

– Agosto de 2020: 12,5 milhões

- Abril de 2021: 15 milhões

Sob o EIP-1559, existe também um limite de gás máximo (ou “teto rígido”), que é definido como o dobro da meta. Isto significa que um bloco pode incluir transações com até 30 milhões de gás.

E por quase quatro anos, não houve aumento no limite de gás de forma alguma.

Será finalmente hora de revisitar o limite de gás?

Para responder a esta pergunta, precisamos analisar três aspectos dos requisitos de hardware: largura de banda, computação e armazenamento, se o limite de gás fosse aumentado para 60 milhões hoje.

Armazenamento

Ao considerar um aumento no limite de gás, o armazenamento destaca-se como o maior gargalo e preocupação para a rede Ethereum. A razão para isso reside no crescimento histórico do tamanho do estado do Ethereum e na tensão contínua que isso coloca sobre os validadores.

Existem dois tipos de “crescimento” na Ethereum:

  • Crescimento do Estado

  • Histórico de Crescimento

Crescimento do Estado

O estado do Ethereum - a coleção de todos os saldos de conta, códigos de contratos inteligentes e armazenamento - continua a expandir-se à medida que mais transações são processadas e contratos inteligentes são implementados. Desde a sua criação, o tamanho do estado cresceu significativamente, com períodos de crescimento acelerado impulsionados pela congestão da rede, aumento da atividade de transações e o surgimento das finanças descentralizadas (DeFi) e NFTs. Atualmente, o crescimento do estado é de aproximadamente 2,5 GB por mês, ou 30 GB por ano.

Este crescimento do estado pode levar aos seguintes problemas:

- Tempos de acesso mais lentos ao disco

- Requisitos de hardware aumentados

No entanto, no momento da escrita, nenhum desses problemas é particularmente significativo. Na verdade, a diferença no tempo de acesso entre sistemas de armazenamento que diferem apenas por algumas dezenas de gigabytes é bastante desprezível devido à complexidade algorítmica das consultas, que é tipicamente logarítmica. Os requisitos de armazenamento também são insignificantes, pois o custo de novo hardware está diminuindo a uma taxa que supera em muito o crescimento relativamente pequeno no tamanho do estado de 30 GB por ano. Mesmo se aumentado para 60 GB/ano, a diferença provavelmente não se destacaria e ainda seria superada pelo progresso tecnológico em hardware de qualquer maneira.

Crescimento histórico

Essa aumento no tamanho do estado ainda é superado pelo progresso tecnológico por uma margem significativa. Mesmo que o limite de gás dobrasse, o custo do hardware continua diminuindo exponencialmente, tornando o hardware necessário mais barato ao longo do tempo.

No entanto, vale a pena notar que em breve, os stakers individuais precisarão de mais de 2 TB de armazenamento para executar um validador no Ethereum. Isso elevará efetivamente o requisito para 4 TB de armazenamento, já que a maioria do hardware é vendida em potências de dois. Paradoxalmente, isso significa que o Ethereum pode muito bem fazer uso do armazenamento adicional, uma vez que os validadores já precisariam investir em hardware de maior capacidade, independentemente de o limite de gás ser aumentado ou não.

NOTA: Não há análise média vs pior caso no armazenamento porque manipular consistentemente blocos por um longo período de tempo (semanas e meses) é um empreendimento extremamente caro.

Custo de armazenamento ao longo do tempo

Para justificar as minhas afirmações de que o custo de armazenamento tem vindo a diminuir a taxas exponenciais, podemos analisar as flutuações de preços em USD de 1 GB de SSD ao longo dos últimos quatro anos:

Desculpe pela má qualidade, mas a publicação de onde eu a tirei estava assim

Parece que a cada dois anos, o custo de 1 GB de SSD tende a diminuir pela metade.

Se compararmos isso com o crescimento do armazenamento e do estado, a diferença é insignificante. O crescimento atual do Ethereum é linear, enquanto os custos de hardware tendem a diminuir em uma taxa exponencial.

Encontrei um gráfico mais revelador sobre esta tendência com custos de armazenamento, mas é de uma postagem do Reddit e não de uma publicação científica real (embora os resultados coincidam).

Largura de banda

O caso médio para largura de banda no Ethereum parece algo em torno de 2MB/s; no entanto, a maior parte desse número vem dos blocos de gossiping do CL e dos aggreGates. Quando se trata de aumentar o limite de gás, a única coisa a se observar é o tamanho do bloco.

Atualmente, o tamanho máximo do bloco registrado é de 270 KB, e o tamanho atual do bloco após o Deneb é de 75 KB. Se dobrássemos isso, a mudança seria equivalente a um aumento de 0,5-2 blobs em comparação com o máximo histórico e a média atual, o que seria equivalente a um aumento de ≈ 2-5% na largura de banda do nó (entrando e saindo). Portanto, no caso médio, não é uma mudança significativa. Na verdade, três blobs adicionais seriam muito mais prejudiciais.

Pior caso com o dobro do Limite de Gás

O pior caso foi calculado em 1,7 MB, que se tornaria 3,4 MB (+50% de largura de banda necessária para o pico). Isto não é muito, mas ainda é significativo. A razão pela qual eu acho que isso não é muito é que tal DoS seria bastante caro e o pico seria de +50% dos requisitos médios atuais, que é algo já contabilizado. Como eu estava dizendo, encher blocos no valor de 15 milhões de gás até a borda para muitos blocos sucessivos é muito caro. Assim, mesmo que um invasor pudesse potencialmente lançar um DoS por alguns blocos, ele teria que gastar uma quantidade significativa de dinheiro fazendo isso. Além disso, eles teriam que competir com outras transações para entrar no bloco, o que torna isso ainda mais caro.

De qualquer forma, independentemente das opiniões sobre os números, um aumento no custo de calldata resolveria completamente esse problema, então não estou preocupado com isso de qualquer forma. Além disso, se o limite de gás for aumentado por meio do EIP-7783, esses riscos são insignificantes e controláveis.

Computation

O cálculo e os tempos de bloco nunca foram um problema desde o início, mas aqui vamos nós.

Caso médio

O caso médio para computação em bloco é geralmente de <1 segundo, mesmo para máquinas lentas com discos defeituosos. Não há muito o que discutir aqui – em média, esse nunca foi o gargalo.

Caso pior

O pior caso parece não ser claro e depende do cliente. Depois de conversar com algumas equipes de clientes, parece que o consenso é que o único problema seria que alguns opcodes não escalam bem (como o MODEXP).

No entanto, quaisquer vetores de DoS aqui podem ser corrigidos com uma nova fixação de preços e, se o aumento do limite de gás for feito com EIP-7783, então esses riscos são negligenciáveis.

Conclusão

Em geral, parece que o crescimento do armazenamento não é o gargalo para aumentar o limite de gás, já que o hardware, como o armazenamento, é fácil de atualizar. No entanto, a largura de banda representa uma ameaça maior, pois é muito mais difícil de dimensionar. Felizmente, com o EIP-7783, os riscos relacionados à largura de banda e possíveis aumentos na computação são efetivamente mitigados. No entanto, pode ser prudente reprovar o custo do calldata para garantir segurança adicional (embora, na minha opinião, não seja provável que seja necessário).

Na minha opinião pessoal, é possível atualmente aumentar o Limite de Gás em 33% ou mesmo duplicá-lo hoje se feito com o aumento gradual introduzido EIP-7783.

Acho que ainda é muito cedo para fazer isso através do EIP-7782, porque isso seria punitivo para DVT e SSF. No entanto, uma vez que esses problemas forem resolvidos - uma diminuição nos tempos de slot é definitivamente necessária.

Aviso legal:

  1. Este artigo foi reproduzido a partir de [erigon].Encaminhe o Título Original 'Estamos finalmente prontos para um aumento do limite de gás?'. Todos os direitos autorais pertencem ao autor original [Giulio Rebuffo]. Se houver objeções a esta reimpressão, contacte o Gate Learn equipe, e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: Os pontos de vista e opiniões expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Análise do Limite de Gás do Ethereum

Avançado10.03
Este artigo discute a possibilidade e o impacto do aumento do limite de gás do Ethereum. A análise abrange três aspectos: armazenamento, largura de banda e computação. O artigo aponta que o crescimento do armazenamento não é o principal gargalo, enquanto a largura de banda pode representar um desafio maior. O autor acredita que, por meio do mecanismo de aumento gradual da EIP-7783, é possível aumentar o limite de gás em 33% ou até dobrá-lo. Ao mesmo tempo, o artigo também discute o impacto potencial da EIP-7782 (redução do tempo de bloco), sugerindo que sua implementação possa ser prematura nesta fase.
Análise do Limite de Gás do Ethereum

Encaminhar o Título Original 'Estamos finalmente prontos para um aumento do limite de gás?'

Tem havido uma crescente discussão em torno da possibilidade de aumentar o throughput de gás do Ethereum, quer seja aumentando o limite de gás ou reduzindo o tempo de slot. O principal argumento a favor disso é que os requisitos de hardware para executar um validador têm diminuído constantemente ao longo dos últimos quatro anos.

Além disso, surgiram 2 abordagens para aumentar o Limite de Gás:

  • EIP-7782: Uma redução no tempo de bloco no protocolo Ethereum
  • EIP-7783: Um mecanismo baseado em "aumento gradual" para aumentar lentamente o Limite de Gás ao longo do tempo.

Neste post, analisarei os possíveis piores cenários e cenários médios em largura de banda, computação e requisitos de armazenamento se o limite de gás fosse dobrado.

Recapitulação da história do Ethereum com o limite de gás

Quando o Ethereum foi lançado em 2015, o limite de gás foi inicialmente definido como 5,000 gás por bloco. Ao longo do tempo, este limite viu mudanças significativas:

  • 2016: O limite de gás foi aumentado pela primeira vez para cerca de 3 milhões e, mais tarde, no mesmo ano, foi aumentado novamente para aproximadamente 4,7 milhões.

– Após o hard fork Tangerine Whistle e mais especificamente a implementação do EIP-150, o limite de gás foi aumentado para 5,5 milhões. Este ajuste foi feito como parte de uma nova fixação de certos opcodes intensivos em I/O em resposta a ataques de negação de serviço (DoS).

- Em julho de 2017, o limite de gás foi aumentado para 6,7 milhões e continuou a aumentar:

– Dezembro de 2017: ~8 milhões

- Setembro de 2019: ~10 milhões

– Agosto de 2020: 12,5 milhões

- Abril de 2021: 15 milhões

Sob o EIP-1559, existe também um limite de gás máximo (ou “teto rígido”), que é definido como o dobro da meta. Isto significa que um bloco pode incluir transações com até 30 milhões de gás.

E por quase quatro anos, não houve aumento no limite de gás de forma alguma.

Será finalmente hora de revisitar o limite de gás?

Para responder a esta pergunta, precisamos analisar três aspectos dos requisitos de hardware: largura de banda, computação e armazenamento, se o limite de gás fosse aumentado para 60 milhões hoje.

Armazenamento

Ao considerar um aumento no limite de gás, o armazenamento destaca-se como o maior gargalo e preocupação para a rede Ethereum. A razão para isso reside no crescimento histórico do tamanho do estado do Ethereum e na tensão contínua que isso coloca sobre os validadores.

Existem dois tipos de “crescimento” na Ethereum:

  • Crescimento do Estado

  • Histórico de Crescimento

Crescimento do Estado

O estado do Ethereum - a coleção de todos os saldos de conta, códigos de contratos inteligentes e armazenamento - continua a expandir-se à medida que mais transações são processadas e contratos inteligentes são implementados. Desde a sua criação, o tamanho do estado cresceu significativamente, com períodos de crescimento acelerado impulsionados pela congestão da rede, aumento da atividade de transações e o surgimento das finanças descentralizadas (DeFi) e NFTs. Atualmente, o crescimento do estado é de aproximadamente 2,5 GB por mês, ou 30 GB por ano.

Este crescimento do estado pode levar aos seguintes problemas:

- Tempos de acesso mais lentos ao disco

- Requisitos de hardware aumentados

No entanto, no momento da escrita, nenhum desses problemas é particularmente significativo. Na verdade, a diferença no tempo de acesso entre sistemas de armazenamento que diferem apenas por algumas dezenas de gigabytes é bastante desprezível devido à complexidade algorítmica das consultas, que é tipicamente logarítmica. Os requisitos de armazenamento também são insignificantes, pois o custo de novo hardware está diminuindo a uma taxa que supera em muito o crescimento relativamente pequeno no tamanho do estado de 30 GB por ano. Mesmo se aumentado para 60 GB/ano, a diferença provavelmente não se destacaria e ainda seria superada pelo progresso tecnológico em hardware de qualquer maneira.

Crescimento histórico

Essa aumento no tamanho do estado ainda é superado pelo progresso tecnológico por uma margem significativa. Mesmo que o limite de gás dobrasse, o custo do hardware continua diminuindo exponencialmente, tornando o hardware necessário mais barato ao longo do tempo.

No entanto, vale a pena notar que em breve, os stakers individuais precisarão de mais de 2 TB de armazenamento para executar um validador no Ethereum. Isso elevará efetivamente o requisito para 4 TB de armazenamento, já que a maioria do hardware é vendida em potências de dois. Paradoxalmente, isso significa que o Ethereum pode muito bem fazer uso do armazenamento adicional, uma vez que os validadores já precisariam investir em hardware de maior capacidade, independentemente de o limite de gás ser aumentado ou não.

NOTA: Não há análise média vs pior caso no armazenamento porque manipular consistentemente blocos por um longo período de tempo (semanas e meses) é um empreendimento extremamente caro.

Custo de armazenamento ao longo do tempo

Para justificar as minhas afirmações de que o custo de armazenamento tem vindo a diminuir a taxas exponenciais, podemos analisar as flutuações de preços em USD de 1 GB de SSD ao longo dos últimos quatro anos:

Desculpe pela má qualidade, mas a publicação de onde eu a tirei estava assim

Parece que a cada dois anos, o custo de 1 GB de SSD tende a diminuir pela metade.

Se compararmos isso com o crescimento do armazenamento e do estado, a diferença é insignificante. O crescimento atual do Ethereum é linear, enquanto os custos de hardware tendem a diminuir em uma taxa exponencial.

Encontrei um gráfico mais revelador sobre esta tendência com custos de armazenamento, mas é de uma postagem do Reddit e não de uma publicação científica real (embora os resultados coincidam).

Largura de banda

O caso médio para largura de banda no Ethereum parece algo em torno de 2MB/s; no entanto, a maior parte desse número vem dos blocos de gossiping do CL e dos aggreGates. Quando se trata de aumentar o limite de gás, a única coisa a se observar é o tamanho do bloco.

Atualmente, o tamanho máximo do bloco registrado é de 270 KB, e o tamanho atual do bloco após o Deneb é de 75 KB. Se dobrássemos isso, a mudança seria equivalente a um aumento de 0,5-2 blobs em comparação com o máximo histórico e a média atual, o que seria equivalente a um aumento de ≈ 2-5% na largura de banda do nó (entrando e saindo). Portanto, no caso médio, não é uma mudança significativa. Na verdade, três blobs adicionais seriam muito mais prejudiciais.

Pior caso com o dobro do Limite de Gás

O pior caso foi calculado em 1,7 MB, que se tornaria 3,4 MB (+50% de largura de banda necessária para o pico). Isto não é muito, mas ainda é significativo. A razão pela qual eu acho que isso não é muito é que tal DoS seria bastante caro e o pico seria de +50% dos requisitos médios atuais, que é algo já contabilizado. Como eu estava dizendo, encher blocos no valor de 15 milhões de gás até a borda para muitos blocos sucessivos é muito caro. Assim, mesmo que um invasor pudesse potencialmente lançar um DoS por alguns blocos, ele teria que gastar uma quantidade significativa de dinheiro fazendo isso. Além disso, eles teriam que competir com outras transações para entrar no bloco, o que torna isso ainda mais caro.

De qualquer forma, independentemente das opiniões sobre os números, um aumento no custo de calldata resolveria completamente esse problema, então não estou preocupado com isso de qualquer forma. Além disso, se o limite de gás for aumentado por meio do EIP-7783, esses riscos são insignificantes e controláveis.

Computation

O cálculo e os tempos de bloco nunca foram um problema desde o início, mas aqui vamos nós.

Caso médio

O caso médio para computação em bloco é geralmente de <1 segundo, mesmo para máquinas lentas com discos defeituosos. Não há muito o que discutir aqui – em média, esse nunca foi o gargalo.

Caso pior

O pior caso parece não ser claro e depende do cliente. Depois de conversar com algumas equipes de clientes, parece que o consenso é que o único problema seria que alguns opcodes não escalam bem (como o MODEXP).

No entanto, quaisquer vetores de DoS aqui podem ser corrigidos com uma nova fixação de preços e, se o aumento do limite de gás for feito com EIP-7783, então esses riscos são negligenciáveis.

Conclusão

Em geral, parece que o crescimento do armazenamento não é o gargalo para aumentar o limite de gás, já que o hardware, como o armazenamento, é fácil de atualizar. No entanto, a largura de banda representa uma ameaça maior, pois é muito mais difícil de dimensionar. Felizmente, com o EIP-7783, os riscos relacionados à largura de banda e possíveis aumentos na computação são efetivamente mitigados. No entanto, pode ser prudente reprovar o custo do calldata para garantir segurança adicional (embora, na minha opinião, não seja provável que seja necessário).

Na minha opinião pessoal, é possível atualmente aumentar o Limite de Gás em 33% ou mesmo duplicá-lo hoje se feito com o aumento gradual introduzido EIP-7783.

Acho que ainda é muito cedo para fazer isso através do EIP-7782, porque isso seria punitivo para DVT e SSF. No entanto, uma vez que esses problemas forem resolvidos - uma diminuição nos tempos de slot é definitivamente necessária.

Aviso legal:

  1. Este artigo foi reproduzido a partir de [erigon].Encaminhe o Título Original 'Estamos finalmente prontos para um aumento do limite de gás?'. Todos os direitos autorais pertencem ao autor original [Giulio Rebuffo]. Se houver objeções a esta reimpressão, contacte o Gate Learn equipe, e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: Os pontos de vista e opiniões expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!