Aller au contenu principal

Protocole : Vue d'ensemble

Ceci est la spécification normative du protocole DIG, définie en sept couches, de bas en haut. Chaque couche nomme son crate/fichier canonique comme référence normative.

Ceci est la référence de protocole faisant autorité

Cette section est la source de vérité pour ce que fait le réseau. Elle documente le protocole tel qu'il fonctionne réellement, avec des citations fichier:ligne vers l'implémentation canonique.

L'unité fondamentale : la capsule

Un concept traverse chaque couche : la capsule = (store_id, root_hash), canoniquement storeId:rootHash. Un store est une séquence ordonnée de capsules (de la plus ancienne à la plus récente), une par commit ; son identité store_id est un id de launcher de singleton DataLayer CHIP-0035 sur Chia. L'identité, la compilation, la tarification, la récupération, la mise en cache et la provenance sont toutes définies par capsule.

La thèse : hébergeur aveugle, vérification côté client, racine ancrée sur la chaîne

  • Hébergeur aveugle. Un hébergeur ne détient que du texte chiffré opaque indexé par des hachages. Il ne détient ni URN ni clé, relaie la propre sortie de la capsule mot pour mot, et ne peut pas distinguer un succès d'un échec. Il n'y a pas de champ decoy sur le fil et pas de CDN — le contenu n'est servi que via le dig RPC.
  • Vérification côté client. Chaque octet est vérifié sur l'appareil du lecteur contre une racine on-chain avec une preuve d'inclusion merkle par ressource, puis authentifié-déchiffré. La confiance ne repose jamais sur l'origine de service.
  • Racine ancrée sur la chaîne. La racine de confiance provient uniquement du singleton CHIP-0035 sur Chia (résolu via coinset.org), jamais du « latest » servi.

Les sept couches

#CoucheCe qu'elle définitRéférence canonique
0Identité et nommagestore, capsule, generation ; store_id = id de launcherdigstore-core::capsule, ::urn
0URN et adressagegrammaire urn:dig:chia:… ; retrieval_key sans racinedigstore-core::urn, lib.rs
1CryptographieKDF HKDF ; scellement AES-256-GCM-SIVdigstore-core::crypto
1Preuves d'inclusion Merklefeuille par ressource D5 ; repliement NODE_TAGdigstore-core::merkle
1Signatures BLS et DSTAugScheme Chia ; cinq DST de rôledigstore-crypto::bls
2Format de capsulela section de données DIGS (contrat BINDING D1)digstore-core::datasection
2Le module auto-défenduobfuscation de taille fixe ; le guest de servicedigstore-compiler, digstore-guest
4Ancrage on-chainstore = singleton ; capsule = avancement de racinechip35_dl_coin, digstore-chain
4Paiement et tarification CAT DIGpar capsule, dynamique, indexé sur l'USDchip35_dl_coin::dig
6Le dig RPCl'interface machine (JSON-RPC 2.0)hub retrieval, dig-node
5Transport et push §21localisateur dig://, REST, push v1digstore-remote
7Réseau de pairs DIG Nodeidentité de pair mTLS, traversée NAT, STUN, introducteur, fil de relais, RPC de pairdig-gossip, dig-relay, dig-nat, dig-node
6Vérification et provenanceles quatre portes d'intégrité ordonnéesdigstore-core::merkle, dig-node
6Le modèle d'hébergeur aveuglecécité du fournisseur ; résolveur ; plan de contrôle /v1hub retrieval/resolver/api
Conformité et paritéla discipline de parité inter-implémentationsgoldens figés, diff OpenRPC

(Les couches 3 et le transport §21 s'entrelacent avec le chemin de lecture ; le tableau les regroupe là où un lecteur les rencontre. La numérotation complète des couches est donnée sur chaque page.)

Comment une capsule traverse les couches

Un éditeur découpe + chiffre (L1) le contenu dans un format de capsule (L2) qui se sert lui-même (L3), l'ancre on-chain (L4), et le pousse via le transport §21 (L5). Tout client la lit via le dig RPC et la vérifie contre la racine ancrée sur la chaîne entièrement côté client (L6). Chaque constante cryptographique a une définition unique partagée entre le producteur, l'hébergeur et le vérificateur — l'invariant de parité C8.

Terminologie

  • chia:// — l'adresse de contenu du réseau (ce qu'un navigateur ouvre).
  • dig:// — le localisateur de transport §21 (plan CLI/pair) et le schéma de page interne du DIG Browser — deux usages distincts, jamais l'adresse de contenu.
  • urn:dig: — l'espace de noms d'URN dont les deux dérivent.
  • store / capsule — l'identité et sa génération immuable.
  • $DIG — le CAT payé par capsule ; DigStore — le format de store.