O que é o Cosmos SDK?
O Cosmos SDK é um framework de software de código aberto para criar blockchains Layer 1 personalizáveis, registros distribuídos e redes cripto específicas para aplicações.Ele oferece aos desenvolvedores componentes reutilizáveis de blockchain para contas, transferências de tokens, taxas de transação, staking, governança, recompensas, autorização, atualizações e outras funções comuns.Os desenvolvedores podem combinar esses componentes com módulos personalizados que definem a lógica de negócios exclusiva de uma nova blockchain.O Cosmos SDK é escrito principalmente na linguagem de programação Go.Ele é a camada de aplicação e de transição de estado da pilha tecnológica mais ampla do Cosmos, e não uma criptomoeda ou blockchain por si só.Uma blockchain criada com o SDK pode definir seu próprio token nativo, sistema de validadores, regras de transação, modelo de taxas, processo de governança e recursos de aplicação.A visão geral oficial do Cosmos SDK o descreve como um framework para criar blockchains e registros digitais específicos para aplicações a partir de módulos predefinidos e personalizados.
O framework pode oferecer suporte a redes públicas sem permissão, registros privados permissionados, redes de consórcio e outras estruturas especializadas de blockchain.O que significa SDK?
SDK significa kit de desenvolvimento de software.Um kit de desenvolvimento de software oferece bibliotecas, interfaces, ferramentas, documentação e código reutilizável para ajudar desenvolvedores a criar software para um ambiente específico.O Cosmos SDK fornece blocos de construção específicos para blockchain, para que os desenvolvedores não precisem criar do zero todos os recursos de contas, transações, armazenamento, governança e staking.A sigla SDK não significa que todas as blockchains criadas com ele precisam ter as mesmas regras ou experiência de usuário.Cada equipe de desenvolvimento pode escolher os módulos, parâmetros, permissões, integração de consenso e políticas de atualização.Qual é a versão mais recente do Cosmos SDK?
Em julho de 2026, o Cosmos SDK v0.54.3 é identificado como o lançamento mais recente no repositório oficial.A versão foi publicada em 5 de maio de 2026 como parte da família de lançamentos v0.54 e 2026.1.Antes de iniciar o desenvolvimento, consulte a página de lançamentos do Cosmos SDK, pois versões de correção e atualizações de segurança podem mudar com o tempo.
Os números de versão são importantes porque as interfaces dos módulos, os pacotes de armazenamento, a integração da aplicação, as dependências e os requisitos de migração podem variar entre famílias de lançamentos.Uma blockchain não deve atualizar sua dependência do SDK sem analisar as alterações incompatíveis e preparar uma atualização coordenada da rede quando necessário.O guia de atualização do Cosmos SDK v0.54 documenta mudanças relacionadas à integração da aplicação, governança, hooks de ciclo de vida do módulo bank, Store v2, logging, dependências do IBC e recursos experimentais de desempenho.
O que é uma blockchain específica para aplicações?
Uma blockchain específica para aplicações é uma rede cujas regras no nível do protocolo são projetadas para uma aplicação, setor ou conjunto de casos de uso definido.Sua funcionalidade principal é executada como parte da máquina de estados da blockchain, em vez de depender inteiramente de contratos implantados em uma camada de execução compartilhada de uso geral.Uma equipe de desenvolvimento pode personalizar tipos de transação, permissões de contas, taxas, seleção de validadores, emissão de tokens, poderes de governança e estruturas de armazenamento.Esse modelo pode reduzir a dependência de regras escolhidas por uma plataforma de aplicações compartilhada e não relacionada.Ele também atribui aos desenvolvedores e à comunidade da blockchain mais responsabilidade pela segurança do consenso, pelas operações dos validadores, pelas atualizações, pelo design econômico e pela manutenção da infraestrutura.Uma blockchain específica para aplicações ainda pode adicionar uma máquina virtual quando os desenvolvedores quiserem contratos inteligentes programáveis além dos módulos nativos.Como funciona o Cosmos SDK?
Uma blockchain Cosmos SDK é montada com um mecanismo de execução, módulos de aplicação, armazenamentos de estado, manipuladores de transações e interfaces para um mecanismo de consenso externo.Os usuários criam transações assinadas com uma ou mais mensagens que solicitam alterações de estado.A rede de consenso organiza as transações válidas em blocos e envia informações dos blocos à aplicação.A aplicação do SDK verifica cada transação, encaminha suas mensagens aos módulos corretos, executa as regras de negócio relevantes e atualiza o estado da blockchain.Todos os validadores honestos devem executar as mesmas transações na mesma ordem e produzir o mesmo hash do estado resultante da aplicação.A execução determinística é essencial, pois os validadores não conseguem chegar a um consenso sobre o estado da blockchain se entradas idênticas produzirem resultados diferentes.Principais camadas de uma blockchain Cosmos SDK
Consenso e rede
O consenso e a rede peer-to-peer costumam ser fornecidos pelo CometBFT, em vez de implementados diretamente em cada módulo do SDK.O CometBFT ordena as transações, coordena a votação dos validadores, finaliza blocos e se comunica com a aplicação por meio da Application Blockchain Interface.BaseApp
BaseApp é o principal mecanismo de execução incorporado a uma aplicação Cosmos SDK.Ele gerencia a decodificação de transações, o middleware de assinatura, o roteamento de mensagens, o cálculo de gas, consultas, hooks de bloco, gestão de estado e comunicação com o mecanismo de consenso.Módulos
Os módulos contêm lógica de aplicação especializada para funções como contas, transferências de tokens, staking, governança e atualizações de software.Armazenamento de estado
Cada módulo armazena seu estado em um namespace de chave-valor controlado dentro do multistore da aplicação.Interfaces de cliente
Ferramentas de linha de comando, serviços gRPC, endpoints REST e outras interfaces permitem que carteiras, nós, exploradores e aplicações enviem transações ou consultem o estado.O que é BaseApp?
BaseApp é o tipo fundamental de aplicação que coordena a execução de transações e a atividade dos módulos em uma blockchain Cosmos SDK.A documentação oficial do BaseApp o descreve como o mecanismo de execução usado por todas as blockchains Cosmos SDK.
BaseApp implementa a Application Blockchain Interface usada para a comunicação entre a aplicação blockchain e o CometBFT.Ele recebe solicitações do mecanismo de consenso, gerencia contextos de execução, encaminha transações, coordena módulos e confirma o estado da aplicação.A configuração principal da aplicação de uma blockchain cria o BaseApp e o conecta a módulos, keepers, armazenamentos, middleware e hooks de ciclo de vida.O BaseApp fornece infraestrutura compartilhada para que cada equipe de blockchain não precise criar seu próprio roteador de transações, medidor de gas, cache de estado ou sistema de hooks de bloco.O que é ABCI?
ABCI significa Application Blockchain Interface.É o protocolo por meio do qual o mecanismo de consenso se comunica com a aplicação da blockchain.ABCI separa o consenso e a rede da lógica de transição de estado específica da aplicação.O CometBFT pode usar chamadas ABCI para inicializar a blockchain, verificar transações, finalizar blocos, confirmar o estado e obter atualizações do conjunto de validadores.Essa separação permite que os desenvolvedores se concentrem nas regras da aplicação enquanto usam um mecanismo de consenso testado para produção e finalização de blocos.A arquitetura simplificada é CometBFT → ABCI → BaseApp → módulos → estado da aplicação.O que é CometBFT?
CometBFT é um mecanismo de consenso tolerante a falhas bizantinas, comumente usado com aplicações Cosmos SDK.Ele gerencia a rede peer-to-peer, a propagação de transações, as propostas de blocos, os votos dos validadores e a finalização dos blocos.O Cosmos SDK e o CometBFT desempenham funções diferentes, embora costumem ser implantados em conjunto.O CometBFT define a ordem finalizada das transações, enquanto a aplicação Cosmos SDK determina o que essas transações fazem.Uma falha na lógica da aplicação ainda pode produzir resultados indesejados mesmo quando o mecanismo de consenso funciona corretamente.Por isso, uma blockchain segura precisa tanto de uma configuração de consenso confiável quanto de código de aplicação determinístico e seguro.O que são módulos do Cosmos SDK?
Os módulos do Cosmos SDK são componentes reutilizáveis que gerenciam áreas definidas da funcionalidade e do estado da blockchain.Cada módulo pode definir mensagens, consultas, keepers, parâmetros, dados de gênese, eventos e operações do ciclo de vida dos blocos.O guia oficial de arquitetura de módulos explica como os módulos isolam o estado e expõem interfaces controladas para interação entre módulos.
Uma equipe de desenvolvimento pode incluir módulos padrão, modificar a integração da aplicação ou criar módulos personalizados.Os módulos permitem que uma blockchain mantenha sua organização à medida que ganha mais recursos.A modularidade não significa que qualquer módulo possa ser adicionado sem trabalho de compatibilidade, segurança ou migração.Módulos comuns do Cosmos SDK
Módulo Auth
O módulo
A especificação oficial do módulo de autenticação explica que as contas incluem informações usadas para chaves públicas, endereços, números de conta e proteção contra repetição baseada em sequência.
Módulo Bank
O módulo
A documentação do módulo bank descreve suas responsabilidades relacionadas a saldos e transferências de múltiplos ativos.
Módulo Staking
O módulo
Módulo Slashing
O módulo
Módulo Distribution
O módulo
Módulo Governance
O módulo
Módulo Mint
O módulo
Módulo Upgrade
O módulo
Módulo Authorization
O módulo
Módulo Fee Grant
O módulo
O que é um keeper?
Um keeper é a camada de acesso ao estado e de lógica de negócios de um módulo do Cosmos SDK.Ele oferece métodos tipados para ler e gravar os dados do módulo.Os campos de armazenamento subjacentes de um módulo normalmente são mantidos privados para impedir que códigos externos modifiquem seu estado diretamente.Servidores de mensagens, servidores de consulta e hooks de bloco chamam métodos do keeper para interagir com o estado.Outros módulos recebem apenas as interfaces e capacidades do keeper que a aplicação fornece explicitamente.Esse modelo deixa mais claras as dependências entre módulos e reduz o acesso irrestrito ao estado compartilhado da blockchain.Uma interface de keeper mal projetada ainda pode expor poderes perigosos, por isso os limites de capacidade devem ser analisados cuidadosamente.Como os módulos do Cosmos SDK se comunicam?
Os módulos se comunicam por meio de interfaces de keeper definidas explicitamente, em vez de modificar diretamente os armazenamentos uns dos outros.Um módulo de staking pode chamar um método aprovado do keeper do bank quando tokens em staking precisarem ser transferidos entre contas de módulos.Um módulo de governança pode chamar um método autorizado de atualização de parâmetros depois que uma proposta for aprovada.O módulo que recebe a solicitação continua responsável por aplicar suas próprias regras de estado.Interfaces explícitas facilitam testar e auditar os poderes entre módulos.Dependências circulares e permissões excessivas podem dificultar a manutenção e a segurança de uma aplicação.Como o estado é armazenado?
O Cosmos SDK armazena o estado da aplicação como pares de chave-valor em armazenamentos específicos para cada módulo.As chaves e os valores são representados como bytes, enquanto os módulos codificam e decodificam dados estruturados usando regras de serialização definidas.O guia do Cosmos SDK sobre estado e armazenamento explica que os armazenamentos dos módulos são montados em um multistore e confirmados em conjunto.
Cada módulo controla seu próprio namespace e normalmente o acessa por meio de uma chave de armazenamento tipada e de um keeper.Quando um bloco é concluído, a aplicação calcula uma raiz de estado que representa o estado combinado dos módulos.A raiz de estado é devolvida ao mecanismo de consenso e incluída no histórico confirmado da blockchain.O que é o multistore do Cosmos SDK?
O multistore é um contêiner que coordena os armazenamentos de estado separados usados pelos módulos da aplicação.Cada módulo pode manter um espaço de chaves independente, enquanto todas as alterações dos módulos são confirmadas sob uma única raiz de estado da aplicação.Esse design separa os dados dos módulos sem criar uma blockchain separada para cada módulo.A execução de transações pode usar estado em cache para que alterações de mensagens malsucedidas sejam descartadas antes da atualização do estado subjacente.A implementação do armazenamento e a configuração do banco de dados podem afetar o desempenho dos nós, a poda de dados, os snapshots e os requisitos de migração.O Cosmos SDK v0.54 introduziu mudanças nos pacotes Store v2 que exigem uma migração cuidadosa ao atualizar aplicações.O que é o estado de gênese?
O estado de gênese é o estado inicial de uma nova blockchain.Geralmente, ele é representado em um arquivo
Como funcionam as transações do Cosmos SDK?
Uma transação Cosmos SDK é uma estrutura de dados assinada que contém uma ou mais mensagens, informações de autenticação, um limite de gas e taxas de transação.Cada mensagem representa uma ação solicitada, como transferir tokens, delegar staking, votar ou chamar uma função de módulo personalizado.O usuário assina a transação com uma chave privada associada à conta remetente.Um nó decodifica os bytes enviados e verifica se a transação atende aos requisitos do mempool.Depois que o consenso inclui a transação em um bloco, o BaseApp executa seu middleware de autenticação e encaminha cada mensagem ao manipulador apropriado.Os manipuladores executados com sucesso atualizam o estado dos módulos e emitem eventos que aplicações externas podem indexar.Ciclo de vida de uma transação Cosmos SDK
Construção da transação
Uma carteira ou aplicação monta as mensagens e adiciona as informações de conta, taxa, gas, blockchain e assinatura.Assinatura
O titular da conta assina os bytes definidos para assinatura usando a chave privada autorizada da conta.Transmissão
A transação codificada é enviada a um nó por meio de uma interface de cliente compatível.CheckTx
O nó realiza verificações preliminares de assinaturas, números de sequência, taxas, preço do gas e formato da transação antes de admiti-la em seu mempool.Ordenação pelo consenso
Os validadores usam o processo de consenso para chegar a um acordo sobre um bloco com um conjunto ordenado de transações.Execução do AnteHandler
O BaseApp executa middleware pré-mensagem para autenticação, gestão de sequências, taxas e configuração do gas.Execução das mensagens
Cada mensagem é encaminhada pelo seu URL de tipo ao servidor de mensagens do módulo apropriado.Pós-processamento
Uma aplicação pode configurar manipuladores posteriores para lógica executada após o processamento das mensagens.Confirmação do estado
As transições de estado bem-sucedidas contribuem para a nova raiz de estado da aplicação confirmada para o bloco.O que é o AnteHandler?
O AnteHandler é um middleware executado antes das mensagens da transação.Ele pode validar assinaturas, verificar sequências de contas, deduzir taxas, configurar um medidor de gas e aplicar condições específicas da aplicação à transação.Se o AnteHandler rejeitar uma transação, as mensagens não serão executadas.De acordo com a documentação atual do BaseApp, as taxas e atualizações de sequência processadas com sucesso pelo AnteHandler podem continuar confirmadas mesmo quando a execução posterior das mensagens falha.Isso significa que o usuário pode pagar uma taxa de transação mesmo quando a ação cripto solicitada não é concluída.A lógica personalizada do AnteHandler deve continuar determinística entre os validadores.O que é uma mensagem do Cosmos SDK?
Uma mensagem é uma solicitação estruturada para realizar uma transição de estado específica.Alguns exemplos são enviar tokens, criar um validador, delegar staking, enviar uma proposta de governança ou alterar dados personalizados da aplicação.Cada tipo de mensagem tem campos definidos, regras de assinatura, requisitos de validação e um método associado no servidor de mensagens.O BaseApp encaminha mensagens de acordo com os URLs de tipo registrados.As aplicações podem incluir várias mensagens em uma única transação.Em geral, as alterações de estado das mensagens são atômicas, o que significa que uma mensagem com falha impede que as gravações de mensagens da transação sejam parcialmente confirmadas.O que são consultas?
As consultas leem o estado da blockchain sem solicitar uma transição de estado.Uma carteira pode consultar saldos, posições de staking, propostas de governança, parâmetros de módulos e informações relacionadas a transações.Os módulos Cosmos SDK costumam expor serviços de consulta gRPC que o BaseApp encaminha ao servidor de consulta correto.As consultas não passam pelo AnteHandler normal de transações e não deduzem uma taxa de transação da blockchain da mesma forma.O resultado de uma consulta pode variar entre nós se eles consultarem alturas de bloco diferentes ou tiverem históricos incompletos.Quando esses detalhes afetarem o resultado, as aplicações devem identificar a blockchain consultada, a altura do bloco e a fonte dos dados.O que é gas no Cosmos SDK?
Gas é uma medida usada para limitar os recursos computacionais e de armazenamento consumidos pela execução de uma transação.Operações como verificação de assinaturas, leitura e gravação de estado e processamento de bytes de transação podem consumir gas.Uma transação declara um limite de gas que representa a quantidade máxima autorizada para sua execução.Uma transação que esgota o limite de gas falha, mesmo que a mensagem subjacente fosse válida.As tabelas e os custos de gas podem variar entre blockchains Cosmos SDK, pois a aplicação controla parâmetros importantes e detalhes de implementação.Como são calculadas as taxas de transação do Cosmos SDK?
Um cálculo simplificado da taxa multiplica o limite de gas pelo preço do gas selecionado.Taxa de transação = limite de gas × preço do gas
Uma transação com limite de gas de 200,000 e preço de gas de 0.025 unidades por gas tem uma taxa de 5,000 unidades mínimas do token.Taxa de transação = 200,000 × 0.025 = 5,000
Os validadores podem configurar preços mínimos de gas para filtrar as transações enviadas aos seus nós.Uma transação cuja taxa esteja abaixo do mínimo de um nó poderá ser rejeitada antes de entrar no mempool desse nó.A taxa exibida deve identificar a denominação do token e a conversão decimal.Contas do Cosmos SDK
Uma conta Cosmos SDK normalmente inclui um endereço, número de conta, número de sequência e informações de chave pública quando essa chave foi revelada on-chain.O número de sequência ajuda a impedir que a mesma transação assinada seja reproduzida repetidamente.O envio de transações com uma sequência desatualizada pode resultar em rejeição.As aplicações podem definir tipos de conta além da conta básica quando precisarem de vesting, multisig, permissões ou comportamentos especializados.O endereço de uma conta não comprova a identidade jurídica da pessoa ou organização que controla sua chave privada.A perda da chave privada ou do método de recuperação pode resultar na perda permanente do controle quando não houver um sistema alternativo de autorização.Formatos de endereço do Cosmos SDK
As blockchains Cosmos SDK geralmente exibem endereços codificados em Bech32, com um prefixo legível específico da blockchain.O prefixo ajuda os usuários a distinguir endereços de contas, validadores e consenso em interfaces legíveis.Duas blockchains podem gerar endereços exibidos diferentes a partir de material de chave relacionado, pois usam prefixos ou regras de endereço distintos.O prefixo, por si só, não comprova que um endereço pertence à blockchain ou ao destinatário pretendido.Antes de transferir criptomoedas, os usuários devem verificar o chain ID, o tipo de endereço, o destino completo e a rota do ativo compatível.Staking no Cosmos SDK
O módulo de staking do Cosmos SDK permite que as blockchains mantenham um sistema de validadores Proof of Stake.Os detentores do token nativo podem delegar tokens de staking a validadores, conforme as regras da blockchain.A seleção de validadores pode ser determinada pelo poder de voto em staking e pelos limites configurados para o conjunto de validadores.A especificação de staking do Cosmos SDK define as transições de estado de validadores, delegações, desbonding, redelegação e conjunto de validadores.
O módulo usa shares de delegação como mecanismo contábil para o pool de tokens delegados de cada validador.Parâmetros de staking, como denominação do token em staking, limite de validadores, tempo de desbonding e registros históricos, são definidos por cada blockchain.Validadores e delegadores
Um validador opera uma infraestrutura que participa de propostas de blocos, votação e tarefas de consenso quando está incluído no conjunto ativo de validadores.Um delegador atribui poder de staking a um validador sem necessariamente operar uma infraestrutura própria de validação.Os validadores podem cobrar comissão sobre as recompensas distribuídas aos seus delegadores.Os delegadores continuam expostos ao desempenho do validador, a mudanças de comissão, slashing, atrasos de desbonding, volatilidade do token e riscos do protocolo.A delegação não transfere a propriedade da mesma forma que uma venda comum de tokens, mas sujeita os tokens às regras do módulo de staking.Os direitos e riscos exatos dependem da configuração da aplicação da blockchain.Desbonding e redelegação
O desbonding inicia o processo de remoção de uma delegação do staking.Os tokens podem permanecer indisponíveis para transferência durante um período de desbonding definido pela blockchain.Eles podem continuar sujeitos a penalidades por comportamentos do validador que atendam aos critérios e tenham ocorrido enquanto estavam em staking.A redelegação transfere a exposição de staking de um validador para outro, conforme as regras do protocolo.O módulo de staking acompanha redelegações ainda não concluídas para reduzir tentativas de escapar de penalidades por meio de mudanças repetidas de validador.As interfaces de carteira devem exibir os prazos de conclusão e as restrições, em vez de apresentar o desbonding como um saque imediato.Slashing no Cosmos SDK
Slashing é uma penalidade do protocolo que pode reduzir o valor em staking ou remover um validador da participação ativa no consenso.A especificação de slashing do Cosmos SDK abrange o monitoramento de disponibilidade dos validadores, o jail, as assinaturas conflitantes e o comportamento de tombstoning.
Uma blockchain pode configurar penalidades e requisitos de blocos não validados por meio de seus parâmetros.Os delegadores podem compartilhar as perdas de slashing porque seus tokens compõem o stake do validador.Um validador pode ser colocado temporariamente em jail por falhas de disponibilidade definidas.Falhas graves de consenso podem resultar em penalidades mais severas e restrições permanentes, conforme as regras da blockchain.Governança do Cosmos SDK
O módulo de governança permite que participantes elegíveis enviem propostas e votem em decisões da blockchain.Uma proposta pode conter uma ou mais mensagens executáveis, em vez de apenas uma recomendação textual informal.Entre as possíveis ações de governança estão alterar parâmetros de módulos, usar recursos comunitários designados ou programar atualizações de software.O processo de proposta pode incluir período de depósito, período de votação, requisito de quórum, limite de aprovação e limite de veto.Cada blockchain pode configurar suas regras de governança de maneira diferente.A aprovação on-chain não pode obrigar validadores a executar software defeituoso ou indisponível; por isso, atualizações importantes também exigem coordenação operacional.Autorização no Cosmos SDK
O módulo de autorização permite que um concedente autorize um beneficiário a executar mensagens definidas em seu nome.A documentação oficial de autorização do Cosmos SDK descreve as concessões como permissões associadas a tipos específicos de mensagem.
Uma concessão pode ser ampla ou restringida por uma lógica de autorização personalizada.Uma autorização para enviar tokens pode incluir um limite de gastos e uma lista opcional de destinos aprovados.Antes de criar uma concessão, os usuários devem verificar o tipo de mensagem permitido, a validade, os limites de gastos e as restrições de destinatários.Uma conta autorizada comprometida pode usar indevidamente todas as ações ainda permitidas por uma concessão ativa.Atualizações de software do Cosmos SDK
As atualizações de software de uma blockchain podem alterar a lógica dos módulos, os formatos de armazenamento, as interfaces e o comportamento relacionado ao consenso.O módulo
A especificação do módulo de atualização explica como propostas de governança podem programar ou cancelar planos de atualização.
Os operadores de nós devem instalar o binário compatível correto antes que a atualização programada entre em vigor.Um manipulador de atualização pode executar migrações de módulos e transformar os dados armazenados para o formato esperado pelo novo software.Uma coordenação malsucedida pode interromper a produção de blocos ou dividir os operadores entre versões incompatíveis.Cosmos SDK e IBC
IBC é um protocolo que permite que blockchains compatíveis verifiquem e troquem dados entre redes.Uma blockchain Cosmos SDK pode integrar módulos IBC para oferecer suporte a transferências de tokens, contas entre redes, mensagens de contratos e outras aplicações interchain.A documentação oficial do IBC-Go explica que blockchains compatíveis com IBC podem trocar dados codificados em bytes por meio de conexões permissionless do protocolo.
O IBC não se limita a blockchains criadas com o Cosmos SDK, embora a implementação em Go seja comumente integrada a aplicações do SDK.Desde o IBC-Go v10, o IBC Classic e o IBC v2 existem como versões separadas do protocolo dentro da família de lançamentos.Uma conexão usa o protocolo e os módulos de aplicação compatíveis com os dois sistemas participantes.Como funciona uma transferência de tokens por IBC?
Uma transferência de tokens por IBC começa quando o usuário envia uma solicitação de transferência na blockchain de origem.A aplicação de origem bloqueia em custódia ou queima a representação correspondente, de acordo com a rota de transferência do ativo.Um pacote com os dados da transferência é registrado e, depois, encaminhado à blockchain de destino.A blockchain de destino verifica a prova necessária e cria ou libera a representação correspondente do ativo.Os relayers transportam os dados dos pacotes e das provas, mas não precisam ser confiáveis para alterar o conteúdo válido dos pacotes.Os usuários ainda estão expostos a riscos relacionados à seleção de canais, ao rastreamento de ativos, à liquidez, à aplicação, ao cliente, ao consenso e à blockchain de destino.O Cosmos SDK oferece suporte a contratos inteligentes?
O Cosmos SDK se concentra em módulos nativos de blockchain, mas pode ser ampliado com uma máquina virtual para executar contratos inteligentes.Isso permite combinar módulos no nível do protocolo com aplicações programáveis implantadas pelos usuários.Uma equipe de desenvolvimento pode escolher uma máquina virtual de acordo com a linguagem, a compatibilidade, o desempenho e os requisitos de segurança.O suporte a contratos inteligentes não é ativado automaticamente em todas as aplicações Cosmos SDK.A adição de uma máquina virtual amplia a funcionalidade, mas também aumenta a superfície de ataque e a complexidade operacional da aplicação.Cosmos SDK e contratos inteligentes
Um módulo Cosmos SDK é executado como lógica nativa da aplicação, incluída no software da blockchain usado pelos validadores.Um contrato inteligente é executado em uma máquina virtual fornecida por uma aplicação blockchain existente.Módulos nativos podem acessar hooks no nível do protocolo e interfaces de estado estreitamente integradas.Em geral, contratos inteligentes podem ser implantados sem exigir que todos os validadores instalem um novo binário da blockchain.A atualização da lógica de módulos nativos costuma exigir uma atualização coordenada da blockchain.O melhor modelo depende da necessidade de controle no nível do protocolo, implantação permissionless, execução isolada ou iteração rápida de aplicações.Cosmos SDK e Cosmos Hub
O Cosmos SDK é um software usado para criar blockchains, enquanto o Cosmos Hub é uma blockchain específica criada com a pilha tecnológica do Cosmos.O SDK não tem uma única criptomoeda nativa obrigatória, compartilhada por todas as blockchains.Cada aplicação Cosmos SDK pode definir suas próprias denominações de tokens, regras de oferta, ativo de staking e política de taxas.Uma decisão de governança de uma blockchain independente não controla automaticamente todas as outras blockchains baseadas no SDK.Os desenvolvedores não devem tratar os parâmetros do Cosmos Hub como padrões universais do Cosmos SDK.Benefícios do Cosmos SDK
Componentes modulares podem reduzir a quantidade de código básico de blockchain que uma equipe precisa desenvolver de forma independente.A arquitetura específica para aplicações dá aos desenvolvedores controle sobre a lógica do protocolo, taxas, permissões, governança e economia dos tokens.Os limites de estado dos módulos e as interfaces dos keepers podem facilitar a compreensão e a auditoria das permissões.O suporte nativo ao IBC pode oferecer comunicação padronizada entre redes.O framework oferece suporte tanto a módulos predefinidos quanto à lógica personalizada de aplicações.Código de código aberto, documentação, ferramentas de teste e uso em produção existente podem apoiar o desenvolvimento e a revisão.Esses benefícios não eliminam a necessidade de design seguro, auditorias, testes, operações de validadores e análise econômica.Limitações do Cosmos SDK
O lançamento de uma blockchain independente exige validadores, nós, monitoramento, atualizações, governança e manutenção de longo prazo.Uma nova rede precisa criar segurança econômica ou baseada em permissões suficiente para seu modelo de ameaças.Módulos personalizados podem conter falhas graves de lógica, autorização ou migração de estado.Atualizações de módulos e dependências podem introduzir mudanças incompatíveis na integração da aplicação.A conectividade entre redes introduz riscos adicionais relacionados a clientes, relayers, roteamento e blockchains de destino.A flexibilidade específica para aplicações pode gerar complexidade, pois duas blockchains baseadas no SDK podem usar parâmetros e módulos muito diferentes.Os usuários não devem presumir que todas as blockchains criadas com o framework tenham a mesma segurança, descentralização ou proteção de ativos.Segurança do Cosmos SDK
A segurança depende da versão do SDK, do código personalizado da aplicação, da configuração do consenso, da infraestrutura dos validadores, da gestão de chaves, da governança e dos protocolos conectados.Toda transição de estado deve ser determinística e validada contra entradas não autorizadas.Os keepers devem expor apenas as capacidades necessárias a outros módulos.Autoridades administrativas, chaves de atualização, poderes de governança e controles de emergência devem ser documentados e testados.Os desenvolvedores devem usar dependências compatíveis, analisar avisos de segurança, executar simulações, testar migrações e contratar auditorias independentes para aplicações de alto valor.A página oficial de auditorias do Cosmos Stack fornece links para revisões de segurança publicadas dos componentes principais.
A política de bug bounty do Cosmos Stack oferece um processo coordenado para comunicar vulnerabilidades de forma privada.
Riscos de segurança comuns do Cosmos SDK
Execução não determinística
Códigos que dependem do horário local, de iterações imprevisíveis, de serviços externos ou de comportamentos numéricos inconsistentes podem fazer com que os validadores calculem estados diferentes.Erros de permissão dos keepers
Uma interface de keeper excessivamente ampla pode permitir que um módulo faça alterações não autorizadas em outro módulo.Autorização incorreta de mensagens
Um manipulador de mensagens pode gerar alterações de estado não autorizadas quando não verifica o assinante ou a autoridade correta.Erros de gênese
Saldos inválidos, registros duplicados, dados incorretos de validadores ou parâmetros inseguros podem comprometer uma blockchain antes do primeiro bloco.Falhas em atualizações
Uma lógica de migração incorreta pode corromper o estado ou impedir que os nós reiniciem na altura de bloco programada para a atualização.Falhas no design econômico
O software pode funcionar conforme programado e, ainda assim, incentivos, inflação, regras de garantia ou limites de governança inseguros podem causar perdas econômicas.Comprometimento de chaves de validadores
Chaves de validadores roubadas ou configuradas incorretamente podem interromper as operações ou levar a comportamentos de consenso passíveis de slashing.Vulnerabilidades em dependências
Uma blockchain pode herdar vulnerabilidades de segurança de dependências desatualizadas de SDK, consenso, IBC, criptografia, banco de dados ou rede.Como criar uma blockchain com o Cosmos SDK
Defina o objetivo da blockchain
A equipe deve definir os usuários, ativos, tipos de transação, pressupostos de segurança, estrutura de governança e requisitos regulatórios.Selecione uma versão do SDK
A aplicação deve começar com uma família de versões compatível e fixar dependências compatíveis.Escolha módulos padrão
A equipe pode selecionar módulos para contas, transferências, staking, governança, recompensas, autorização e atualizações.Desenvolva módulos personalizados
Módulos personalizados podem definir mensagens, keepers, consultas, eventos, parâmetros, lógica de gênese e hooks de ciclo de vida.Configure a integração da aplicação
Stores, keepers, dependências entre módulos, middleware, serviços de mensagens, serviços de consulta e ordem dos hooks devem ser conectados corretamente.Defina o estado de gênese
O estado inicial da blockchain deve ser gerado, validado, revisado e distribuído de forma consistente aos operadores de nós.Teste o determinismo e as transições de estado
Testes unitários, testes de integração, simulações, fuzzing e redes de teste com vários nós podem revelar problemas de lógica e consenso.Faça uma revisão de segurança
Módulos de alto risco, permissões, emissão de tokens, atualizações e integrações cross-chain devem passar por uma revisão de segurança específica.Lance uma rede de testes
Uma rede de testes permite que operadores e desenvolvedores pratiquem os processos de gênese, transações, alterações de validadores, falhas e atualizações.Coordene o lançamento em produção
Os validadores devem usar binários, arquivos de gênese, configurações de rede e procedimentos operacionais compatíveis.Desenvolvimento de módulos do Cosmos SDK
Em geral, um módulo personalizado define seu modelo de estado antes de implementar as mensagens de transação.Arquivos Protocol Buffer podem definir estruturas de mensagens, consultas, gênese e dados.Um keeper oferece acesso controlado ao estado e lógica de negócios reutilizável.Um servidor de mensagens valida solicitações de transação e aciona operações do keeper.Um servidor de consultas oferece acesso somente leitura ao estado do módulo.O módulo pode registrar serviços, interfaces, stores, handlers de gênese, migrações e hooks de bloco na aplicação.Os desenvolvedores devem testar estados de falha e chamadas não autorizadas, em vez de testar apenas transações bem-sucedidas.Hooks do ciclo de vida do bloco
Os módulos do Cosmos SDK podem executar uma lógica definida em diferentes etapas da execução do bloco.A lógica PreBlock é executada antes de BeginBlock e pode preparar o estado necessário para o bloco.A lógica BeginBlock é executada perto do início do processamento do bloco e pode realizar tarefas programadas do módulo.Em seguida, as transações são processadas na ordem acordada.A lógica EndBlock é executada após o processamento das transações e pode preparar atualizações de validadores ou finalizar cálculos do módulo.O ModuleManager coordena a ordem dos hooks, e uma ordenação incorreta pode causar erros na aplicação ou estados inesperados.Eventos e indexação
Os módulos do Cosmos SDK podem emitir eventos durante a execução de transações e blocos.Os eventos podem descrever ações como transferências, delegações, votos, alterações de parâmetros ou atividades personalizadas da aplicação.Exploradores e sistemas de análise podem indexar esses eventos para oferecer interfaces pesquisáveis aos usuários.Um evento é um resultado observável da execução, não a fonte oficial do estado.As aplicações devem consultar o estado confirmado quando precisarem do resultado canônico atual.Os campos dos eventos e as configurações de indexação podem mudar entre versões da aplicação.Governança e parâmetros do Cosmos SDK
Os parâmetros dos módulos são valores de configuração on-chain que controlam aspectos definidos do comportamento do módulo.Entre os exemplos estão depósitos de governança, limites de validadores, períodos de staking, configurações de emissão e condições de slashing.Normalmente, os parâmetros são alterados por meio de uma mensagem autorizada, e não por uma transação comum de usuário sem restrições.Uma conta do módulo de governança pode atuar como autoridade para mensagens de atualização de parâmetros.Os desenvolvedores devem validar cada novo valor de parâmetro para impedir que a governança coloque acidentalmente o módulo em um estado inválido.A flexibilidade dos parâmetros não deve substituir atualizações explícitas de software quando for necessário alterar a lógica subjacente de transição de estado.Desempenho do Cosmos SDK
O desempenho depende da lógica da aplicação, configuração do banco de dados, complexidade das transações, hardware, condições da rede, configurações de consenso e tamanho do estado.Uma transferência simples não consome os mesmos recursos que uma transação complexa envolvendo vários módulos.Todos os validadores devem concluir a execução determinística dentro das premissas de tempo da rede.O crescimento do estado pode aumentar, com o tempo, os custos de armazenamento, snapshots, sincronização e consultas.A medição de gas, a poda de dados, os índices, o caching e a eficiência da lógica dos keepers podem afetar o desempenho dos nós.O Cosmos SDK v0.54 inclui suporte experimental a Block-STM para execução paralela de transações, mas sua adoção em produção exige testes cuidadosos de compatibilidade e correção.O que é Block-STM?
Block-STM é uma abordagem experimental de execução que tenta processar transações compatíveis em paralelo, preservando um resultado final determinístico.A documentação do Block-STM do Cosmos SDK descreve a execução paralela otimista durante a finalização do bloco.
Transações que acessam estados conflitantes podem precisar ser executadas novamente ou ordenadas de forma segura.A execução paralela pode aumentar a capacidade de processamento de cargas de trabalho independentes, mas pode trazer benefícios limitados quando a maioria das transações altera o mesmo estado.Recursos experimentais não devem ser habilitados apenas porque um benchmark mostrou um número maior de transações.Operações de nós do Cosmos SDK
Um nó completo armazena o estado da blockchain, comunica-se com pares, valida blocos e disponibiliza as interfaces configuradas.Um nó validador também gerencia as tarefas de assinatura de consenso quando o validador está ativo.Os operadores devem proteger as chaves privadas e as interfaces remotas, monitorar o uso do disco, instalar atualizações compatíveis e manter uma conexão de rede confiável.Serviços públicos de chamadas de procedimento remoto devem usar limites de taxa e controles de acesso adequados ao seu modelo de ameaças.Os backups devem proteger a configuração e os dados necessários para recuperação sem criar cópias adicionais de chaves de assinatura ativas.Um sistema de monitoramento deve detectar blocos perdidos, falhas de processos, perda de pares, esgotamento do disco, problemas de sincronização de estado e comportamentos anormais da aplicação.Como avaliar uma blockchain do Cosmos SDK
Confirme as versões exatas do SDK, CometBFT, IBC e dos módulos usados pela blockchain.Verifique se a aplicação inclui módulos personalizados relevantes ou lógica controlada por administradores.Analise a distribuição dos validadores, a participação no consenso, a concentração de staking e as práticas de gerenciamento de chaves.Leia os parâmetros de governança da blockchain, o processo de atualização e os poderes de emergência.Identifique os modelos de ativos nativos e bridged, bem como as autoridades capazes de emitir, congelar ou restringir tokens.Analise auditorias de segurança, vulnerabilidades divulgadas, cobertura de testes e histórico de incidentes.Verifique se rotas IBC, clientes ou blockchains conectadas acrescentam pressupostos de segurança externos.O uso do Cosmos SDK, por si só, não determina se uma rede cripto específica é segura ou adequada para um usuário.Equívocos comuns sobre o Cosmos SDK
Um equívoco comum é pensar que o Cosmos SDK é uma blockchain, quando na verdade é um framework para criar blockchains independentes.Outro equívoco é acreditar que todas as blockchains baseadas no SDK compartilham o mesmo conjunto de validadores.Em geral, blockchains independentes mantêm sua própria segurança e governança, a menos que adotem um modelo específico de segurança compartilhada.Alguns usuários presumem que todo ativo baseado no SDK pode ser transferido automaticamente por meio do IBC.As transferências IBC exigem módulos compatíveis, clientes ativos, rotas válidas e relayers operacionais.Outro erro é presumir que os módulos padrão não podem ser personalizados pela lógica da aplicação, pelos parâmetros ou pela seleção de versões.Os usuários também podem confundir o token nativo de uma blockchain com o framework de software usado para criá-la.Perguntas frequentes
Qual é a definição mais simples do Cosmos SDK?
O Cosmos SDK é um framework open-source desenvolvido em Go para criar blockchains Layer 1 personalizáveis e registros distribuídos.O Cosmos SDK é uma blockchain?
Não. É um software usado para criar blockchains, e não uma blockchain por si só.O Cosmos SDK é uma criptomoeda?
Não. Cada aplicação criada com ele pode definir suas próprias regras para criptomoedas e tokens.Qual linguagem de programação o Cosmos SDK usa?
O Cosmos SDK é desenvolvido principalmente em Go.Qual é a versão mais recente do Cosmos SDK?
O repositório oficial identifica a v0.54.3 como a versão mais recente em julho de 2026.O que é BaseApp?
BaseApp é o mecanismo de execução que conecta chamadas de consenso ao processamento de transações, módulos e estado da blockchain.O que é ABCI?
ABCI é a interface por meio da qual um mecanismo de consenso se comunica com a aplicação blockchain.O que é CometBFT?
CometBFT é um mecanismo de consenso e rede comumente usado para ordenar e finalizar transações de aplicações do Cosmos SDK.O que é um módulo do Cosmos SDK?
Um módulo é um componente reutilizável da aplicação, responsável por uma parte definida da lógica e do estado da blockchain.O que é um keeper?
Um keeper é a camada controlada de acesso ao estado e de lógica de negócios de um módulo.Os desenvolvedores podem criar módulos personalizados do Cosmos SDK?
Sim. Os desenvolvedores podem criar módulos com mensagens, estados, consultas, parâmetros, eventos e hooks de ciclo de vida personalizados.O que é o módulo bank?
O módulo bank gerencia saldos de criptomoedas, transferências de vários ativos, informações de oferta e determinadas restrições de tokens.O que é o módulo auth?
O módulo auth define os tipos básicos de contas e transações e participa da autenticação de transações.O que é o módulo staking?
O módulo staking gerencia validadores, delegações, unbonding, redelegações e atualizações de validadores Proof of Stake.O que é o módulo slashing?
O módulo slashing penaliza falhas definidas dos validadores, como indisponibilidade ou assinaturas de consenso conflitantes.O que é o módulo de governança?
O módulo de governança gerencia propostas, depósitos, votações, apuração e execução autorizada de ações aprovadas.O que é o módulo upgrade?
O módulo upgrade programa alterações coordenadas de software e migrações de estado para alturas de bloco definidas.O que é uma transação do Cosmos SDK?
Uma transação do Cosmos SDK é uma estrutura assinada que contém mensagens, dados de autenticação da conta, um limite de gas e taxas.O que é uma mensagem no Cosmos SDK?
Uma mensagem é uma solicitação estruturada para que um módulo execute uma transição específica no estado da blockchain.Uma transação pode conter várias mensagens?
Sim. Uma transação pode conter várias mensagens, que são processadas em sequência.O que acontece quando uma mensagem falha?
Em geral, as gravações de estado das mensagens são revertidas de forma atômica, embora efeitos do processamento preliminar, como taxas e alterações de sequência, ainda possam ser aplicados.O que é o AnteHandler?
O AnteHandler é um middleware de pré-execução que verifica assinaturas, sequências, taxas, gas e outros requisitos das transações.O que é gas no Cosmos SDK?
Gas mede e limita os recursos computacionais e de armazenamento consumidos durante a execução de uma transação.Como as taxas de transação são calculadas?
Um cálculo simplificado multiplica o limite de gas da transação pelo preço de gas selecionado.Todas as blockchains do Cosmos SDK cobram as mesmas taxas?
Não. As blockchains podem usar diferentes tokens para taxas, preços de gas, valores mínimos e políticas de taxas.O que é o estado de gênese?
O estado de gênese reúne os dados iniciais de contas, tokens, validadores, parâmetros e módulos a partir dos quais uma nova blockchain começa.O Cosmos SDK oferece suporte a Proof of Stake?
Sim. Seus módulos staking e slashing podem oferecer suporte a um sistema configurável de validadores Proof of Stake.A delegação garante lucro com staking?
Não. As recompensas podem mudar, e os delegadores estão sujeitos à volatilidade dos tokens, comissões, indisponibilidade, slashing e riscos do protocolo.O que é um período de unbonding?
É o intervalo definido pela blockchain que deve transcorrer antes que tokens elegíveis retirados do staking voltem a ser transferíveis.As blockchains do Cosmos SDK podem se comunicar entre si?
Sim, quando implementam protocolos, aplicações, clientes e rotas IBC compatíveis.O que é IBC?
IBC é um protocolo de comunicação de dados verificados entre blockchains independentes compatíveis.O IBC exige relayers confiáveis?
Os relayers transportam dados, enquanto as blockchains de destino verificam as provas do protocolo, em vez de confiar nos relayers para determinar o estado válido.O IBC elimina os riscos cross-chain?
Não. Os usuários continuam sujeitos a riscos relacionados a aplicações, clientes, rotas, consenso, ativos, liquidez e blockchains de destino.O Cosmos SDK oferece suporte a contratos inteligentes?
Sim. Uma blockchain pode adicionar uma máquina virtual compatível para executar contratos inteligentes.Qual é a diferença entre um módulo e um contrato inteligente?
Um módulo é executado como lógica nativa da blockchain, enquanto um contrato inteligente é executado em uma máquina virtual fornecida pela blockchain.O Cosmos SDK é o mesmo que o Cosmos Hub?
Não. O Cosmos SDK é um framework de desenvolvimento, enquanto o Cosmos Hub é uma blockchain criada com a stack Cosmos.Todas as blockchains do Cosmos SDK compartilham validadores?
Não. Em geral, blockchains independentes operam conjuntos separados de validadores, a menos que adotem deliberadamente um modelo de segurança compartilhada.Um mesmo símbolo pode ser usado por qualquer token em diferentes blockchains do SDK?
Sim. Os símbolos não são únicos globalmente, por isso os usuários devem verificar a blockchain, a denominação, o contrato e o caminho de transferência.O que é Store v2?
Store v2 é o pacote atualizado de armazenamento do Cosmos SDK, incluído nos requisitos de migração da v0.54.O que é Block-STM?
Block-STM é um sistema experimental para execução paralela determinística de transações compatíveis durante a finalização do bloco.Toda blockchain do Cosmos SDK é segura?
Não. A segurança depende do código, sistema de validadores, configuração, governança, dependências, operações e modelo econômico da blockchain.O código personalizado do Cosmos SDK pode conter vulnerabilidades?
Sim. Módulos personalizados podem apresentar falhas de autorização, contabilidade, determinismo, migração e concepção econômica.Como uma blockchain do Cosmos SDK deve ser atualizada?
Os operadores devem analisar alterações incompatíveis, testar migrações, coordenar a altura do bloco da atualização e instalar binários compatíveis antes da ativação.O que os usuários devem verificar antes de usar uma blockchain baseada no SDK?
Os usuários devem analisar as versões, os validadores, a governança, os módulos personalizados, os controles de ativos, as auditorias, as atualizações e as dependências cross-chain.Qual é o maior benefício do Cosmos SDK?
Seu principal benefício é permitir a montagem e personalização da lógica de protocolo da blockchain a partir de módulos reutilizáveis.Qual é a maior limitação do Cosmos SDK?
Sua flexibilidade atribui a cada blockchain uma responsabilidade significativa por proteger, operar, governar e atualizar sua própria rede, além de garantir sua sustentabilidade econômica.Conclusão
O Cosmos SDK é um framework open-source desenvolvido em Go para criar blockchains Layer 1 personalizáveis, registros distribuídos e redes cripto específicas para aplicações.Ele oferece módulos reutilizáveis para contas, transferências de tokens, taxas, staking, governança, autorização, recompensas e atualizações de software.O BaseApp coordena a execução de transações, as operações do ciclo de vida dos módulos, as consultas, o gas e o estado, comunicando-se com um mecanismo de consenso por meio do ABCI.Os módulos isolam seus estados e disponibilizam interfaces controladas de keeper para a lógica de negócios e a comunicação entre módulos.A integração com o IBC permite que blockchains independentes compatíveis troquem dados verificados, mantendo seus próprios estados de aplicação e governança.A flexibilidade do SDK permite criar blockchains especializadas, mas não garante segurança, descentralização, interoperabilidade ou sucesso econômico.Os desenvolvedores devem testar cuidadosamente a execução determinística, as permissões dos keepers, o estado de gênese, as migrações, as operações dos validadores e os protocolos conectados.Ao avaliar uma blockchain do Cosmos SDK, os usuários devem analisar os módulos, parâmetros, validadores, governança, atualizações, controles de ativos e histórico de segurança da rede específica, em vez de avaliá-la apenas pelo framework utilizado.Você também pode gostar
HOT
Criptomoedas que estão em alta atualmente e ganhando atenção significativa do mercado
TOP volume
As criptomoedas com o maior volume de negociação
Recém-adicionados
Criptomoedas listadas recentemente que estão disponíveis para negociação

