Docs
ProtocolBlockchain InfrastructureSmart Contracts

Visão Geral da Arquitetura de Contratos

Por que o Ecossistema Carrot utiliza blockchain, como seus smart contracts são organizados e os princípios de design por trás da arquitetura on-chain.

Por que blockchain

O Ecossistema Carrot registra cada crédito ambiental em uma blockchain pública para garantir três propriedades que bancos de dados tradicionais não conseguem oferecer:

  • Imutabilidade — Uma vez que um crédito é emitido, seus dados de proveniência não podem ser alterados ou excluídos. Cada emissão, compra e aposentadoria é permanentemente registrada on-chain, enquanto a lógica contratual no nível do protocolo (verificações de uso único, queima de tokens na aposentadoria) previne a dupla contagem.
  • Transparência — Todas as transações são publicamente verificáveis na blockchain. Qualquer pessoa pode inspecionar o histórico completo de um crédito via Carrot Explorer ou qualquer explorador de blockchain (ex.: PolygonScan), sem necessidade de acesso ou credenciais especiais. Confiança e verificação não dependem da infraestrutura da Carrot.
  • Auditabilidade — Ativos tokenizados e cada evento do ciclo de vida do crédito (emissão, compra, aposentadoria) existem on-chain. Junto com os dados da plataforma no Carrot Explorer, toda a cadeia — do resíduo físico ao crédito aposentado — é rastreável. Auditores, reguladores e stakeholders podem verificar independentemente o ciclo de vida sem depender dos registros de uma única entidade.

Implantação

Os smart contracts do Ecossistema Carrot são implementados em Solidity e compatíveis com qualquer blockchain compatível com EVM. Atualmente estão implantados na Polygon PoS, selecionada por seus baixos custos de transação e total compatibilidade com EVM, permitindo que a rede processe altos volumes de operações de emissão, compra e aposentadoria sem taxas de gas proibitivas, mantendo compatibilidade com o ecossistema Ethereum mais amplo. A plataforma é agnóstica em relação à rede blockchain e poderia ser implantada em outras redes compatíveis com EVM no futuro.

Visão geral da arquitetura

O ecossistema de smart contracts segue uma arquitetura modular organizada em cinco categorias de contratos. Cada categoria tem uma responsabilidade bem definida, e os contratos interagem através de interfaces bem definidas em vez de lógica monolítica.

CategoriaContratosFunção
ControllersInventoryManager, CreditPurchaseManager, CreditRetirementManagerOrquestram operações multi-contrato
CustodiansVault, RewardsVaultMantêm e gerenciam ativos (créditos, NFTs, USDC)
NFTsMassID, Certificate, CreditPurchaseReceipt, CreditRetirementReceiptTokens soulbound ERC-721 representando ativos e provas
TokensCreditTokens fungíveis ERC-20 de crédito ambiental
RegistriesContractRegistry, CertificateRegistryDescoberta de serviços e rastreamento de relacionamentos

Essa separação mantém cada contrato focado e auditável. Controllers contêm a lógica de negócio, custodians gerenciam a custódia de ativos, e NFTs e tokens representam os próprios ativos. Registries fornecem a infraestrutura que conecta tudo.

Princípios de design

Atualizabilidade (UUPS)

Todos os contratos utilizam o Universal Upgradeable Proxy Standard (UUPS), permitindo que o protocolo evolua sem perder estado ou exigir reimplantação. Quando um contrato é atualizado, seu endereço e dados armazenados permanecem os mesmos — apenas a lógica muda. Isso permite que a equipe corrija bugs, adicione funcionalidades e melhore a eficiência, preservando a integridade do registro on-chain.

Descoberta baseada em registry

Os contratos localizam uns aos outros através do ContractRegistry usando chaves lógicas em vez de endereços hardcoded. Isso desacopla os contratos entre si e permite atualizações independentes: quando um contrato é atualizado para uma nova implementação, apenas a entrada no registry precisa mudar. Todos os outros contratos descobrem automaticamente a nova versão através do registry, sem necessidade de reimplantação própria. Isso significa que contratos individuais podem ser melhorados, corrigidos ou estendidos sem exigir uma reimplantação de todo o sistema.

NFTs soulbound

Todos os NFTs no Ecossistema Carrot são soulboundnão transferíveis e permanentemente mantidos pelo contrato Vault. Isso preserva a integridade da trilha de auditoria ambiental — tokens não podem ser movidos, vendidos ou ocultados. Cada MassID, certificado, recibo de compra e recibo de aposentadoria permanece exatamente onde foi criado, formando uma cadeia inquebrável de evidências.

Meta-transações

O sistema suporta transações sem gas por meio de relayers de meta-transações. Isso significa que os usuários finais não precisam possuir criptomoedas ou pagar taxas de transação da blockchain — o relayer envia transações em seu nome, removendo uma barreira significativa para adoção por compradores que não são nativos do universo cripto.

Controle de acesso baseado em funções

Cada contrato implementa RBAC com funções definidas para operações cotidianas, atualizações e ações emergenciais. Nenhuma conta individual pode realizar todas as operações. Essa separação de responsabilidades garante que, mesmo se uma chave for comprometida, o dano seja contido.

Pausabilidade

Operações críticas podem ser pausadas em emergências para interromper toda a atividade enquanto uma vulnerabilidade ou incidente é investigado. Pausas emergenciais expiram automaticamente após 48 horas para evitar bloqueios indefinidos — garantindo que a rede não possa ser permanentemente congelada, mesmo nos piores cenários. Consulte Segurança para o modelo completo de controle de acesso e pausabilidade.

Próximos passos

  • Categorias de Contratos — Detalhamento de cada contrato e seu papel no sistema.
  • Fluxos On-Chain — Passo a passo de emissão, compra, recompensas e aposentadoria.
  • Segurança — Controle de acesso, segurança de governança e mecanismos anti-manipulação.

On this page