O Ethereum pode se dar ao luxo de perder a finalidade de vez em quando sem colocar a rede em risco sério, segundo o cofundador Vitalik Buterin, mesmo após um bug recente em um cliente quase ter comprometido o mecanismo de confirmação da blockchain.
Após um bug recente no cliente Prysm do Ethereum, Buterin afirmou em uma publicação no X que “não há nada de errado em perder a finalização de vez em quando”. Ele acrescentou que a finalização indica que a rede tem “certeza real” de que um bloco não será revertido.
Buterin argumentou que, se a finalização for ocasionalmente atrasada por horas devido a um bug grave, “isso é aceitável”, e a blockchain continua funcionando durante esse período. O verdadeiro problema seria outro, segundo ele: “O que deve ser evitado é finalizar a coisa errada”.
Especialistas comentam a perda de finalização
Fabrizio Romano Genovese, doutor em ciência da computação pela Universidade de Oxford, na Inglaterra, sócio da empresa de pesquisa em blockchain 20squares e especialista no protocolo Ethereum, concordou com Buterin.
Ele afirmou que, quando a finalização é perdida, o Ethereum passa a se parecer mais com o Bitcoin (BTC), e destacou que o Bitcoin “não tem finalização desde 2009 e ninguém reclama”.
Uma blockchain de prova de trabalho, como a do Bitcoin, pode se ramificar em várias cadeias, sendo considerada válida aquela que recebe mais trabalho (geralmente a mais longa). Ainda assim, se um ramo secundário crescer o suficiente para ultrapassar o principal, ele invalida a cadeia principal e as transações que ela contém, isso é chamado de reorganização.
É assim que o Bitcoin funciona: sua finalização é probabilística, não determinística, porque, embora seja quase impossível após um número suficiente de blocos ser adicionado à cadeia principal, teoricamente uma reorganização ainda pode ocorrer. Genovese explicou como o Ethereum é diferente, com regras que definem blocos como “finalizados”. Ele acrescentou:
“O Ethereum tem um mecanismo de finalização: quando um bloco recebe mais de 66% dos votos dos validadores, ele se torna ‘justificado’. A partir desse ponto, se mais de duas épocas (64 blocos) se passarem, o bloco é finalizado.”
Isso não é apenas teórico; já ocorreu em maio de 2023, devido a um incidente semelhante ao recente com o cliente Prysm. Segundo Genovese, esses episódios não tornam a rede insegura; em vez disso, “apenas significa que nossas garantias em relação a reorganizações retornaram temporariamente ao modelo probabilístico, e não determinístico”.
Consequências para L2s e pontes
Ainda assim, Genovese observou que a falta de finalização afetaria infraestruturas que dependem dela, incluindo algumas pontes interblockchain ou de segunda camada (L2).
Um representante da sidechain do Ethereum Polygon disse ao Cointelegraph que a Polygon continuaria operando normalmente, mas que transferências do Ethereum para a sidechain “podem sofrer atrasos enquanto aguardam a finalização”.
Além disso, o porta-voz da Polygon afirmou que a camada de liquidação crosschain AggLayer atrasaria transações do Ethereum para L2 até que a finalização fosse retomada. Ainda assim, ele disse que “não há cenário em que os usuários experimentem reversões ou invalidação de mensagens” devido à perda de finalização:
“O impacto prático de um evento de finalização atrasada é simplesmente que os depósitos podem demorar mais para aparecer. Os usuários não ficam expostos a reversões impulsionadas por reorganizações além desse atraso.”
Genovese atribuiu a responsabilidade por esse tipo de atraso aos desenvolvedores que exigem finalização. “Se um construtor de pontes decide não implementar nenhum mecanismo de contingência em caso de perda de finalização, essa é uma escolha dele”, concluiu.