Ponte e interação entre blockchains

WavesBrasil
5 min readApr 28, 2023

A solução do PepeTeam para a interação entre blockchains é baseada em uma rede de contratos inteligentes e módulos de programas.

Durante anos, um dos principais problemas enfrentados pelo mundo da blockchain estava relacionado a interação entre redes. Em diferentes blockchains, diferentes ativos são usados, como $WAVES na Waves, $ETH e $USDT (ERC-20) na Ethereum ou $BNB e $USDT (BEP-20) na BNB Chain.

Os usuários precisam transferir seus ativos entre essas redes de forma segura e transparente, evitando situações em que as transferências não possam ocorrer por falta de liquidez. Da mesma forma, os usuários querem coletar rendimentos, a partir dos seus tokens, independentemente da rede em que os tokens foram emitidos originalmente.

Construindo um protocolo de interação cross-chain transparente e descentralizado

Esse problema pode ser resolvido com a construção de um protocolo transparente e descentralizado para interação entre blockchains, que facilita movimentos de liquidez seguros e econômicos entre redes, descartando a fragmentação da liquidez.

Um protocolo desse tipo precisa satisfazer um conjunto de requisitos:

  • contratos open-source;
  • alto grau de segurança e confiabilidade nos meios criptográficos utilizados;
  • taxas baixas;
  • transparência e possibilidade de auditoria;
  • governança de protocolo descentralizada por meio de uma DAO;
  • uso de contratos inteligentes para governar a lógica de negócios e garantir sua imutabilidade;
  • escalabilidade do sistema;
  • integração do protocolo com outros produtos (AMM, protocolos de empréstimo, DEXes etc.);
  • minimização e descentralização de serviços de backend

Protocolo de interação entre blockchains: operação

O protocolo proposto para interação entre blockchains é um conjunto de contratos inteligentes (a camada de transporte é construída na linguagem Ride e os contratos periféricos são implementados em contratos inteligentes ou scripts da plataforma de destino) e módulos de programa, necessários para organizar a plataforma de interação cruzada (Witness, Signer, etc).

A operação de um protocolo desse tipo é melhor explicada usando um exemplo simples.

Vamos supor que um usuário precise transferir tokens USDT (ERC-20) do Ethereum para a BNB Chain. Para isso, os tokens são bloqueados no Ethereum e emitidos de forma “wrapped” (“encapsulada”) na BNB chain. Os tokens “wrapped” representam uma obrigação para que o usuário receba os ativos BEP-20 equivalentes na rede BNB. Em uma transferência de volta para o Ethereum, os tokens “wrapped” da BNB Chain são queimados e os tokens originais no Ethereum são desbloqueados.

A principal vantagem deste sistema é a sua verificabilidade. Qualquer usuário pode garantir que a quantidade de tokens encapsulados (“wrapped”) na rede de destino seja igual à quantidade de tokens “reais” bloqueados na rede original.

Além disso, outra vantagem é o fato de que os contratos inteligentes são open-source e regidos por uma DAO. A operação dos módulos do programa (Witness-proxy, Relayer) pode ser executada por qualquer pessoa.

Implementação do protocolo

Quando se trata de implementar o protocolo, a principal tarefa é construir um mecanismo de interação cross-chain, baseado em uma rede de contratos inteligentes. Como invocar um contrato inteligente em uma blockchain a partir de outra blockchain é algo impossível, oráculos terão que ser usados.

Um grupo de oráculos rastreia as invocações de um contrato inteligente em uma blockchain, processando informações anexadas a uma chamada e transferindo-as para a outra blockchain. Outro grupo de oráculos é responsável por verificar e validar essas informações.

Componentes

Caller” : invoca um evento de conclusão da transação, recebido pelo witness-proxy.

Executor”: executa uma invocação que cria novos tokens “wrapped” ou desbloqueia os tokens originais.

“Witness-proxy” (componente off-chain): reconhece um evento invocado pelo Caller e transfere seus dados para a blockchain de destino.

“Witness” (componente off-chain): verifica a exatidão das informações transferidas pelo “Witness-proxy” e recebe uma recompensa em um token de utilidade, após a confirmação bem-sucedida do evento.

“Signer” (componente off-chain): é um elemento do grupo de módulos do programa, usado para validar as informações sobre uma transação executada com sua parte da assinatura, após ter sido confirmada por várias testemunhas (Witnesses).

Assim que um quórum de assinaturas for alcançado, todas elas serão gravadas na blockchain (a Waves é a blockchain de transporte). O evento será publicado no contrato inteligente da Witness, onde também serão armazenadas as informações de confirmação. No contrato inteligente do Signer, serão publicadas as assinaturas para confirmar os eventos iniciais.

O componente Relayer (off-chain) pode invocar o Executor para um usuário e cobrar uma taxa por isso. Como alternativa, os usuários podem fazer isso sozinhos.

Esquema de interação entre os componentes

Contrato A, invocado por alguém, invoca outro contrato com parâmetros específicos na blockchain inicial. O “Witness-proxy” transfere dados “function call” para a blockchain de destino. Posteriormente, várias testemunhas (“Witnesses”) confirmam ou negam a existência da invocação do contrato A. Se confirmado, os participantes do “Signer” validam a existência de contrato A, com uma única assinatura no contrato inteligente Signer.

Após isso, um usuário ou “Relayer” invoca o “Executor”, que emite uma quantidade especificada do token wrapped e o envia ao receptor. Em seguida, o contrato inteligente da ponte entra em ação, emitindo a quantidade especificada do token wrapped. O token wrapped é queimado e o token “real” é desbloqueado na rede original.

Essa ideia é baseada no esforço para conseguir a invocação de um contrato inteligente por um protocolo em outra blockchain.

Enquanto isso, para o usuário, a interface tem uma aparência muito simples. Assim como nas trocas de token, existem os campos ‘Você envia’ e ‘Você recebe’, além de algumas taxas: uma taxa de transação, uma taxa do Relayer e uma taxa do protocolo.

Considerações finais

No geral, a solução proposta representa uma abordagem bastante inovadora, que visa alcançar a transparência e a descentralização total. Um objetivo de longo prazo é a criação de um sistema que será governado honestamente por usuários e provedores de liquidez, que terão oportunidades de coletar rendimentos da sua interação com o sistema proposto.

PepeTeam site ,Twitter, YouTube, Subreddit, Telegram bot e grupo no Telegram

Faça parte da comunidade Waves Brasil!

Telegram
Twitter
Facebook
Instagram

--

--