Skip to content

Identificadores de Conteúdo (CIDs)

A impressão digital única que cada ficheiro IPFS recebe.

O que é um CID?

Um Identificador de Conteúdo (CID) é um rótulo autodescritivo que identifica de forma única um dado no IPFS. É derivado do hash criptográfico do conteúdo do ficheiro, combinado com metadados sobre o algoritmo de hash e o formato de codificação utilizados.

bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi

Os CIDs que começam por bafy (ou bafk para conteúdo pequeno de bloco único) usam CIDv1, o formato autodescritivo moderno. Os CIDs legados que começam por Qm usam CIDv0 (SHA-256 codificado em base58) — continuam válidos, continuam resolúveis, mas já não são o resultado predefinido para conteúdo novo.

Propriedades principais

  • Determinístico — O mesmo ficheiro produz sempre o mesmo CID. Carrega a mesma imagem duas vezes e obténs o mesmo identificador.
  • Único — Mesmo uma alteração de um único byte produz um CID completamente diferente. Isto torna os CIDs à prova de adulteração.
  • Autoverificável — Qualquer pessoa que receba um ficheiro pode recalcular o hash e confirmar que corresponde ao CID que pediu.
  • Imutável — Um CID aponta sempre para o mesmo conteúdo. Não podes alterar aquilo para que um CID resolve.

CIDs no IPFS.NINJA

Cada ficheiro que carregas devolve um CID na resposta da API. Usa-o para:

  • Aceder ao ficheiro via gateway: ipfs.ninja/ipfs/<CID>
  • Obter os metadados do ficheiro: GET /file/<CID>
  • Referenciar conteúdo on-chain (NFTs, contratos inteligentes)
  • Partilhar com qualquer pessoa — podem verificar que o conteúdo corresponde

CIDv0 vs CIDv1

PropriedadeCIDv0CIDv1
PrefixoQm...bafy... (dag-pb, diretórios e ficheiros multi-bloco), bafk... (raw, conteúdo pequeno de bloco único), e outros consoante o codec
Função de hashApenas SHA-256Múltiplas (SHA-256, Blake2b, etc.)
CodificaçãoBase58 (maiúsculas e minúsculas)Multibase — base32 por predefinição (minúsculas, seguro para DNS)
AutodescritivoNãoSim (inclui codec + informação de hash)
Chunker256 KiB, predefinição legada1 MiB segundo o IPIP-0499
Codificação das folhasEmbrulhado em dag-pbBytes em bruto (raw-leaves=true)

O que o IPFS.NINJA emite

Os carregamentos e fixações feitos depois de 2026-07-13 devolvem CIDv1 por predefinição: codificação CIDv1 em base32, blocos de 1 MiB, raw leaves — o perfil IPIP-0499 unixfs-v1-2025. Implicações práticas:

  • Ficheiros pequenos (≤ 1 MiB) voltam como bafk... (CIDv1 raw de bloco único)
  • Ficheiros e diretórios maiores voltam como bafy... (CIDv1 dag-pb)
  • Um ficheiro carregado através de nós obtém o mesmo CID que qualquer ferramenta moderna (Helia, o Kubo mais recente, ipfs-car) calcularia a partir dos mesmos bytes

Compatibilidade com versões anteriores

Os CIDs legados Qm... de carregamentos anteriores continuam totalmente resolúveis — o gateway, POST /pin, GET /file/:cid, os resolvedores de IPNS, e todos os outros endpoints aceitam ambos os formatos indefinidamente. Se tiveres um CID Qm... de um carregamento anterior, nada do que construíste deixa de funcionar.