Protocol: Overview
Esta é a especificação normativa do Protocolo DIG, definida como sete camadas, de baixo para cima. Cada camada nomeia seu crate/arquivo canônico como referência normativa.
Esta seção é a fonte de verdade para o que a rede faz. Ela documenta o protocolo como ele realmente roda, com citações file:line para a implementação canônica.
A unidade fundamental: o capsule
Um conceito percorre todas as camadas: o capsule = (store_id, root_hash), canonicamente storeId:rootHash. Um store é uma sequência ordenada de capsules (do mais antigo ao mais novo), um por commit; sua identidade store_id é um launcher id de singleton DataLayer CHIP-0035 na Chia. Identidade, compilação, precificação, recuperação, cache e proveniência são todos definidos por capsule.
A tese: host cego, verificação no cliente, raiz ancorada na chain
- Host cego. Um host guarda apenas ciphertext opaco indexado por hashes. Ele não guarda URN nem chave, retransmite a saída do próprio capsule literalmente, e não consegue distinguir um acerto de uma falha. Não há campo
decoyno wire e não há CDN — o conteúdo é servido apenas através do dig RPC. - Verificação no cliente. Todo byte é checado no dispositivo do leitor contra uma raiz on-chain com uma prova de inclusão merkle por recurso, depois autenticado-descriptografado. A confiança nunca repousa na origem que serve.
- Raiz ancorada na chain. A raiz confiável vem apenas do singleton CHIP-0035 na Chia (resolvido via coinset.org), nunca do "latest" servido.
As sete camadas
| # | Camada | O que define | Referência canônica |
|---|---|---|---|
| 0 | Identidade e nomenclatura | store, capsule, generation; store_id = launcher id | digstore-core::capsule, ::urn |
| 0 | URN e endereçamento | gramática urn:dig:chia:…; retrieval_key sem root | digstore-core::urn, lib.rs |
| 1 | Criptografia | KDF HKDF; selo AES-256-GCM-SIV | digstore-core::crypto |
| 1 | Provas de inclusão Merkle | folha por recurso D5; dobra NODE_TAG | digstore-core::merkle |
| 1 | Assinaturas BLS e DSTs | AugScheme da Chia; cinco DSTs de papel | digstore-crypto::bls |
| 2 | Formato do capsule | a seção de dados DIGS (BINDING D1) | digstore-core::datasection |
| 2 | O módulo autodefensivo | ofuscação de tamanho fixo; o guest de serviço | digstore-compiler, digstore-guest |
| 4 | Ancoragem on-chain | store = singleton; capsule = avanço de raiz | chip35_dl_coin, digstore-chain |
| 4 | Pagamento e precificação do CAT DIG | por capsule, dinâmico, atrelado a USD | chip35_dl_coin::dig |
| 6 | O dig RPC | a interface de máquina (JSON-RPC 2.0) | hub retrieval, dig-node |
| 5 | Transporte e push §21 | localizador dig://, REST, push v1 | digstore-remote |
| 7 | Rede de peers do DIG Node | identidade de peer mTLS, NAT traversal, STUN, introducer, wire de relay, RPC de peer | dig-gossip, dig-relay, dig-nat, dig-node |
| 6 | Verificação e proveniência | os quatro gates de integridade ordenados | digstore-core::merkle, dig-node |
| 6 | O modelo de host cego | cegueira do provedor; resolver; plano de controle /v1 | hub retrieval/resolver/api |
| — | Conformidade e paridade | a disciplina de paridade entre implementações | goldens congelados, diff do OpenRPC |
(As camadas 3 e o transporte §21 se interpõem com o caminho de leitura; a tabela as agrupa onde um leitor as encontra. A numeração completa das camadas é dada em cada página.)
Como um capsule flui pelas camadas
Um publicador fragmenta + criptografa (L1) o conteúdo em um formato de capsule (L2) que se autosserve (L3), ancora ele on-chain (L4), e o envia via transporte §21 (L5). Qualquer cliente o lê através do dig RPC e o verifica contra a raiz ancorada na chain inteiramente no lado do cliente (L6). Toda constante criptográfica tem uma única definição compartilhada entre produtor, host e verificador — o invariante de paridade C8.
Terminologia
chia://— o endereço de conteúdo da rede (o que um navegador abre).dig://— o localizador de transporte §21 (plano de CLI/peer) e o esquema interno de páginas do DIG Browser — dois usos distintos, nunca o endereço de conteúdo.urn:dig:— o namespace de URN do qual ambos derivam.- store / capsule — a identidade e sua generation imutável.
- $DIG — o CAT pago por capsule; DigStore — o formato do store.
Relacionados
- Conceitos e glossário — cada entidade definida uma vez
- Identidade e nomenclatura — Camada 0, onde a especificação começa
- O dig RPC — a interface de máquina do protocolo
- Rede de peers do DIG Node — como os nós se encontram + se alcançam (mTLS, NAT traversal, relay)
- Conformidade e paridade — a disciplina de paridade entre implementações