Carregando...
pt

Um post-mortem das duas interrupções da rede principal do Ethereum

Em 11 e 12 de maio de 2023, a rede Mainnet da Ethereum sofreu duas interrupções significativas. Isso resultou em um atraso na produção de blocos por 4 épocas e 9 épocas, respetivamente. Durante o segundo incidente, foi aplicada uma penalização por inatividade.

Em 11 e 12 de maio de 2023, a rede Mainnet da Ethereum&apos experimentou duas interrupções significativas. Isso resultou em um atraso na produção de blocos por 4 épocas e 9 épocas, respetivamente. Durante o segundo incidente, foi aplicada uma penalização por inatividade. A rede, no entanto, conseguiu recuperar-se autonomamente em ambas as ocasiões.

Impacto

A primeira interrupção resultou em aproximadamente 47 blocos em falta, e a segunda causou uma perda mais substancial de aproximadamente 149 blocos. Os atrasos e blocos perdidos levaram a uma perda de receita de aproximadamente 5 ETH para os produtores de blocos afetados. Espera-se que esse número, no entanto, seja significativamente maior ao considerar as recompensas do pacote do construtor.

Fonte: beaconcha.in

Estima-se que 65% dos validadores estiveram offline durante 8 épocas, o que levou a uma fuga de inatividade, resultando numa perda estimada de cerca de 28 ETH, mais cerca de 50 ETH em receitas perdidas devido à falta de atestados. No total, a perda estimada foi de aproximadamente 83 ETH, o que equivale a uma média de menos de 0,00015 ETH por validador.

No entanto, é digno de nota que nenhum corte de validador foi atribuído a esses incidentes, indicando que os problemas eram mais sistêmicos do que individuais.

Causas Raiz

A causa raiz das interrupções está em alguns dos clientes de consenso, incluindo o Prysm, que lutaram para processar de forma otimizada atestados válidos com um ponto de verificação de destino antigo. Isso fez com que o Prysm recompute estados de beacon anteriores para validar os atestados' autenticidade, levando à exaustão de recursos e a uma desaceleração significativa no atendimento de solicitações de clientes validadores.

Trigger

Uma série de atestados antigos votando a um bloco de beacon antigo (um bloco da época N-2 durante a época N) foi transmitida, causando os problemas no Prysm e no Teku. Esses atestados válidos, mas problemáticos, forçaram o Prysm a regenerar o mesmo estado várias vezes devido ao rápido preenchimento de seu cache.

Deteção

Os problemas foram detectados após uma queda substancial na participação da rede nas épocas 200.551 e 200.750, levando a uma interrupção temporária da finalização da cadeia.

Fonte: beaconcha.in

Resumo

O principal problema foi que a rede não conseguiu finalizar devido à falta de blocos e atestados. Além disso, a rede enfrentou stress devido a um aumento do processamento de depósitos máximos. O Prysm, em particular, enfrentou o problema de múltiplos replays (função replayBlocks), levando a um alto uso da CPU.

Apesar desses problemas, a duração dos incidentes foi relativamente curta, sem relatos de cortes em massa. A diversidade de clientes da rede e a capacidade de alguns clientes de propor blocos e criar atestados permitiram a recuperação da cadeia. É importante ressaltar que não foi necessária nenhuma intervenção manual ou lançamento de emergência para resolver o problema da finalidade.

Este incidente destacou a limitação das redes de teste, que não são representativas do ambiente da Mainnet, sublinhando assim a necessidade de testes de stress e planos de contingência mais robustos. Ele também serviu como um teste de campo bem-sucedido de penalidades por vazamento de inatividade.

Várias correções foram introduzidas para evitar a recorrência de tais problemas. Estas incluem a utilização do estado de cabeça para validar atestados para um bloco canónico recente como raiz de destino, a utilização da cache da ranhura seguinte para validar atestados para ranhuras de limite na época anterior e a eliminação de quaisquer atestados não validados pelas duas regras anteriores. Essas medidas devem reduzir as chances de reproduzir estados e ignorar os atestados de blocos antigos em condições normais.

Embora a interrupção da Mainnet tenha apresentado desafios significativos, a rápida recuperação e as valiosas lições aprendidas abrem caminho para uma rede Ethereum mais resiliente.

Solana Weekly Newsletter

0

Notícias Relacionadas