Nos últimos meses, esforços significativos foram dedicados ao desenvolvimento da Ponte Sui, uma ponte nativa para o ecossistema Sui. Esta iniciativa aumenta a acessibilidade do Sui para a comunidade em geral e melhora a interoperabilidade com outras blockchains. 

Sui Bridge, um componente crítico no ecossistema Sui, facilita a transferência segura e eficiente de ativos e dados entre Sui e outras redes blockchain. Essa capacidade não apenas amplia o alcance de aplicativos desenvolvidos em Sui, mas também oferece um caminho para uma integração mais profunda no cenário mais amplo do blockchain. A interoperabilidade aumenta o crescimento e a adoção do Sui, permitindo que ativos em outras redes, como Ethereum, migrem com segurança e facilidade para o Sui.

Fundo da Ponte Sui

No contexto do ecossistema blockchain, uma ponte é um protocolo que permite a interação e comunicação entre redes blockchain independentes. As pontes facilitam a transferência de dados através das fronteiras, permitindo aos usuários mover seus ativos de uma cadeia para outra e até mesmo realizar operações mais complexas, como a passagem de mensagens entre cadeias. 

Entre as poucas opções de design de ponte, a Sui Bridge utiliza um mecanismo de bloqueio e cunhagem, uma das soluções mais utilizadas. Como um design lock and mint, Sui Bridge mantém ativos nativos do Ethereum dentro de contratos inteligentes Ethereum, enquanto cunha ou queima ativos Sui dependendo da direção da interação da ponte. 

Como uma ponte nativa em Sui, a Sui Bridge não requer confiança adicional. As entidades que protegem o Sui são as mesmas que protegem o Sui Bridge e o código do Sui Bridge é incorporado à estrutura Sui.

Em seu estado atual, o Sui Bridge está disponível na Testnet e oferece suporte à ponte de tokens como ETH, WETH, WBTC e USDT entre Ethereum Sepolia e Sui Testnet. Após o lançamento do Sui Bridge na Mainnet, o suporte para mais ativos será priorizado. Versões posteriores do Sui Bridge adicionarão novas funcionalidades, como mensagens personalizadas entre cadeias e integração com outros blockchains.

Arquitetura de alto nível

A Sui Bridge tem quatro componentes principais: o comitê ou rede de nós da Sui Bridge, os contratos inteligentes da Sui Bridge, os nós completos operando em Ethereum e Sui e o cliente da ponte. 

O cliente é a interface entre o usuário e a infraestrutura do Sui Bridge. Ele coordena as ações de ponte do usuário enviando transações formatadas corretamente e coletando assinaturas do nó Sui Bridge conforme necessário. O cliente usa nós completos para enviar transações em ambos os lados da ponte. Os nós Sui Bridge também executam nós completos Ethereum e Sui para ouvir ações de ponte e responder a elas por meio da transação seguinte. Embora o cliente de ponte não tenha permissão e possa ser executado por qualquer pessoa, muitos nós de ponte ativarão os clientes de ponte para garantir a atividade da rede.

Sui Bridge utiliza infraestrutura operando em Ethereum e Sui junto com a rede de nós Sui Bridge.

Ao conectar ativos do Ethereum ao Sui, o usuário deposita ativos no contrato inteligente Sui Bridge no Ethereum. O cliente então observa esta transação e coordena o processo de ponte. O comitê Sui Bridge opera nós completos do Ethereum que também escutam essas ações de ponte para verificar se o que o cliente está solicitando é legítimo. 

Após a verificação, a ação de ponte é concluída com a cunhagem de ativos em ponte para o usuário por meio do pacote Sui Bridge no Sui. Com custos de ponte tão baixos, os Validadores Sui atualmente subsidiam as taxas de gás associadas às transações de ponte no Sui e permitem que o cliente execute as transações automaticamente, criando uma experiência de ponte perfeita no Sui. 

Ao fazer a ponte entre Sui e Ethereum, o processo é semelhante, exceto que os usuários devem enviar a transação de reivindicação manualmente no Ethereum. Esta transação inclui dados de assinatura dos nós da Ponte Sui nos dados de chamada da transação que permitem à conta Ethereum resgatar os ativos especificados bloqueados no contrato da ponte.

Além disso, todos os registros e aprovações de ponte são armazenados no objeto ponte na cadeia. Isto é viável em Sui porque os custos de armazenamento e gás são razoavelmente baixos. O contrato da ponte Sui também trata das ações de governança, que são controladas pelo comitê da ponte Sui.

Mensagens de ponte

Para garantir baixos custos de gás, Sui Bridge constrói mensagens de maneira leve e fácil de decodificar pela cadeia receptora. Um formato de mensagem comum é empregado para garantir que cada cadeia possa decodificar e verificar mensagens e assinaturas com eficiência.

Exemplo de código de movimentação:

public struct BridgeMessage tem copy, drop, store { message_type: u8, message_version: u8, seq_num: u64, source_chain: u8, payload: vector<u8> }

Exemplo de código de solidez:

struct Mensagem { uint8 tipo de mensagem; versão uint8; uint64 nonce; ID da cadeia uint8; carga útil de bytes; }

Essas mensagens ponte são projetadas tendo em mente a simplicidade e a eficiência. A estrutura é minimalista, contendo apenas campos essenciais como tipo de mensagem, versão, número de sequência, identificador da cadeia de origem e carga útil. Esse design simplificado reduz a complexidade e a sobrecarga computacional, garantindo baixos custos de gás e, ao mesmo tempo, facilitando a comunicação entre cadeias rápida e confiável.

Segurança da ponte

Determinar o modelo de confiança de uma ponte é uma das decisões de projeto mais importantes ao desenvolver uma ponte para suportar um ecossistema movimentado e grandes fluxos. Uma ponte deve ser segura e descentralizada. Embora em alguns projetos de ponte esses atributos possam estar em desacordo, o desenvolvimento de uma ponte nativa oferece a oportunidade de aproveitar a segurança do Sui para proteger a Sui Bridge.

Os mesmos operadores de nós que protegem o Sui executando nós validadores gerenciam e mantêm a infraestrutura na qual o Sui Bridge é executado. Sui Bridge herda uma rede descentralizada de operadores de nós que são altamente capazes de executar e proteger a infraestrutura Sui. 

Conforme mencionado acima, a maioria das operações da Ponte Sui ocorrem no Sui e tratam o Sui como um painel de controle da ponte. Isso se beneficia da segurança que o software desenvolvido no Move herda.

Comitê da Ponte

O Sui Bridge é protegido pelo mesmo conjunto de validações que protege o Sui. Durante a fase Testnet, o comitê consiste em um subconjunto de validadores Testnet. Quando estiver na Mainnet, a maioria, senão todos, os validadores Sui ativos farão parte do Bridge Committee. O gerenciamento dinâmico do comitê será implementado após a Mainnet para permitir a adesão de validadores mais novos. Permitir que apenas validadores Sui façam parte do Comitê Sui Bridge garante que as suposições de segurança, propriedades e consenso social sejam herdados.

Para manter alta segurança e compatibilidade com outras redes blockchain, a Ponte Sui emprega o Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) para as assinaturas do Comitê da Ponte. Ao aproveitar o ECDSA, o Sui Bridge garante interoperabilidade perfeita e verificação segura de transações, reforçando a integridade e a confiabilidade do sistema.

Verificação de assinatura

Sui Bridge utiliza assinaturas ECDSA recuperáveis, que permitem a recuperação de chave pública diretamente da própria assinatura. Este recurso agiliza o processo de verificação, permitindo-nos recuperar a chave pública e confirmar a autenticidade e integridade da assinatura sem exigir conhecimento prévio da chave pública.

Uma mensagem é considerada válida somente quando o peso combinado das assinaturas atinge ou excede um limite predefinido. Este mecanismo de limite garante que seja necessário um número suficiente de assinaturas autenticadas para validar uma mensagem, aumentando assim a segurança e a fiabilidade do sistema. Ao implementar esta abordagem, protegemo-nos contra atividades fraudulentas e garantimos que apenas transações legítimas sejam processadas.

Exemplo de código em Mover:

... deixe mut message_bytes = SUI_MESSAGE_PREFIX; mensagem_bytes.append(message.serialize_message()); deixe limite mut = 0; while (i < assinatura_counts) { let pubkey = ecdsa_k1::secp256k1_ecrecover(&signatures[i], &message_bytes, 0); // verifique duplicado // e certifique-se de que a chave pub faz parte do comitê assert!(!seen_pub_key.contains(&pubkey), EDuplicatedSignature); afirmar!(self.membros.contains(&pubkey), EInvalidSignature); // obtém o peso da assinatura do comitê e verifica se pubkey faz parte do comitê let member = &self.members[&pubkey]; if (!member.blocklisted) { limite = limite + member.voting_power; }; visto_pub_key.insert(pubkey); eu = eu + 1; }; ...

Exemplo de código no Solidity:

função verifySignatures (bytes [] assinaturas de memória, mensagem de memória BridgeUtils.Message) substituição de visualização externa { uint32 requireStake = BridgeUtils.requiredStake (message); aprovação uint16Stake; assinante de endereço; bitmap uint256; // Verifica a validade de cada assinatura e agrega a aposta de aprovação para (uint16 i; i < subscriptions.length; i++) { bytes memory subscription = subscriptions[i]; // recupera o signatário da assinatura (bytes32 r, bytes32 s, uint8 v) = splitSignature(signature); (signatário,,) = ECDSA.tryRecover(BridgeUtils.computeHash(mensagem), v, r, s); require(!blocklist[signer], "BridgeCommittee: Signer está na lista de bloqueio"); require(committeeStake[signer] > 0, "BridgeCommittee: Signer não tem participação"); índice uint8 = comitêIndex[signatário]; máscara uint256 = 1 << índice; require(bitmap & mask == 0, "BridgeCommittee: Assinatura duplicada fornecida"); bitmap |= máscara; aprovaçãoStake += comitêStake[signatário]; } require(approvalStake >= requireStake, "BridgeCommittee: Valor de aposta insuficiente"); }

Construindo interoperabilidade

A ponte nativa Sui não apenas fornece um meio seguro e eficiente de transferência de ativos entre redes blockchain, mas também estabelece as bases para interações cruzadas mais avançadas. Ao alavancar seu robusto modelo de confiança, incorporar ECDSA para transações seguras e verificáveis ​​e empregar um processo de verificação de assinatura baseado em comitê, a Sui Bridge garante alta segurança e confiabilidade, ao mesmo tempo em que permanece flexível.

A escalabilidade e flexibilidade da arquitetura da ponte Sui permitem futuras expansões e integrações com outras redes blockchain. À medida que o ecossistema se desenvolve, a ponte suportará uma gama mais ampla de ativos e habilidades, como mensagens personalizadas entre cadeias, permitindo interações únicas entre cadeias.

Sui Bridge representa um avanço significativo no cenário de interoperabilidade Sui, oferecendo uma solução contínua e altamente segura para transferências de ativos entre cadeias. À medida que o Sui Bridge é lançado na Mainnet, os usuários podem esperar uma ponte cada vez mais robusta e versátil que atenda às demandas atuais e ao mesmo tempo antecipe as necessidades futuras.