Escrito por: Babywhale, Foresight News
A série de soluções técnicas lançadas pela equipe de desenvolvimento do Cosmos sempre foi popular entre a equipe de desenvolvimento do Web3. Seja o Cosmos SDK ou o IBC, muitas dessas soluções ajudaram os desenvolvedores a resolver o problema de reinventar a roda.
Embora o Cosmos tenha trazido muitos produtos para a Web3, seu token ATOM principal não se beneficiou da expansão do ecossistema Cosmos. Mas na conferência Cosmoverse do ano passado, o lançamento do white paper Cosmos 2.0 trouxe valor adicional ao ATOM, incluindo o fornecimento de segurança para a “cadeia de consumo” cobrar taxas e capturar receitas de MEV. Simplificando, se o Cosmos 2.0 for totalmente realizado, o ATOM também se beneficiará da expansão contínua do ecossistema Cosmos, então o problema que resta agora é realizar o desenvolvimento do Cosmos 2.0 o mais rápido possível e expandir ainda mais o ecossistema Cosmos.
No mês passado, a Fundação Interchain, que visa promover o desenvolvimento do ecossistema Cosmos, divulgou publicamente o plano de desenvolvimento da pilha Interchain em 2024. Este roteiro visa atingir quatro objetivos estratégicos:
Aumentar a modularidade generalizando o software para adaptá-lo mais facilmente a casos de uso específicos;
Melhore a experiência do desenvolvedor para facilitar a construção com o Interchain Stack;
Pague dívidas técnicas para que você possa progredir mais rapidamente;
Impulsione a adoção do usuário.
Existem muitos planos que podem mudar o seu julgamento sobre as perspectivas de desenvolvimento do Cosmos e do ATOM.
CometaBFT
CometBFT é o mecanismo de replicação da máquina de estado Interchain para garantir que os validadores da rede concordem na geração de blocos, garantindo assim a segurança e consistência da rede blockchain.
A Fundação Interchain afirma que seu objetivo é fazer crescer a Interchain, expandindo o alcance e a aplicabilidade do CometBFT para ajudar a construir aplicações interoperáveis soberanas. Além disso, as pilhas de bens públicos entre cadeias, incluindo o CometBFT, precisarão atingir novos níveis de flexibilidade e modularidade para acomodar a crescente diferenciação de aplicações na intercadeia, fornecer serviços de nível institucional e competir de múltiplas maneiras.
A Interchain Foundation lançou o CometBFT v0.34 em fevereiro de 2023, seguido pela v0.37 em março, que incluiu a primeira parte do ABCI++. O release candidate v0.38 foi lançado no final de março, que é a parte final do ABCI++ que a Interchain Foundation integrará ao Cosmos SDK e IBC-go antes do lançamento da versão final.
A Interchain Foundation planeja lançar a v0.39, que está em preparação, antes do final de 2023. Suas atualizações incluem melhorias de eficiência (redução de largura de banda e consumo de armazenamento), a API Data Companion que eventualmente incluirá indexadores e subsistemas RPC, etc., e está previsto para ser lançado em 2024. Lançada no início do ano, esta versão também pode ser chamada de v1.
Quanto ao que é ABCI++, vamos começar com ABCI. ABCI é a interface entre aplicações e consenso. Sua principal função é executar blocos determinados por consenso. Com o ABCI, os aplicativos interagem apenas com o consenso ao tomar decisões e têm pouco controle sobre quais transações são selecionadas no mempool. ABCI++ adiciona programabilidade a cada etapa do consenso, permitindo que os aplicativos reordenem, modifiquem, abandonem, atrasem ou adicionem transações, bem como reduzam o tempo de produção de blocos, introduzindo a capacidade de otimizar a produção de blocos.
Sei usa ABCI++ para obter produção otimizada de blocos, transmissão inteligente de blocos e execução paralela de pedidos, melhorando assim a eficiência de processamento de transações em cadeia.
Resumindo, o CometBFT fornece uma função de construção de blocos muito personalizada para cadeias com base neste mecanismo de consenso. Diferentes cadeias podem desenvolver blocos e métodos de classificação e execução de transações de acordo com suas próprias necessidades, o que melhora muito a imaginação no nível da cadeia. Além disso, a Fundação Interchain tem uma ideia muito ambiciosa: permitir que as aplicações aproveitem as capacidades do IBC diretamente através da interface ABCI, independentemente da máquina virtual, estrutura ou pilha de módulos utilizados no seu desenvolvimento. Desta forma, o objetivo de tornar o IBC um padrão de interoperabilidade entre cadeias entre aplicações on-chain desenvolvidas com base no Cosmos SDK, OP Stack, Celestia, etc.
Cosmos SDK
Falando em Cosmos SDK, acredito que a maioria das pessoas esteja familiarizada com ele. Cosmos SDK é um kit de ferramentas para o desenvolvimento de blockchain ou rollup. Ele é usado como ferramenta principal para desenvolvimento por muitos blockchains recém-lançados, além de muitas cadeias de aplicativos no ecossistema Cosmos, também inclui Fairblock, dYdX V4, Berachain, etc.
No plano de desenvolvimento do Cosmos SDK, a Fundação Interchain afirmou que o foco no novo ano será na modularização e na introdução de novos recursos.
Em primeiro lugar, em termos da "dívida técnica" devida, o Cosmos continuará a concluir o trabalho de otimização inacabado na camada central, incluindo armazenamento, ABCI, e na camada incluindo módulos, piquetagem, etc., incluindo especificamente:
Armazenamento: desempenho, escalabilidade.
Core: Modular (utiliza diferentes motores de consenso: Rollkit, Dymint, etc.) comutáveis (troca facilmente componentes: armazenamento, diferentes carregadores de módulos (Wasm, FFI, gRPC e nativos), clientes, etc.).
Módulos: fáceis de provar em diversas máquinas virtuais; reduzir o número total de linhas de código;
Criptografia: Reescreva o manuseio de chaves para torná-lo mais modular, permitindo que outros usem HSMs personalizados e introduzam novas primitivas criptográficas.
A segunda é a modularidade. A Fundação Interchain acredita que a palavra “modularidade” tem sido usada em demasia no campo do blockchain e seu foco está no nível de modularidade do software. A Fundação Interchain afirmou que tornará o Cosmos SDK mais modular no nível central no segundo semestre deste ano e continuará a trabalhar até 2024, incluindo:
Modularidade de consenso: Modular (utilizar diferentes motores de consenso: Rollkit, Dymint, etc.); comutável (trocar facilmente componentes: armazenamento, diferentes carregadores de módulos (Wasm, FFI, gRPC e local), clientes, etc.).
Armazenamento: Permite a troca de estruturas originais permite a utilização de diferentes estruturas entre módulos;
Composição do módulo: permite aos usuários bifurcar ou inserir lógica personalizada (dependendo do feedback do usuário).
Não há muito conteúdo digno de atenção no terceiro aspecto de manutenção. Em termos do quarto plano futuro, a Fundação Interchain planeja lançar as seguintes atualizações:
Linguagem cruzada: carregadores de módulos (WASM, FFI, GRPC); possivelmente integração mais estreita com CosmWasm.
Atualizações: lógica de negócios separada de módulos e VMS das atualizações de núcleo/nó; permite atualizações contínuas (atualizações implementadas antes da altura do bloco alvo permitem a sincronização do estado de gênese);
Pesquisa: Circuitos ZK para módulos de prova de fraude e validade.
CosmJS
CosmJS é uma biblioteca que ajuda os desenvolvedores a integrar clientes baseados em JavaScript com o blockchain Cosmos SDK.
A Interchain Foundation planeja adicionar novos codificadores à biblioteca CosmJS para melhorar a eficiência da biblioteca, reduzir o inchaço do código e fornecer aos usuários uma experiência de desenvolvimento simplificada e mais profissional. Essas atualizações foram projetadas para adicionar visualizações nativas, otimizar tamanhos de pacotes, automatizar o processo de codificação, permitir adaptabilidade em várias redes e criar um cliente mais simplificado e escalável.
Além disso, um aspecto importante deste trabalho é aproveitar o recurso codegen do Telescope para substituir e automatizar certos objetivos, como tornar a biblioteca mais simplificada, remover métodos auxiliares codificados e permitir que os desenvolvedores usem módulos e métodos auxiliares de sua própria escolha para personalizar seu cliente. .
A maioria dos planos de atualização do CosmJS envolve aspectos técnicos de nível inferior. Os leitores que desejam saber os detalhes específicos podem ler o artigo original por conta própria. Em resumo, inclui principalmente codificação "Proto Visual" de informações, mantendo CosmJS e Cosmos SDK atualizados em sincronia, pacote mais simplificado e otimização de código, atualização do codificador Amino e adição de módulos, uso de vários adaptadores de rede com diferentes chaves e assinaturas e muito mais clientes Telescope e Helpers simplificados e extensíveis.
CosmWasm
CosmWasm é uma estrutura de contrato inteligente construída para o Cosmos SDK. Por um lado, permite que os usuários implantem aplicativos descentralizados sem permissão; por outro lado, os desenvolvedores de blockchain podem separar seus ciclos de desenvolvimento de produtos do desenvolvimento de blockchain, reduzindo o número de atualizações de validadores, reduzindo assim o custo de operação do Blockchain. custos.
A Fundação Interchain afirmou que, graças ao modelo de cadeia de aplicativos usando CometBFT, o Cosmos SDK e a velocidade de execução quase nativa do contrato Wasm, o Cosmos resolve o problema de escalabilidade e reduz as taxas de transação para alguns centavos, mas também resulta em L1 sendo disponível O espaço do bloco é muito maior do que o necessário. Portanto, o CosmWasm precisa ser otimizado para que mais aplicativos possam ser desenvolvidos de forma mais conveniente para melhorar a utilização de blocos, com o foco incluindo a adoção de IBC e inteligência de contas.
A Fundação Interchain afirma que o CosmWasm 2.0 será entregue e implantado na maioria das redes no início de 2024. Isso estabelecerá a base para adições de recursos nas versões 2.1, 2.2 e 2.3 a serem lançadas em 2024, que incluirão:
Verificação de prova de conhecimento zero. Ao verificar provas de conhecimento zero em contratos, cálculos seguros fora da cadeia e várias aplicações de privacidade podem ser alcançados. Ao adicionar criptografia de curva elíptica amigável à interface do aplicativo, o CosmWasm está pronto para atender a estes aplicativos:
Definir interfaces de aplicação e encontrar métodos de implementação apropriados;
Forneça um aplicativo de amostra full-stack para mostrar como usar a API no contrato;
Desenvolva uma linha de base e defina os custos do gás.
Atualize ainda mais a funcionalidade do IBC. Surgiram casos de uso avançados que não são possíveis com o IBC e serão o foco das atualizações do IBC:
Suporte total ao ADR-8, permitindo que os contratos reajam a timeouts e reconhecimentos de pacotes enviados;
Suporte para taxas IBC, permitindo que os contratos paguem pelos seus próprios pacotes;
Cria confirmações atrasadas opcionais, permitindo a implementação de Packet Forward Middleware e sondagem longa ICQ no contrato.
Outras atualizações que favorecem a tecnologia subjacente ou são de baixa importância incluem manter a pilha de software atual, melhorar a eficiência do acesso ao armazenamento, melhorar a autenticação, criar aplicativos IBC, hospedar o hackathon AwesomWasm II na primavera de 2025, documentação CosmWasm para desenvolvedores DApp, executar CosmWasm testnet para facilitar os testes do desenvolvedor.
Acordo IBC
O protocolo Inter-Blockchain Communication (IBC) é uma solução de interoperabilidade de blockchain que permite a transferência arbitrária de dados entre blockchains, bem como entre blockchains, aplicativos e contratos inteligentes de maneira segura e sem permissão. De Janeiro de 2022 a Fevereiro de 2023, o ibc-go facilitou 52 milhões de transferências no valor de 29 mil milhões de dólares. Existem atualmente mais de 100 redes conectadas à rede IBC.
A ecologia do IBC é muito rica. Além dos aplicativos desenvolvidos por equipes financiadas pelo ICF, outros protocolos incluem Osmosis para transações entre cadeias; Stride e Neutron fazendo uso extensivo de middleware, ICA e consultas; O Injective estabeleceu o módulo de fluxo de dados Oracle.
A Fundação Interchain disse que o IBC será atualizado em 2024 em torno de dois temas: escalabilidade e disponibilidade.
Escalabilidade
O IBC enfrenta atualmente muitos desafios. Até o momento, apenas o Cosmos SDK e a cadeia CometBFT que usam ibc-go podem realmente usar o protocolo IBC. Além disso, foram necessários quase dois anos para estabelecer a primeira conexão com uma rede não-Cosmos. Se cada integração demorar tanto tempo, será simplesmente impossível alcançar a visão do IBC.
Além disso, a sobrecarga de manutenção associada à implementação de IBCs e repetidores locais é significativa. Além dos custos de manutenção da transmissão IBC e implementação de aplicações, cada conexão a uma nova arquitetura blockchain cria um relé associado e incorre em custos de manutenção e desenvolvimento. Atualmente, os retransmissores não têm fluxo de caixa sustentável e devem pagar taxas de gás e taxas de infraestrutura pelos serviços que fornecem, incluindo acordos fora da cadeia para pagar taxas de infraestrutura, licenciamento de fundação ou uso do módulo de concessão de taxas Cosmos SDK.
Assim, as atualizações específicas necessárias em termos de escalabilidade incluem:
Minimize o tempo de desenvolvimento necessário para a integração do IBC;
Reduzir custos de manutenção para integração IBC;
Construa a estrutura de conexão IBC de Layer1 e Rollup.
Disponibilidade
O ICS-20 (Token Transfer) foi o primeiro módulo aplicativo lançado pelo IBC-go em março de 2021 e tem sido o aplicativo mais utilizado desde então. À medida que as aplicações se tornam mais complexas, fica claro que o simples envio de tokens não é suficiente para atender às necessidades de interoperabilidade. Portanto, o campo memo é adicionado ao pacote de dados ICS-20 para enviar outros dados durante o envio de tokens. Combinado com middleware, fluxos de trabalho mais complexos podem ser implementados, como transações entre cadeias e piquetagem de liquidez com um clique. No entanto, os padrões de design de middleware especificados no ICS-30 são frequentemente usados em conjunto com campos de memorando, o que levanta preocupações comuns sobre colisões de chaves. Além disso, empilhar vários middlewares apresenta desafios na formatação adequada dos campos de memorando, e os middlewares devem estar na ordem correta para o fluxo de trabalho.
A denominação IBC é outra dificuldade encontrada pelos desenvolvedores porque a interface do usuário precisa exibir a denominação em um formato legível, o que requer um registro mantido por cada projeto para conseguir isso. Como o caminho de circulação de um token determina a denominação IBC resultante, os tokens que chegam ao seu destino através de diferentes cadeias ou canais não serão fungíveis. Alguns aplicativos existentes aproveitam o middleware de encaminhamento de pacotes para resolver esse problema, mas essas soluções dependem da configuração fora da cadeia para determinar o ID do canal desde a origem do token até o destino. As soluções de longo prazo devem utilizar o registro na rede.
ICS-27, a Conta Interchain (ICA), lançada em março de 2022, possui atualmente apenas 8 cadeias adotando a função de controlador. O design original exigia a construção de um middleware de autenticação personalizado para usar o recurso, o que criou uma barreira imediata para uma adoção mais ampla do recurso. A refatoração no ibc-go v6 elimina essa necessidade, no entanto, o ICA ainda sofre de uma série de pontos problemáticos que soluções alternativas como ics-999 e polytone tentam resolver: falta de ordenação entre canais, atomicidade em fluxos de trabalho multicanais e Não há tratamento de erros necessário para atomicidade.
No geral, nenhum dos componentes do IBC é fácil de aprender e compreender totalmente para desenvolvedores de aplicações ou cadeias. Isso se manifesta em decisões de design para remetentes de pacotes confiáveis, o que pode levar a ataques reivindicando lançamentos aéreos por meio de IBC ou de middleware confiável. Além disso, a atualização para a versão mais recente do ibc-go muitas vezes não é uma prioridade, com cerca de 60% das redes usando uma versão não suportada.
Tendo em conta os muitos problemas existentes acima mencionados, os pontos que necessitam urgentemente de ser melhorados em termos de usabilidade do IBC incluem:
Melhorar a experiência de desenvolvimento dos usuários IBC - a conveniência de implantar aplicativos em uma única cadeia deve estar mais próxima da implantação de aplicativos entre cadeias;
Além do ICS-20 (transferência de token), aplicativos ricos em recursos podem ser usados no IBC;
Os aplicativos desenvolvidos usando IBC devem diferir significativamente dos outros protocolos.
O suporte de Strangelove para a pilha Interchain
Além da Fundação Interchain, a empresa de desenvolvimento de criptografia Strangelove, que desempenhou um papel importante na promoção e adoção do IBC, também propôs um plano para apoiar a pilha Interchain. Entre eles, o plano de adoção e marketing do IBC é particularmente digno de atenção, incluindo:
Uma sub-rede Avalanche suporta IBC;
8 cadeias, incluindo cadeias não-Cosmos SDK, suportam clientes leves WASM;
8 redes começaram a aplicar conexões IBC contrato a contrato;
Além do Composable, outro parachain Polkadot está diretamente conectado ao IBC;
Adicione suporte IBC para NEAR;
Cadeia cruzada IBC entre Ethereum e Cosmos através do cometBLS/ZK;
8 blockchains suportam IBC-App e middleware;
4 cadeias suportam cadeia cruzada NFT no formato ICS-721 por meio de IBC.
