什么是 DigStore?
DigStore 是一种 Git 形态、加密、内容可寻址的项目,编译为单一的自我防护 WebAssembly 模块。
你可以使用 Git 风格的命令 —— init、add、commit、log、clone、push、pull —— 来管理一个静态加密、并编译为单个 .wasm 文件的项目。这个单一文件既是你的数据,也是控制访问权限的服务端。存储或中继它的主机看到的只是按哈希寻址的密文;它无法读取自己所承载的内容。
你通过一个 URN 来寻址内容,而这个 URN 就是密钥:它既能定位内容,也能解密内容。把 URN 交给某人,他们就能读取该资源;没有它,他们就无法读取 —— 不存在需要单独管理的密码或访问列表。
与 Git 不同,DigStore 是为构建产物而设计的,而不是仓库源码。你将一个项目指向像 dist/ 这样的目录,它就会捕获其中的内容。
它为什么存在
| 问题 | DigStore 的解答 |
|---|---|
| 主机可以读取 / 扫描你发布的内容 | 内容静态加密;主机只持有以哈希为键的密文 |
| 访问控制意味着密码和 ACL | URN 就是访问凭证 —— 分享它即授予读取权限,不分享即拒绝访问 |
| 你必须信任服务器返回的是真实字节 | clone/pull 会在安装前验证模块的 store id、发布者的签名根,以及链上的 singleton 根哈希 —— 失败即拒绝 |
| “这份内容有多大?”这种信息会从文件大小中泄露 | 每个项目都是一个 .wasm 文件,被填充为统一的大小,不会泄露任何有关其内容的信息 |
| 服务逻辑与数据相互分离 | 数据和控制访问权限的代码被编译进同一个模块 |
如何阅读本文档
- DigStore 格式 —— 核心概念:项目、部署、
.wasm模块、URN、加密与证明。如果你想了解 DigStore是什么,从这里开始。 - CLI 教程 —— 安装 CLI 并在真实项目中使用它:初始化一个项目、捕获一个构建目录、提交部署、通过远程仓库共享,以及将内容流式读取回来。
如果你只是想试试看,可以直接跳到 快速开始(免费、网页优先的路径)或 CLI 教程。
备注
DigStore 是 DIG Network 的一部分。完整的技术设计参见协议部分 —— 内容可寻址的 WASM store 格式。
相关链接
- DigStore 格式 —— 项目、WASM 模块、URN、加密、证明
- store 结构 —— store 身份、generation 与已编译的模块
- URN 与加密 —— 既能寻址又能解密的 URN
- CLI 教程 —— 几分钟内创建、提交并读取一个 store
- 概念与术语表 —— DIG 核心实体一览