
A repentina popularidade de Cryptokitties demonstrou a capacidade limitada de largura de banda da blockchain Ethereum e bloqueou completamente a rede com mais de 700.000 transações por dia.
A demanda por transações Ethereum tem crescido constantemente há vários meses, mas parece que apenas gatinhos conseguiram criar uma sobrecarga crítica. Como resultado, a memória cresceu para até 20.000 transações e a comissão para uma simples transferência de Ethereum atingiu 11 centavos.
A situação é complicada pelo fato de que os mineradores se recusam a aumentar o limite de gás flutuante (análogo ao tamanho do bloco do Bitcoin) porque a porcentagem de blocos “abandonados” (âncoras) é muito grande. Nick Johnson, da Ethereum Foundation, explica:
Quanto maior o bloco, maiores as âncoras; a otimização do código, que aumenta a velocidade de propagação do bloco pela rede e a velocidade de seu processamento, reduzirá significativamente a aparição de âncoras em todos os níveis. Melhorias na velocidade de processamento dos blocos já foram realizadas, especialmente no auge dos ataques DoS à rede no outono passado, mas então o problema foi resolvido com hard forks e a necessidade de modificações ficou em segundo plano. Acredito que esse trabalho será retomado agora mesmo: vejo pelo menos algumas coisas que podem ser feitas muito rapidamente.
Recentemente, o Fundo tem se preocupado mais com o problema global de escalabilidade, resolvendo os problemas de PoS e sharding ao abandonar os problemas aparentemente insignificantes dos mineradores. No entanto, o jogo aparentemente inofensivo com gatinhos requer medidas urgentes. Johnson lista algumas delas:
A sugestão recente da EIP para compressão de dados em transações pode reduzir significativamente seu volume. Essa sugestão já foi implementada no cliente Geth, mas o segundo cliente Parity ainda não a suporta, então, por enquanto, a troca de dados entre Geth e Parity ocorre com dados não comprimidos. No Geth, já foi implementada a gravação de árvores de prefixo com intervalos estendidos em vez de escrevê-las em cada bloco. Isso ajuda a ignorar dados instantaneamente obsoletos.
No caminho para a solução mais simples - um aumento do limite de gás - é necessário eliminar vários gargalos. O primeiro deles é o armazenamento de dados e esse problema já foi resolvido. Em seguida, é necessário reduzir o tempo para transferir novos blocos entre mineradores usando compressão de dados e, de acordo com Johnson, isso depende da equipe do Parity.
Em um futuro próximo, o Ethereum realizará sua própria versão do FIBER, xThin ou Graphene: isso acelerará significativamente a troca de mensagens entre mineradores, o que reduzirá drasticamente a porcentagem de ancs.
Comentando sobre a recusa da Ethermine em aumentar o gazlimit, Johnson disse:
Eu acho que eles estão certos ao dizer que aumentar o gazlimit agora não ajudará. Ao mesmo tempo, pequenas modificações nos clientes podem mudar isso.
O momento de resolver o problema, mesmo a curto prazo, não é fácil de determinar, especialmente no que diz respeito à eficiência da distribuição dos blocos. Johnson fez as seguintes suposições:
Depende das equipes de ambos os clientes. É necessário lançar novas versões dos clientes e ver qual efeito essas mudanças terão na aparição de âncoras; eu acho que pelo menos algumas semanas. Eu acho que os Cryptokitties estão otimizando seu contrato mais rápido ou a demanda por eles cairá. Claro, isso não diminui a importância de modificações urgentes nos clientes.
Os gatinhos se tornaram apenas a "última gota" para que a demanda por transações provavelmente não caia muito no futuro próximo.
Vitalik Buterin fez um tweet dizendo que 20 centavos por transação é um preço inaceitável e, muito provavelmente, isso é apenas um fenômeno temporário que existirá até que as modificações sejam feitas. No entanto, isso também será uma solução temporária antes da implementação do Casper e do sharding.
Quanto à previsão realista para as próximas semanas, a rede continuará sobrecarregada e as comissões continuarão a subir enquanto as modificações completas dos clientes que podem convencer os mineradores a aumentar o limite de gás aparecerem pelo menos no final do mês, ou mais provavelmente no início do próximo ano.






