paint-brush
Protocolo NCRC Trustless Native da Opside em focopor@lumoz
7,520 leituras
7,520 leituras

Protocolo NCRC Trustless Native da Opside em foco

por Lumoz (formerly Opside)6m2023/08/22
Read on Terminal Reader

Muito longo; Para ler

O protocolo NCRC (Native Cross Rollup Communication) da Opside oferece uma solução confiável para interoperabilidade Rollup. O protocolo NCRC não envolve a adição de uma ponte adicional de terceiros a cada Rollup; Em vez disso, ele transforma a ponte nativa do ZK-Rollup no nível do sistema, permitindo a utilização direta das pontes nativas de diferentes ZK-Rollups para comunicação cross-Rollup. Essa abordagem é mais simplificada e abrangente, herdando a segurança absoluta das pontes nativas e evitando a complexidade do sistema e os custos de confiança associados às pontes de terceiros.
featured image - Protocolo NCRC Trustless Native da Opside em foco
Lumoz (formerly Opside) HackerNoon profile picture
0-item
1-item


Opside implementou com sucesso o NCRC na testnet. Qualquer pessoa agora pode experimentá-lo no site oficial em https://pre-alpha-assetshub.opside.network/.


Por que precisamos de comunicação cross rollup confiável?

Os rollups ganharam atenção e adoção significativas por sua capacidade de aprimorar a escalabilidade do blockchain, reduzir custos de transação e melhorar a eficiência geral. Opside fornece serviços ZK-RaaS para aplicativos Web3, permitindo que os desenvolvedores criem seus próprios Rollups por meio do Opside Rollup Launchbase. Nesta era de múltiplos Rollups, prevemos uma coexistência crescente de vários Rollups, tornando crucial a interoperabilidade perfeita entre diferentes soluções de Camada 2.


Atualmente, as interações entre Rollups permanecem relativamente isoladas, sem comunicação entre cadeias em tempo real e interoperabilidade de ativos. Esse isolamento levou a um cenário fragmentado, onde os ativos ficam confinados em rollups específicos, restringindo seu livre fluxo e utilização em diferentes redes.


A ausência de comunicação eficiente entre Rollups não apenas limita o potencial de Rollups individuais, mas também impacta a experiência geral do usuário. Os usuários que tentam transferir ativos ou executar transações entre cadeias entre Rollups enfrentam processos complicados e demorados. Esta experiência abaixo do ideal enfraquece o apelo dos Rollups e, até certo ponto, dificulta a adoção generalizada de soluções de escalabilidade da Camada 2.


As soluções de ponte cross Rollup existentes geralmente envolvem a implantação de novos conjuntos de contratos intercadeias em cadeias Rollup e a utilização de incentivos de liquidez multicadeias para alcançar a funcionalidade de cadeia cruzada de ativos. No entanto, estas soluções não são universalmente aplicáveis para interações entre cadeias baseadas em mensagens e apresentam riscos de centralização e confiança.


Para desbloquear totalmente o potencial da era multi Rollup, há uma necessidade urgente de um protocolo de comunicação cross Rollup universal e confiável.


A solução da Opside: Comunicação Native Cross Rollup

Na verdade, cada ZK-Rollup vem com uma ponte L1<>L2 inerentemente, que chamamos de ponte nativa. Ao contrário das pontes de terceiros que utilizam esquemas baseados em liquidez, a ponte nativa opera como um mecanismo exclusivo de cadeia cruzada de “queima de hortelã”. Ele garante segurança por meio de provas de conhecimento zero, ao mesmo tempo que mantém a falta de confiança. Todos os ativos em um Rollup originam-se de transações de depósito por meio da ponte nativa e recebem dela o endosso de segurança máximo.


Acreditamos firmemente no princípio da Navalha de Occam – “As entidades não devem ser multiplicadas além da necessidade”. As pontes de terceiros podem oferecer experiências cross-chain mais baratas e rápidas, mas introduzem custos adicionais de confiança e riscos de segurança. O recente incidente Multichain é um exemplo disso. Portanto, desde o início, a inspiração da Opside para a comunicação cross-Rollup foi direta: aproveitar a ponte nativa diretamente para obter interoperabilidade multi-Rollup, em vez de introduzir uma ponte adicional de terceiros. Este conceito deu origem ao protocolo NCRC (Native Cross Rollup Communication).


Pré-requisitos para NCRC

Para habilitar o NCRC entre vários Rollups, os dois pré-requisitos a seguir precisam ser atendidos:


  • Esses Rollups devem pertencer ao tipo ZK-Rollup.

  • Esses Rollups devem residir no mesmo L1.


Os rollups que satisfazem essas duas condições possuem, teoricamente, o mesmo nível de segurança que o L1 subjacente. Da mesma forma, o nível de segurança da ponte nativa entre esses Rollups é idêntico e não requer confiança entre eles. Todas as transações do NCRC são verificadas por provas de validade, servindo como fonte fundamental de garantia de segurança para o NCRC.


Contrato de reconhecimento cumulativo (RRC)

Em agosto de 2023, vários ZK-Rollups foram lançados na Mainnet, incluindo Polygon zkEVM, zkSync era, Linea e muito mais. No entanto, esses ZK-Rollups são independentes e não relacionados, levando à fragmentação dos ativos do usuário. A razão fundamental para este problema reside no facto de os seus contratos na L1 (Ethereum Mainnet) não estarem relacionados. Eles permanecem inconscientes da existência um do outro e não conseguem se comunicar diretamente por meio de pontes Rollup nativas.


Portanto, o primeiro passo que precisamos dar é implantar um contrato especializado em L1 para permitir que os Rollups descubram e reconheçam uns aos outros. Isso é conhecido como RRC (Contrato de Reconhecimento Rollup). O RRC é responsável por gerenciar todos os ZK-Rollups participantes do NCRC, incluindo adições, pausas e saídas de Rollups. Cada Rollup dentro do RRC recebe um ID de Rollup dedicado, enquanto o ID para L1 permanece fixo em 0.


Ao iniciar transações de rollup cruzado por meio da ponte nativa em um rollup, os endereços podem especificar o ID do rollup de destino:


  • Se o Rollup ID for 0, significa cruzar a mensagem para L1, como retirada.
  • Se o Rollup ID não for 0, indica o envio da mensagem para outro Rollup.


Opside implantará um contrato RRC em cada camada L1 e permitirá que ZK-Rollups correspondentes entrem ou saiam sem permissão. Este contrato RRC será usado para manter informações para cada ID de rollup, incluindo o endereço do contrato de ponte em L1. É importante observar que o contrato RRC fornece apenas serviços de recuperação de dados e não interage diretamente com ativos de cadeia cruzada.


Compatibilidade com contratos e serviços inteligentes Native Bridge

Geralmente, a ponte nativa do Rollup é dividida em três componentes: o contrato de ponte em L1, o contrato de ponte em L2 e um serviço de ponte responsável pela retransmissão de mensagens. O protocolo NCRC aproveita esses componentes no nível subjacente e adiciona encapsulamento de nível superior. As principais modificações são as seguintes:


  • Contrato de ponte em L2: preservando os métodos originais, um novo método chamado bridgeAsset é adicionado. Este método permite que os usuários especifiquem o ID do Rollup de destino no parâmetro destinationNetwork.

  • Contrato de ponte em L1: Um novo método é encapsulado para lidar com as mensagens de cadeia cruzada do novo método bridgeAsset. O contrato ponte, com base no Rollup ID encontrado no contrato RRC, localiza as informações do Rollup alvo e transfere os ativos de cadeia cruzada para o contrato ponte do Rollup alvo. Os ativos de cadeia cruzada são depositados no Rollup alvo.

  • Serviço Bridge: Responsável pela retransmissão de mensagens e cobra taxas dos usuários por transações cross-Rollup.


Depois que um Rollup concluir a adaptação de compatibilidade relacionada ao NCRC mencionada acima, ele poderá registrar-se no RRC para ingressar na rede de comunicação cross-Rollup nativa.


Processo de transações nativas de rollup cruzado

Para os usuários, a operação do NCRC é totalmente consistente com a ponte nativa do Rollup. Iniciar uma transação cross-Rollup de Rollup1 para Rollup2 é um processo automatizado, incluindo as seguintes etapas:


  1. O iniciador, User1, em Rollup1, invoca o método bridgeAsset da ponte nativa para iniciar a transação entre cadeias. O parâmetro destinationNetwork nesta transação é definido como o Rollup ID de Rollup2. Este Rollup ID será usado para recuperar o endereço do contrato de ponte L1 correspondente. Se o Rollup ID for 0, significa que a rede de destino é L1.


  2. Posteriormente, esta transação é empacotada pelo Sequencer1 do Rollup1. O iniciador, Usuário1, arca com o custo da transação cross-Rollup, pagando-o ao Sequencer1 no Rollup1. O serviço Bridge do Rollup1 então transfere o ativo cross-chain para o contrato Bridge Rollup1 em L1. Neste ponto, tanto Rollup1 quanto L1 concluem as operações de gravação e liberação do ativo.


  3. Para concluir a transferência de ativos cross-Rollup, o serviço Bridge do Rollup1 consulta o contrato RRC para recuperar informações sobre o Rollup2 de destino correspondente ao parâmetro destinationNetwork. Estas informações fornecem o endereço do contrato da ponte L1 do Rollup2. Em seguida, o contrato ponte do Rollup2 assume o controle desses ativos e os mapeia para o Rollup2 por meio do método bridgeAsset.


  4. Finalmente, uma vez que a transação é empacotada com sucesso e a prova é gerada, o serviço Bridge do Rollup2 executa a operação ClaimAsset. Consequentemente, os ativos cross-chain iniciados pelo Rollup1 chegam com segurança ao endereço designado no Rollup2.


Vale ressaltar que durante todo o processo cross-chain, os ativos do usuário fluem pelo seguinte caminho: Rollup1 -> contrato ponte L1 do Rollup1 -> contrato ponte L1 do Rollup2 -> Rollup2. Ou seja, os ativos do usuário não passam por nenhum protocolo de terceiros; eles aproveitam a ponte nativa do Rollup. Todo o processo é seguro e confiável.


Quando os usuários executam operações entre cadeias no Rollup1, selecionando Rollup2 como destino, o processo técnico envolve, na verdade, três entidades: Rollup1, L1 e Rollup2. Porém, os usuários não precisam estar cientes da existência de L1 neste processo; sua experiência é simplesmente um cruzamento direto de Rollup1 para Rollup2. A realidade subjacente é que os ativos cross-chain passam por duas operações de ponte no L1, criando uma conexão contínua de Rollup1 a Rollup2 na percepção do usuário. Durante esse processo, as operações em L1 são tratadas automaticamente e os usuários não precisam realizar nenhuma ação adicional. Da perspectiva do usuário, seu Rollup atual pode realizar operações entre cadeias tanto para L1 quanto para qualquer outro Rollup. Este design melhora a fluidez da experiência do usuário, ao mesmo tempo que oculta as complexidades subjacentes.


NCRC agora está ao vivo na rede de teste Opside!

A Opside implementou com sucesso a comunicação nativa de rollup cruzado na Testnet. Qualquer pessoa agora pode experimentá-lo no site oficial em

https://pre-alpha-assetshub.opside.network/ .Também damos as boas-vindas a usuários e desenvolvedores para nos ajudar a identificar possíveis bugs e riscos de segurança e fornecer sugestões valiosas.


Acreditamos que a comunicação cross-rollup nativa e confiável não apenas compartilhará a liquidez com segurança em todos os rollups, mas também fornecerá interoperabilidade multi-rollup robusta, abrindo novas possibilidades para aplicativos descentralizados e protocolos DeFi .