Перейти к основному содержимому

Protocol: Overview

Это нормативная спецификация протокола DIG, определённая как семь слоёв, снизу вверх. Каждый слой называет свой канонический crate/файл как нормативный источник.

Это авторитетный справочник протокола

Этот раздел — источник истины о том, как работает сеть. Он документирует протокол таким, каким он фактически работает, с цитатами file:line из канонической реализации.

Фундаментальная единица: capsule

Одна концепция проходит через каждый слой: capsule = (store_id, root_hash), канонически storeId:rootHash. Store — это упорядоченная последовательность capsule (от старых к новым), по одной на коммит; его идентичность store_id является launcher id синглтона DataLayer CHIP-0035 на Chia. Идентичность, компиляция, ценообразование, получение, кэширование и происхождение — всё определено на уровне capsule.

Тезис: слепой хост, верификация на клиенте, корень, закреплённый в блокчейне

  • Слепой хост. Хост хранит только непрозрачный шифротекст, ключ к которому — хеши. У него нет URN и ключа, он ретранслирует вывод самой capsule дословно и не может отличить попадание от промаха. В проводном протоколе нет поля decoy, и CDN не существует — контент обслуживается только через dig RPC.
  • Верификация на клиенте. Каждый байт проверяется на устройстве читателя относительно on-chain корня с помощью доказательства включения по Меркла для каждого ресурса, а затем аутентифицированно расшифровывается. Доверие никогда не опирается на источник обслуживания.
  • Корень, закреплённый в блокчейне. Доверенный корень поступает только из синглтона CHIP-0035 на Chia (разрешается через coinset.org), никогда из отданного «latest».

Семь слоёв

#СлойЧто определяетКанонический источник
0Идентичность и именованиеstore, capsule, generation; store_id = launcher iddigstore-core::capsule, ::urn
0URN и адресацияграмматика urn:dig:chia:…; retrieval_key без корняdigstore-core::urn, lib.rs
1КриптографияKDF на основе HKDF; запечатывание AES-256-GCM-SIVdigstore-core::crypto
1Доказательства включения по Мерклалист на ресурс D5; свёртка NODE_TAGdigstore-core::merkle
1BLS-подписи и DSTAugScheme Chia; пять ролевых DSTdigstore-crypto::bls
2Формат capsuleсекция данных DIGS (BINDING D1)digstore-core::datasection
2Самозащищённый модульобфускация фиксированного размера; обслуживающий guestdigstore-compiler, digstore-guest
4On-chain закреплениеstore = синглтон; capsule = продвижение корняchip35_dl_coin, digstore-chain
4Оплата и ценообразование DIG CATза capsule, динамическая, привязана к USDchip35_dl_coin::dig
6dig RPCмашинный интерфейс (JSON-RPC 2.0)hub retrieval, dig-node
5Транспорт §21 и pushлокатор dig://, REST, push v1digstore-remote
7Одноранговая сеть DIG NodemTLS-идентичность узла, обход NAT, STUN, интродьюсер, релейный протокол, peer RPCdig-gossip, dig-relay, dig-nat, dig-node
6Верификация и происхождениечетыре упорядоченных шлюза целостностиdigstore-core::merkle, dig-node
6Модель слепого хостаслепота провайдера; резолвер; плоскость управления /v1hub retrieval/resolver/api
Соответствие и паритетдисциплина паритета между реализациямизамороженные golden-файлы, диф OpenRPC

(Слои 3 и транспорт §21 переплетаются с путём чтения; таблица группирует их там, где читатель их встречает. Полная нумерация слоёв дана на каждой странице.)

Как capsule проходит через слои

Издатель разбивает на чанки и шифрует (L1) контент в формат capsule (L2), который сам себя обслуживает (L3), закрепляет его в блокчейне (L4) и отправляет его через транспорт §21 (L5). Любой клиент читает её через dig RPC и верифицирует относительно закреплённого в блокчейне корня полностью на стороне клиента (L6). Каждая криптографическая константа имеет одно определение, общее для производителя, хоста и верификатора — инвариант паритета C8.

Терминология

  • chia:// — сетевой адрес контента (то, что открывает браузер).
  • dig:// — локатор транспорта §21 (плоскость CLI/peer) и внутренняя схема страниц DIG Browser — два разных применения, никогда не адрес контента.
  • urn:dig: — пространство имён URN, из которого происходят оба вышеупомянутых.
  • store / capsule — идентичность и её неизменяемое generation.
  • $DIG — CAT, оплачиваемый за каждую capsule; DigStore — формат store.