檔案 Hash 與 Hashset 基礎
- 每檔案經 MD4 算出唯一檔案 Hash,包含於 eD2k 連結中(如
6744FC42EDA527B27F0B2F2538728B3E)。
- 檔案切分為 9.28MB 檔案段,各段算出檔案段 Hash,組成 Hashset 再算出檔案 Hash。
- 可建立含 Hashset 的擴展連結(
p= 參數),確保來源可信。
ICH - 智能損壞處理
下載完檔案段 → 驗證段 Hash。
✅ 通過:可上傳分享。
❌ 失敗:報告損壞,重新下載該段前 180KB 再驗證,錯誤則繼續下載下一個 180KB,直到段 Hash 通過。
平均節省 50% 重下載量,最佳僅需 180KB,最差全段重下。
AICH - 進階智能損壞處理
ICH 僅能驗證 9.28MB 大段,多點損壞或惡意偽造段 Hash 時失效。AICH 引入更細緻驗證:
- 每 9.28MB 段切分為 53 個 180KB 區塊,各算 SHA1 區塊 Hash。
- 構建 7 層 Hash 樹,葉節點為區塊 Hash,根節點為 Root Hash,整體稱 AICH Hashset。

- 可信 Root Hash 可反向驗證整棵樹。
- 支援含 Root Hash 的擴展連結(
h= 參數),發布者提供可信 Root Hash 大幅提升修復能力。
資料修復流程
- 偵測到段損壞 → 隨機向客戶端請求含完整 AICH Hashset 的資料修復包(含 53 區塊 Hash + 校驗 Hash)。
- 驗證校驗 Hash 反算 Root Hash 是否匹配。
- 比對 53 區塊 Hash,保留正確區塊,僅重下載損壞區塊(最小 180KB 粒度)。
日誌範例:
09.09.2004 02:43:43: 下載的文件段 6 已經損壞
09.09.2004 02:43:46: AICH 成功的恢復了 8.22 MB / 9.28 MB 文件段:6
Root Hash 信任機制
- 最佳:從含 Root Hash 連結下載,假設來源可靠,Root Hash 信任一次並存盤。
- 次佳:無 Root Hash 連結,信任 ≥10 來源且 92% 一致的 Root Hash(僅當前會話有效,不存盤)。
- 完成下載後傳播 Root Hash 給其他客戶端。
注意: 新發布/稀有檔案來源不足難生成可信 Root Hash,強烈建議發布者在連結中包含 Hashset/Root Hash。無 Root Hash 仍可正常下載,但 AICH 功能失效。AICH Hashset 過大不常駐記憶體,存於 known2.met 需時讀取。支援 v0.44a+,兼容舊版。