Darwinia 2.0 Unificará o Formato do Endereço e a Precisão

kanbeok
Darwinia Network Brasil
6 min readDec 1, 2022

No artigo anterior, demos uma visão geral do merge das cadeias Darwinia. Neste artigo, iremos examinar a unificação do formato do endereço e a precisão após o merge.

Unificação do formato do endereço

No artigo anterior, aprendemos que a Darwinia Chain, Darwinia Smart Chain e Darwinia Parachain serão unificadas. Destas cadeias, aDarwinia Chain e a Darwinia Parachain usam o formato de endereço ss58 (ss58 address), enquanto a Darwinia Smart Chain usa o formato H160 estilo Ethereum (H160 address). Depois do merge, não serão mais necessários dois formatos diferentes; eles serão fundidos em um só formato de endereço H160.

Por que usar o endereço H160?

Considerando que os ‘usuários’ da Darwinia são desenvolvedores, decidimos simplificar sua experiência e tornar ainda mais fácil a construção de Dapps cross-chain.

Antes do merge, os dois formatos de endereço coexistiam, com o ss58 sendo herdado como o formato de endereço padrão da framework Substrate, e o endereço H160 introduzido posteriormente a fim de simplificar o desenvolvimento de Dapps na plataforma de contratos inteligentes EVM. Por um tempo, os dois formatos de endereço foram mantidos para que Dapps pudessem ser desenvolvidos usando endereços H160 em EVM, sem que as funções on-chain originais usando ss58 fossem afetadas.

Entretanto, a coexistência de ambos os formatos de endereço tinha algumas desvantagens. Por exemplo, um endereço H160 pode ser convertido para um ss58 e facilmente revertido para seu formato original, mas é impossível converter um endereço ss58 para um endereço H160, sem que o endereço no formato ss58 seja derivado do endereço H160 desde o início.

Com ambos os formatos de endereço em uso era um tanto confuso para novos desenvolvedores e usuários, especialmente quando as operações precisam ultrapassar os limites EVM-Substrate.

Portanto, consideramos e decidimos pela unificação dos endereços Substrate e EVM como parte do escopo das atualizações para Darwinia 2.0, o que tornará o H160 o padrão.

Não será mais necessário lidar com diferentes formatos de endereço

Um formato de endereço unificado tornará o ecossistema mais coeso e intuitivo tanto para desenvolvedores quanto para usuários, já que muitas operações comuns deixarão de requerer conversão de endereços.

Interface de Operação Unificada

Antes do merge, aplicações como https://apps.darwinia.network/ precisavam de conexão com MetaMask e polkadot{.js}. Depois da unificação, os usuários só precisarão conectar uma carteira, que poderá ser utilizada para todas as operações na blockchain, incluindo atividades centrais como staking e governança.

Maior facilidade de integração e desenvolvimento para infraestrutura EVM

Atualmente, EVM é a plataforma de contrato inteligente com mais tradição, tendo acumulado uma ampla variedade de ferramentas excelentes, incluindo carteiras, ferramentas de desenvolvimento, estruturas de desenvolvimento, etc.

Quando Darwinia for totalmente compatível com o formato de endereço H160, seremos capazes de dedicar mais tempo ao ecossistema EVM. Os desenvolvedores de Dapps só precisarão considerar o uso das ferramentas do ecossistema EVM com as quais já estão familiarizados, sem se preocupar com incompatibilidades. E não haverá (ou haverá menos) necessidade de equipe não-EVM para o desenvolvimento do Dapp.

Além disso, quando sistemas de terceiros acessarem Darwinia 2.0, eles só precisarão usar o json-rpc API e SDKs ricos com os quais já estão muito familiarizados.

Mudanças adicionais

As implicações de fazer as mudanças necessárias para unificar os formatos de endereço não são triviais.

O formato do endereço ss58 é baseado no tipo AccountId32 da estrutura Substrate; um produto do algoritmo de assinatura sr25519. Por outro lado, o endereço H160 é um produto do algoritmo de assinatura ECDSA. Considerando que os algoritmos criptográficos subjacentes dos dois formatos são diferentes, para mudar o formato de endereço, a Darwinia precisará depreciar o algoritmo sr25519 e usar o algoritmo ECDSA ao assinar transações. Felizmente, o Substrate já suporta o ECDSA.

Nós precisamos apenas mudar o esquema de assinatura de chaves de conta para ECDSA. O algoritmo de assinatura usado pelas chaves de sessão permanecerá o mesmo.

O que Darwinia precisa fazer é substituir a AccountId32 pelo tipo AccountId20. Na estrutura de Substrate, o AccountId20 é o wrapper para os endereços H160.

Problemas

Embora a estrutura Substrate tenha tornado relativamente fácil o suporte aos endereços H160, ainda existem alguns desafios.

Como não há como converter uma chave pública sr25519 (AccountId32) para um endereço H160 sem conhecer sua chave privada, os ativos ou dados originais sob um endereço ss58 não podem ser migrados automaticamente. Além disso, as carteiras de terceiros também podem precisar modificar o algoritmo de assinatura da transação para ECDSA.

Aqui estão alguns dos problemas que vamos encontrar:

1. Migração de ativos em contas Substrate comuns

As contas comuns são aqueles endereços ss58 controlados por chaves privadas.

Quando a nova cadeia estiver pronta, os usuários terão que preparar o endereço H160 na nova cadeia, e então iniciar um “claim” para migrar os ativos do endereço ss58 original para o novo endereço H160. Haverá uma ferramenta para que os usuários façam esta migração.

As chaves privadas dos endereços antigo e novo serão ambas de propriedade dos próprios usuários, o que garantirá que os bens estarão sempre sob seu controle.

Mais detalhes e tutorial serão fornecidos em breve.

2. Migração de ativos de contas multi-sig

Ainda não está completamente determinado como será feita a migração de contas multi-sig. Na nova cadeia, a funcionalidade multi-sig pode ser implementada através de um contrato inteligente multi-sig. Se a funcionalidade multi-sig original é mantida ou totalmente migrada para o novo contrato multi-sig está também sob discussão.

Além disso, a IU multi-sig da Darwinia fornecida por terceiros também precisa ser ajustada, como a ferramenta multi-sig da Subscan.

3. Migração de dados de outros módulos relacionados a contas

Migração de dados, incluindo Governança, Vesting, Proxy, Utils, etc. etc., ainda está em discussão.

4. Aualização de carteira

Depois de substituir o algoritmo de assinatura sr25519 pelo ECDSA, o extrínseco será assinado usando o ECDSA. Todas as carteiras que suportam Darwinia também terão que atualizar seu algoritmo de assinatura.

Unificação da Precisão

Antes do merge, calculamos valores de token nativo tanto para 9 como para 18 dígitos de precisão. 9 dígitos de precisão para endereços ss58, e 18 para endereços H160 após a introdução do EVM. Usamos 18 dígitos de precisão para endereços H160 de modo a manter a consistência com o Ethereum. Manter-se consistente com Ethereum poderia reduzir a curva de aprendizagem dos desenvolvedores.

A manutenção de sistemas de conta paralela com diferentes níveis de precisão apresentou um desafio ao transferir tokens nativos de endereços ss58 para endereços H160 e vice-versa, e é por isso que para esta atualização foi naturalmente incluída uma medição unificada de precisão. Após a fusão, o protocolo Darwinia se tornará mais fácil de entender e reduzirá também a curva de aprendizado do desenvolvedor. Em resumo, em Darwinia 2.0, os tokens nativos terão todos 18 dígitos de precisão.

Sobre a Rede Darwinia

Github | Website | Medium | Twitter | Telegram

A Darwinia é uma infraestrutura de mensagens cross-chain, que fornece uma rede de mensagens cross-chain baseada em light client, programável e universal para aplicações descentralizadas. Recentemente, nos implantamos o Darwinia’s light-client cross-chain messaging protocol(LCMP) com sucesso, de modo a estabelecer a ponte de mensagens cross-chain entre cadeias baseadas em substrate, e mesmo entre cadeias baseadas em substrate e cadeias EVM. A Darwinia fornece aos desenvolvedores um SDK, e os desenvolvedores podem facilmente integrar as capacidades cross-chain em seus DApps. Isto terá implicações profundas para a interoperabilidade cross-chain, e a Darwinia atuará como uma infraestrutura cross-chain de mensagens para estimular a construção de uma rede cross-chain híbrida para a Polkadot.

Traduzido do inglês para o português por kanbeok.

Link para acesso ao artigo original:

https://medium.com/darwinianetwork/darwinia-2-0-will-unify-address-format-and-precision-309ad9a20bf2

--

--