put()
método com o hash BLOB e uma taxa em ETH. A taxa será distribuída gradualmente aos provedores de armazenamento ao enviar uma prova válida de armazenamento de BLOBs off-chain ao longo do tempo. A rede de teste EthStorage está em execução na rede de teste Ethereum Sepolia com vários participantes da comunidade provando com sucesso seu armazenamento local.Agradecimento: Muito obrigado a Piper Merriam da EF, Karthik Raju da Polychain, Qiang da EthStorage por fornecerem feedback do artigo.
Em 22 de outubro de 2023, Péter Szilágyi, o renomado líder de desenvolvimento do Go-Ethereum (Geth), expressou suas profundas preocupações no Twitter. Ele apontou que, enquanto os clientes Geth preservam todos os dados históricos, outros clientes Ethereum como Nethermind e Besu podem ser configurados para operar sem determinados dados históricos do Ethereum, como corpos e cabeçalhos de blocos históricos. Isso torna todos os clientes inconsistentes e é injusto para o Geth. Isso desencadeou intensas discussões e debates em torno do problema de armazenamento do Ethereum no roadmap do Ethereum.
Por que Nethermind e Besu optam por parar de armazenar dados históricos? Quais problemas estão por trás dessa decisão? Na minha perspectiva, existem duas causas raiz principais:
A primeira razão decorre das crescentes demandas de armazenamento para executar um cliente Ethereum. Para aprofundar nos requisitos específicos, o gráfico de pizza a seguir ilustra a distribuição dos custos de armazenamento para um novo nó Geth, a partir do bloco 18.779.761 em 13 de dezembro de 2023.
Como a imagem mostra:
A segunda razão é a ausência de incentivos ou penalidades in-protocolo para armazenar blocos históricos. Embora o protocolo exija que os nós armazenem todos os dados históricos, ele falha em fornecer qualquer mecanismo para incentivar o armazenamento ou penalizar a falta de conformidade. Armazenar e compartilhar dados históricos pelos nós se torna puramente altruísta, e um nó tem liberdade para podar todos os dados históricos sem enfrentar quaisquer consequências adversas. Em contraste, os validadores, por exemplo, devem manter o estado completo mais recente para evitar propor/votar em um bloco inválido, arriscando a perda de incentivos em qualquer caso.
Consequentemente, quando o custo de armazenamento se torna um fardo substancial para um nó, não é surpreendente que alguns operadores de nó optem por podar dados históricos. Optar por executar sem dados históricos pode resultar em economias significativas de custos de armazenamento, reduzindo de aproximadamente 1TB para cerca de 300GB.
Ilustração: A configuração do Nethermined para executar um nó sem os corpos de bloco históricos - economizando ~460GB de custo de armazenamento no momento.
O desafio do armazenamento deve se intensificar com a próxima atualização de Disponibilidade de Dados (DA) do Ethereum. caminhoO caminho rumo à escalabilidade total do Ethereum DA começa com o EIP-4844 em DenCun, introduzindo um objeto binário grande de tamanho fixo (BLOB) acompanhado por um modelo de taxa independente conhecido como blobGasPrice. Cada BLOB é definido em 128KB, e o EIP-4844 permite que cada bloco contenha até 6 BLOBs. Para aprimorar a escalabilidade de dados, o plano envolve a implementação do código 1D Reed-Solomon, permitindo inicialmente 32 BLOBs por bloco e eventualmente alcançando 256 BLOBs por bloco na escalabilidade total.
Com o Ethereum DA operando com capacidade total de dados com 256 BLOBs por bloco, um ano da rede Ethereum DA é projetado para aceitar aproximadamente 80 TB de dados, superando as capacidades de armazenamento da maioria dos nós Ethereum.
Vitalik’stweetdo roteiro do Ethereum, no qual o Purge lida principalmente com armazenamento.
Os crescentes custos de armazenamento têm chamado a atenção de pesquisadores dentro do ecossistema Ethereum. Para lidar com isso e garantir alinhamento entre todos os clientes, várias propostas estão em desenvolvimento para podar explicitamente o armazenamento. As duas principais propostas são:
Qual é a consequência de podar dados históricos de todos os clientes? A principal é que um nó novo não pode sincronizar com o estado mais recente via “sincronização completa” - uma sincronização para retransmitir as transações desde o bloco de gênese até o bloco mais recente. Em vez disso, temos que recorrer a uma “sincronização rápida” ou “sincronização de estado” para sincronizar o estado mais recente a partir dos pares do Ethereum. Esta abordagem já está implementada no Geth e é executada como a sincronização padrão.
Da mesma forma, essa consequência também se aplica a todos os L2s, ou seja, um novo nó de L2 não pode reproduzir totalmente o estado mais recente da gênese L2 do Ethereum reproduzindo blocos L2 da gênese L2. Além disso, como os nós L1 não mantêm o estado L2, a abordagem de "snap sync" para L2 não pode derivar o estado L2 mais recente de L1 - quebrando uma suposição L2 importante de herdar garantias de segurança Ethereum. A solução projetada contará com serviços de 3ª parte, como os próprios projetos Infura / Etherscan / L2 para armazenar uma cópia de dados históricos L2 ou estado, que é centralizado com incentivo indireto fora do protocolo.
As perguntas centrais que estamos fazendo são
A rede Ethereum Portal serve como uma rede de acesso leve e descentralizada ao protocolo Ethereum. Oferecendo a interface JSON-RPC do Ethereum, como eth_call, eth_getBlockByNumber, ela traduz solicitações JSON-RPC em solicitações P2P para uma tabela de hash distribuída, semelhante à rede IPFS. Ao contrário do IPFS, que permite o armazenamento de qualquer tipo de dados e é suscetível a spam, a rede P2P do Portal hospeda exclusivamente dados do Ethereum, como cabeçalhos e corpos históricos. Isso é alcançado por meio de uma técnica de verificação de cliente leve incorporada dentro da rede Portal.
Uma característica significativa da rede Portal é o seu design para operação leve e compatibilidade com dispositivos com recursos limitados. Pode ser executado em cima de um nó com alguns megabytes de armazenamento e baixa memória, promovendo a descentralização. Até mesmo um celular ou um dispositivo Raspberry Pi pode potencialmente se juntar à rede e contribuir para a disponibilidade de dados do Ethereum.
O desenvolvimento da rede Portal está alinhado com a filosofia de diversidade de clientes Ethereum, com clientes escritos em Rust, JavaScript, Nim e Go. A rede de faróis e a rede de histórico estão prontas para uso, enquanto a rede de estado está ativamente em desenvolvimento. Notavelmente, a rede Portal não fornece incentivos diretos para armazenamento de dados - todos os nós na rede operam de forma altruística.
Ilustração: Executando uma rede Portal (Trin) com um limite de armazenamento de 100MB.
A rede EthStorage é uma rede de armazenamento incentivada descentralizada, projetada especificamente para armazenar BLOBs EIP-4844, com suporte de uma bolsa do programa ESP.
Do ponto de vista da modularidade blockchain, o EthStorage funciona como uma camada 2 do Ethereum, mas cobra taxas de armazenamento em vez de taxas de transação. Ao indexar hashes BLOB on-chain, o EthStorage é uma camada de armazenamento modular do Ethereum com escalabilidade de armazenamento significativa e economia de custos - visando cerca de 1000x.
Em termos de desenvolvimento, EthStorage já está integrado com EIP-4844 na rede de testes Ethereum Sepolia. Um teste de estresse em EthStorage e na rede de testes Ethereum Sepolia foi conduzido, envolvendo a escrita de aproximadamente centenas de Gigabytes de BLOBs no EthStorage. Mais de 50 participantes da comunidade se juntaram à rede e provaram com sucesso seus armazenamentos locais.
A principal vantagem da rede EthStorage reside em fornecer um incentivo direto e descentralizado sobre o Ethereum - uma característica pioneira, até onde se estende nosso conhecimento atual. No entanto, uma limitação da rede é que ela é especificamente projetada para BLOBs de tamanho fixo.
O painel do EthStorage na Ethereum Devnet
O armazenamento do Ethereum, embora menos destacado, tem uma importância significativa dentro do ecossistema do Ethereum. À medida que a rede Ethereum está passando por um crescimento rápido, o armazenamento e a acessibilidade dos dados do Ethereum surgem como desafios críticos. Embora a rede Portal e a rede EthStorage estejam em seus estágios iniciais, visualizamos várias direções intrigantes para o longo prazo:
Em nossa busca, aspiramos que esses esforços contribuam coletivamente para o roteiro do Ethereum, lançando as bases para futuras soluções de armazenamento descentralizado dentro do ecossistema do Ethereum.
Este artigo é reproduzido a partir de [fluxo de tecnologia profunda na maré], o título original é “Ethereum Storage Roadmap: Desafios e Oportunidades”, os direitos autorais pertencem ao autor original [EthStorage], se você tiver alguma objeção à reprodução, entre em contatoEquipe Gate Learn, a equipe lidará com isso o mais rápido possível de acordo com os procedimentos relevantes.
Aviso Legal: As visões e opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem nenhum conselho de investimento.
Outras versões do artigo são traduzidas pela equipe da Gate Learn, não mencionadas emGate.io, o artigo traduzido não pode ser reproduzido, distribuído ou plagiado.
put()
método com o hash BLOB e uma taxa em ETH. A taxa será distribuída gradualmente aos provedores de armazenamento ao enviar uma prova válida de armazenamento de BLOBs off-chain ao longo do tempo. A rede de teste EthStorage está em execução na rede de teste Ethereum Sepolia com vários participantes da comunidade provando com sucesso seu armazenamento local.Agradecimento: Muito obrigado a Piper Merriam da EF, Karthik Raju da Polychain, Qiang da EthStorage por fornecerem feedback do artigo.
Em 22 de outubro de 2023, Péter Szilágyi, o renomado líder de desenvolvimento do Go-Ethereum (Geth), expressou suas profundas preocupações no Twitter. Ele apontou que, enquanto os clientes Geth preservam todos os dados históricos, outros clientes Ethereum como Nethermind e Besu podem ser configurados para operar sem determinados dados históricos do Ethereum, como corpos e cabeçalhos de blocos históricos. Isso torna todos os clientes inconsistentes e é injusto para o Geth. Isso desencadeou intensas discussões e debates em torno do problema de armazenamento do Ethereum no roadmap do Ethereum.
Por que Nethermind e Besu optam por parar de armazenar dados históricos? Quais problemas estão por trás dessa decisão? Na minha perspectiva, existem duas causas raiz principais:
A primeira razão decorre das crescentes demandas de armazenamento para executar um cliente Ethereum. Para aprofundar nos requisitos específicos, o gráfico de pizza a seguir ilustra a distribuição dos custos de armazenamento para um novo nó Geth, a partir do bloco 18.779.761 em 13 de dezembro de 2023.
Como a imagem mostra:
A segunda razão é a ausência de incentivos ou penalidades in-protocolo para armazenar blocos históricos. Embora o protocolo exija que os nós armazenem todos os dados históricos, ele falha em fornecer qualquer mecanismo para incentivar o armazenamento ou penalizar a falta de conformidade. Armazenar e compartilhar dados históricos pelos nós se torna puramente altruísta, e um nó tem liberdade para podar todos os dados históricos sem enfrentar quaisquer consequências adversas. Em contraste, os validadores, por exemplo, devem manter o estado completo mais recente para evitar propor/votar em um bloco inválido, arriscando a perda de incentivos em qualquer caso.
Consequentemente, quando o custo de armazenamento se torna um fardo substancial para um nó, não é surpreendente que alguns operadores de nó optem por podar dados históricos. Optar por executar sem dados históricos pode resultar em economias significativas de custos de armazenamento, reduzindo de aproximadamente 1TB para cerca de 300GB.
Ilustração: A configuração do Nethermined para executar um nó sem os corpos de bloco históricos - economizando ~460GB de custo de armazenamento no momento.
O desafio do armazenamento deve se intensificar com a próxima atualização de Disponibilidade de Dados (DA) do Ethereum. caminhoO caminho rumo à escalabilidade total do Ethereum DA começa com o EIP-4844 em DenCun, introduzindo um objeto binário grande de tamanho fixo (BLOB) acompanhado por um modelo de taxa independente conhecido como blobGasPrice. Cada BLOB é definido em 128KB, e o EIP-4844 permite que cada bloco contenha até 6 BLOBs. Para aprimorar a escalabilidade de dados, o plano envolve a implementação do código 1D Reed-Solomon, permitindo inicialmente 32 BLOBs por bloco e eventualmente alcançando 256 BLOBs por bloco na escalabilidade total.
Com o Ethereum DA operando com capacidade total de dados com 256 BLOBs por bloco, um ano da rede Ethereum DA é projetado para aceitar aproximadamente 80 TB de dados, superando as capacidades de armazenamento da maioria dos nós Ethereum.
Vitalik’stweetdo roteiro do Ethereum, no qual o Purge lida principalmente com armazenamento.
Os crescentes custos de armazenamento têm chamado a atenção de pesquisadores dentro do ecossistema Ethereum. Para lidar com isso e garantir alinhamento entre todos os clientes, várias propostas estão em desenvolvimento para podar explicitamente o armazenamento. As duas principais propostas são:
Qual é a consequência de podar dados históricos de todos os clientes? A principal é que um nó novo não pode sincronizar com o estado mais recente via “sincronização completa” - uma sincronização para retransmitir as transações desde o bloco de gênese até o bloco mais recente. Em vez disso, temos que recorrer a uma “sincronização rápida” ou “sincronização de estado” para sincronizar o estado mais recente a partir dos pares do Ethereum. Esta abordagem já está implementada no Geth e é executada como a sincronização padrão.
Da mesma forma, essa consequência também se aplica a todos os L2s, ou seja, um novo nó de L2 não pode reproduzir totalmente o estado mais recente da gênese L2 do Ethereum reproduzindo blocos L2 da gênese L2. Além disso, como os nós L1 não mantêm o estado L2, a abordagem de "snap sync" para L2 não pode derivar o estado L2 mais recente de L1 - quebrando uma suposição L2 importante de herdar garantias de segurança Ethereum. A solução projetada contará com serviços de 3ª parte, como os próprios projetos Infura / Etherscan / L2 para armazenar uma cópia de dados históricos L2 ou estado, que é centralizado com incentivo indireto fora do protocolo.
As perguntas centrais que estamos fazendo são
A rede Ethereum Portal serve como uma rede de acesso leve e descentralizada ao protocolo Ethereum. Oferecendo a interface JSON-RPC do Ethereum, como eth_call, eth_getBlockByNumber, ela traduz solicitações JSON-RPC em solicitações P2P para uma tabela de hash distribuída, semelhante à rede IPFS. Ao contrário do IPFS, que permite o armazenamento de qualquer tipo de dados e é suscetível a spam, a rede P2P do Portal hospeda exclusivamente dados do Ethereum, como cabeçalhos e corpos históricos. Isso é alcançado por meio de uma técnica de verificação de cliente leve incorporada dentro da rede Portal.
Uma característica significativa da rede Portal é o seu design para operação leve e compatibilidade com dispositivos com recursos limitados. Pode ser executado em cima de um nó com alguns megabytes de armazenamento e baixa memória, promovendo a descentralização. Até mesmo um celular ou um dispositivo Raspberry Pi pode potencialmente se juntar à rede e contribuir para a disponibilidade de dados do Ethereum.
O desenvolvimento da rede Portal está alinhado com a filosofia de diversidade de clientes Ethereum, com clientes escritos em Rust, JavaScript, Nim e Go. A rede de faróis e a rede de histórico estão prontas para uso, enquanto a rede de estado está ativamente em desenvolvimento. Notavelmente, a rede Portal não fornece incentivos diretos para armazenamento de dados - todos os nós na rede operam de forma altruística.
Ilustração: Executando uma rede Portal (Trin) com um limite de armazenamento de 100MB.
A rede EthStorage é uma rede de armazenamento incentivada descentralizada, projetada especificamente para armazenar BLOBs EIP-4844, com suporte de uma bolsa do programa ESP.
Do ponto de vista da modularidade blockchain, o EthStorage funciona como uma camada 2 do Ethereum, mas cobra taxas de armazenamento em vez de taxas de transação. Ao indexar hashes BLOB on-chain, o EthStorage é uma camada de armazenamento modular do Ethereum com escalabilidade de armazenamento significativa e economia de custos - visando cerca de 1000x.
Em termos de desenvolvimento, EthStorage já está integrado com EIP-4844 na rede de testes Ethereum Sepolia. Um teste de estresse em EthStorage e na rede de testes Ethereum Sepolia foi conduzido, envolvendo a escrita de aproximadamente centenas de Gigabytes de BLOBs no EthStorage. Mais de 50 participantes da comunidade se juntaram à rede e provaram com sucesso seus armazenamentos locais.
A principal vantagem da rede EthStorage reside em fornecer um incentivo direto e descentralizado sobre o Ethereum - uma característica pioneira, até onde se estende nosso conhecimento atual. No entanto, uma limitação da rede é que ela é especificamente projetada para BLOBs de tamanho fixo.
O painel do EthStorage na Ethereum Devnet
O armazenamento do Ethereum, embora menos destacado, tem uma importância significativa dentro do ecossistema do Ethereum. À medida que a rede Ethereum está passando por um crescimento rápido, o armazenamento e a acessibilidade dos dados do Ethereum surgem como desafios críticos. Embora a rede Portal e a rede EthStorage estejam em seus estágios iniciais, visualizamos várias direções intrigantes para o longo prazo:
Em nossa busca, aspiramos que esses esforços contribuam coletivamente para o roteiro do Ethereum, lançando as bases para futuras soluções de armazenamento descentralizado dentro do ecossistema do Ethereum.
Este artigo é reproduzido a partir de [fluxo de tecnologia profunda na maré], o título original é “Ethereum Storage Roadmap: Desafios e Oportunidades”, os direitos autorais pertencem ao autor original [EthStorage], se você tiver alguma objeção à reprodução, entre em contatoEquipe Gate Learn, a equipe lidará com isso o mais rápido possível de acordo com os procedimentos relevantes.
Aviso Legal: As visões e opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem nenhum conselho de investimento.
Outras versões do artigo são traduzidas pela equipe da Gate Learn, não mencionadas emGate.io, o artigo traduzido não pode ser reproduzido, distribuído ou plagiado.