A pesquisa de clientes para a Ethereum é vista como um instrumento para a saúde a longo prazo da rede, mas, apesar de todo o progresso, algumas limitações fundamentais os impedem de serem aplicadas na prática por enquanto.

Na conferência Unitize, Vitalik Buterin, cofundador da Ethereum, forneceu uma imagem atualizada dos últimos progressos e problemas para a transição de clientes 'sem estado'.

Os clientes sem estado, em suma, são uma maneira de permitir que os nodes participem totalmente da validação sem precisar manter todo o histórico anterior da blockchain. O estado representa todos os saldos atuais, código de contratos inteligentes e seus respectivos dados.

Cada novo bloco faz apenas pequenas alterações no estado, mas todas precisam ser verificadas em todo a blockchain, tornando-o um processo muito ineficiente. Clientes sem estado são o foco principal da iniciativa Ethereum 1.x, que visa manter a cadeia existente em um estado utilizável. Mas a pesquisa também tem implicações importantes para o Ethereum 2.0:

"No contexto de sharding da Ethereum 2.0, os clientes sem estado são basicamente obrigatórios porque os nodes são reorganizados rapidamente entre diferentes shards".

Buterin também destacou que os clientes sem estado também estão sendo estudados em outras blockchains, incluindo o Bitcoin. Os clientes sem estado dependem de técnicas criptográficas para computar apenas as alterações de estado e verificá-las sem precisar manter o próprio estado na memória. Mas a criptografia envolvida ainda é imperfeita.

As questões da criação de provas

A atual solução "estado da arte" se baseia nas provas de Merkle para validar o estado através do conceito de testemunha (witness), que inclui informações sobre partes do estado que foram modificadas. Mas a tecnologia tem várias desvantagens importantes devido às ineficiências atuais na Ethereum, que podem resultar em um tamanho máximo de testemunha de 405 megabytes para cada bloco.

As otimizações podem reduzir o tamanho da testemunha para um máximo de dois megabytes e uma média de 600 kilobytes - mas isso ainda está muito acima do tamanho atual do bloco Ethereum, de cerca de 50 kilobytes.

A alternativa em que Buterin está se concentrando atualmente é o Polynomial Commitments (Compromisso Polinomial), um sistema de prova que depende de funções polinomiais para representar dados. Por meio de algumas propriedades criptográficas, elas permitem o uso de apenas uma pequena testemunha para provar "um monte de valores".

Mas ele explicou que há um grande problema com essa abordagem. As provas de Merkle são fáceis de atualizar parcialmente devido à sua estrutura em forma de árvore, mas os compromissos polinomiais exigem uma mudança completa de toda a curva, o que tornaria caros as testemunhas de cálculo.

Existem várias soluções possíveis para esse problema, envolvendo, por exemplo, um modelo híbrido de “árvores Verkle”, que combina compromissos polinomiais em uma estrutura semelhante a uma árvore. 

Pesquisa contínua

Buterin observou que cada solução em potencial tem seus próprios problemas que exigem pesquisas adicionais. Terminando sua apresentação, ele disse:

“Existem várias técnicas aritméticas sofisticadas que nos permitem reduzir esses tamanhos de testemunha até o ponto em que os dados extras que os clientes sem estado  precisam fazer o download não são tanto assim. Mas ainda é necessário pesquisar e ainda é preciso muito refinamento, e é algo em que recebemos ativamente mais ajuda da comunidade de pesquisa acadêmica.”

A apresentação sugere que os clientes sem estado talvez não venham para a Ethereum tão cedo, pois dependem de avanços na pesquisa criptográfica. Atualmente, a capacidade transacional da Ethereum está sendo propositadamente limitada devido a preocupações de tornar a blockchain muito pesada para dispositivos médios.

Para o usuário médio, isso significa que os preços do gás provavelmente permanecerão altos no futuro próximo, a menos que a demanda caia para níveis mais baixos - ou que as soluções da camada dois atinjam os objetivos.

Leia mais: