Última Atualização na Nodle: o que todos devem saber
Entenda o que aconteceu na Nodle e quando ela vai voltar a produzir blocos.
Salve salve, nodlers.
Infelizmente tivemos uma péssima notícia da Nodle na última 2ª feira e que desde então, a parachain não produz mais blocos. Com isso, as transferências, pagamentos dos rewards e mintagem de NFTs estão pausados na rede.
Graças a segurança compartilhada da Polkadot, a Nodle não corre risco de exploração e os nossos fundos estão seguros! Isso porque a relay-chain da Polkadot continua validando o último ledger da blockchain.
Sem perder tempo, o Eliott Teissonniere, co-fundador e chefe de tecnologia (CTO) da Nodle, publicou um artigo explicando com detalhes o que aconteceu, como enxerga a solução e sugere . O retorno da rede, como veremos, deve demorar algumas semanas, porém, os fundos devem ser totalmente acessíveis antes, no momento de aprovação da proposta.
Este artigo é uma tradução desse artigo que o CTO da Nodle acabou de escrever. Qualquer dúvida, deixe nos comentários, ou junte-se a nós no grupo oficial da Nodle no Telegram em Português.
Uai so serious? - Embaixador Global Nodle
Em 21 de agosto de 2023, por volta das 16h no horário de verão do Pacífico, a Governança da Parachain da Nodle aprovou e lançou uma atualização previamente testada na Rede. Essa atualização foi minuciosamente testada por mais de um mês sem grandes falhas na testnet da Nodle no Rococo (rede de testes da Polkadot). Uma hora depois, quando a atualização estava agendada para ser executada, a produção de blocos foi interrompida.
Apesar de várias tentativas de recuperação com o suporte da Parity, não é possível retomar a produção de blocos sem assistência da relay-chain. Como resultado, não temos outra opção senão solicitar a assistência da Governança da Polkadot para ajudar a restaurar os serviços da Parachain da Nodle para os usuários da Nodle, detentores de tokens e o ecossistema da Polkadot.
Questões Identificadas
Identificamos rapidamente o problema central relacionado ao código de migração da atualização na implantação. As migrações são usadas para ajustar as configurações de tempo de execução durante as atualizações. Neste caso, a migração foi configurada para preparar a Parachain da Nodle para a próxima funcionalidade de NFTs Intrínsecos:
Neste código, a linha 25 (migration::move_pallet) é usada para mover o estado de um palete para outro. Essa função é documentada como abaixo:
A implementação da função move_pallet depende de percorrer todos os itens de armazenamento, o que significa que a migração leva mais tempo se houver mais dados para migrar. Dessa forma, o tempo de migração pode levar mais tempo do que é permitido para Parachains na Polkadot.
Se verificarmos o estado atual a ser migrado na Parachain da Nodle, podemos ver que existem 47.499 NFTs distribuídos em 5.757 Coleções de NFTs registradas na Parachain da Nodle!
Isso levou os coletores a precisar de mais de 5 segundos para produzir um bloco, o que é uma ordem de magnitude acima dos 750 milissegundos impostos pela relay-chain da Polkadot. A equipe tentou várias correções com a assistência da Parity e usou o servidor mais rápido disponível na Google Cloud Platform. Infelizmente, isso reduziu apenas o tempo de produção de um bloco de 5 segundos para 1,5 segundos, o que ainda é muito longo.
Além disso, o tamanho da Prova de Validade para o bloco contendo as etapas de migração necessárias é de aproximadamente 6MB. Esse tamanho excede o limite de 5MB da relay-chain, tornando impossível para a Parachain da Nodle executar sua atualização.
Como as Atualizações são Testadas na Nodle
Há atualizações frequentes na Parachain da Nodle e, para garantir sua implantação tranquila, um processo detalhado é seguido antes de sua proposta na Parachain da Nodle. Esse processo inclui as etapas abaixo:
Executamos cada atualização por meio do try-runtime como parte de nosso processo de CI/CD (o try-runtime testa as atualizações de tempo de execução em um snapshot da Parachain de produção). Para essa atualização específica, nenhum erro ou aviso específico foi acionado e, como tal, assumimos que nossa migração funcionaria bem.
As atualizações são então implantadas em nossa testnet em execução na relay-chain Rococo (rede de testes da Polkadot), que é outra forma de testarmos migrações e possíveis problemas de produção de blocos.
Depois que uma atualização é implantada na testnet, uma série de testes manuais e automatizados são realizados para garantir total compatibilidade com o App da Nodle, o SDK da Nodle e o Cliente da Web.
Como visto acima, está claro que ferramentas adicionais são necessárias para detectar migrações potencialmente problemáticas ao realizar atualizações de tempo de execução. Investigaremos se é possível desenvolver tais ferramentas e disponibilizá-las como open source para a comunidade da Polkadot para apoiar ainda mais o ecossistema.
A Solução
A equipe da Nodle está preparando uma proposta para a relay-chain da Polkadot para garantir que a produção de blocos possa ser retomada. Essa proposta pode levar até 28 dias para ser totalmente executada e implementada, no entanto, nossa compreensão é de que ela pode ser acelerada com apoio suficiente da comunidade.
Compartilharemos detalhes adicionais à medida que estiverem disponíveis.
O Que Vem a Seguir?
Olhando para o futuro, a equipe da Nodle está focada em:
Comunicar regularmente: com seus parceiros, exchanges, desenvolvedores e sua comunidade ativa sobre a evolução da situação.
À prova de futuro: disponibilizando como open source novas ferramentas para detectar problemas desse tipo ou procurando soluções existentes.
Educar o ecossistema: sugeriremos algumas alterações na documentação do Substrate para esclarecer os riscos de usar o move_pallet. Se possível, gostaríamos de investigar se o try-runtime pode ser estendido para fornecer garantias de mais alto nível quanto à segurança das atualizações de tempo de execução.
Brainstorming com a comunidade: seria interessante investigar se sistemas melhores de segurança e fallback poderiam ser contribuídos para a Polkadot. Por exemplo, poderia ter sido melhor para todas as partes envolvidas cancelar automaticamente a atualização de tempo de execução após seu fracasso.
Sobre a Nodle
A Nodle conecta o mundo físico ao Web3 usando smartphones como nodes de borda. Os nodes de borda leem dispositivos e sensores no mundo físico usando Bluetooth Low Energy (BLE) e conectam essas informações à blockchain. Criando uma camada baseada em geolocalização que pode ser usada por muitos aplicativos exclusivos construídos para o mundo hiperconectado e orientado para dispositivos móveis em que vivemos. A Nodle cria um modelo econômico seguro, privado e escalável. Qualquer pessoa com um smartphone pode ingressar na rede e ganhar NODL, o token nativo da Nodle. Para participar, faça o download do aplicativo Nodle para iOS ou Android.
Junte-se a comunidade Nodle em Português!
Twitter | Telegram | Instagram | Discord | Medium
Este artigo é uma tradução do original escrito pelo Eliott Teissonniere
https://medium.com/nodle-io/latest-parachain-upgrade-what-everyone-should-know-9d5563e97a70