A evolução em direção à verificabilidade trivial

Avançado11/29/2024, 3:11:12 AM
Neste artigo, iremos abordar os três principais tipos de nós que moldarão o futuro da rede Ethereum: nós sem estado, nós com estado e nós completos/arquivados. Iremos examinar como os nós sem estado podem permitir a verificação confiável de novos blocos usando provas de conhecimento zero, como os nós com estado podem fornecer acesso rápido e confiável ao estado atual do Ethereum e como os nós completos/arquivados podem armazenar todo o histórico da cadeia desde o início.

À medida que a rede Ethereum continua a evoluir e amadurecer, o conceito de diferentes tipos de nós torna-se cada vez mais importante de entender. No entanto, a realidade é que a maioria dos usuários não está disposta a se esforçar para executar um nó, apesar dos requisitos de hardware serem alcançáveis para muitos. No "fim do jogo" do desenvolvimento do Ethereum, é crucial que os usuários possam verificar a integridade do estado e a disponibilidade de dados sem exigir amplo conhecimento técnico ou recursos. Um blockchain sem verificabilidade é, afinal, apenas um banco de dados ineficiente.

Neste artigo, passaremos pelos três principais tipos de nós que moldarão o futuro da rede Ethereum: nós sem estado, nós com estado e nós completos/arquivados. Examinaremos como os nós sem estado podem possibilitar a verificação sem confiança de novos blocos usando provas de conhecimento zero, como os nós com estado podem fornecer acesso rápido e sem confiança ao estado atual do Ethereum, e como os nós completos/arquivados podem armazenar toda a história da cadeia até o início. Ao entender os papéis e as compensações de cada tipo de nó, podemos trabalhar rumo a um ecossistema Ethereum mais descentralizado, seguro e escalável.

Nós do Gate.io somos especialistas em Stateful Nodes

Como já vimos hoje, a maioria dos usuários não está disposta a colocar muito esforço em executar qualquer tipo de nó, mesmo que para o Bitcoin e Ethereum os requisitos de hardware sejam alcançáveis para a maioria dos usuários pesados ​​dessas cadeias. "Usuário pesado" aqui é definido como alguém com um tamanho decente de ativos na cadeia, pense nisso como qualquer usuário em que o custo de executar um nó não seja o bloqueador.

A principal razão é provavelmente uma combinação do fato de que a grande maioria dos usuários não se importa em fazê-lo, não está disposta a gastar alguns $100 no hardware ou não possui o conhecimento técnico sobre como executá-lo. Mesmo que tanto o Bitcoin quanto o Ethereum tenham feito grandes avanços para torná-lo mais fácil. Ainda é uma tarefa bastante complexa para um usuário não técnico.

Uma Visão para um Ethereum sem Estado

Eu sou da opinião de que no “Endgame” de cada blockchain, os usuários terão que verificar a integridade do estado e a disponibilidade de dados sem que eles necessariamente tenham que saber o que são essas coisas. A boa notícia é que essa visão é totalmente alcançável com engenharia suficiente (tecnologia de conhecimento zero e um pouco deamostragem de disponibilidade de dados).

Neste jogo final, basicamente todas as carteiras que valem a pena usar terão um nó sem estado que, para cada novo bloco adicionado à cadeia, pode consultar qualquer nó completo na camada p2p para obter o último cabeçalho de bloco e uma prova de conhecimento zero de que as alterações de estado do cabeçalho de bloco anterior foram executadas corretamente, solicitar algumas amostras de dados aleatórios de alguns pares para obter uma confiança próxima de 100% de que todos os dados (blobs e dados de bloco de execução) foram publicados e também uma prova de conhecimento zero que prova que a rede chegou a um consenso e finalizou o bloco.

A largura de banda/computação para fazer isso é muito pequena e pode ser totalmente feita em um telefone (ou até mesmo em um smartwatch como@drakefjustin""> @drakefjustin adora mencionar). Esse tipo de nó mencionado acima seria classificado como um tipo de nó "sem estado", uma vez que o nó pode verificar novos blocos sem precisar do estado atual localmente e, em vez disso, depender de diferentes tipos de provas para verificar novos blocos.

Essas provas não precisam ser zk-proofs. Teremos validação sem estado da execução muito antes de podermos fazer o que descrevi acima com zk-proofs para execução. Na verdade, a execução sem estado pode ser feita hoje, mas é MUITO ineficiente com a estrutura atual de Merkle-Patricia-Tree, as provas de testemunha são muito grandes para serem práticas. (ver @peter_szilagyi's tweet).

Veja o tamanho do "testemunho" aqui. Este é o principal problema em que a execução sem estado se depara com a árvore Merkle-Patricia atual, muitos dos blocos nesta captura de tela estão bem abaixo de 100kb e a prova necessária para permitir a verificação sem estado é frequentemente mais de 50 vezes maior do que o próprio bloco.

Estrutura MPT do Ethereum

No entanto, Ethereum irá atualizar sua estrutura de árvore de estado para algo diferente da estrutura atual de árvore Merkle-Patricia no futuro. Muitos de vocês podem ter ouvido falar sobre as árvores Verkle que estão no roteiro há anos (se não, leiam nosso artigo -Árvores Verkle Para o Resto de Nós: Parte 1). Eles permitiriam a criação de clientes sem estado que são práticos, já que a natureza da estrutura da árvore Verkle permite testemunhas/provas muito pequenas.

Merkle tree vs. Verkle trees

Um grande problema que as árvores Verkle têm é que elas não são seguras em relação a quântica, isso significa que elas serão, no máximo, uma solução temporária até que uma solução permanente para a estrutura da árvore de estado esteja madura e/ou eficiente o suficiente. A solução final provavelmente será uma árvore de hash binária comprovada por STARK e é muito possível que as árvores Verkle sejam ignoradas em favor de alguma variante de uma árvore de hash binária comprovada por STARK. (meme relevante de @VitalikButerin)

Uma opção muito interessante que um nó sem estado pode ter é a opção de não ser completamente sem estado. Como exemplo, seria possível armazenar localmente o estado que você considera relevante para o seu caso de uso (supondo que seu cliente suporte essa funcionalidade).

Diga que você tem seus ativos espalhados por alguns endereços, ativos e protocolos DeFi, você poderia, nesse caso, ter o estado de tudo o que é relevante para o seu caso de uso escrito no disco localmente, enquanto usa apenas uma quantidade trivialmente pequena de espaço em disco. Mesmo acompanhando o estado inteiro de vários grandes protocolos DeFi seria apenas alguns gigabytes e considerando que basicamente todos os telefones mais novos são enviados com 128gb+ de armazenamento, não é apenas possível, mas potencialmente prático para um usuário manter todo o estado que eles acham útil escrito no armazenamento flash de seu telefone celular.

(Breve nota sobre clientes leves: Em um mundo onde clientes sem estado podem verificar eficientemente transições de estado e consenso trivialmente, sinto que realmente não haverá um caso de uso para cliente leve tradicional que depende de uma suposição de maioria honesta.)

Nós de Estado Final

Os nós stateful mantêm apenas o estado atual e muito recente, eles eliminam tudo o que é mais antigo do que uma certa idade (veja oeip-4444proposta). O estado atual é necessário para construir blocos localmente e a construção local de blocos é algo que nós nodes sem estado são incapazes de fazer.

Nodes stateful não devem ser confundidos com nós “completos”, uma vez que um nó stateful não armazenará todo o histórico da cadeia, pois isso se tornará muito intensivo em dados no futuro. Um nó stateful é útil para qualquer usuário que deseje acesso rápido e confiável ao estado atual do Ethereum, seja para consultar dados do estado, construir blocos ou usar esse tipo de nó para staking.

Preservar a possibilidade de executar nós com estado em hardware de consumidor é um objetivo muito importante que eu acredito que nós na comunidade Ethereum devemos preservar, mesmo quando os nós sem estado são muito leves e maduros. Uma das principais razões para isso é que todos os nós sem estado dependem de nós com estado para criar a testemunha necessária para a validação sem estado de novos blocos.

Ter acesso ao estado atual também é necessário para saber se uma transação que está na mempool é válida ou não e, portanto, é muito importante que tenhamos um conjunto muito descentralizado de nós com estado na rede que possa garantir garantias de resistência à censura muito fortes com algum tipo de design de lista de inclusão.

A boa notícia é que, com a expiração do estado, podemos tornar significativamente mais fácil executar um nó com estado, pois o estado com o qual ninguém interagiu por um tempo pode ser eliminado do disco do nó. Qualquer pessoa que queira interagir com um estado que tenha expirado terá que trazer uma testemunha (essencialmente uma prova de Merkle) para trazer o estado expirado de volta ao estado atual. Qualquer pessoa com acesso ao histórico da cadeia pode, de maneira confiável, construir esses tipos de provas para trazer de volta o estado expirado. No momento em que este texto foi escrito, o estado do Ethereum está se aproximando de 300 GB e, até que alguma forma de expiração de estado seja implementada, o tamanho do estado continuará a crescer em uma tendência mais ou menos somente para cima.

(Aquié um artigo muito bom de@paradigmque aprofunda o tópico do crescimento do estado e do vencimento do estado)

Nós completos/nós de arquivo

Para os propósitos deste artigo, vou agrupar nós completos e nós de arquivamento juntos, uma vez que um nó completo normal pode, com as informações que ele gravou no disco localmente, calcular todos os dados que um nó de arquivamento gravou no disco. A diferença é que um nó completo poda o estado que não é mais o estado mais recente. Você não pode consultar, por exemplo, 'qual era o saldo ETH da conta X no bloco Y cerca de 5 anos atrás' de um nó completo normal, enquanto um nó de arquivamento responderia a essa consulta em um milissegundo.

Guia Fácil sobre Ethereum Full Node Vs Archive Node por @0xZeeve

Dito isso, é teoricamente possível computar a resposta para essa consulta a partir dos dados que um nó completo gravou no disco (todo o histórico da cadeia), mas não muitos clientes de execução suportam essa funcionalidade. Acredito que seja irracional pensar que muitos usuários, mesmo os sofisticados, executarão um nó completo/arquivístico em, digamos, 10 anos. Para que essa seja uma opção razoável, teríamos que limitar a taxa de transferência do L1 a níveis completamente irrazoáveis, quando podemos obter uma taxa de transferência muito maior no L1 com trade-offs mínimos. Quando a maioria dos usuários puder verificar facilmente novos blocos com uma prova de zk, acredito que seja um trade-off que vale a pena buscar quando os benefícios são tão grandes.

Talvez possamos obter Execution-clients que sejam capazes de rodar eficientemente em HDD e torná-lo prático armazenar até mesmo 100s de TB de estado arquivado de forma relativamente barata. Isso poderia permitir que os usuários que, por qualquer motivo, queiram arquivar toda a Ethereum o façam, eu sei que um dos objetivos do Erigon é permitir a execução de um nó de arquivamento completo em HDD.

Uma Nova Era para o Ethereum

No final, o futuro do Ethereum será moldado pelos nós que compõem sua rede. Ao abraçar nós sem estado como a opção mais realista para a maioria dos usuários, mas ainda sendo pragmáticos e percebendo o valor de uma forte presença de nós com estado, e nós completos/arquivados na rede, podemos criar um equilíbrio perfeito entre descentralização, segurança e escalabilidade que beneficia todos os usuários.

Aviso Legal:

  1. Este artigo é reproduzido de [2077 Pesquisa)]. Todos os direitos autorais pertencem ao autor original [@centauridoteth]. Se houver objeções a este reenvio, entre em contato com o Gate Learnequipe e eles lidarão com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. A equipe de aprendizado da Gate traduziu o artigo para outros idiomas. Copiar, distribuir ou plagiar os artigos traduzidos é proibido, a menos que mencionado.

A evolução em direção à verificabilidade trivial

Avançado11/29/2024, 3:11:12 AM
Neste artigo, iremos abordar os três principais tipos de nós que moldarão o futuro da rede Ethereum: nós sem estado, nós com estado e nós completos/arquivados. Iremos examinar como os nós sem estado podem permitir a verificação confiável de novos blocos usando provas de conhecimento zero, como os nós com estado podem fornecer acesso rápido e confiável ao estado atual do Ethereum e como os nós completos/arquivados podem armazenar todo o histórico da cadeia desde o início.

À medida que a rede Ethereum continua a evoluir e amadurecer, o conceito de diferentes tipos de nós torna-se cada vez mais importante de entender. No entanto, a realidade é que a maioria dos usuários não está disposta a se esforçar para executar um nó, apesar dos requisitos de hardware serem alcançáveis para muitos. No "fim do jogo" do desenvolvimento do Ethereum, é crucial que os usuários possam verificar a integridade do estado e a disponibilidade de dados sem exigir amplo conhecimento técnico ou recursos. Um blockchain sem verificabilidade é, afinal, apenas um banco de dados ineficiente.

Neste artigo, passaremos pelos três principais tipos de nós que moldarão o futuro da rede Ethereum: nós sem estado, nós com estado e nós completos/arquivados. Examinaremos como os nós sem estado podem possibilitar a verificação sem confiança de novos blocos usando provas de conhecimento zero, como os nós com estado podem fornecer acesso rápido e sem confiança ao estado atual do Ethereum, e como os nós completos/arquivados podem armazenar toda a história da cadeia até o início. Ao entender os papéis e as compensações de cada tipo de nó, podemos trabalhar rumo a um ecossistema Ethereum mais descentralizado, seguro e escalável.

Nós do Gate.io somos especialistas em Stateful Nodes

Como já vimos hoje, a maioria dos usuários não está disposta a colocar muito esforço em executar qualquer tipo de nó, mesmo que para o Bitcoin e Ethereum os requisitos de hardware sejam alcançáveis para a maioria dos usuários pesados ​​dessas cadeias. "Usuário pesado" aqui é definido como alguém com um tamanho decente de ativos na cadeia, pense nisso como qualquer usuário em que o custo de executar um nó não seja o bloqueador.

A principal razão é provavelmente uma combinação do fato de que a grande maioria dos usuários não se importa em fazê-lo, não está disposta a gastar alguns $100 no hardware ou não possui o conhecimento técnico sobre como executá-lo. Mesmo que tanto o Bitcoin quanto o Ethereum tenham feito grandes avanços para torná-lo mais fácil. Ainda é uma tarefa bastante complexa para um usuário não técnico.

Uma Visão para um Ethereum sem Estado

Eu sou da opinião de que no “Endgame” de cada blockchain, os usuários terão que verificar a integridade do estado e a disponibilidade de dados sem que eles necessariamente tenham que saber o que são essas coisas. A boa notícia é que essa visão é totalmente alcançável com engenharia suficiente (tecnologia de conhecimento zero e um pouco deamostragem de disponibilidade de dados).

Neste jogo final, basicamente todas as carteiras que valem a pena usar terão um nó sem estado que, para cada novo bloco adicionado à cadeia, pode consultar qualquer nó completo na camada p2p para obter o último cabeçalho de bloco e uma prova de conhecimento zero de que as alterações de estado do cabeçalho de bloco anterior foram executadas corretamente, solicitar algumas amostras de dados aleatórios de alguns pares para obter uma confiança próxima de 100% de que todos os dados (blobs e dados de bloco de execução) foram publicados e também uma prova de conhecimento zero que prova que a rede chegou a um consenso e finalizou o bloco.

A largura de banda/computação para fazer isso é muito pequena e pode ser totalmente feita em um telefone (ou até mesmo em um smartwatch como@drakefjustin""> @drakefjustin adora mencionar). Esse tipo de nó mencionado acima seria classificado como um tipo de nó "sem estado", uma vez que o nó pode verificar novos blocos sem precisar do estado atual localmente e, em vez disso, depender de diferentes tipos de provas para verificar novos blocos.

Essas provas não precisam ser zk-proofs. Teremos validação sem estado da execução muito antes de podermos fazer o que descrevi acima com zk-proofs para execução. Na verdade, a execução sem estado pode ser feita hoje, mas é MUITO ineficiente com a estrutura atual de Merkle-Patricia-Tree, as provas de testemunha são muito grandes para serem práticas. (ver @peter_szilagyi's tweet).

Veja o tamanho do "testemunho" aqui. Este é o principal problema em que a execução sem estado se depara com a árvore Merkle-Patricia atual, muitos dos blocos nesta captura de tela estão bem abaixo de 100kb e a prova necessária para permitir a verificação sem estado é frequentemente mais de 50 vezes maior do que o próprio bloco.

Estrutura MPT do Ethereum

No entanto, Ethereum irá atualizar sua estrutura de árvore de estado para algo diferente da estrutura atual de árvore Merkle-Patricia no futuro. Muitos de vocês podem ter ouvido falar sobre as árvores Verkle que estão no roteiro há anos (se não, leiam nosso artigo -Árvores Verkle Para o Resto de Nós: Parte 1). Eles permitiriam a criação de clientes sem estado que são práticos, já que a natureza da estrutura da árvore Verkle permite testemunhas/provas muito pequenas.

Merkle tree vs. Verkle trees

Um grande problema que as árvores Verkle têm é que elas não são seguras em relação a quântica, isso significa que elas serão, no máximo, uma solução temporária até que uma solução permanente para a estrutura da árvore de estado esteja madura e/ou eficiente o suficiente. A solução final provavelmente será uma árvore de hash binária comprovada por STARK e é muito possível que as árvores Verkle sejam ignoradas em favor de alguma variante de uma árvore de hash binária comprovada por STARK. (meme relevante de @VitalikButerin)

Uma opção muito interessante que um nó sem estado pode ter é a opção de não ser completamente sem estado. Como exemplo, seria possível armazenar localmente o estado que você considera relevante para o seu caso de uso (supondo que seu cliente suporte essa funcionalidade).

Diga que você tem seus ativos espalhados por alguns endereços, ativos e protocolos DeFi, você poderia, nesse caso, ter o estado de tudo o que é relevante para o seu caso de uso escrito no disco localmente, enquanto usa apenas uma quantidade trivialmente pequena de espaço em disco. Mesmo acompanhando o estado inteiro de vários grandes protocolos DeFi seria apenas alguns gigabytes e considerando que basicamente todos os telefones mais novos são enviados com 128gb+ de armazenamento, não é apenas possível, mas potencialmente prático para um usuário manter todo o estado que eles acham útil escrito no armazenamento flash de seu telefone celular.

(Breve nota sobre clientes leves: Em um mundo onde clientes sem estado podem verificar eficientemente transições de estado e consenso trivialmente, sinto que realmente não haverá um caso de uso para cliente leve tradicional que depende de uma suposição de maioria honesta.)

Nós de Estado Final

Os nós stateful mantêm apenas o estado atual e muito recente, eles eliminam tudo o que é mais antigo do que uma certa idade (veja oeip-4444proposta). O estado atual é necessário para construir blocos localmente e a construção local de blocos é algo que nós nodes sem estado são incapazes de fazer.

Nodes stateful não devem ser confundidos com nós “completos”, uma vez que um nó stateful não armazenará todo o histórico da cadeia, pois isso se tornará muito intensivo em dados no futuro. Um nó stateful é útil para qualquer usuário que deseje acesso rápido e confiável ao estado atual do Ethereum, seja para consultar dados do estado, construir blocos ou usar esse tipo de nó para staking.

Preservar a possibilidade de executar nós com estado em hardware de consumidor é um objetivo muito importante que eu acredito que nós na comunidade Ethereum devemos preservar, mesmo quando os nós sem estado são muito leves e maduros. Uma das principais razões para isso é que todos os nós sem estado dependem de nós com estado para criar a testemunha necessária para a validação sem estado de novos blocos.

Ter acesso ao estado atual também é necessário para saber se uma transação que está na mempool é válida ou não e, portanto, é muito importante que tenhamos um conjunto muito descentralizado de nós com estado na rede que possa garantir garantias de resistência à censura muito fortes com algum tipo de design de lista de inclusão.

A boa notícia é que, com a expiração do estado, podemos tornar significativamente mais fácil executar um nó com estado, pois o estado com o qual ninguém interagiu por um tempo pode ser eliminado do disco do nó. Qualquer pessoa que queira interagir com um estado que tenha expirado terá que trazer uma testemunha (essencialmente uma prova de Merkle) para trazer o estado expirado de volta ao estado atual. Qualquer pessoa com acesso ao histórico da cadeia pode, de maneira confiável, construir esses tipos de provas para trazer de volta o estado expirado. No momento em que este texto foi escrito, o estado do Ethereum está se aproximando de 300 GB e, até que alguma forma de expiração de estado seja implementada, o tamanho do estado continuará a crescer em uma tendência mais ou menos somente para cima.

(Aquié um artigo muito bom de@paradigmque aprofunda o tópico do crescimento do estado e do vencimento do estado)

Nós completos/nós de arquivo

Para os propósitos deste artigo, vou agrupar nós completos e nós de arquivamento juntos, uma vez que um nó completo normal pode, com as informações que ele gravou no disco localmente, calcular todos os dados que um nó de arquivamento gravou no disco. A diferença é que um nó completo poda o estado que não é mais o estado mais recente. Você não pode consultar, por exemplo, 'qual era o saldo ETH da conta X no bloco Y cerca de 5 anos atrás' de um nó completo normal, enquanto um nó de arquivamento responderia a essa consulta em um milissegundo.

Guia Fácil sobre Ethereum Full Node Vs Archive Node por @0xZeeve

Dito isso, é teoricamente possível computar a resposta para essa consulta a partir dos dados que um nó completo gravou no disco (todo o histórico da cadeia), mas não muitos clientes de execução suportam essa funcionalidade. Acredito que seja irracional pensar que muitos usuários, mesmo os sofisticados, executarão um nó completo/arquivístico em, digamos, 10 anos. Para que essa seja uma opção razoável, teríamos que limitar a taxa de transferência do L1 a níveis completamente irrazoáveis, quando podemos obter uma taxa de transferência muito maior no L1 com trade-offs mínimos. Quando a maioria dos usuários puder verificar facilmente novos blocos com uma prova de zk, acredito que seja um trade-off que vale a pena buscar quando os benefícios são tão grandes.

Talvez possamos obter Execution-clients que sejam capazes de rodar eficientemente em HDD e torná-lo prático armazenar até mesmo 100s de TB de estado arquivado de forma relativamente barata. Isso poderia permitir que os usuários que, por qualquer motivo, queiram arquivar toda a Ethereum o façam, eu sei que um dos objetivos do Erigon é permitir a execução de um nó de arquivamento completo em HDD.

Uma Nova Era para o Ethereum

No final, o futuro do Ethereum será moldado pelos nós que compõem sua rede. Ao abraçar nós sem estado como a opção mais realista para a maioria dos usuários, mas ainda sendo pragmáticos e percebendo o valor de uma forte presença de nós com estado, e nós completos/arquivados na rede, podemos criar um equilíbrio perfeito entre descentralização, segurança e escalabilidade que beneficia todos os usuários.

Aviso Legal:

  1. Este artigo é reproduzido de [2077 Pesquisa)]. Todos os direitos autorais pertencem ao autor original [@centauridoteth]. Se houver objeções a este reenvio, entre em contato com o Gate Learnequipe e eles lidarão com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. A equipe de aprendizado da Gate traduziu o artigo para outros idiomas. Copiar, distribuir ou plagiar os artigos traduzidos é proibido, a menos que mencionado.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!