Blockchains dÃspares precisam ter uma maneira de se comunicar para que os usuÃĄrios possam interagir com dados e ativos em mÚltiplas blockchains facilmente e, assim, o protocolo de ComunicaçÃĢo Inter-Blockchain (IBC) foi estabelecido para funcionar como uma camada de transporte entre blockchains. O ecossistema Cosmos adotou o IBC primeiro, mas, como ÃĐ um protocolo generalizÃĄvel, o IBC encontrou seu caminho em muitos outros ecossistemas.
ICS-02 delineia os requisitos para a construçÃĢo de clientes leves, incluindo como o IBC gerencia os dados do cliente leve. Clientes sÃĢo necessÃĄrios para o IBC funcionar, que sÃĢo algoritmos de verificaçÃĢo arbitrÃĄrios para provar informaçÃĩes on-chain, que geralmente sÃĢo codificadas em formato IBC, de um lugar para outro.
Do ponto de vista do IBC, cada cadeia ÃĐ normalmente identificada pelo seu cliente leve. A verificaçÃĢo mais comum ocorre entre duas mÃĄquinas de estado comunicantes; usando um cliente leve, uma cadeia de origem pode verificar atualizaçÃĩes de uma cadeia de destino sem baixar todos os seus dados. Como os clientes leves sÃĢo uma ferramenta versÃĄtil, eles podem usar vÃĄrios mÃĐtodos para verificar o estado.
O consenso do blockchain garante que todos os nÃģs que participam de uma rede estejam sincronizados. Usando a verificaçÃĢo de consenso, o cliente leve prova que um nÚmero suficiente de validadores assinou o cabeçalho. Este tipo de verificaçÃĢo ÃĐ o uso mais popular do IBC.
Algoritmos de consenso geralmente variam em seus conjuntos de regras e no que priorizam. No entanto, a heterogeneidade em dois algoritmos de consenso diferentes pode tornar difÃcil para as cadeias comunicarem-se por meio do IBC. Por exemplo, as cadeias Cosmos usam o algoritmo de consenso Tendermint, que tem finalizaçÃĢo em um Único slot, tambÃĐm conhecida como finalizaçÃĢo rÃĄpida. Por outro lado, o consenso do Ethereum nÃĢo tem finalizaçÃĢo em um Único slot e, portanto, finalizaçÃĢo mais lenta, porque valoriza a vivacidade sobre a segurança, enquanto o IBC ÃĐ mais compatÃvel com algoritmos de consenso que valorizam a segurança. Devido a essa diferença no momento em que os blocos sÃĢo considerados 'finais', hÃĄ dificuldade em como as duas cadeias conseguem enviar e verificar blocos entre si.
Nesse caso, um cliente leve virtual pode ser implementado, que pode ter uma visÃĢo do cliente leve em uma determinada altura de bloco antes que a finalidade seja alcançada. Inicialmente, o IBC focou em sua adoçÃĢo dentro de cadeias baseadas em Tendermint, o que foi evidente na forma como a especificaçÃĢo do cliente e a implementaçÃĢo foram definidas. ApÃģs essa fase inicial, oRefatoraçÃĢo do Clienteaumento de flexibilidade e facilidade no desenvolvimento de clientes leves para cadeias com outros algoritmos de consenso e recursos.
Uma âmÃĄquina de estadosâ pode ser uma blockchain inteira (registro replicado) ou um Único processo que assina operaçÃĩes com uma chave privada (consenso mÃnimo), como um laptop ou telefone celular.
Comumente, pensamos em mÃĄquinas de estado como blockchains com registros distribuÃdos, entÃĢo, ao estabelecer IBC entre blockchains, um cliente leve da cadeia de destino ÃĐ hospedado pela cadeia de origem. A cadeia de origem tambÃĐm mantÃĐm um estado confiÃĄvel da cadeia de destino, que ÃĐ estabelecido por um handshake de conexÃĢo entre as duas cadeias. O protocolo IBC usa um predicado de validade, que ÃĐ um algoritmo que verifica se as atualizaçÃĩes de estado de uma cadeia de destino sÃĢo vÃĄlidas. Para funcionar, um cliente leve precisa de um predicado de validade e de um estado confiÃĄvel para a cadeia de origem.
cliente "tipo" vs. cliente "instÃĒncia"
Os clientes leves sÃĢo projetados para serem o mais eficientes possÃvel para suportar um grande nÚmero de instÃĒncias de cliente para muitas cadeias. Para alcançar isso, o algoritmo do cliente leve nÃĢo reproduz todas as transiçÃĩes de estado, o que, de outra forma, o tornaria um nÃģ completo.
Uma mÃĄquina solo ÃĐ um dispositivo como um laptop, interface web, celular ou um processo off-chain. Uma mÃĄquina solo pode estabelecer comunicaçÃĢocom um livro-razÃĢo replicado se esse blockchain usar IBC para transporte.
Como exemplo, IBC pode habilitar um protocolo de transferÊncia custodialque reduz os custos de integraçÃĢo para novas cadeias. Isso ÃĐ importante porque os custodiantes centralizados enfrentam um processo tedioso e caro ao integrar novas redes, o que requer a execuçÃĢo de um nÃģ completo e infraestrutura RPC para cada cadeia integrada. Em vez disso, o custodiante pode operar um cliente de mÃĄquina solo que facilita transferÊncias entre cadeias, cunhas / queimas. A verificaçÃĢo seria realizada pelo cliente da mÃĄquina conectada executada pelo custodiante.
Os clientes de mÃĄquinas solo mostram como a IBC abre a conectividade fora apenas das blockchains. No exemplo acima, ela pode permitir que instituiçÃĩes interajam facilmente com blockchains pÚblicas via IBC. Este ÃĐ apenas um exemplo de linhas de negÃģcios que envolvem blockchains sem a necessidade de iniciar uma cadeia inteira ou manter hardware pesado para trabalhar com elas.
Embora haja trabalho sendo feito para tornar os clientes fÃĄceis de implementar e atualizar, hÃĄ a opçÃĢo de conduzir a verificaçÃĢo com validade ou provas de fraude.
OtÃmica IBC: Os clientes podem aceitar otimisticamente cabeçalhos de entrada via um relÃĐ off-chain que executa um programa em alguma mÃĄquina virtual. Neste cenÃĄrio, existe uma janela de desafio onde uma prova de fraude pode ser submetida. O positivo ÃĐ que o OtÃmica IBC reduz o custo de todo o sistema. As desvantagens incluem o longo perÃodo de desafio de fraude e, dependendo da rede, pode haver altos custos bÃĄsicos para transferÊncia de ativos - para o Ethereum, isso ÃĐ 21.000 unidades de gÃĄs.
ZK-IBC: As computaçÃĩes do cliente ocorrem off-chain e sÃĢo verificadas on-chain via ZKPs. NÃĢo hÃĄ latÊncia mÃnima e o custo ÃĐ menor do que a verificaçÃĢo ingÊnua. No entanto, a verificaçÃĢo ZK pode ser cara on-chain e nÃĢo hÃĄ latÊncia mÃĄxima, o que significa que um usuÃĄrio pode ficar esperando um pouco para obter confirmaçÃĢo. TambÃĐm pode haver problemas de incompatibilidade se o esquema de assinatura nÃĢo for amigÃĄvel ao SNARK.
Porque os sistemas separados acima podem ter alguns contras proibitivos, o Gate Optimistic ZK ÃĐ proposto para aproveitar os benefÃcios de ambos. Os benefÃcios de usar ambos reduzem o custo da manutençÃĢo da conexÃĢo e introduzem um limite mÃĄximo de latÊncia via incentivo aos relayers.
ZK Otimista: A cadeia de origem aceita cabeçalhos de forma otimista on-chain (possivelmente hÃĄ um mecanismo de participaçÃĢo em vigor para segurança). Em seguida, as ZKPs sÃĢo usadas como provas de fraude em caso de mÃĄ conduta ou provas de validade para reduzir dinamicamente a latÊncia da conexÃĢo.
IBC nÃĢo exige quaisquer pressupostos de confiança de terceiros, que sÃĢo frequentemente assumidos por protocolos de interoperabilidade verificados externamente. Trata-se simplesmente de um protocolo de transporte, e suas propriedades de segurança dependem dos tipos de cliente e conexÃĢo subjacentes e nÃĢo da prÃģpria cadeia. TambÃĐm depende do uso de provas de fraude, pressupostos de maioria honesta, segurança compartilhada por meio de disponibilidade comum de dados, etc. O protocolo IBC nÃĢo precisa conhecer as identidades das cadeias em ambos os lados de uma conexÃĢo, desde que os clientes IBC sejam mantidos em sincronia com atualizaçÃĩes vÃĄlidas.
No caso de mÃĄ conduta, ou seja, as regras de consenso estabelecidas pela cadeia de destino sÃĢo quebradas pelo cliente em uma cadeia de origem, o cliente na cadeia de hospedagem seria congelado se a prova da mÃĄ conduta for verificada na cadeia de origem. A parte que viu isso, como o relÃĐ, pode enviar uma mensagem com evidÊncias dessa mÃĄ conduta. O predicado de mÃĄ conduta ÃĐ um algoritmo que ÃĐ chamado em situaçÃĩes como esta: se a mÃĄ conduta for comprovada, o cliente fica congelado e, de preferÊncia, hÃĄ um sistema de governança em vigor para tomar medidas. As repercussÃĩes da mÃĄ conduta sÃĢo decididas pelas cadeias participantes.
Embora a IBC possa exigir alguma proficiÊncia tÃĐcnica no consenso e nas partes internas da cadeia subjacente, nem todas as complexidades sÃĢo cruciais para construir usando a IBC - outro objetivo que temos com esta sÃĐrie de artigos. A conclusÃĢo aqui ÃĐ que a IBC ÃĐ uma ferramenta poderosa, dadas as vÃĄrias implementaçÃĩes de verificaçÃĢo que os clientes podem adotar.
O ecossistema IBC estÃĄ trabalhando ativamente para tornar o IBC uma soluçÃĢo fÃĄcil para os construtores adotarem. Algumas das iniciativas que discutimos incluem refatoraçÃĢo de cliente e clientes virtuais. Por exemplo, se uma cadeia deseja atualizar o consenso, precisarÃĄ atualizar todas as cadeias à s quais estÃĄ conectada e seus clientes leves para permanecerem conectados, o que ÃĐ um processo caro de governança on-chain. Clientes WASM estÃĢo sendo desenvolvidos para tornar simples o desenvolvimento e a atualizaçÃĢo de clientes leves por meio de instÃĒncias de cliente implantadas como contratos inteligentes. Isso torna mais fÃĄcil atualizar clientes leves sem parar a cadeia e criar clientes em linguagens como Rust, que ÃĐ uma escolha popular entre vÃĄrias mÃĄquinas de estado.
A conclusÃĢo importante ÃĐ que os clientes IBC podem ser usados por qualquer pessoa e por qualquer mÃĄquina para verificar o estado em qualquer blockchain, tornando-os um catalisador poderoso para novos negÃģcios e serviços no mundo das criptomoedas.
Este artigo foi patrocinado pela Polymer para apoiar a educaçÃĢo da comunidade em torno do IBC e da interoperabilidade verdadeiramente descentralizada.
Polymer Labs, composto por habilidosos engenheiros de sistemas distribuÃdos e infraestrutura, pioneiros em criptografia e operadores de negÃģcios realizados, estÃĄ na vanguarda do avanço da interoperabilidade Ethereum com IBC. Com valores tÃĐcnicos baseados em TCP/IP, a missÃĢo da Polymer ÃĐ estabelecer a prÃģxima geraçÃĢo da internet, garantindo que a camada de interoperabilidade da web descentralizada seja neutra, aberta, sem permissÃĢo e uniforme em todos os ecossistemas. Como criadores do Ethereum Interoperability Hub, o primeiro Layer 2 focado em possibilitar a interoperabilidade IBC, a Polymer estabelece um novo padrÃĢo na tecnologia blockchain.
āđāļāļĢāđ
Blockchains dÃspares precisam ter uma maneira de se comunicar para que os usuÃĄrios possam interagir com dados e ativos em mÚltiplas blockchains facilmente e, assim, o protocolo de ComunicaçÃĢo Inter-Blockchain (IBC) foi estabelecido para funcionar como uma camada de transporte entre blockchains. O ecossistema Cosmos adotou o IBC primeiro, mas, como ÃĐ um protocolo generalizÃĄvel, o IBC encontrou seu caminho em muitos outros ecossistemas.
ICS-02 delineia os requisitos para a construçÃĢo de clientes leves, incluindo como o IBC gerencia os dados do cliente leve. Clientes sÃĢo necessÃĄrios para o IBC funcionar, que sÃĢo algoritmos de verificaçÃĢo arbitrÃĄrios para provar informaçÃĩes on-chain, que geralmente sÃĢo codificadas em formato IBC, de um lugar para outro.
Do ponto de vista do IBC, cada cadeia ÃĐ normalmente identificada pelo seu cliente leve. A verificaçÃĢo mais comum ocorre entre duas mÃĄquinas de estado comunicantes; usando um cliente leve, uma cadeia de origem pode verificar atualizaçÃĩes de uma cadeia de destino sem baixar todos os seus dados. Como os clientes leves sÃĢo uma ferramenta versÃĄtil, eles podem usar vÃĄrios mÃĐtodos para verificar o estado.
O consenso do blockchain garante que todos os nÃģs que participam de uma rede estejam sincronizados. Usando a verificaçÃĢo de consenso, o cliente leve prova que um nÚmero suficiente de validadores assinou o cabeçalho. Este tipo de verificaçÃĢo ÃĐ o uso mais popular do IBC.
Algoritmos de consenso geralmente variam em seus conjuntos de regras e no que priorizam. No entanto, a heterogeneidade em dois algoritmos de consenso diferentes pode tornar difÃcil para as cadeias comunicarem-se por meio do IBC. Por exemplo, as cadeias Cosmos usam o algoritmo de consenso Tendermint, que tem finalizaçÃĢo em um Único slot, tambÃĐm conhecida como finalizaçÃĢo rÃĄpida. Por outro lado, o consenso do Ethereum nÃĢo tem finalizaçÃĢo em um Único slot e, portanto, finalizaçÃĢo mais lenta, porque valoriza a vivacidade sobre a segurança, enquanto o IBC ÃĐ mais compatÃvel com algoritmos de consenso que valorizam a segurança. Devido a essa diferença no momento em que os blocos sÃĢo considerados 'finais', hÃĄ dificuldade em como as duas cadeias conseguem enviar e verificar blocos entre si.
Nesse caso, um cliente leve virtual pode ser implementado, que pode ter uma visÃĢo do cliente leve em uma determinada altura de bloco antes que a finalidade seja alcançada. Inicialmente, o IBC focou em sua adoçÃĢo dentro de cadeias baseadas em Tendermint, o que foi evidente na forma como a especificaçÃĢo do cliente e a implementaçÃĢo foram definidas. ApÃģs essa fase inicial, oRefatoraçÃĢo do Clienteaumento de flexibilidade e facilidade no desenvolvimento de clientes leves para cadeias com outros algoritmos de consenso e recursos.
Uma âmÃĄquina de estadosâ pode ser uma blockchain inteira (registro replicado) ou um Único processo que assina operaçÃĩes com uma chave privada (consenso mÃnimo), como um laptop ou telefone celular.
Comumente, pensamos em mÃĄquinas de estado como blockchains com registros distribuÃdos, entÃĢo, ao estabelecer IBC entre blockchains, um cliente leve da cadeia de destino ÃĐ hospedado pela cadeia de origem. A cadeia de origem tambÃĐm mantÃĐm um estado confiÃĄvel da cadeia de destino, que ÃĐ estabelecido por um handshake de conexÃĢo entre as duas cadeias. O protocolo IBC usa um predicado de validade, que ÃĐ um algoritmo que verifica se as atualizaçÃĩes de estado de uma cadeia de destino sÃĢo vÃĄlidas. Para funcionar, um cliente leve precisa de um predicado de validade e de um estado confiÃĄvel para a cadeia de origem.
cliente "tipo" vs. cliente "instÃĒncia"
Os clientes leves sÃĢo projetados para serem o mais eficientes possÃvel para suportar um grande nÚmero de instÃĒncias de cliente para muitas cadeias. Para alcançar isso, o algoritmo do cliente leve nÃĢo reproduz todas as transiçÃĩes de estado, o que, de outra forma, o tornaria um nÃģ completo.
Uma mÃĄquina solo ÃĐ um dispositivo como um laptop, interface web, celular ou um processo off-chain. Uma mÃĄquina solo pode estabelecer comunicaçÃĢocom um livro-razÃĢo replicado se esse blockchain usar IBC para transporte.
Como exemplo, IBC pode habilitar um protocolo de transferÊncia custodialque reduz os custos de integraçÃĢo para novas cadeias. Isso ÃĐ importante porque os custodiantes centralizados enfrentam um processo tedioso e caro ao integrar novas redes, o que requer a execuçÃĢo de um nÃģ completo e infraestrutura RPC para cada cadeia integrada. Em vez disso, o custodiante pode operar um cliente de mÃĄquina solo que facilita transferÊncias entre cadeias, cunhas / queimas. A verificaçÃĢo seria realizada pelo cliente da mÃĄquina conectada executada pelo custodiante.
Os clientes de mÃĄquinas solo mostram como a IBC abre a conectividade fora apenas das blockchains. No exemplo acima, ela pode permitir que instituiçÃĩes interajam facilmente com blockchains pÚblicas via IBC. Este ÃĐ apenas um exemplo de linhas de negÃģcios que envolvem blockchains sem a necessidade de iniciar uma cadeia inteira ou manter hardware pesado para trabalhar com elas.
Embora haja trabalho sendo feito para tornar os clientes fÃĄceis de implementar e atualizar, hÃĄ a opçÃĢo de conduzir a verificaçÃĢo com validade ou provas de fraude.
OtÃmica IBC: Os clientes podem aceitar otimisticamente cabeçalhos de entrada via um relÃĐ off-chain que executa um programa em alguma mÃĄquina virtual. Neste cenÃĄrio, existe uma janela de desafio onde uma prova de fraude pode ser submetida. O positivo ÃĐ que o OtÃmica IBC reduz o custo de todo o sistema. As desvantagens incluem o longo perÃodo de desafio de fraude e, dependendo da rede, pode haver altos custos bÃĄsicos para transferÊncia de ativos - para o Ethereum, isso ÃĐ 21.000 unidades de gÃĄs.
ZK-IBC: As computaçÃĩes do cliente ocorrem off-chain e sÃĢo verificadas on-chain via ZKPs. NÃĢo hÃĄ latÊncia mÃnima e o custo ÃĐ menor do que a verificaçÃĢo ingÊnua. No entanto, a verificaçÃĢo ZK pode ser cara on-chain e nÃĢo hÃĄ latÊncia mÃĄxima, o que significa que um usuÃĄrio pode ficar esperando um pouco para obter confirmaçÃĢo. TambÃĐm pode haver problemas de incompatibilidade se o esquema de assinatura nÃĢo for amigÃĄvel ao SNARK.
Porque os sistemas separados acima podem ter alguns contras proibitivos, o Gate Optimistic ZK ÃĐ proposto para aproveitar os benefÃcios de ambos. Os benefÃcios de usar ambos reduzem o custo da manutençÃĢo da conexÃĢo e introduzem um limite mÃĄximo de latÊncia via incentivo aos relayers.
ZK Otimista: A cadeia de origem aceita cabeçalhos de forma otimista on-chain (possivelmente hÃĄ um mecanismo de participaçÃĢo em vigor para segurança). Em seguida, as ZKPs sÃĢo usadas como provas de fraude em caso de mÃĄ conduta ou provas de validade para reduzir dinamicamente a latÊncia da conexÃĢo.
IBC nÃĢo exige quaisquer pressupostos de confiança de terceiros, que sÃĢo frequentemente assumidos por protocolos de interoperabilidade verificados externamente. Trata-se simplesmente de um protocolo de transporte, e suas propriedades de segurança dependem dos tipos de cliente e conexÃĢo subjacentes e nÃĢo da prÃģpria cadeia. TambÃĐm depende do uso de provas de fraude, pressupostos de maioria honesta, segurança compartilhada por meio de disponibilidade comum de dados, etc. O protocolo IBC nÃĢo precisa conhecer as identidades das cadeias em ambos os lados de uma conexÃĢo, desde que os clientes IBC sejam mantidos em sincronia com atualizaçÃĩes vÃĄlidas.
No caso de mÃĄ conduta, ou seja, as regras de consenso estabelecidas pela cadeia de destino sÃĢo quebradas pelo cliente em uma cadeia de origem, o cliente na cadeia de hospedagem seria congelado se a prova da mÃĄ conduta for verificada na cadeia de origem. A parte que viu isso, como o relÃĐ, pode enviar uma mensagem com evidÊncias dessa mÃĄ conduta. O predicado de mÃĄ conduta ÃĐ um algoritmo que ÃĐ chamado em situaçÃĩes como esta: se a mÃĄ conduta for comprovada, o cliente fica congelado e, de preferÊncia, hÃĄ um sistema de governança em vigor para tomar medidas. As repercussÃĩes da mÃĄ conduta sÃĢo decididas pelas cadeias participantes.
Embora a IBC possa exigir alguma proficiÊncia tÃĐcnica no consenso e nas partes internas da cadeia subjacente, nem todas as complexidades sÃĢo cruciais para construir usando a IBC - outro objetivo que temos com esta sÃĐrie de artigos. A conclusÃĢo aqui ÃĐ que a IBC ÃĐ uma ferramenta poderosa, dadas as vÃĄrias implementaçÃĩes de verificaçÃĢo que os clientes podem adotar.
O ecossistema IBC estÃĄ trabalhando ativamente para tornar o IBC uma soluçÃĢo fÃĄcil para os construtores adotarem. Algumas das iniciativas que discutimos incluem refatoraçÃĢo de cliente e clientes virtuais. Por exemplo, se uma cadeia deseja atualizar o consenso, precisarÃĄ atualizar todas as cadeias à s quais estÃĄ conectada e seus clientes leves para permanecerem conectados, o que ÃĐ um processo caro de governança on-chain. Clientes WASM estÃĢo sendo desenvolvidos para tornar simples o desenvolvimento e a atualizaçÃĢo de clientes leves por meio de instÃĒncias de cliente implantadas como contratos inteligentes. Isso torna mais fÃĄcil atualizar clientes leves sem parar a cadeia e criar clientes em linguagens como Rust, que ÃĐ uma escolha popular entre vÃĄrias mÃĄquinas de estado.
A conclusÃĢo importante ÃĐ que os clientes IBC podem ser usados por qualquer pessoa e por qualquer mÃĄquina para verificar o estado em qualquer blockchain, tornando-os um catalisador poderoso para novos negÃģcios e serviços no mundo das criptomoedas.
Este artigo foi patrocinado pela Polymer para apoiar a educaçÃĢo da comunidade em torno do IBC e da interoperabilidade verdadeiramente descentralizada.
Polymer Labs, composto por habilidosos engenheiros de sistemas distribuÃdos e infraestrutura, pioneiros em criptografia e operadores de negÃģcios realizados, estÃĄ na vanguarda do avanço da interoperabilidade Ethereum com IBC. Com valores tÃĐcnicos baseados em TCP/IP, a missÃĢo da Polymer ÃĐ estabelecer a prÃģxima geraçÃĢo da internet, garantindo que a camada de interoperabilidade da web descentralizada seja neutra, aberta, sem permissÃĢo e uniforme em todos os ecossistemas. Como criadores do Ethereum Interoperability Hub, o primeiro Layer 2 focado em possibilitar a interoperabilidade IBC, a Polymer estabelece um novo padrÃĢo na tecnologia blockchain.