- O Ethereum está avançando para a prova de participação! A transição, conhecida como a Fusão, deve primeiro ser ativada na Beacon Chain com a atualização Bellatrix. Depois disso, a cadeia de prova de trabalho migrará para a prova de participação ao atingir um valor específico de Total Difficulty.
- A atualização Bellatrix está programada para a época 144896 na Beacon Chain -- 11:34:47 UTC em 6 de setembro de 2022.
- O valor de Terminal Total Difficulty que desencadeia a Fusão é 58750000000000000000000, prevista para ocorrer entre 10 a 20 de setembro de 2022.
- Observação: como anunciado anteriormente, a rede de teste Kiln está sendo desativada. Os operadores serão desligados em 6 de setembro de 2022.
Informações gerais
Após anos de trabalho árduo, a atualização de prova de participação do Ethereum finalmente chegou! A atualização bem-sucedida de todas as redes de teste públicas está agora concluída, e a Fusão foi agendada para a mainnet Ethereum.
A Fusão difere das atualizações de rede anteriores de duas maneiras. Primeiro, os operadores de nó precisam atualizar seus clientes da camada de consenso (CL) e da camada de execução (EL) em conjunto, em vez de apenas um dos dois. Segundo, a atualização é ativada em duas fases: a primeira, chamada Bellatrix, em uma época na Beacon Chain e a segunda, chamada Paris, ao atingir um valor de Total Difficulty na camada de execução.
Informações sobre a atualização
Cronograma
A Fusão é um processo de duas etapas. O primeiro passo é uma atualização de rede, a saber, Bellatrix, na camada de consenso acionada por uma altura de época. Posteriormente, ocorre a transição da camada de execução de prova de trabalho para a prova de participação, ou seja, Paris, desencadeada por um limite específico de Total Difficulty, chamado de Terminal Total Difficulty (TTD).
A atualização Bellatrix está programada para a época 144896 na Beacon Chain -- 11:34:47 UTC em 6 de setembro de 2022.
Paris, a parte da camada de execução da transição, será acionada pela Terminal Total Difficulty (TTD) de 58750000000000000000000, prevista para ocorrer entre 10 e 20 de setembro de 2022. A data exata em que a TTD é alcançada depende da taxa de hash da prova de trabalho. As estimativas para a transição podem ser encontradas em bordel.wtf e 797.io/themerge.
Assim que a camada de execução atingir ou exceder a TTD, o bloco subsequente será produzido por um validador Beacon Chain. A transição Fusão é concluída quando a Beacon Chain finaliza este bloco. Em condições normais de rede, isso acontecerá 2 épocas (ou ~ 13 minutos) após a produção do primeiro bloco após a TTD!
Uma nova tag de bloco JSON-RPC, finalized, retorna o último bloco finalizado ou um erro se não existir tal bloco após a fusão. Essa tag pode ser usada para aplicativos para verificar se a Fusão foi concluída. Da mesma forma, os contratos inteligentes podem consultar o opcode DIFFICULTY (0x44), (renomeado para PREVRANDAO após a fusão), para determinar se a Fusão ocorreu. Recomendamos que os provedores de infraestrutura monitorem a estabilidade geral da rede, além do status de finalização.
Versões de cliente
As seguintes versões de clientes são compatíveis com a Fusão na mainnet Ethereum. Os operadores de nó devem executar tanto um cliente de camada de execução quanto de consenso para permanecer na rede durante e após a Fusão.
Ao escolher qual cliente executar, os validadores devem estar especialmente atentos aos riscos de executar um cliente majoritário na camada de execução (EL, na sigla em inglês) e na camada de consenso (CL, na sigla em inglês) Uma explicação desses riscos e suas consequências podem ser encontradas aqui. Uma estimativa da distribuição atual de clientes EL e CL e guias para mudar de um cliente para outro pode ser encontrada aqui.
Camada de consenso
Nome | Versão | Link |
---|---|---|
Lighthouse | v3.1.0 | Baixar |
Lodestar | v1.0.0 | Baixar |
Nimbus | v22.9.0 | Baixar |
Prysm | v3.1.0 | Baixar |
Teku | 22.9.0 | Baixar |
Camada de execução
Nome | Versão | Link |
---|---|---|
Besu | 22.7.2 | Baixar |
Erigon | 2022.09.01-alpha | Baixar |
go-ethereum (geth) | v1.10.23 | Baixar |
Nethermind | v1.14.1 | Baixar |
Aviso: a versão geth v1.10.22 contém um problema crítico de banco de dados, não use esta versão e se você já atualizou, atualize para a v1.10.23 o mais rápido possível.
Especificações de atualização
As mudanças fundamentais de consenso para a Fusão são especificadas em dois lugares:
- A camada de consenso muda no diretório Bellatrix do repositório de especificações de consenso
- A camada de execução muda nas especificações de Paris no repositório de especificações de execução
Além dessas, duas outras especificações cobrem como os clientes da camada de consenso e execução interagem:
- A Engine API, especificada no repositório de apis de execução, é usado para comunicação entre as camadas de consenso e execução
- O Optimistic Sync, especificado na pasta sync do repositório de especificações de consenso, é usado pela camada de consenso para importar blocos enquanto o cliente da camada de execução está sincronizando e para fornecer uma visão parcial do cabeçalho da cadeia do primeiro para o último
Recompensas para Bugs relacionados à Fusão
Todas as recompensas relacionadas à Fusão por vulnerabilidades receberão um multiplicador 4x entre agora e 8 de setembro. Bugs críticos agora valem até US$ 1 milhão.
Consulte o programa de recompensas para bugs para obter mais detalhes.
Perguntas frequentes
Como operador de nó, o que devo fazer?
Após a Fusão, um nó completo Ethereum é a combinação de um cliente de camada de consenso (CL) que executa a Beacon Chain de prova de participação e um cliente de camada de execução (EL) que gerencia o estado do usuário e executa os cálculos associados com as transações. O cliente EL e CL se comunicam por uma porta autenticada usando um novo conjunto de métodos JSON RPC chamado Engine API . O cliente EL e CL se autenticam mutualmente usando um segredo JWT. Os operadores de nó devem consultar a documentação de seus clientes para obter instruções sobre como gerar e configurar esse valor.
Em outras palavras, se você já executa um nó na Beacon Chain, agora também precisará executar um cliente de camada de execução. Da mesma forma, se antes você executava um nó na rede de prova de trabalho atual, agora deverá executar um cliente de camada de consenso. Para que se comuniquem de forma segura, cada cliente deve receber um token JWT. Uma atualização para a seção 'Executar um nó' do ethereum.org aborda essas etapas com mais detalhes.
Vale a pena salientar que, embora ambos façam parte das versões do cliente de camada de consenso, executar um nó Beacon é diferente de executar um cliente validador. Os participantes devem executar os dois, mas os operadores de nós só precisam executar o primeiro. Este artigo explica a diferença entre esses componentes em mais detalhes.
E vale observar que cada camada vai manter um conjunto independente de pares e expor suas próprias APIs. As APIs Beacon e JSON RPC continuarão funcionando como esperado.
Como participante, o que preciso fazer?
Conforme explicado acima, os validadores na Beacon Chain precisarão executar um cliente de camada de execução após a Fusão, além de seus clientes de camada de consenso. Antes da Fusão, isso foi altamente recomendado, mas alguns validadores terceirizaram essas funções para provedores terceirizados. Isso era possível porque os únicos dados necessários na camada de execução eram atualizações no contrato de depósito.
Após a Fusão, os validadores devem garantir que as transações do usuário e os blocos de transição de estado que eles criam e atestam são válidos. Para fazer isso, cada nó sinalizador (beacon) deve ser vinculado a um cliente de camada de execução. Observe que ainda é possível associar vários validadores a uma combinação única de nó beacon e cliente de camada de execução. Isso expande as responsabilidades dos validadores, mas também dá ao validador que propõe um bloqueio o direito às suas taxas de prioridade de transação associadas (que atualmente vão para os mineradores).
Embora as recompensas do validador ainda sejam acumuladas na Beacon Chain e exija que uma atualização de rede subsequente seja retirada, as taxas de transação serão pagas, "queimadas", ou seja, removidas de circulação, e distribuídas na camada de execução. Os validadores podem especificar qualquer endereço Ethereum como destinatário das taxas da transação.
Depois de atualizar seu cliente de consenso, certifique-se de definir o fee recipient como parte das configurações do seu cliente validador para garantir que as taxas de transação sejam enviadas para um endereço que você controla. Se você fez staking usando um provedor de terceiros, cabe ao seu provedor selecionado especificar como essas tarifas são alocadas.
A Staking Launchpad tem uma Lista de verificação de preparação para fusão que os interessados podem usar para garantir que tenham passado por cada etapa do processo. A EthStaker também organizou Workshops de preparação do validador, e vem mais workshops por aí.
Os participantes que desejam executar um validador em uma rede de teste em preparação para a transição de prova de participação da rede principal podem fazê-lo na Goerli (agora fundida com a Prater), que também possui uma instância da Staking Launchpad.
Por que a data estimada para a Terminal Total Difficulty é tão ampla?
A dificuldade incremental adicionada por bloco depende da taxa de hash da rede, que é volátil. Se mais taxa de hash se juntar à rede, a TTD será alcançada mais cedo. Da mesma forma, se a taxa de hash sair da rede, a TTD será alcançada mais tarde. No caso de uma queda significativa nos níveis de taxa de hash, uma TTD Override pode ser coordenada como ocorreu na Ropsten.
Como desenvolvedor de aplicativos ou de ferramentas, o que devo fazer?
Como explicamos em um artigo anterior, a Fusão causará um impacto mínimo em um subconjunto de contratos implementados no Ethereum, nenhum dos quais será rescindido. Além disso, a maioria dos endpoints da API do usuário permanece estável (a menos que você use métodos específicos de prova de trabalho, como eth_getWork).
Dito isso, a maioria dos aplicativos no Ethereum envolve muito mais do que contratos on-chain. Agora é o momento de garantir que seu código front-end, ferramentas, pipeline de implantação e outros componentes off-chain funcionem como esperado. Recomendamos de maneira enfática que os desenvolvedores realizem um ciclo completo de teste e implantação na Sepolia ou na Goerli e informem qualquer problema relacionado a ferramentas ou dependências aos responsáveis desses projetos. Em caso de dúvidas, use este repositório.
Além disso, deve-se considerar também que todas as redes de testes, com exceção de Sepolia e Goerli, se tornarão obsoletas depois da fusão. Se você é um usuário da Ropsten, Rinkeby ou Kiln, deveria planejar migrar para Goerli ou Sepolia. Encontre mais informações sobre isso aqui.
Como usuário do Ethereum ou proprietário de Ether, há algo que eu precise fazer?
Se estiver usando aplicativos Ethereum on-chain, mantendo a Ether em uma bolsa ou em uma carteira autocustodiada, você não precisa fazer nada. Se um aplicativo, bolsa ou carteira que você usa oferecer instruções ou recomendações adicionais, verifique a veracidade dessas informações. Fique atento a fraudes!
Como minerador, há algo que eu precise fazer?
Não. Se você está minerando na rede principal do Ethereum ou, saiba que depois da Fusão a operação da rede será inteiramente feita sob a prova de participação. Quando isso ocorrer, a mineração deixará de ser possível na rede.
O que acontece se eu for um minerador ou operador de nó e não participar da atualização?
Se você estiver usando um cliente Ethereum que não foi atualizado para a versão mais recente (listada acima), seu cliente será sincronizado com a blockchain pré-bifurcação assim que a atualização ocorrer.
Você ficará preso em uma cadeia incompatível seguindo as regras antigas e não poderá enviar a Ether ou operar na rede Ethereum após a fusão.
Como validador, posso retirar minha participação?
Não. A Fusão é a melhoria do Ethereum mais complexa até hoje. Para minimizar os riscos de interrupções na rede, foi adotada uma abordagem mínima, que excluiu desta melhoria qualquer mudança não transitória.
É provável que a partir da primeira atualização depois da Fusão você já possa retirar sua participação da Beacon Chain. As especificações para as camadas de consenso e de execução estão sendo definidas.
Tenho mais perguntas. Onde posso fazê-las?
Junte-se aos desenvolvedores da equipe de cliente, membros do ETHStaker, pesquisadores e muitos outros na próxima Reunião On-line sobre a Fusão, sexta-feira, 9 de setembro às 14:00 UTC!
Obrigado
A transição do Ethereum para a prova de participação levou muitoooooo tempo para acontecer. Agradecemos a todos que contribuíram para pesquisar, especificar, desenvolver, analisar, testar, descobrir problemas e corrigi-los ou explicar tudo o que nos levou à Fusão.
Houve muitos colaboradores ao longo dos anos para listar aqui, mas cada um sabe como contribuiu. Sem isso, não teríamos chegado tão longe.
Quando será a Fusão? Muito em breve 🔜.
Obrigado a Joseph Schweitzer e a Tomo Saito pela imagem de capa desta publicação!