Lewati ke konten utama

Protocol: Overview

Ini adalah spesifikasi normatif dari DIG Protocol, didefinisikan sebagai tujuh lapisan, dari bawah ke atas. Setiap lapisan menyebutkan crate/file kanonisnya sebagai referensi normatif.

Ini adalah referensi protokol yang otoritatif

Bagian ini adalah sumber kebenaran untuk apa yang dilakukan jaringan. Ia mendokumentasikan protokol sebagaimana ia benar-benar berjalan, dengan sitasi file:line ke implementasi kanonisnya.

Unit fundamental: capsule

Satu konsep mengalir melalui setiap lapisan: capsule = (store_id, root_hash), secara kanonis storeId:rootHash. Sebuah store adalah rangkaian capsule yang berurutan (paling lama→paling baru), satu per commit; identitasnya store_id merupakan launcher id singleton DataLayer CHIP-0035 di Chia. Identitas, kompilasi, penetapan harga, retrieval, caching, dan provenance semuanya didefinisikan per capsule.

Tesis: host blind, verifikasi sisi-klien, root tertanam-chain

  • Host blind. Sebuah host hanya memegang ciphertext buram berkunci hash. Ia tidak memegang URN maupun kunci, merelai output capsule itu sendiri secara verbatim, dan tidak dapat membedakan hit dari miss. Tidak ada field decoy di wire dan tidak ada CDN — konten hanya disajikan melalui dig RPC.
  • Verifikasi sisi-klien. Setiap byte diperiksa di perangkat pembaca terhadap sebuah root on-chain dengan sebuah merkle inclusion proof per-resource, lalu didekripsi secara terautentikasi. Kepercayaan tidak pernah bertumpu pada origin penyaji.
  • Root tertanam-chain. Root yang dipercaya berasal hanya dari singleton CHIP-0035 di Chia (diresolusi melalui coinset.org), tidak pernah dari "latest" yang disajikan.

Tujuh lapisan

#LapisanYang didefinisikanReferensi kanonis
0Identity & namingstore, capsule, generation; store_id = launcher iddigstore-core::capsule, ::urn
0URN & addressingTata bahasa urn:dig:chia:…; retrieval_key tanpa rootdigstore-core::urn, lib.rs
1CryptographyKDF HKDF; seal AES-256-GCM-SIVdigstore-core::crypto
1Merkle inclusion proofsDaun per-resource D5; fold NODE_TAGdigstore-core::merkle
1BLS signatures & DSTsAugScheme Chia; lima DST perandigstore-crypto::bls
2Capsule formatBagian data DIGS (BINDING D1)digstore-core::datasection
2The self-defending moduleObfuskasi ukuran-tetap; guest penyajidigstore-compiler, digstore-guest
4On-chain anchoringstore = singleton; capsule = pemajuan rootchip35_dl_coin, digstore-chain
4DIG CAT payment & pricingPer capsule, dinamis, dipatok-USDchip35_dl_coin::dig
6The dig RPCAntarmuka mesin (JSON-RPC 2.0)hub retrieval, dig-node
5§21 transport & pushLocator dig://, REST, push v1digstore-remote
7DIG Node peer networkIdentitas peer mTLS, NAT traversal, STUN, introducer, wire relay, RPC peerdig-gossip, dig-relay, dig-nat, dig-node
6Verification & provenanceEmpat gerbang integritas berurutandigstore-core::merkle, dig-node
6The blind host modelProvider-blindness; resolver; control plane /v1hub retrieval/resolver/api
Conformance & parityDisiplin paritas lintas-implementasigolden yang dibekukan, diff OpenRPC

(Lapisan 3 dan §21 transport saling bertautan dengan jalur baca; tabel mengelompokkannya di titik seorang pembaca menemuinya. Penomoran lapisan lengkap diberikan di setiap halaman.)

Bagaimana sebuah capsule mengalir melalui lapisan-lapisan

Seorang penerbit melakukan chunking + enkripsi (L1) konten menjadi sebuah format capsule (L2) yang menyajikan dirinya sendiri (L3), menanamkannya on-chain (L4), dan mendorongnya (push) melalui §21 transport (L5). Klien mana pun membacanya melalui dig RPC dan memverifikasinya terhadap root tertanam-chain sepenuhnya di sisi klien (L6). Setiap konstanta kriptografis memiliki satu definisi yang dibagikan di antara producer, host, dan verifier — invarian paritas C8.

Terminologi

  • chia:// — alamat konten jaringan (yang dibuka oleh sebuah browser).
  • dig:// — locator transport §21 (bidang CLI/peer) dan skema halaman internal DIG Browser — dua penggunaan yang berbeda, tidak pernah menjadi alamat konten.
  • urn:dig: — namespace URN yang menjadi asal keduanya.
  • store / capsule — identitas dan generation-nya yang immutable.
  • $DIG — CAT yang dibayarkan per capsule; DigStore — format store-nya.