O que é Interoperabilidade Blockchain?
Essa é uma tradução do artigo “What Is Blockchain Interoperability?” e foi traduzido por Barba.
DEFINIÇÃO
Interoperabilidade de blockchain é a capacidade das redes de blockchain de se comunicarem entre si, enviando e recebendo mensagens, dados e tokens.
As blockchains são redes de computadores descentralizadas que rastreiam os saldos de contas dos usuários e dados em um registro digital. Em vez de depender de uma autoridade centralizada, as blockchains usam um consenso descentralizado para concordar coletivamente com as atualizações propostas no registro antes que sejam aceitas. O resultado é um novo paradigma de computação com minimização de confiança para registro e automação de processos de várias partes que é mais credível, imune a manipulações e transparente do que os ambientes de computação tradicionais.
No entanto, as blockchains são semelhantes a computadores sem conexão com a Internet — elas não têm capacidades de comunicação integradas com outras blockchains ou APIs externas. Essa limitação é comumente referida como o problema do oráculo, e não apenas proíbe as blockchains de interagirem com sistemas tradicionais, mas também impede a interoperabilidade entre blockchains. Com a crescente realidade de um mundo multi-blockchains, os protocolos de interoperabilidade de blockchain são infraestrutura crítica para a troca de dados e tokens entre diferentes blockchains (ou seja, cross-chain).
O seguinte artigo serve como um guia educacional sobre a definição e importância da interoperabilidade de blockchain, além de delinear os diferentes tipos de soluções de interoperabilidade de blockchain e como o Protocolo de Interoperabilidade Cross-Chain (CCIP), alimentado pela Chainlink, estende a funcionalidade dos oráculos para suportar mensagens de dados arbitrários entre cadeias.
O que é Interoperabilidade de Blockchain?
Interoperabilidade de blockchain refere-se à capacidade das blockchains de se comunicarem entre si. A base da interoperabilidade de blockchain são os protocolos de mensagens cross-chain, que permitem que as blockchains leiam dados de e/ou escrevam dados em outras blockchains.
Os protocolos de mensagens entre cadeias suportam a criação de aplicativos descentralizados (dApps) cross-chain, nos quais um único dApp pode funcionar em vários contratos inteligentes diferentes implantados em múltiplas blockchains diferentes. Os dApps entre cadeias diferem dos dApps multi-cadeia, pois um dApp multi-cadeia frequentemente implanta a mesma aplicação em várias blockchains, mas cada instância é um conjunto isolado de contratos inteligentes sem conexão com outras blockchains.
DApps cross-chain que aproveitam os protocolos de mensagens cross-chain podem ter escopo limitado; pontes de tokens, por exemplo, existem apenas para permitir que tokens em uma blockchain de origem sejam transferidos para uma blockchain de destino. No entanto, os protocolos de mensagens de dados arbitrários fornecem funcionalidade entre cadeias mais generalizada, que podem suportar dApps mais complexos, exchanges descentralizadas (DEXs) cross-chain, money markets descentralizados cross-chain, NFTs cross-chain, organizações autônomas descentralizadas (DAOs) cross-chain e vários tipos de aplicativos modularizados.
A Importância da Interoperabilidade Blockchain
O cenário atual da Web3 está se tornando cada vez mais multi-cadeia e multi-camada. Já existem mais de 100 blockchains de camada 1 (ou seja, camadas base) e um número crescente de redes de camada 2 e, eventualmente, de camada 3 que existem sobre as blockchains de camada base. Redes de camada 2 e camada 3 são essencialmente blockchains separados que ancoram parte de sua segurança a uma camada base (por exemplo, rollups).
A proliferação de camadas base e redes de camada 2 é resultado de um espaço de design expressivo para a tecnologia blockchain e ecossistemas blockchain. As blockchains competem por desenvolvedores e aplicativos otimizando seus protocolos para suportar determinados conjuntos de recursos — geralmente fazendo trocas com outros recursos. Por exemplo, algumas blockchains focam mais na descentralização e resistência à censura do que na throughput e composabilidade na camada base, enquanto outras optam por construir funcionalidades de privacidade nativas em detrimento de novas suposições de segurança em hardware confiável.
As blockchains otimizam experimentando com diferentes protocolos de consenso, ambientes de execução e soluções de armazenamento de dados, que oferecem aos desenvolvedores várias suposições em torno de custo, liveness, desempenho, disponibilidade de dados, segurança, criptoeconomia e impacto ambiental. Além disso, as blockchains podem se diferenciar oferecendo suporte para linguagens de programação selecionadas, focando em capturar casos de uso e geografias específicos e desenvolvendo marcas e valores únicos que as tornam queridas para o público.
Uma das principais diferenças nas escolhas de otimização gira em torno da tese de uma blockchain específica sobre como escalar seu ecossistema. Exemplos de teses de escalabilidade incluem:
- Ter uma única blockchain de camada base de alto desempenho que suporta todos os aplicativos em todos os setores verticais da indústria.
- Ter uma única blockchain de camada base altamente descentralizada que suporta uma ampla variedade de aplicativos modularizados por meio de redes de escalabilidade de camada 2 e camada 3.
- Ter cada aplicativo e/ou setor de contratos inteligentes ou caso de uso sendo executado em sua própria blockchain de camada base ou rede soberana de camada 2.
Para uma análise mais aprofundada das soluções de escalabilidade blockchain, confira o blog “Escalabilidade Blockchain: Execução, Armazenamento e Consenso”.
Dada a ampla variedade de ecossistemas blockchain, é crucial que todos esses ambientes distintos em cadeia sejam capazes de interoperar. Isso é particularmente importante para desenvolvedores que desejam construir aplicativos modulares/cross-chain que mantenham um único estado global e liquidez unificada em vários ambientes em cadeia. Também é importante para desenvolvedores de aplicativos que desejam aproveitar os ativos e recursos exclusivos de cada blockchain.
Os protocolos de interoperabilidade blockchain são igualmente importantes para sistemas tradicionais que precisam interagir com várias blockchains diferentes a partir de seus backends existentes. Os protocolos de interoperabilidade são fundamentais para a construção de camadas de abstração blockchain, que permitem que backends tradicionais e dApps interajam com qualquer ambiente em cadeia por meio de uma única solução de blockchain intermediária. Sem uma camada de abstração blockchain, os sistemas Web2 e dApps precisariam construir implementações separadas internamente para cada interação cross-chain que desejam aproveitar — um processo incrivelmente demorado, intensivo em recursos e complexo.
Tipos de Soluções de Interoperabilidade Blockchain
O melhor lugar para começar ao tentar classificar as soluções de interoperabilidade blockchain é observando as interações cross-chain mais populares.
Trocas de Tokens: envolvem a negociação de um token em uma cadeia de origem e o recebimento de um token diferente em uma cadeia de destino. As trocas de tokens cross-chain são geralmente possíveis por meio de protocolos de troca atômica e/ou de criadores de mercado automatizados (AMMs) cross-chain, que têm pools de liquidez separados em cada blockchain para facilitar a troca.
Pontes de Tokens: envolvem o bloqueio ou queima de tokens por meio de um contrato inteligente em uma cadeia de origem e o desbloqueio ou mintagem de tokens por meio de um contrato inteligente separado na cadeia de destino. As pontes de tokens permitem que ativos sejam movidos entre blockchains, aumentando a utilidade dos tokens ao possibilitar a liquidez cross-chain. Existem três tipos de mecanismos de manipulação de tokens que permitem pontes de tokens:
- Pontes de lock e mint (ou IOU): bloqueiam tokens em um contrato inteligente na cadeia de origem e, em seguida, versões envolvidas dos tokens são criadas na cadeia de destino, frequentemente chamadas de ativos ponteados. Na direção reversa, os tokens envolvidos na cadeia de destino são queimados para desbloquear as moedas originais na cadeia de origem.
- Pontes de burn e mint (ou nativas): queimam tokens na cadeia de origem e, em seguida, reemitem os mesmos tokens, criando-os na cadeia de destino.
- Pontes de lock e unlock: bloqueiam tokens na cadeia de origem e, em seguida, desbloqueiam os mesmos tokens de um pool de liquidez na cadeia de destino. Esses tipos de pontes de tokens geralmente atraem liquidez em ambos os lados da ponte por meio de programas de incentivo, como compartilhamento de receitas.
Pagamentos nativos envolvem uma aplicação em uma cadeia de origem acionando um pagamento em uma cadeia de destino em seu ativo nativo. Pagamentos cross-chain também podem ser feitos na cadeia de origem em seu ativo nativo com base em dados de uma blockchain separada. A maioria desses pagamentos geralmente representa alguma forma de liquidação e pode ser baseada em dados da blockchain ou até mesmo em eventos externos.
Chamadas de contrato envolvem um contrato inteligente em uma cadeia de origem chamando uma função de contrato inteligente implantada em uma cadeia de destino, potencialmente com base em dados originados na cadeia de origem. Várias chamadas de contrato podem ser combinadas para formar um aplicativo cross-chain mais complexo, que pode envolver trocas de tokens e pontes.
As pontes de token programáveis envolvem uma combinação de ponte de token e mensagens arbitrárias, em que uma chamada de contrato pode ser executada assim que os tokens forem entregues à cadeia de destino. Isso acontece em uma única transação, permitindo funcionalidades cross-chain mais ricas, como staking, troca ou depósito de tokens em um contrato inteligente na cadeia de destino como parte da conclusão da função de ponte.
Para dar suporte a essas interações cross-chain, existem quatro soluções de interoperabilidade gerais para validar o estado de uma blockchain de origem e retransmitir a transação subsequente para a blockchain de destino. Ambas essas funções — verificação de estado e relays — são essenciais para completar a maioria das interações cross-chain.
Validação Web2
Validação Web2 é quando alguém utiliza um serviço da Web2 para executar uma transação cross-chain. O exemplo mais comum na prática é quando os usuários aproveitam as exchanges centralizadas para trocar ou fazer pontes com seus próprios tokens. O usuário simplesmente deposita seus ativos em um endereço na cadeia de origem que está sob o controle da exchange e, em seguida, retira os mesmos tokens ou tokens diferentes (via troca na exchange) para um endereço em uma cadeia de destino controlada pelo usuário.
A validação Web2 pode ser bastante conveniente para transações pessoais e requer menos experiência técnica. No entanto, não é tão útil para suportar aplicativos cross-chain e requer confiança em um custodiante centralizado. Além disso, é predominantemente limitada a trocar e fazer pontes com tokens de e para blockchains que a exchange suporta.
A Validação Externa
A validação externa ocorre quando um conjunto de nós validadores separados dos envolvidos em cada blockchain na interação cross-chain são usados para validar o estado da blockchain de origem e acionar a transação subsequente na blockchain de destino uma vez que um conjunto específico de critérios seja atendido. Embora haja muitas abordagens para o consenso baseado em comitês — ou seja, computação multipartidária, redes oráculo descentralizadas, contratos de assinatura múltipla de limiar — todas elas envolvem nós validadores realizando computação off-chain minimizada em confiança que é autenticada na cadeia (ou seja, contratos inteligentes híbridos).
A validação externa geralmente requer uma suposição de maioria honesta, onde a maioria dos nós validadores externos deve se comportar honestamente para que a integridade da interação cross-chain seja mantida. No entanto, técnicas adicionais podem ser utilizadas para aumentar a minimização de confiança, como validação otimista de pontes, redes de gerenciamento de riscos e apostas criptoeconômicas. Apesar de uma suposição de confiança adicional, a validação externa é atualmente a única maneira prática de realizar chamadas de contrato cross-chain entre certos tipos de blockchains, mantendo garantias de minimização de confiança. Também é uma forma altamente generalizada e extensível de computação cross-chain, capaz de suportar aplicativos cross-chain mais complexos.
Validação Local
A validação local ocorre quando as partes envolvidas em uma interação cross-chain verificam o estado uma da outra. Se ambas considerarem a outra válida, a transação cross-chain é executada, resultando em transações cross-chain ponto a ponto. As trocas cross-chain usando validação local são frequentemente chamadas de trocas atômicas.
A validação local via trocas atômicas tem um alto nível de minimização de confiança, dadas suposições razoáveis sobre as blockchains, pois a troca acontece ou ambas as transações falham. No entanto, não é muito generalizável para uma variedade de chamadas de contratos cross-chain e vem com compensações como o problema da opção de chamada inadvertida — uma situação em que a segunda parte em uma troca atômica pode agir ou não agir na troca, dando-lhes uma opção de chamada inadvertida por um determinado período de tempo. Assim, a validação local é principalmente usada em protocolos de liquidez cross-chain envolvendo pools de liquidez que existem independentemente em cada blockchain.
Validação Nativa
A validação nativa ocorre quando a blockchain de destino em uma interação cross-chain verifica o estado de uma blockchain de origem para confirmar uma transação e então executa uma transação subsequente em sua própria cadeia. Isso é tipicamente feito executando um cliente leve da cadeia de origem na máquina virtual da cadeia de destino ou executando-as lado a lado.
A validação nativa depende de uma minoria honesta ou uma suposição síncrona, onde pelo menos um relayer honesto deve existir dentro de um comitê (ou seja, minoria honesta), ou o usuário deve retransmitir sua própria transação se o comitê falhar (ou seja, suposição síncrona). A validação nativa é a forma mais minimizada de confiança de comunicação cross-chain, mas é mais cara, oferece menos flexibilidade de desenvolvimento e é mais adequada para blockchains com máquinas de estado semelhantes, como entre Ethereum e redes de camada-2 baseadas em EVM ou apenas entre blockchains baseadas em Cosmos SDK.
O Protocolo de Interoperabilidade Cross-Chain (CCIP)
Para atender à crescente demanda do ecossistema por soluções de interoperabilidade entre blockchains, a Chainlink está atualmente desenvolvendo o Protocolo de Interoperabilidade Cross-Chain (CCIP) — um novo padrão global para comunicação cross-chain, incluindo mensagens arbitrárias e transferências de tokens. O CCIP tem como objetivo estabelecer uma conexão universal entre redes de blockchain por meio de uma interface única, simples e elegante. Além disso, visa integrar-se a uma variedade de outros serviços de oráculo dentro de um framework de ponte de token programável para suportar interações cross-chain altamente complexas.
Dado o crescente número de exploits cross-chain — aproximadamente US$ 1,2 bilhão em valor perdido no último ano — uma mentalidade de segurança em primeiro lugar está sendo aplicada ao CCIP. Seu desenvolvimento está sendo apoiado por alguns dos melhores especialistas em criptografia e segurança computacional do mundo, incluindo Ari Juels, Dan Boneh, Lorenz Breidenbach e Dahlia Malkhi. Algumas das melhorias de segurança aplicadas ao CCIP incluem uma Rede de Gerenciamento de Riscos que monitora atividades maliciosas, computação de oráculo descentralizada a partir de uma ampla gama de operadores de nós de alta qualidade com históricos de desempenho verificáveis on-chain, e o protocolo de relatórios off-chain (OCR), que já garantiu centenas de bilhões de dólares em blockchains principais.
Para saber mais sobre o Chainlink CCIP, confira este blog: https://blog.chain.link/introducing-the-cross-chain-interoperability-protocol-ccip/
A interoperabilidade entre blockchains é uma parte importante da próxima fronteira do cenário evoluindo-sempre da Web3. Protocolos de interoperabilidade como o CCIP podem não apenas ajudar a desbloquear aplicações complexas que funcionam como uma entidade unificada em muitas blockchains, mas também podem capacitar empresas, instituições e governos a acessar com segurança qualquer ambiente on-chain a partir de uma única interface. Ambas as funções serão essenciais no desenvolvimento de dApps de próxima geração que são acessíveis por meio de interfaces de usuário mais tradicionais, acelerando a taxa de adoção do Web3.
Para saber mais sobre a Chainlink, visite o site da Chainlink e siga o Twitter oficial da Chainlink para acompanhar as últimas notícias e anúncios da Chainlink.