跳至主要内容

什麼是 DigStore?

DigStore 是一種 Git 風格、經過加密、內容定址的專案,會編譯成單一能自我保護的 WebAssembly 模組。

你會得到 Git 風格的指令——initaddcommitlogclonepushpull——用來操作一個靜態加密並編譯成單一 .wasm 檔案的專案。這個單一檔案同時是你的資料,也是控管其存取權限的伺服器。儲存或轉發它的主機看到的只有以雜湊值定址的密文;它無法讀取自己所攜帶的內容。

你使用 URN 來定址內容,而這個 URN 本身就是金鑰:它同時負責定位與解密。把 URN 交給某人,他們就能讀取那項資源;沒有它就不行——不需要另外管理密碼或存取清單。

與 Git 不同,DigStore 是為建置輸出而設計的,而非儲存庫原始碼。你將專案指向一個像 dist/ 這樣的目錄,它就會捕捉該處的內容。

為什麼需要它

問題DigStore 的解法
主機能讀取/掃描你所發布的內容內容以靜態加密方式儲存;主機只持有以雜湊值為鍵的密文
存取控管意味著密碼與 ACLURN 就是能力憑證——分享它以授予讀取權,不分享則拒絕存取
你必須信任伺服器會提供真實的位元組clonepull 在安裝前會驗證模組的 store id、發布者已簽署的 root,以及鏈上單例的 root——驗證失敗即拒絕
「這個內容有多大?」會從檔案大小洩漏出去每個專案都是單一 .wasm,經過填充達到統一大小,不會洩漏任何關於內容的資訊
服務邏輯與資料各自分離資料與控管其存取的程式碼會編譯進同一個模組

如何閱讀本文件

  • DigStore 格式——核心概念:專案、部署、.wasm 模組、URN、加密與證明。如果你想了解 DigStore 是什麼,請從這裡開始。
  • CLI 教學——安裝 CLI 並在實際專案中使用:初始化專案、擷取建置目錄、提交部署、透過遠端分享,並將內容以串流方式讀回。

如果你只想直接試用,可以跳到 快速入門(免費、以網頁優先的路徑)或 CLI 教學

備註

DigStore 是 DIG Network 的一部分。完整的技術設計收錄在協定章節——也就是內容定址的 WASM store 格式。