put()
método com o hash BLOB e uma taxa em ETH. A taxa será gradualmente distribuída aos provedores de armazenamento após a apresentação de uma prova válida de armazenamento de BLOBs off-chain ao longo do tempo. A testnet EthStorage está em execução na testnet 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 fornecer 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 certos 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 dentro do roteiro do Ethereum.
Por que Nethermind e Besu optam por parar de armazenar dados históricos? Quais são os problemas subjacentes a esta decisão? Do meu ponto de vista, existem duas causas raiz principais:
A primeira razão decorre das crescentes exigências de armazenamento para executar um cliente Ethereum. Para aprofundar os requisitos específicos, o seguinte gráfico de pizza 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 no protocolo para armazenar blocos históricos. Embora o protocolo exija que os nós armazenem todos os dados históricos, não fornece nenhum mecanismo para incentivar o armazenamento ou penalizar a não conformidade. Armazenar e compartilhar dados históricos pelos nós torna-se puramente altruístico, e um nó é livre 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 ambos os casos.
Consequentemente, quando o custo de armazenamento se torna um fardo substancial para um nó, não é surpreendente que alguns operadores de nós optem por podar os 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 Nethermined para executar um nó sem corpos de bloco históricos - economizando cerca de ~460GB de custo de armazenamento no momento.
Espera-se que o desafio do armazenamento se intensifique com a próxima atualização de Disponibilidade de Dados (DA) do Ethereum. O caminhoO caminho para a 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 melhorar a escalabilidade de dados, o plano envolve a implementação do código Reed-Solomon 1D, permitindo inicialmente 32 BLOBs por bloco e eventualmente atingindo 256 BLOBs por bloco na escalabilidade total.
Com o Ethereum DA a operar a plena capacidade de dados com 256 BLOBs por bloco, prevê-se que a rede Ethereum DA aceite aproximadamente 80 TB de dados num ano, ultrapassando as capacidades de armazenamento da maioria dos nós Ethereum.
Vitalik’stweetdo roteiro do Ethereum, em que o Purge lida principalmente com armazenamento.
Os custos crescentes de armazenamento têm chamado a atenção dos investigadores dentro do ecossistema Ethereum. Para lidar com isso e garantir a harmonização entre todos os clientes, várias propostas estão em desenvolvimento para podar explicitamente o armazenamento. As duas propostas principais 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 reexecutar as transações a partir do bloco gênesis 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 dos pares 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ó do L2 não pode reproduzir totalmente o estado mais recente do L2 desde o início do Ethereum, reproduzindo os blocos do L2 desde o início do L2. Além disso, como os nós L1 não mantêm o estado do L2, a abordagem de "snap sync" para o L2 não pode derivar o estado mais recente do L2 do L1 - quebra uma importante suposição do L2 de herdar as garantias de segurança do Ethereum. A solução projetada dependerá de serviços de terceiros, como Infura / Etherscan / os próprios projetos L2, para armazenar uma cópia dos dados ou do estado histórico do L2, que é centralizado com incentivo indireto fora do protocolo.
As questões centrais que estamos a fazer são
A rede Portal Ethereum funciona como uma rede de acesso leve e descentralizada ao protocolo Ethereum. Oferecendo a interface JSON-RPC do Ethereum, como eth_call, eth_getBlockByNumber, traduz pedidos JSON-RPC em pedidos 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 embutida de clientes leves 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 pouca memória, promovendo a descentralização. Até mesmo um celular ou um dispositivo Raspberry Pi pode potencialmente juntar-se à rede e contribuir para a disponibilidade de dados do Ethereum.
O desenvolvimento da rede Portal está alinhado com a filosofia de diversidade de clientes do Ethereum, com clientes escritos em Rust, JavaScript, Nim e Go. A rede de beacon e a rede de histórico estão prontas para uso, enquanto a rede de estado está ativamente em desenvolvimento. É importante destacar que 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: Executar uma rede Portal (Trin) com um limite de armazenamento de 100MB.
A rede EthStorage é uma rede de armazenamento descentralizada incentivada, especificamente projetada para armazenar BLOBs EIP-4844, apoiada por uma bolsa do programa ESP.
Do ponto de vista da modularidade da blockchain, o EthStorage funciona como uma Ethereum Layer 2, 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 significativa de armazenamento 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 realizado, envolvendo a gravação de aproximadamente centenas de gigabytes de BLOBs em 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 descentralizado e direto sobre o Ethereum - uma característica pioneira, até onde se estende o nosso conhecimento atual. No entanto, uma limitação da rede é que ela é especificamente projetada para BLOBs de tamanho fixo.
O painel de EthStorage na Ethereum Devnet
Armazenamento do Ethereum, embora menos destacado, tem uma importância significativa dentro do ecossistema do Ethereum. À medida que a rede Ethereum está a experienciar um crescimento rápido, o armazenamento e a acessibilidade dos dados do Ethereum emergem como desafios críticos. Embora a rede Portal e a rede EthStorage estejam nos seus estágios iniciais, vislumbramos várias direções intrigantes a longo prazo:
Na nossa busca, aspiramos que esses esforços contribuam coletivamente para o roteiro do Ethereum, estabelecendo as bases para futuras soluções de armazenamento descentralizado dentro do ecossistema do Ethereum.
Este artigo é reproduzido a partir de [fluxo tecnológico profundo maré], o título original é “Roteiro de Armazenamento do Ethereum: Desafios e Oportunidades”, os direitos autorais pertencem ao autor original [EthStorage], se tiver alguma objeção à reimpressão, por favor entre em contatoEquipa Gate Learn, a equipa irá tratar do assunto o mais breve possível, de acordo com os procedimentos relevantes.
Aviso legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer conselho de investimento.
Outras versões do artigo em outros idiomas são traduzidas pela equipe Gate Learn, não mencionadas emGateO 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á gradualmente distribuída aos provedores de armazenamento após a apresentação de uma prova válida de armazenamento de BLOBs off-chain ao longo do tempo. A testnet EthStorage está em execução na testnet 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 fornecer 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 certos 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 dentro do roteiro do Ethereum.
Por que Nethermind e Besu optam por parar de armazenar dados históricos? Quais são os problemas subjacentes a esta decisão? Do meu ponto de vista, existem duas causas raiz principais:
A primeira razão decorre das crescentes exigências de armazenamento para executar um cliente Ethereum. Para aprofundar os requisitos específicos, o seguinte gráfico de pizza 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 no protocolo para armazenar blocos históricos. Embora o protocolo exija que os nós armazenem todos os dados históricos, não fornece nenhum mecanismo para incentivar o armazenamento ou penalizar a não conformidade. Armazenar e compartilhar dados históricos pelos nós torna-se puramente altruístico, e um nó é livre 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 ambos os casos.
Consequentemente, quando o custo de armazenamento se torna um fardo substancial para um nó, não é surpreendente que alguns operadores de nós optem por podar os 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 Nethermined para executar um nó sem corpos de bloco históricos - economizando cerca de ~460GB de custo de armazenamento no momento.
Espera-se que o desafio do armazenamento se intensifique com a próxima atualização de Disponibilidade de Dados (DA) do Ethereum. O caminhoO caminho para a 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 melhorar a escalabilidade de dados, o plano envolve a implementação do código Reed-Solomon 1D, permitindo inicialmente 32 BLOBs por bloco e eventualmente atingindo 256 BLOBs por bloco na escalabilidade total.
Com o Ethereum DA a operar a plena capacidade de dados com 256 BLOBs por bloco, prevê-se que a rede Ethereum DA aceite aproximadamente 80 TB de dados num ano, ultrapassando as capacidades de armazenamento da maioria dos nós Ethereum.
Vitalik’stweetdo roteiro do Ethereum, em que o Purge lida principalmente com armazenamento.
Os custos crescentes de armazenamento têm chamado a atenção dos investigadores dentro do ecossistema Ethereum. Para lidar com isso e garantir a harmonização entre todos os clientes, várias propostas estão em desenvolvimento para podar explicitamente o armazenamento. As duas propostas principais 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 reexecutar as transações a partir do bloco gênesis 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 dos pares 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ó do L2 não pode reproduzir totalmente o estado mais recente do L2 desde o início do Ethereum, reproduzindo os blocos do L2 desde o início do L2. Além disso, como os nós L1 não mantêm o estado do L2, a abordagem de "snap sync" para o L2 não pode derivar o estado mais recente do L2 do L1 - quebra uma importante suposição do L2 de herdar as garantias de segurança do Ethereum. A solução projetada dependerá de serviços de terceiros, como Infura / Etherscan / os próprios projetos L2, para armazenar uma cópia dos dados ou do estado histórico do L2, que é centralizado com incentivo indireto fora do protocolo.
As questões centrais que estamos a fazer são
A rede Portal Ethereum funciona como uma rede de acesso leve e descentralizada ao protocolo Ethereum. Oferecendo a interface JSON-RPC do Ethereum, como eth_call, eth_getBlockByNumber, traduz pedidos JSON-RPC em pedidos 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 embutida de clientes leves 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 pouca memória, promovendo a descentralização. Até mesmo um celular ou um dispositivo Raspberry Pi pode potencialmente juntar-se à rede e contribuir para a disponibilidade de dados do Ethereum.
O desenvolvimento da rede Portal está alinhado com a filosofia de diversidade de clientes do Ethereum, com clientes escritos em Rust, JavaScript, Nim e Go. A rede de beacon e a rede de histórico estão prontas para uso, enquanto a rede de estado está ativamente em desenvolvimento. É importante destacar que 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: Executar uma rede Portal (Trin) com um limite de armazenamento de 100MB.
A rede EthStorage é uma rede de armazenamento descentralizada incentivada, especificamente projetada para armazenar BLOBs EIP-4844, apoiada por uma bolsa do programa ESP.
Do ponto de vista da modularidade da blockchain, o EthStorage funciona como uma Ethereum Layer 2, 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 significativa de armazenamento 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 realizado, envolvendo a gravação de aproximadamente centenas de gigabytes de BLOBs em 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 descentralizado e direto sobre o Ethereum - uma característica pioneira, até onde se estende o nosso conhecimento atual. No entanto, uma limitação da rede é que ela é especificamente projetada para BLOBs de tamanho fixo.
O painel de EthStorage na Ethereum Devnet
Armazenamento do Ethereum, embora menos destacado, tem uma importância significativa dentro do ecossistema do Ethereum. À medida que a rede Ethereum está a experienciar um crescimento rápido, o armazenamento e a acessibilidade dos dados do Ethereum emergem como desafios críticos. Embora a rede Portal e a rede EthStorage estejam nos seus estágios iniciais, vislumbramos várias direções intrigantes a longo prazo:
Na nossa busca, aspiramos que esses esforços contribuam coletivamente para o roteiro do Ethereum, estabelecendo as bases para futuras soluções de armazenamento descentralizado dentro do ecossistema do Ethereum.
Este artigo é reproduzido a partir de [fluxo tecnológico profundo maré], o título original é “Roteiro de Armazenamento do Ethereum: Desafios e Oportunidades”, os direitos autorais pertencem ao autor original [EthStorage], se tiver alguma objeção à reimpressão, por favor entre em contatoEquipa Gate Learn, a equipa irá tratar do assunto o mais breve possível, de acordo com os procedimentos relevantes.
Aviso legal: As opiniões expressas neste artigo representam apenas as opiniões pessoais do autor e não constituem qualquer conselho de investimento.
Outras versões do artigo em outros idiomas são traduzidas pela equipe Gate Learn, não mencionadas emGateO artigo traduzido não pode ser reproduzido, distribuído ou plagiado.