Paradigma: Uma explicação detalhada da história Ethereum subir problemas e suas soluções

Autores originais: Storm Slivkoff, Georgios Konstantopoulos

Compilação original: Luffy, Foresight News

História subir crescimento é atualmente o maior gargalo na expansão Ethereum. Surpreendentemente, a subir histórica tornou-se um problema maior do que o Estado subir. Dentro de alguns anos, os dados históricos excederão longo Ethereum Nó capacidade de armazenamento.

Aqui está a boa notícia:

  • A subir histórica é um problema muito mais fácil de resolver do que a subir estatal.
  • A solução já está em desenvolvimento ativo.
  • Abordar a subir histórica aliviará as questões de subir do Estado.

Neste post, continuaremos a olhar para o Ethereum problema de escalonamento na Parte 1 e agora voltaremos nossa atenção do estado subir para o subir histórico. Usando conjuntos de dados granulares, nossos objetivos são 1) entender tecnicamente os gargalos de escala do Ethereum e 2) ajudar a abrir a discussão em torno da solução ideal para os limites de gás do Ethereum.

O que é a subir Histórica?

Histórico é a coleção de todos os blocos e transações executadas por Ethereum ao longo de sua vida útil, e são todos os dados desde o Bloco de Génesis até o Bloco atual. O crescimento histórico é o subir de novos blocos e novas transações ao longo do tempo.

A Figura 1 mostra a relação entre subir histórico e várias métricas de protocolo e Ethereum Nó restrições de hardware. Em comparação com o subir de estado, os subir históricos são limitados por um conjunto diferente de restrições de hardware. A subir histórica pressiona a E/S da rede, pois novas Bloco e transações devem ser transmitidas por toda a rede. Os subir históricos também podem pressionar Nó curto de armazenamento, já que cada Ethereum Nó armazena uma cópia completa do histórico. Se a taxa histórica de subir for rápida o suficiente para exceder esses limites de hardware, o Nó mais longo não será capaz de alcançar Consenso estáveis com seu Nó. Para obter uma visão geral do subir de estado e outros gargalos de dimensionamento, consulte a Parte 1 desta série.

Paradigm:详解以太坊历史增长问题及其解决方案

Figura 1: Gargalo de dimensionamento de Ethereum

Até recentemente, a maior parte da taxa de transferência da rede por nó era usada para transferir o histórico (como novos blocos e transações). Isso mudou com a introdução de bolhas na Hard Fork de Dencun. blobs agora conta para uma grande parte da atividade de rede Nó. No entanto, os blobs não são considerados parte do histórico porque 1) eles só são armazenados pelos nós por 2 semanas e depois descartados, e 2) eles não precisam repetir dados desde o início do Ethereum. Devido a (1), os blobs não aumentam significativamente a carga de armazenamento por Ethereum Nó. Falaremos sobre blobs mais adiante neste artigo.

Neste artigo, focaremos a subir histórica e discutiremos a relação entre história e Estado. Como subir de estado e subir histórico têm algumas restrições de hardware sobrepostas, eles são problemas relacionados, e resolver um problema pode ajudar a resolver o outro.

Quão rápido é a história subir longo?

A Figura 2 mostra a taxa de subir histórica desde a criação do Ethereum. Cada linha vertical representa a subir de um mês. O eixo y representa o número de k exabytes de subir históricos naquele mês. As transações são categorizadas por seu "Endereço de destino" e usam bytes RLP() para indicar o tamanho. Os contratos que não podem ser facilmente identificados são classificados como "desconhecidos". A categoria "Outros" inclui uma série de subcategorias, como infraestrutura e jogos.

Paradigm:详解以太坊历史增长问题及其解决方案

Figura 2: Ethereum taxa de subir histórica ao longo do tempo

Algumas das principais conclusões do gráfico acima:

  • A taxa de subir histórica é 6 a 8 vezes mais rápida do que a subir estadual: A taxa de subir histórica atingiu recentemente um pico de 36,0 GiB/mês e atualmente é de 19,3 GiB/mês. A taxa de subir estadual atingiu um pico de cerca de 6,0 GiB/mês e atualmente é de 2,5 GiB/mês. Uma comparação do histórico e do estado em termos de subir e tamanho cumulativo será descrita mais adiante neste artigo.
  • Antes de Decun, a taxa de subir histórica vinha acelerando: enquanto o estado tinha sido aproximadamente linear subir por longo anos (ver Parte 1), a história era subir superlinear. Considerando que a taxa de subir de um subir linear resulta em uma subir quadrática da escala global, a taxa de subir de um subir superlinear resulta em um tamanho global superior ao subir quadrático. Esta aceleração para abruptamente após Dencun. Esta é a primeira vez que Ethereum experimenta um Gota significativo na taxa de subir histórica.
  • A maioria dos subir históricos recentes vem de Rollups: cada L2 publica uma cópia de sua transação de volta para Rede principal. Isso gerou uma grande quantidade de subir históricos e levou o Rollup a ser o contribuinte mais significativo para o crescimento histórico no ano passado. No entanto, o Dencun permite que o L2 publique seus dados de transação usando blobs em vez de histórico, para que os Rollups não gerem mais longo maior parte do histórico Ethereum. Abordaremos os Rollups com mais detalhes mais adiante neste artigo.

Quem é o maior contribuinte para a subir histórica de Ethereum?

O número histórico de diferentes classes de contrato geradas revela como os padrões de uso do Ethereum evoluíram ao longo do tempo. A Figura 3 mostra as contribuições relativas das várias categorias de contratos. Isso é normalizado para os mesmos dados da Figura 2.

Paradigm:详解以太坊历史增长问题及其解决方案

Figura 3: Contribuição de diferentes classes contratuais para a subir histórica

Estes dados revelam quatro períodos diferentes de Ethereum padrões de utilização:

  • Precoce (roxo): Houve pouca atividade na cadeia nos primeiros anos de Ethereum. Grande longo destes contratos iniciais são agora difíceis de identificar e estão marcados como "desconhecidos" no gráfico.
  • ERC-20 era (verde): O padrão ERC-20 foi finalizado no final de 2015, mas não ganhou desenvolvimento significativo até 2017 e 2018. ERC-20 contratos se tornaram a maior fonte de subir histórica em 2019.
  • DEX / Finanças Descentralizadas Era (Brown): DEX e Finanças Descentralizadas contratos apareceram no na cadeia já em 2016 e começaram a ganhar força em 2017. Mas foi apenas no verão de Finanças Descentralizadas 2020 que eles se tornaram a maior categoria de subir de todos os tempos. Finanças Descentralizadas e DEX contratos representaram mais de 50% do subir de todos os tempos em parte de 2021 e 2022.
  • Rollup Era (Gray): No início de 2023, os L2 Rollups começaram a executar transações mais longo do que Rede principal. Nos meses principal até Dencun, eles geraram cerca de 2/3 da história de Ethereum.

Cada época representa um padrão de uso de Ethereum mais complexo do que nunca. Com o tempo, a complexidade pode ser vista como uma forma de escalonamento Ethereum, que não pode ser medida por métricas simples, como transações por segundo.

No mês de dados mais recente (abril de 2024), os Rollups não produzem mais longo maior parte do histórico. Não está claro se a história futura se origina de DEXs e Finanças Descentralizadas, ou se alguns novos padrões de uso surgirão.

E as bolhas?

O Dencun Hard Fork mudou drasticamente a dinâmica histórica ascendente introduzindo blobs, permitindo que rollups publiquem dados usando blobs baratos em vez de histórico. A Figura 4 amplifica o subir histórico antes e depois da atualização de Dencun. O gráfico é semelhante à Figura 2, exceto que cada linha vertical representa um dia em vez de um mês.

Paradigm:详解以太坊历史增长问题及其解决方案

Figura 4 O impacto do :D encun na subir histórica

A partir deste gráfico, podemos tirar várias conclusões-chave:

  • O subir histórico de rollups caiu cerca de 2/3 desde Dencun: grandes longo rollups foram convertidos de dados de chamada para blobs, o que reduz muito a quantidade de histórico que eles geram. No entanto, a partir de abril de 2024, ainda existem alguns rollups que ainda não foram convertidos de dados de chamada para blobs.
  • Total de subir de todos os tempos caiu cerca de 1/3 desde Dencun: Dencun só Gota o subir de todos os tempos de rollups. Houve um ligeiro aumento no subir histórico para outras categorias de contratos. Mesmo depois de Dencun, a subir histórica ainda é 8 vezes maior do que o estado subir (veja a próxima seção para detalhes).

Embora os blobs tenham Gota velocidade subir histórica, eles ainda são uma nova característica do Ethereum. Não está claro em que nível a velocidade subir histórica se estabilizará na presença de bolhas.

É longo histórico rápido subir aceitável?

O aumento do limite máximo de gás aumentará a taxa de subir histórica. Portanto, propostas para aumentar o limite de gás, como o Pump the Gas, devem levar em conta a relação entre subir históricos e os gargalos de hardware de cada Nó.

Para determinar uma taxa de subir histórica aceitável, você deve primeiro entender como longo seu hardware Nó atual pode sustentar longo em termos de rede e armazenamento. O hardware em rede pode ser capaz de manter o status quo indefinidamente, já que é improvável que as taxas de crescimento históricas subir de volta aos seus picos anteriores a Dencun até que gás limites sejam aumentados. No entanto, a carga de armazenamento do histórico aumenta com o tempo. De acordo com a estratégia de armazenamento atual, é inevitável que o disco de armazenamento de cada Nó acabe sendo preenchido com histórico.

A Figura 5 mostra Ethereum Nó carga de armazenamento ao longo do tempo e prevê a subir da carga de armazenamento nos próximos 3 anos. A previsão é baseada na taxa de subir em abril de 2024. Essa taxa de subir pode subir ou diminuir à medida que os padrões de uso futuros ou os limites de gás mudam.

Paradigm:详解以太坊历史增长问题及其解决方案

Figura 5: O tamanho do histórico, do estado e da carga completa de armazenamento do nó

A partir deste gráfico, podemos tirar várias conclusões-chave:

  • A história ocupa aproximadamente 3 vezes os curtos de armazenamento do estado. Esta diferença também aumenta ao longo do tempo, uma vez que o crescimento histórico é cerca de 8 vezes mais rápido do que o Estado.
  • 1,8 TiB é o limiar crítico a partir do qual Xu longo Nó serão forçados a atualizar suas unidades de armazenamento. 2 TB é um tamanho de disco rígido de armazenamento comum, fornecendo apenas 1,8 TiB de shorts utilizáveis. Observe que TB (1 trilhão de bytes) é uma unidade diferente do TiB (= 1024^4 bytes). Para operadores Xu longo Nó, o limiar crítico "verdadeiro" é ainda menor, pois o validador pós-mesclagem deve ser executado ao lado Consenso cliente de execução.
  • O limiar crítico será atingido dentro de 2 a 3 anos. Aumentar o limite de gás em qualquer quantidade acelerará o tempo em conformidade. Atingir esse limite representará uma carga de manutenção significativa para os operadores de Nó e exigirá a compra de hardware adicional (por exemplo, unidades NVME de US$ 300).

Ao contrário dos dados de status, os dados históricos são somente acréscimo e acessados por mais tempo com menos frequência. Portanto, é teoricamente possível armazenar dados históricos separadamente dos dados de estado em um meio de armazenamento mais barato. Isso pode ser conseguido com alguns clientes, como Geth.

Além da capacidade de armazenamento, a E/S da rede é outra grande limitação da subir histórica. Ao contrário da capacidade de armazenamento, os limites de E/S da rede não causarão problemas para os nós no curto prazo, mas esses limites se tornarão importantes para aumentar os limites de gás no futuro.

Para entender como a capacidade de rede de um Ethereum Nó típico pode suporte longo alguns subir históricos, é importante conhecer a relação entre subir históricos e várias métricas de integridade da rede, como taxa de reorganização, falhas de slot, falhas finais, falhas de prova, falhas de comitê de sincronização e Bloco latência de cometimento. A análise dessas métricas está além do escopo deste artigo, mas mais informações longo podem ser encontradas em pesquisas anteriores sobre a integridade da camada de Consenso. Além disso, o projeto Xatu da Fundação Ethereum tem vindo a construir conjuntos de dados públicos para acelerar essa análise.

Como resolver o problema da subir histórica?

A ascensão histórica é um problema muito mais fácil de resolver do que a ascensão do Estado. Pode ser abordada quase inteiramente pela proposta candidata EIP-4444. Este EIP muda a cada Nó de manter todo o Ethereum dados históricos para apenas um ano de dados históricos. Após a implementação do EIP-4444, o armazenamento de dados não será mais longo um gargalo para o dimensionamento de Ethereum e, a longo prazo, limite de gás aumentos não serão restringidos. EIP-4444 é necessário para a sustentabilidade a longo prazo da rede, caso contrário, a taxa histórica de subir será rápida e o hardware da rede Nó precisa ser atualizado regularmente.

A Figura 6 mostra o impacto do EIP-4444 na carga de armazenamento de cada Nó nos próximos 3 anos. Isso é o mesmo que a Figura 4, mas com a adição de uma linha mais rasa para indicar a carga de armazenamento após a implementação do EIP-4444.

Paradigm:详解以太坊历史增长问题及其解决方案

Figura 6: Impacto do EIP-4444 na carga de armazenamento Ethereum Nó

Algumas conclusões importantes podem ser vistas neste gráfico:

  • EIP-4444 irá Reduzir para metade a carga de armazenamento atual. A carga de armazenamento será reduzida de 1,2 TiB para 633 GiB.
  • EIP-4444 estabilizará a carga histórica de armazenamento. Supondo uma taxa de subir histórica constante, os dados históricos são descartados na taxa gerada.
  • Após EIP-4444, levaria mais anos para que a carga de armazenamento Nó chegasse onde está hoje. Isso ocorre porque a subir estadual será o único fator que aumenta a carga de armazenamento, e o estado subir mais lento do que o subir histórico.

Depois que a EIP-4444 for implementada, a subir histórica ainda introduzirá algum nível de carga de armazenamento, pois Nó armazenará um ano de história histórica. No entanto, mesmo que Ethereum atinja uma escala global, este encargo não será difícil de resolver. Uma vez que o método de manutenção do histórico prove ser confiável, o tempo de expiração de um ano para EIP-4444 pode ser reduzido para meses, semanas ou até menos.

Como posso guardar o meu histórico de Ethereum?

EIP-4444 levanta a questão: se a história não é salva pela própria Ethereum Nó, então como deve ser salva? A história desempenha um papel central na verificação, contabilidade e análise de Ethereum, por isso é crucial preservar a história. Felizmente, a manutenção do histórico é uma questão simples que requer apenas 1/n de provedores de dados honestos. Isso contrasta com as questões de Consenso estaduais, que exigem que 1/3 a 2/3 dos participantes sejam honestos. Nó operadores podem verificar a autenticidade dos conjuntos de dados históricos 1) repetindo todas as transações desde o Bloco de Génesis e 2) verificando se essas transações reproduzem a mesma raiz de estado do lado Blockchain atual.

Há maneiras mais longas de salvar a história.

  • Torrents / P2P: Torrents são o método mais fácil e mais confiável. Ethereum Nó pode empacotar parte do histórico regularmente e compartilhá-lo como um arquivo torrent público. Por exemplo, um Nó pode criar um novo arquivo torrent histórico a cada 100.000 blocos. Nó clientes como a Erigons já realizam esse processo de forma um tanto não padronizada. Para padronizar esse processo, todos os clientes Nó devem usar o mesmo formato de dados, os mesmos parâmetros e a mesma rede P2P. Os nós poderão escolher se querem ou não participar dessa rede com base em seus recursos de armazenamento e largura de banda. A vantagem dos Torrents é o uso de altos padrões abertos lindy que já são suportados por um grande número de ferramentas de dados.
  • Portal Network: Portal Network é uma nova rede projetada especificamente para hospedar dados Ethereum. É uma abordagem semelhante ao Torrent, oferecendo também alguns recursos extras que facilitam a validação de dados. A vantagem do Portal Network é que essas camadas adicionais de validação fornecem utilitários aos clientes leves para validar e consultar eficientemente conjuntos de dados compartilhados.
  • Hospedagem em nuvem: serviços de armazenamento em nuvem como o S 3 da AWS ou o R 2 da Cloudflare oferecem uma opção barata e de alto desempenho para manter o histórico. No entanto, esta abordagem introduz riscos jurídicos e operacionais mais longo, uma vez que não há garantia de que estes serviços em nuvem estejam sempre dispostos e capazes de alojar Ativos de criptografia dados.

Os restantes desafios de implementação são mais longo sociais do que técnicos. A comunidade Ethereum precisa coordenar detalhes específicos de implementação a ordem integrá-los diretamente em cada Nó cliente. Em particular, executar uma sincronização completa a partir do Bloco de Génesis (em vez de Instantâneo sincronização) exigirá recuperar o histórico do provedor de histórico em vez do Ethereum Nó. Essas mudanças não exigem tecnicamente um forquilha rígido, por isso podem ser implementadas antes do próximo forquilha duro de Ethereum, o Pectra.

Todos esses métodos de manutenção de histórico também podem ser usados por L2s para armazenar dados de blob que eles publicam para Rede principal. Em comparação com a preservação histórica, a preservação do blob 1) é mais difícil porque a quantidade total de dados é mais longo; 2) Menos importante porque as bolhas não são necessárias para repetir Rede principal história. No entanto, a preservação do blob ainda é necessária para que cada L2 reproduza sua própria história. Portanto, alguma forma de poupança de blob é importante para todo o ecossistema Ethereum. Além disso, se a L2 desenvolver uma infraestrutura robusta de armazenamento de blobs, ela também poderá armazenar facilmente dados históricos de L1.

Pode ser útil comparar diretamente os conjuntos de dados armazenados por várias configurações de Nó antes e depois do EIP-4444. A Figura 7 mostra a carga de armazenamento para diferentes tipos de Ethereum Nó. Os dados de estado são contas e contratos, os dados históricos são Bloco e transações e os dados de arquivo são um conjunto opcional de índices de dados. O número de bytes nesta tabela é baseado no Instantâneo reth mais recente, mas os números para outros clientes Nó devem ser aproximadamente os mesmos.

Paradigm:详解以太坊历史增长问题及其解决方案

Figura 7: Carga de armazenamento para diferentes tipos de Ethereum Nó

Outras palavras

  • Arquivo Nó armazena dados históricos e de estado, bem como dados de arquivo. O Nó de arquivamento pode ser usado quando alguém quiser ser capaz de consultar facilmente o estado da cadeia histórica.
  • Nó completo armazena apenas dados históricos e estaduais. A maioria das longo Nó de hoje são Nó completo. A carga de armazenamento de um nó completo é cerca de metade da de um Nó de arquivamento.
  • Os nós completos após EIP-4444 armazenam apenas dados de estado e dados históricos para o ano mais recente. Isso reduz a carga de armazenamento no Nó de 1,2 TiB para 633 GiB e eleva os curtos de armazenamento para dados históricos para um valor de estado estacionário.
  • Nós sem estado, também conhecidos como "nós leves", não armazenam nenhum conjunto de dados e podem ser verificados imediatamente no final da cadeia. Este tipo de Nó torna-se possível quando as tentativas de Verkle ou outros esquemas de compromisso estatal são adicionados à Ethereum.

Por último, existem PIE adicionais que podem limitar a taxa de subir histórica, e não apenas acomodar a taxa de subir atual. Isso ajuda a permanecer dentro das restrições de E/S da rede no curto prazo e restrições de armazenamento no longo prazo. Embora a EIP-4444 continue a ser necessária para a sustentabilidade a longo prazo da rede, estas outras PEI contribuirão para Ethereum escala mais eficiente no futuro:

  • EIP-7623: Redefinição de preços de dados de chamadas para tornar algumas transações com dados de chamadas de saudade mais caras. Tornar esses padrões de uso mais caros forçará alguns deles a converter de dados de chamada para blobs. Isso Gota taxa de subir histórica.
  • EIP-4488: Impõe um limite para a quantidade total de dados de chamada que podem ser incluídos em cada bloco. Isso vai impor um limite mais apertado à taxa de subir da história.

Essas EIPs são mais fáceis de implementar do que EIP-4444, portanto, podem servir como opções de curto prazo antes que o EIP-4444 entre em produção.

Conclusão

O objetivo deste artigo é usar dados para entender 1) como funciona a subir histórica e 2) maneiras de resolver esse problema. Muitos dos dados longo neste artigo são difíceis de obter através de meios tradicionais, por isso queríamos expor esses dados para fornecer alguns novos insights sobre questões históricas subir.

Historicamente subir como um gargalo para a expansão Ethereum, não foi dada atenção suficiente a ele. Mesmo sem aumentar o limite de gás, Ethereum convenções atuais de manutenção da história forçarão Xu longo Nó a atualizar seu hardware dentro de alguns anos. Felizmente, este não é um problema difícil de resolver. Já existe uma solução clara no EIP-4444. Consideramos que a implementação deste EIP deve ser acelerada para permitir curtos para futuros aumentos do limite máximo de gás.

Link para o artigo original

Ver original
  • Recompensa
  • Comentar
  • Partilhar
Comentar
Nenhum comentário