プロトコル:概要
これはDIG Protocolの規範的な仕様であり、ボトムアップの7つの層として定義されています。各層は、規範的な参照として自身の正規のクレート/ファイルを示します。
これは権威あるプロトコルリファレンスです
このセクションは、ネットワークが実際に何を行うかについての信頼できる情報源です。プロトコルが実際にどう動作するかを、正規の実装へのfile:line引用とともに文書化しています。
基本単位:capsule
すべての層を貫く一つの概念があります。capsule = (store_id, root_hash)、正規表記ではstoreId:rootHashです。storeは(古い順から新しい順への)capsuleの順序付き並びであり、コミットごとに1つ。そのアイデンティティであるstore_idは、Chia上のCHIP-0035 DataLayerシングルトンのランチャーIDそのものです。アイデンティティ、コンパイル、価格設定、取得、キャッシュ、来歴はすべてcapsuleごとに定義されます。
テーゼ:盲目なホスト、クライアント側検証、チェーンに固定されたroot
- 盲目なホスト。 ホストはハッシュでキー付けされた不透明な暗号文しか保持しません。URNも鍵も保持せず、capsule自身の出力をそのまま中継するだけで、ヒットとミスを見分けることもできません。ワイヤー上に
decoyフィールドは存在せず、CDNも存在しません — コンテンツはdig RPC経由でのみ配信されます。 - クライアント側検証。 すべてのバイト列は、読み手のデバイス上で、リソースごとのmerkle包含証明とともにオンチェーンのrootに照らして検証され、その後認証付き復号が行われます。信頼が配信元に依存することは決してありません。
- チェーンに固定されたroot。 信頼されるrootは唯一、Chia上のCHIP-0035シングルトン (coinset.org経由で解決)から得られ、配信された「latest」から得られることは決してありません。
7つの層
| # | 層 | 定義する内容 | 正規の参照 |
|---|---|---|---|
| 0 | アイデンティティと命名 | store、capsule、generation;store_id = ランチャーID | digstore-core::capsule、::urn |
| 0 | URNとアドレス指定 | urn:dig:chia:…の文法;rootを持たないretrieval_key | digstore-core::urn、lib.rs |
| 1 | 暗号技術 | HKDF KDF;AES-256-GCM-SIVシール | digstore-core::crypto |
| 1 | Merkle包含証明 | D5リソースごとの葉;NODE_TAGによる折りたたみ | digstore-core::merkle |
| 1 | BLS署名とDST | Chia AugScheme;5つの役割別DST | digstore-crypto::bls |
| 2 | Capsuleフォーマット | DIGSデータセクション(BINDING D1) | digstore-core::datasection |
| 2 | 自己防衛型モジュール | 固定サイズの難読化;配信用ゲスト | digstore-compiler、digstore-guest |
| 4 | オンチェーンアンカリング | store = シングルトン;capsule = rootの進行 | chip35_dl_coin、digstore-chain |
| 4 | DIG CAT決済と価格設定 | capsuleごと、動的、USD連動 | chip35_dl_coin::dig |
| 6 | dig RPC | マシンインターフェース(JSON-RPC 2.0) | hub retrieval、dig-node |
| 5 | §21トランスポートとプッシュ | dig://ロケーター、REST、pushバージョン1 | digstore-remote |
| 7 | DIG Nodeピアネットワーク | mTLSピアアイデンティティ、NATトラバーサル、STUN、イントロデューサー、リレーワイヤー、ピアRPC | dig-gossip、dig-relay、dig-nat、dig-node |
| 6 | 検証と来歴 | 4つの順序付き完全性ゲート | digstore-core::merkle、dig-node |
| 6 | 盲目ホストモデル | プロバイダーの非公開性;リゾルバー;/v1制御プレーン | hub retrieval/resolver/api |
| — | 準拠性とパリティ | 実装間のパリティ規律 | 凍結されたゴールデン、OpenRPC差分 |
(層3と§21トランス ポートは読み取りパスと相互に絡み合っており、この表では読み手が出会う位置にまとめています。完全な層番号は各ページに記載されています。)
capsuleが層をどう流れるか
公開者は(L1で)コンテンツをチャンク化+暗号化し、(L2で)capsuleフォーマットにし、それが(L3で)自己配信し、(L4で)オンチェーンに固定され、(L5で)§21トランスポート経由でプッシュされます。どのクライアントも、それをdig RPC経由で読み取り、(L6で)完全にクライアント側でチェーンに固定されたrootに照らして検証します。すべての暗号定数には、生成者・ホスト・検証者の間で共有される唯一の定義があります — C8パリティ不変条件です。
用語
chia://— ネットワークのコンテンツアドレス(ブラウザが開くもの)。dig://— §21のトランスポートロケーター(CLI/ピア層)かつDIG Browserの内部ページスキーム — 2つの異なる用途であり、決してコンテンツアドレスではありません。urn:dig:— 両者が派生元とするURN名前空間。- store / capsule — アイデンティティとその不変のgeneration。
- $DIG — capsuleごとに支払われるCAT;dig-store — storeフォーマット。
関連項目
- 概念と用語集 — すべてのエンティティを一度だけ定義
- アイデンティティと命名 — 層0、仕様が始まる場所
- dig RPC — プロトコルのマシンインターフェース
- DIG Nodeピアネットワーク — ノード同士がどう見つけ合い、到達し合うか(mTLS、NATトラバーサル、リレー)
- 準拠性とパリティ — 実装間のパリティ規律