Autor: YQ, fundador da AltLayer; Tradução: Golden Finance cryptonaitive
À medida que o uso do Ethereum aumenta, a execução de um nó completo exige mais recursos e largura de banda. Isto resulta em cada vez menos pessoas capazes de executar nós completos, tornando a rede menos descentralizada. Além disso, o Ethereum enfrenta dificuldades de expansão à medida que a demanda por transações aumenta, levando ao congestionamento da rede e a altas taxas de gás.
O cliente apátrida proposto por Vitalik em 2017 oferece uma solução potencial para os desafios de descentralização enfrentados pela Ethereum. A ideia principal de um cliente sem estado é reduzir os requisitos de armazenamento e largura de banda necessários para executar um nó completo, permitindo a participação de mais pessoas e descentralizando a rede. Este artigo analisará em profundidade como funcionam os clientes apátridas e suas potenciais vantagens e desvantagens.
O que é o estado Ethereum?
Para entender os clientes apátridas, primeiro precisamos entender o conceito de “estado” no Ethereum. O estado do Ethereum refere-se ao estado 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 na forma de um Merkle Patricia trie, que é essencialmente uma árvore Merkle modificada usada para armazenar pares de valores-chave. O hash raiz do teste resume todo o estado. A cada novo bloco, o status é atualizado com base nas transações desse bloco. O novo hash raiz do estado está incluído no cabeçalho do bloco.
Com o tempo, o estado do Ethereum tornou-se cada vez maior à medida que mais contas, contratos e transações foram adicionadas. Atualmente, o tamanho do estado ultrapassa 1 TB, com dezenas de GB adicionados todos os anos. Este estado crescente é a causa raiz do problema da descentralização.
Por que o crescimento do estado causa problemas
O aumento no tamanho do estado Ethereum levou a alguns problemas importantes:
● Longo tempo de sincronização para novos nós - Leva muito tempo para que novos nós sincronizem todas as alterações históricas de status. Isto aumenta a dificuldade de execução de novos nós completos, dificultando a descentralização. Atualmente, a sincronização de novos nós do bloco genesis para o estado mais recente leva muitos dias ou até semanas, o que para o hardware do consumidor é um grande obstáculo para o lançamento eficaz de novos nós e para permitir que mais participantes ingressem na rede.
● Maiores requisitos de hardware – Estados maiores exigem mais armazenamento, memória e capacidade de processamento para armazenar, acessar e atualizar. Isso impossibilita que usuários com menos recursos executem nós. A execução de um nó Ethereum totalmente sincronizado agora requer pelo menos um SSD com capacidade de 1 a 2 TB. Isto está fora do alcance de muitos operadores de nós em potencial.
● Aumento do uso de largura de banda – a transmissão de um novo bloco também deve 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 a crescer. Mais largura de banda se traduz em custos mais elevados para os operadores de nós.
● Verificação de bloco lenta – Ler e atualizar estados maiores torna a verificação de bloco mais lenta, limitando o rendimento da transação. Cada transação requer múltiplas leituras e gravações no armazenamento para atualizar saldos, nonces, status do contrato, etc. Estado maior significa mais leituras/gravações por bloco, reduzindo o número de transações que podem ser processadas por segundo.
● Custo de armazenamento permanente – Depois que os dados são adicionados ao estado, eles devem ser armazenados permanentemente. Isso faz com que o estado ilimitado cresça. Atualmente não existe nenhum mecanismo para excluir proativamente dados de estado antigos e não utilizados. Portanto, enquanto o Ethereum continuar a operar, os custos de retenção do estado aumentarão indefinidamente.
O que é um cliente apátrida?
Os clientes sem estado fornecem uma maneira de validar novos blocos sem a necessidade de acesso ao estado completo do Ethereum. Eles utilizam provas criptográficas chamadas “testemunhas” para provar a validade das mudanças de estado em um bloco sem exigir dados de estado específicos.
O cliente sem estado funciona da seguinte maneira:
O cliente armazena apenas o cabeçalho do bloco e a raiz do estado, não os dados completos do estado. O cabeçalho do bloco contém metadados, como o hash raiz da tentativa de estado após o processamento do bloco.
Ao validar um novo bloco, o cliente recebe uma “testemunha” junto com o bloco. Esta testemunha é um conjunto de provas Merkle que comprovam que uma atualização de estado específica na transação é válida.
A testemunha contém prova Merkle de valor de estado específico, que é usada para processar transações. Por exemplo, atualizações de saldos de contas ou armazenamento de contratos.
O cliente usa testemunha para garantir a validade da última raiz de estado conhecida do par de transações. A prova verifica se a mudança de estado corresponde à raiz anterior.
Se 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 validar 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:
● Tempos de sincronização muito rápidos – não há necessidade de sincronizar totalmente as alterações históricas de estado. Clientes sem estado podem sincronizar quase instantaneamente, exigindo apenas cabeçalhos de bloco.
● Baixos requisitos de armazenamento - a raiz do estado tem apenas 32 bytes. Em vez de centenas de gigabytes de estado, são necessários apenas cabeçalhos de bloco.
● Menor uso de largura de banda - apenas os cabeçalhos dos blocos e as testemunhas são transmitidos, em vez do estado completo. O uso da largura de banda é minimizado.
● Verificação rápida – as testemunhas contêm apenas um pequeno subconjunto de estados relevantes. Apenas contas/lojas atualizadas são comprovadamente úteis.
● Suporte fácil a clientes light – Os clientes light podem verificar provas facilmente. O modelo de cliente light é muito compatível com validação sem estado.
Desafios de clientes apátridas
Embora os clientes apátridas tragam alguns benefícios significativos, também existem alguns desafios técnicos significativos:
● Tamanho das testemunhas – as testemunhas podem ser demasiado grandes para serem transmitidas de forma eficiente. Se forem usadas provas Merkle completas, elas poderão exceder o limite de tamanho do bloco.
● Criação de testemunhas - Gerar testemunhas ideais é complexo para proponentes de blocos. O proponente deve reunir as provas corretas para verificar cada transação.
● Não há incentivos para testemunhas – Não há recompensa direta por prestar testemunho. Ao contrário da mineração, não existem incentivos integrados para a criação de testemunhas.
● Dados temporários – as testemunhas comprovam o status em um determinado momento e precisam ser regeneradas. As testemunhas não podem ser reutilizadas durante o desenvolvimento do estado.
● Armazenamento de estado – Alguém ainda precisa manter o estado completo para gerar testemunhas. A validação sem estado depende da geração de testemunhas com estado.
● Aplicações complexas - Alguns contratos podem depender de subconjuntos maiores de estados, tornando a testemunha inchada. Por exemplo, um contrato que atualiza muitos slots de armazenamento por transação.
Soluções possíveis
Os pesquisadores propuseram várias soluções para enfrentar esses desafios:
● Árvore Verkle – uma estrutura de dados especial usada para reduzir o tamanho da testemunha. As árvores Verkle usam compromissos criptográficos concisos para minimizar o tamanho da prova.
● Cache de testemunhas - Os proponentes podem manter testemunhas recentes para reutilização. O cache pode ser útil novamente, pois o custo de criação pode ser amortizado.
● Incentivos protocolares – fornecem um mecanismo de recompensa para testemunhas úteis. Novas estruturas de incentivos podem compensar a criação de testemunhas.
● Raízes de estado intermediário – Acompanhe as raízes ao longo do tempo para evitar a regeneração de provas. A manutenção de partes da raiz permite a reutilização de fragmentos de testemunhas.
● Aluguel de Condição – Exige pagamento para manter a condição ao longo do tempo, eliminando condições não utilizadas. O aluguel impõe a limpeza do armazenamento obsoleto para limitar o tamanho da prova.
● Modelo de testemunha particionado – processamento de estado dividido entre proponentes e validadores. Vários nós proponentes dedicados geram testemunhas.
Existem compromissos entre estas abordagens e são necessárias mais pesquisas para descobrir a implementação ideal. Felizmente, a rápida inovação na criptografia de conhecimento zero pode levar a 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 impulsionar significativamente o crescimento da Ethereum:
● Sincronização e verificação mais rápidas para suportar maior rendimento de transações. A verificação sem estado acelerará bastante o processamento de blocos.
● Reduza os recursos necessários para executar nós e melhore a descentralização. Laptops e amadores podem rodar nós completos de forma realista.
● Melhor suporte para clientes leves, como carteiras móveis. A prova de estado é altamente compatível com o modelo de cliente leve.
● Introduza a fragmentação com mais facilidade e execute verificação sem estado entre os fragmentos. As transações entre fragmentos podem tirar proveito de provas de estado eficientes.
● A capacidade de excluir e remover dados antigos que não são mais úteis. O crescimento do Estado pode ser gerido ativamente, em vez de crescer indefinidamente.
● A capacidade dos operadores de nós personalizarem o status com mais flexibilidade de acordo com as necessidades. Os nós podem personalizar políticas de retenção de estado com base em casos de uso.
● Transição para um modelo onde a computação e a largura de banda são mais importantes que o armazenamento. Mudanças na arquitetura em direção a modelos mais amigáveis à nuvem.
Existem também riscos potenciais, como o aumento da vulnerabilidade a ataques DDoS e o facto de apenas alguns operadores de nós armazenarem de forma fiável o histórico da blockchain. No entanto, as provas criptográficas podem reduzir estes riscos. No geral, os clientes apátridas são uma das formas mais promissoras de superar as limitações atuais do Ethereum.
para concluir
À medida que a adoção aumenta, o crescente tamanho do estado do Ethereum representa um desafio à descentralização. Os clientes sem estado fornecem uma solução, permitindo que os nós verifiquem as transações sem exigir o estado completo do blockchain. Isso poderia eventualmente permitir que os telefones celulares executassem nós Ethereum, aumentando enormemente a descentralização.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Clientes apátridas: o caminho da Ethereum para a descentralização
Autor: YQ, fundador da AltLayer; Tradução: Golden Finance cryptonaitive
À medida que o uso do Ethereum aumenta, a execução de um nó completo exige mais recursos e largura de banda. Isto resulta em cada vez menos pessoas capazes de executar nós completos, tornando a rede menos descentralizada. Além disso, o Ethereum enfrenta dificuldades de expansão à medida que a demanda por transações aumenta, levando ao congestionamento da rede e a altas taxas de gás.
O cliente apátrida proposto por Vitalik em 2017 oferece uma solução potencial para os desafios de descentralização enfrentados pela Ethereum. A ideia principal de um cliente sem estado é reduzir os requisitos de armazenamento e largura de banda necessários para executar um nó completo, permitindo a participação de mais pessoas e descentralizando a rede. Este artigo analisará em profundidade como funcionam os clientes apátridas e suas potenciais vantagens e desvantagens.
O que é o estado Ethereum?
Para entender os clientes apátridas, primeiro precisamos entender o conceito de “estado” no Ethereum. O estado do Ethereum refere-se ao estado 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 na forma de um Merkle Patricia trie, que é essencialmente uma árvore Merkle modificada usada para armazenar pares de valores-chave. O hash raiz do teste resume todo o estado. A cada novo bloco, o status é atualizado com base nas transações desse bloco. O novo hash raiz do estado está incluído no cabeçalho do bloco.
Com o tempo, o estado do Ethereum tornou-se cada vez maior à medida que mais contas, contratos e transações foram adicionadas. Atualmente, o tamanho do estado ultrapassa 1 TB, com dezenas de GB adicionados todos os anos. Este estado crescente é a causa raiz do problema da descentralização.
Por que o crescimento do estado causa problemas
O aumento no tamanho do estado Ethereum levou a alguns problemas importantes:
● Longo tempo de sincronização para novos nós - Leva muito tempo para que novos nós sincronizem todas as alterações históricas de status. Isto aumenta a dificuldade de execução de novos nós completos, dificultando a descentralização. Atualmente, a sincronização de novos nós do bloco genesis para o estado mais recente leva muitos dias ou até semanas, o que para o hardware do consumidor é um grande obstáculo para o lançamento eficaz de novos nós e para permitir que mais participantes ingressem na rede.
● Maiores requisitos de hardware – Estados maiores exigem mais armazenamento, memória e capacidade de processamento para armazenar, acessar e atualizar. Isso impossibilita que usuários com menos recursos executem nós. A execução de um nó Ethereum totalmente sincronizado agora requer pelo menos um SSD com capacidade de 1 a 2 TB. Isto está fora do alcance de muitos operadores de nós em potencial.
● Aumento do uso de largura de banda – a transmissão de um novo bloco também deve 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 a crescer. Mais largura de banda se traduz em custos mais elevados para os operadores de nós.
● Verificação de bloco lenta – Ler e atualizar estados maiores torna a verificação de bloco mais lenta, limitando o rendimento da transação. Cada transação requer múltiplas leituras e gravações no armazenamento para atualizar saldos, nonces, status do contrato, etc. Estado maior significa mais leituras/gravações por bloco, reduzindo o número de transações que podem ser processadas por segundo.
● Custo de armazenamento permanente – Depois que os dados são adicionados ao estado, eles devem ser armazenados permanentemente. Isso faz com que o estado ilimitado cresça. Atualmente não existe nenhum mecanismo para excluir proativamente dados de estado antigos e não utilizados. Portanto, enquanto o Ethereum continuar a operar, os custos de retenção do estado aumentarão indefinidamente.
O que é um cliente apátrida?
Os clientes sem estado fornecem uma maneira de validar novos blocos sem a necessidade de acesso ao estado completo do Ethereum. Eles utilizam provas criptográficas chamadas “testemunhas” para provar a validade das mudanças de estado em um bloco sem exigir dados de estado específicos.
O cliente sem estado funciona da seguinte maneira:
O cliente armazena apenas o cabeçalho do bloco e a raiz do estado, não os dados completos do estado. O cabeçalho do bloco contém metadados, como o hash raiz da tentativa de estado após o processamento do bloco.
Ao validar um novo bloco, o cliente recebe uma “testemunha” junto com o bloco. Esta testemunha é um conjunto de provas Merkle que comprovam que uma atualização de estado específica na transação é válida.
A testemunha contém prova Merkle de valor de estado específico, que é usada para processar transações. Por exemplo, atualizações de saldos de contas ou armazenamento de contratos.
O cliente usa testemunha para garantir a validade da última raiz de estado conhecida do par de transações. A prova verifica se a mudança de estado corresponde à raiz anterior.
Se 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 validar 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:
● Tempos de sincronização muito rápidos – não há necessidade de sincronizar totalmente as alterações históricas de estado. Clientes sem estado podem sincronizar quase instantaneamente, exigindo apenas cabeçalhos de bloco.
● Baixos requisitos de armazenamento - a raiz do estado tem apenas 32 bytes. Em vez de centenas de gigabytes de estado, são necessários apenas cabeçalhos de bloco.
● Menor uso de largura de banda - apenas os cabeçalhos dos blocos e as testemunhas são transmitidos, em vez do estado completo. O uso da largura de banda é minimizado.
● Verificação rápida – as testemunhas contêm apenas um pequeno subconjunto de estados relevantes. Apenas contas/lojas atualizadas são comprovadamente úteis.
● Suporte fácil a clientes light – Os clientes light podem verificar provas facilmente. O modelo de cliente light é muito compatível com validação sem estado.
Desafios de clientes apátridas
Embora os clientes apátridas tragam alguns benefícios significativos, também existem alguns desafios técnicos significativos:
● Tamanho das testemunhas – as testemunhas podem ser demasiado grandes para serem transmitidas de forma eficiente. Se forem usadas provas Merkle completas, elas poderão exceder o limite de tamanho do bloco.
● Criação de testemunhas - Gerar testemunhas ideais é complexo para proponentes de blocos. O proponente deve reunir as provas corretas para verificar cada transação.
● Não há incentivos para testemunhas – Não há recompensa direta por prestar testemunho. Ao contrário da mineração, não existem incentivos integrados para a criação de testemunhas.
● Dados temporários – as testemunhas comprovam o status em um determinado momento e precisam ser regeneradas. As testemunhas não podem ser reutilizadas durante o desenvolvimento do estado.
● Armazenamento de estado – Alguém ainda precisa manter o estado completo para gerar testemunhas. A validação sem estado depende da geração de testemunhas com estado.
● Aplicações complexas - Alguns contratos podem depender de subconjuntos maiores de estados, tornando a testemunha inchada. Por exemplo, um contrato que atualiza muitos slots de armazenamento por transação.
Soluções possíveis
Os pesquisadores propuseram várias soluções para enfrentar esses desafios:
● Árvore Verkle – uma estrutura de dados especial usada para reduzir o tamanho da testemunha. As árvores Verkle usam compromissos criptográficos concisos para minimizar o tamanho da prova.
● Cache de testemunhas - Os proponentes podem manter testemunhas recentes para reutilização. O cache pode ser útil novamente, pois o custo de criação pode ser amortizado.
● Incentivos protocolares – fornecem um mecanismo de recompensa para testemunhas úteis. Novas estruturas de incentivos podem compensar a criação de testemunhas.
● Raízes de estado intermediário – Acompanhe as raízes ao longo do tempo para evitar a regeneração de provas. A manutenção de partes da raiz permite a reutilização de fragmentos de testemunhas.
● Aluguel de Condição – Exige pagamento para manter a condição ao longo do tempo, eliminando condições não utilizadas. O aluguel impõe a limpeza do armazenamento obsoleto para limitar o tamanho da prova.
● Modelo de testemunha particionado – processamento de estado dividido entre proponentes e validadores. Vários nós proponentes dedicados geram testemunhas.
Existem compromissos entre estas abordagens e são necessárias mais pesquisas para descobrir a implementação ideal. Felizmente, a rápida inovação na criptografia de conhecimento zero pode levar a 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 impulsionar significativamente o crescimento da Ethereum:
● Sincronização e verificação mais rápidas para suportar maior rendimento de transações. A verificação sem estado acelerará bastante o processamento de blocos.
● Reduza os recursos necessários para executar nós e melhore a descentralização. Laptops e amadores podem rodar nós completos de forma realista.
● Melhor suporte para clientes leves, como carteiras móveis. A prova de estado é altamente compatível com o modelo de cliente leve.
● Introduza a fragmentação com mais facilidade e execute verificação sem estado entre os fragmentos. As transações entre fragmentos podem tirar proveito de provas de estado eficientes.
● A capacidade de excluir e remover dados antigos que não são mais úteis. O crescimento do Estado pode ser gerido ativamente, em vez de crescer indefinidamente.
● A capacidade dos operadores de nós personalizarem o status com mais flexibilidade de acordo com as necessidades. Os nós podem personalizar políticas de retenção de estado com base em casos de uso.
● Transição para um modelo onde a computação e a largura de banda são mais importantes que o armazenamento. Mudanças na arquitetura em direção a modelos mais amigáveis à nuvem.
Existem também riscos potenciais, como o aumento da vulnerabilidade a ataques DDoS e o facto de apenas alguns operadores de nós armazenarem de forma fiável o histórico da blockchain. No entanto, as provas criptográficas podem reduzir estes riscos. No geral, os clientes apátridas são uma das formas mais promissoras de superar as limitações atuais do Ethereum.
para concluir
À medida que a adoção aumenta, o crescente tamanho do estado do Ethereum representa um desafio à descentralização. Os clientes sem estado fornecem uma solução, permitindo que os nós verifiquem as transações sem exigir o estado completo do blockchain. Isso poderia eventualmente permitir que os telefones celulares executassem nós Ethereum, aumentando enormemente a descentralização.