Clientes apátridas: um caminho para a descentralização no Ethereum

iniciantes12/25/2023, 9:46:09 AM
Este artigo fornece uma introdução detalhada à solução descentralizada da Ethereum, o cliente sem estado, e também explica o que é o estado, bem como seus antecedentes, princípios e soluções.

À medida que o uso do Ethereum aumenta, a execução de um nó completo torna-se mais intensiva em recursos e largura de banda. Isto resulta em menos pessoas capazes de executar nós completos, reduzindo a descentralização da rede. Além disso, o Ethereum luta para escalar à medida que a demanda por transações aumenta, levando ao congestionamento da rede e a altas taxas de gás.

Os clientes apátridas propostos por Vitalik em 2017 oferecem uma solução potencial para ambos os desafios de descentralização enfrentados pela Ethereum. A ideia principal por trás dos clientes sem estado é reduzir os requisitos de armazenamento e largura de banda para executar um nó completo, tornando viável a participação de mais pessoas e descentralizando a rede. Este ensaio fornecerá uma visão aprofundada de como os clientes apátridas trabalham e seus potenciais benefícios e desvantagens.

Qual é o estado Ethereum?

Para entender os clientes apátridas, primeiro precisamos entender o conceito de “estado” no Ethereum. O estado Ethereum refere-se ao status atual de todas as contas, contratos, saldos, nonces e armazenamento no mundo Ethereum. Pode ser pensado como um banco de dados que armazena todas as informações relevantes sobre a rede Ethereum em um determinado momento.

O estado é persistido em um teste Merkle Patricia, que é essencialmente uma árvore Merkle modificada que armazena pares de valores-chave. O hash raiz desta tentativa resume todo o estado. Após cada novo bloco, o estado é atualizado com base nas transações desse bloco. O novo hash raiz do estado está incluído no cabeçalho do bloco.

À medida que mais contas, contratos e transações são adicionadas ao longo do tempo, o estado Ethereum fica cada vez maior. Hoje, o tamanho do estado é superior a 1 TB e aumenta dezenas de gigabytes por ano. Este estado crescente está subjacente aos problemas de descentralização.

Por que o crescimento do estado causa problemas

O aumento do tamanho do estado Ethereum causa vários problemas importantes:

  • Tempos de sincronização mais longos para novos nós - Leva muito tempo para um novo nó sincronizar processando todas as alterações históricas de estado. Isto dificulta a descentralização, dificultando a execução de novos nós completos. A sincronização de um novo nó do genesis atualmente leva vários dias, até semanas, no hardware do consumidor. Isto representa uma grande barreira para a criação eficiente de novos nós e para permitir que mais participantes ingressem na rede.
  • Maiores requisitos de hardware – Um estado maior requer mais armazenamento, memória e capacidade de processamento para armazenar, acessar e atualizar. Isso impede que usuários com menos recursos executem nós. No mínimo, a execução de um nó Ethereum totalmente sincronizado agora requer um SSD com 1-2 TB de capacidade. Isto está fora do alcance de muitos operadores de nós em potencial.
  • Maior uso de largura de banda - As transmissões de novos blocos também devem incluir o estado atualizado, exigindo mais largura de banda. Isso aumenta os custos para os operadores de nós. Atualmente o estado domina a maioria das transmissões em bloco, portanto o tamanho dos blocos continua crescendo. Mais largura de banda se traduz em custos mais elevados para os operadores de nós.
  • Verificação de bloco mais lenta – Ler e atualizar um estado maior torna a verificação de bloco mais lenta, limitando o rendimento da transação. Cada transação requer múltiplas leituras e gravações de armazenamento para atualizar saldos, nonces, estado do contrato, etc. Um estado maior significa mais leituras/gravações por bloco, reduzindo quantas transações podem ser processadas por segundo.
  • Custos de armazenamento permanente – Depois que os dados são adicionados ao estado, eles devem ser armazenados para sempre. Isso cria um crescimento ilimitado do estado. Atualmente não existe nenhum mecanismo para excluir ativamente dados de estado antigos e não utilizados. Portanto, os custos de retenção estatal aumentam indefinidamente enquanto o Ethereum continuar operando.

Clientes apátridas

Os clientes sem estado fornecem uma maneira de verificar novos blocos sem a necessidade de acesso ao estado completo do Ethereum. Eles utilizam provas criptográficas chamadas “testemunhas” que comprovam a validade das mudanças de estado em um bloco, sem ter os dados de estado subjacentes.

Veja como os clientes apátridas trabalham em alto nível:

  • O cliente armazena apenas cabeçalhos de bloco e raízes de estado, e não dados completos de estado. Os cabeçalhos dos blocos contêm metadados como o hash raiz da tentativa de estado após o processamento do bloco.
  • Ao verificar um novo bloco, o cliente recebe uma “testemunha” junto com o bloco. Esta testemunha é um conjunto de provas Merkle que demonstram que atualizações de estado específicas de transações são válidas.
  • A testemunha contém provas Merkle de valores de estado específicos necessários para processar transações. Por exemplo, saldos de contas ou armazenamento de contratos atualizados.
  • O cliente usa a testemunha para garantir que as transações sejam válidas em relação à última raiz de estado conhecida. As provas autenticam que as mudanças de estado correspondem à raiz anterior.
  • Se for válido, o cliente atualiza para a nova raiz de estado fornecida no cabeçalho do bloco. Esta nova raiz de estado será usada para verificar o próximo bloco.

Ao usar testemunhas para verificar o estado em vez de armazenar o estado completo localmente, os clientes apátridas ganham diversas vantagens:

  • Tempo de sincronização muito rápido - não há necessidade de reproduzir alterações históricas de estado. Um cliente sem estado pode sincronizar quase instantaneamente apenas com os cabeçalhos dos blocos.
  • Baixos requisitos de armazenamento - as raízes de estado têm apenas 32 bytes. Em vez de centenas de GB de estado, são necessários apenas cabeçalhos de bloco.
  • Menos largura de banda - apenas cabeçalhos de bloco e testemunhas transferidos, não estado completo. O uso da largura de banda é minimizado.
  • Verificação rápida – as testemunhas contêm apenas pequenos subconjuntos de estados relevantes. Apenas as contas/armazenamento atualizados tocados são comprovados.
  • Suporte fácil ao cliente light - os clientes light podem verificar facilmente as provas. O modelo de cliente light é muito compatível com verificação sem estado.

Desafios com clientes apátridas

Embora os clientes apátridas proporcionem alguns benefícios importantes, também existem desafios técnicos significativos a superar:

  • Tamanho da testemunha - as testemunhas podem ser grandes demais para serem transmitidas com eficiência. Se forem usadas provas Merkle completas, elas podem exceder os limites de tamanho de bloco.
  • Criação de testemunhas – gerar testemunhas ideais é complexo para proponentes de blocos. Os proponentes devem reunir os fragmentos de prova corretos para verificar cada transação.
  • Sem incentivos para testemunhas - fornecer testemunhas não gera recompensas diretas. Ao contrário da mineração, não existe uma estrutura de incentivos integrada para a criação de testemunhas.
  • Dados temporários - testemunhas comprovam o estado em um determinado momento, exigindo regeneração. As testemunhas não podem ser reutilizadas à medida que o estado avança.
  • Armazenamento do estado – alguém ainda precisa manter o estado completo para produzir testemunhas. A verificação sem estado depende da geração de testemunhas com estado.
  • Aplicações complexas - alguns contratos podem depender de grandes subconjuntos estatais, testemunhas inchadas. Por exemplo, contratos que atualizam muitos slots de armazenamento por transação.

Soluções possíveis

Os pesquisadores propuseram várias soluções para enfrentar esses desafios:

  • Árvores Verkle - estruturas de dados especiais para reduzir o tamanho das testemunhas. As árvores Verkle usam compromissos criptográficos sucintos para minimizar o tamanho da prova.
  • Caches de testemunhas - os proponentes poderiam manter testemunhas recentes para reutilização. O armazenamento em cache de testemunhas que provavelmente serão relevantes novamente amortiza os custos de criação.
  • Incentivos de protocolo – mecanismos de recompensa pelo fornecimento de testemunhas úteis. Novas estruturas de incentivos poderiam compensar a criação de testemunhas.
  • Raízes de estado intermediário - rastreie as raízes ao longo do tempo para evitar a regeneração de provas. Manter raízes parciais poderia reutilizar fragmentos de testemunhas.
  • Aluguel estatal - exige pagamentos para manter o estado a longo prazo, eliminando o estado não utilizado. O aluguel força a limpeza do armazenamento obsoleto para limitar o tamanho da prova.
  • Modelo de testemunha particionada - tratamento de estado dividido entre proponentes e verificadores. Faça com que alguns nós proponentes dedicados gerem testemunhas.

Existem compensações entre essas abordagens e mais pesquisas são necessárias para descobrir implementações ideais. Felizmente, a rápida inovação que está acontecendo na criptografia de conhecimento zero pode abrir novas possibilidades para clientes eficientes e sem estado.

Impacto potencial

Se os obstáculos técnicos puderem ser superados, os clientes apátridas poderão avançar significativamente no Ethereum:

  • Sincronizações e verificação mais rápidas para suportar maior rendimento de transações. A validação sem estado acelerará drasticamente o processamento de blocos.
  • Requisitos reduzidos de recursos para executar nós, melhorando a descentralização. Laptops e amadores poderiam rodar nós completos de forma realista.
  • Melhor suporte para clientes leves, como carteiras móveis. As provas de estado são altamente compatíveis com o modelo de cliente leve.
  • Introdução mais suave de sharding, com verificação sem estado entre shards. As transações entre fragmentos podem utilizar provas de estado eficientes.
  • Capacidade de excluir e remover dados de estado antigo que não são mais úteis. O crescimento do Estado pode ser gerido ativamente em vez de ilimitado.
  • Mais flexibilidade para os operadores de nós personalizarem o estado com base nas necessidades. Os nós poderiam adaptar políticas de retenção de estado aos casos de uso.
  • Transição para um modelo onde a computação e a largura de banda são mais importantes do que o armazenamento. A arquitetura muda para um modelo mais compatível com a nuvem.

Existem também alguns riscos potenciais, como o aumento da vulnerabilidade a ataques DDoS e o histórico de blockchain ser armazenado de forma confiável apenas por alguns operadores de nós. No entanto, as provas criptográficas poderiam reduzir estes riscos. No geral, os clientes apátridas são uma das abordagens mais promissoras para superar as limitações atuais do Ethereum.

Conclusão

O crescente tamanho do estado do Ethereum apresenta desafios para a descentralização à medida que a adoção aumenta. Os clientes sem estado apresentam uma saída, permitindo que os nós verifiquem as transações sem o estado completo do blockchain. Isso poderia eventualmente permitir que os telefones celulares executassem nós Ethereum, aumentando enormemente a descentralização.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Mirror]. Todos os direitos autorais pertencem ao autor original [YQ]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista 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 do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Clientes apátridas: um caminho para a descentralização no Ethereum

iniciantes12/25/2023, 9:46:09 AM
Este artigo fornece uma introdução detalhada à solução descentralizada da Ethereum, o cliente sem estado, e também explica o que é o estado, bem como seus antecedentes, princípios e soluções.

À medida que o uso do Ethereum aumenta, a execução de um nó completo torna-se mais intensiva em recursos e largura de banda. Isto resulta em menos pessoas capazes de executar nós completos, reduzindo a descentralização da rede. Além disso, o Ethereum luta para escalar à medida que a demanda por transações aumenta, levando ao congestionamento da rede e a altas taxas de gás.

Os clientes apátridas propostos por Vitalik em 2017 oferecem uma solução potencial para ambos os desafios de descentralização enfrentados pela Ethereum. A ideia principal por trás dos clientes sem estado é reduzir os requisitos de armazenamento e largura de banda para executar um nó completo, tornando viável a participação de mais pessoas e descentralizando a rede. Este ensaio fornecerá uma visão aprofundada de como os clientes apátridas trabalham e seus potenciais benefícios e desvantagens.

Qual é o estado Ethereum?

Para entender os clientes apátridas, primeiro precisamos entender o conceito de “estado” no Ethereum. O estado Ethereum refere-se ao status atual de todas as contas, contratos, saldos, nonces e armazenamento no mundo Ethereum. Pode ser pensado como um banco de dados que armazena todas as informações relevantes sobre a rede Ethereum em um determinado momento.

O estado é persistido em um teste Merkle Patricia, que é essencialmente uma árvore Merkle modificada que armazena pares de valores-chave. O hash raiz desta tentativa resume todo o estado. Após cada novo bloco, o estado é atualizado com base nas transações desse bloco. O novo hash raiz do estado está incluído no cabeçalho do bloco.

À medida que mais contas, contratos e transações são adicionadas ao longo do tempo, o estado Ethereum fica cada vez maior. Hoje, o tamanho do estado é superior a 1 TB e aumenta dezenas de gigabytes por ano. Este estado crescente está subjacente aos problemas de descentralização.

Por que o crescimento do estado causa problemas

O aumento do tamanho do estado Ethereum causa vários problemas importantes:

  • Tempos de sincronização mais longos para novos nós - Leva muito tempo para um novo nó sincronizar processando todas as alterações históricas de estado. Isto dificulta a descentralização, dificultando a execução de novos nós completos. A sincronização de um novo nó do genesis atualmente leva vários dias, até semanas, no hardware do consumidor. Isto representa uma grande barreira para a criação eficiente de novos nós e para permitir que mais participantes ingressem na rede.
  • Maiores requisitos de hardware – Um estado maior requer mais armazenamento, memória e capacidade de processamento para armazenar, acessar e atualizar. Isso impede que usuários com menos recursos executem nós. No mínimo, a execução de um nó Ethereum totalmente sincronizado agora requer um SSD com 1-2 TB de capacidade. Isto está fora do alcance de muitos operadores de nós em potencial.
  • Maior uso de largura de banda - As transmissões de novos blocos também devem incluir o estado atualizado, exigindo mais largura de banda. Isso aumenta os custos para os operadores de nós. Atualmente o estado domina a maioria das transmissões em bloco, portanto o tamanho dos blocos continua crescendo. Mais largura de banda se traduz em custos mais elevados para os operadores de nós.
  • Verificação de bloco mais lenta – Ler e atualizar um estado maior torna a verificação de bloco mais lenta, limitando o rendimento da transação. Cada transação requer múltiplas leituras e gravações de armazenamento para atualizar saldos, nonces, estado do contrato, etc. Um estado maior significa mais leituras/gravações por bloco, reduzindo quantas transações podem ser processadas por segundo.
  • Custos de armazenamento permanente – Depois que os dados são adicionados ao estado, eles devem ser armazenados para sempre. Isso cria um crescimento ilimitado do estado. Atualmente não existe nenhum mecanismo para excluir ativamente dados de estado antigos e não utilizados. Portanto, os custos de retenção estatal aumentam indefinidamente enquanto o Ethereum continuar operando.

Clientes apátridas

Os clientes sem estado fornecem uma maneira de verificar novos blocos sem a necessidade de acesso ao estado completo do Ethereum. Eles utilizam provas criptográficas chamadas “testemunhas” que comprovam a validade das mudanças de estado em um bloco, sem ter os dados de estado subjacentes.

Veja como os clientes apátridas trabalham em alto nível:

  • O cliente armazena apenas cabeçalhos de bloco e raízes de estado, e não dados completos de estado. Os cabeçalhos dos blocos contêm metadados como o hash raiz da tentativa de estado após o processamento do bloco.
  • Ao verificar um novo bloco, o cliente recebe uma “testemunha” junto com o bloco. Esta testemunha é um conjunto de provas Merkle que demonstram que atualizações de estado específicas de transações são válidas.
  • A testemunha contém provas Merkle de valores de estado específicos necessários para processar transações. Por exemplo, saldos de contas ou armazenamento de contratos atualizados.
  • O cliente usa a testemunha para garantir que as transações sejam válidas em relação à última raiz de estado conhecida. As provas autenticam que as mudanças de estado correspondem à raiz anterior.
  • Se for válido, o cliente atualiza para a nova raiz de estado fornecida no cabeçalho do bloco. Esta nova raiz de estado será usada para verificar o próximo bloco.

Ao usar testemunhas para verificar o estado em vez de armazenar o estado completo localmente, os clientes apátridas ganham diversas vantagens:

  • Tempo de sincronização muito rápido - não há necessidade de reproduzir alterações históricas de estado. Um cliente sem estado pode sincronizar quase instantaneamente apenas com os cabeçalhos dos blocos.
  • Baixos requisitos de armazenamento - as raízes de estado têm apenas 32 bytes. Em vez de centenas de GB de estado, são necessários apenas cabeçalhos de bloco.
  • Menos largura de banda - apenas cabeçalhos de bloco e testemunhas transferidos, não estado completo. O uso da largura de banda é minimizado.
  • Verificação rápida – as testemunhas contêm apenas pequenos subconjuntos de estados relevantes. Apenas as contas/armazenamento atualizados tocados são comprovados.
  • Suporte fácil ao cliente light - os clientes light podem verificar facilmente as provas. O modelo de cliente light é muito compatível com verificação sem estado.

Desafios com clientes apátridas

Embora os clientes apátridas proporcionem alguns benefícios importantes, também existem desafios técnicos significativos a superar:

  • Tamanho da testemunha - as testemunhas podem ser grandes demais para serem transmitidas com eficiência. Se forem usadas provas Merkle completas, elas podem exceder os limites de tamanho de bloco.
  • Criação de testemunhas – gerar testemunhas ideais é complexo para proponentes de blocos. Os proponentes devem reunir os fragmentos de prova corretos para verificar cada transação.
  • Sem incentivos para testemunhas - fornecer testemunhas não gera recompensas diretas. Ao contrário da mineração, não existe uma estrutura de incentivos integrada para a criação de testemunhas.
  • Dados temporários - testemunhas comprovam o estado em um determinado momento, exigindo regeneração. As testemunhas não podem ser reutilizadas à medida que o estado avança.
  • Armazenamento do estado – alguém ainda precisa manter o estado completo para produzir testemunhas. A verificação sem estado depende da geração de testemunhas com estado.
  • Aplicações complexas - alguns contratos podem depender de grandes subconjuntos estatais, testemunhas inchadas. Por exemplo, contratos que atualizam muitos slots de armazenamento por transação.

Soluções possíveis

Os pesquisadores propuseram várias soluções para enfrentar esses desafios:

  • Árvores Verkle - estruturas de dados especiais para reduzir o tamanho das testemunhas. As árvores Verkle usam compromissos criptográficos sucintos para minimizar o tamanho da prova.
  • Caches de testemunhas - os proponentes poderiam manter testemunhas recentes para reutilização. O armazenamento em cache de testemunhas que provavelmente serão relevantes novamente amortiza os custos de criação.
  • Incentivos de protocolo – mecanismos de recompensa pelo fornecimento de testemunhas úteis. Novas estruturas de incentivos poderiam compensar a criação de testemunhas.
  • Raízes de estado intermediário - rastreie as raízes ao longo do tempo para evitar a regeneração de provas. Manter raízes parciais poderia reutilizar fragmentos de testemunhas.
  • Aluguel estatal - exige pagamentos para manter o estado a longo prazo, eliminando o estado não utilizado. O aluguel força a limpeza do armazenamento obsoleto para limitar o tamanho da prova.
  • Modelo de testemunha particionada - tratamento de estado dividido entre proponentes e verificadores. Faça com que alguns nós proponentes dedicados gerem testemunhas.

Existem compensações entre essas abordagens e mais pesquisas são necessárias para descobrir implementações ideais. Felizmente, a rápida inovação que está acontecendo na criptografia de conhecimento zero pode abrir novas possibilidades para clientes eficientes e sem estado.

Impacto potencial

Se os obstáculos técnicos puderem ser superados, os clientes apátridas poderão avançar significativamente no Ethereum:

  • Sincronizações e verificação mais rápidas para suportar maior rendimento de transações. A validação sem estado acelerará drasticamente o processamento de blocos.
  • Requisitos reduzidos de recursos para executar nós, melhorando a descentralização. Laptops e amadores poderiam rodar nós completos de forma realista.
  • Melhor suporte para clientes leves, como carteiras móveis. As provas de estado são altamente compatíveis com o modelo de cliente leve.
  • Introdução mais suave de sharding, com verificação sem estado entre shards. As transações entre fragmentos podem utilizar provas de estado eficientes.
  • Capacidade de excluir e remover dados de estado antigo que não são mais úteis. O crescimento do Estado pode ser gerido ativamente em vez de ilimitado.
  • Mais flexibilidade para os operadores de nós personalizarem o estado com base nas necessidades. Os nós poderiam adaptar políticas de retenção de estado aos casos de uso.
  • Transição para um modelo onde a computação e a largura de banda são mais importantes do que o armazenamento. A arquitetura muda para um modelo mais compatível com a nuvem.

Existem também alguns riscos potenciais, como o aumento da vulnerabilidade a ataques DDoS e o histórico de blockchain ser armazenado de forma confiável apenas por alguns operadores de nós. No entanto, as provas criptográficas poderiam reduzir estes riscos. No geral, os clientes apátridas são uma das abordagens mais promissoras para superar as limitações atuais do Ethereum.

Conclusão

O crescente tamanho do estado do Ethereum apresenta desafios para a descentralização à medida que a adoção aumenta. Os clientes sem estado apresentam uma saída, permitindo que os nós verifiquem as transações sem o estado completo do blockchain. Isso poderia eventualmente permitir que os telefones celulares executassem nós Ethereum, aumentando enormemente a descentralização.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [Mirror]. Todos os direitos autorais pertencem ao autor original [YQ]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista 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 do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!