Home » Durante 30 minutos, a cadeia de blocos Ethereum (ETH) deixou de finalizar blocos

Durante 30 minutos, a cadeia de blocos Ethereum (ETH) deixou de finalizar blocos

by Thomas

No final da noite de quinta-feira, a blockchain Ethereum encontrou um problema que impediu temporariamente que os blocos fossem validados correctamente. Embora tudo tenha voltado ao normal desde então, eis o que sabemos sobre este episódio por enquanto.

Blocos pararam temporariamente de ser finalizados no Ethereum

No momento da escrita, a causa exacta ainda não tinha sido comunicada, mas durante cerca de trinta minutos a blockchain Ethereum (ETH) encontrou um problema que impedia a finalização de blocos.

É importante salientar que o blockchain não parou. No entanto, durante 3 épocas, a camada de consenso sofreu um bug semelhante ao que é conhecido como “vazamento de inatividade”.

Em termos mais simples, a blockchain comportou-se como se muitos validadores estivessem offline.

Não foi esse o caso, mas o facto é que, durante este período, um número limitado de certificados foi emitido por validadores:

Figure 1 - Epochs that encountered a consensus bug on Ethereum

Figure 1 – Epochs that encountered a consensus bug on Ethereum

Um problema com um pedaço de software que está a ser usado

Para funcionar, a blockchain Ethereum está dividida em 2 pilares: a camada de execução, que permite a realização de transacções, e a camada de consenso, que garante a consistência dos blocos. Para estes dois pilares, os validadores podem utilizar diferentes softwares chamados clientes.

A Fundação Ethereum incentiva os validadores a diversificarem os clientes que utilizam, para que, caso ocorra um bug, a blockchain continue funcionando normalmente.

Na ilustração abaixo, podemos ver que o software utilizado para a camada de consenso está correctamente diversificado, enquanto que para a camada de execução, o cliente Geth está demasiado representado:

Figura 2 - Diversidade de clientes utilizados pelos validadores no Ethereum

Figura 2 – Diversidade de clientes utilizados pelos validadores no Ethereum


Como nenhum cliente da camada de consenso é usado por mais de 50% dos validadores, o bug da noite passada não poderia ter causado um encerramento ou bifurcação da blockchain. Isto assumindo que o problema teve efectivamente origem num dos pacotes de software utilizados.

Nesta eventualidade, o programador principal Superphiz salienta que este problema de fuga de inactividade poderia mesmo ter sido evitado se nenhum software representasse mais de 33% dos validadores:

Por sua vez, Terence Tsao indicou que foi identificado um problema com o cliente Prysm, embora não possamos dizer neste momento se esta é a fonte da paragem da validação de blocos :

O mais importante neste momento é que tudo voltou rapidamente ao normal e que nenhum validador foi cortado durante este episódio. De facto, o slashing é usado para desviar algum do ETH escondido quando os validadores não fazem o seu trabalho correctamente.

Um relatório detalhado sobre o que aconteceu deverá ser fornecido pela equipa de desenvolvimento em breve, e poderemos voltar a esta informação nessa altura.

Related Posts

Leave a Comment