Nix 沙箱是一个隐藏输入:可复现性的边界
来源:fzakaria.com — 2026-07-30
📋 概述
Nix 默认采用输入寻址(intensional)模型:store path 的哈希由产生它的 derivation 决定,而非实际输出字节,因此 Nix 默认实现的其实是可重复(repeatability)而非逐位可复现(bit-for-bit reproducible)。文章指出 Nix 沙箱正是这类隐藏输入:derivation 必须是对构建过程的完整描述,任何遗漏都会破坏可复现性,让 Nix 不再可复现。
🔑 核心要点
- Nix 默认是输入寻址模型,哈希来自 derivation 而非输出字节
- 因此 Nix 默认实现的是 repeatability 而非 bit-for-bit reproducible
- ca-derivations 特性让输出路径成为输出字节的哈希(外延模型)
- derivation 必须是构建过程的完整描述
- 沙箱作为隐含输入,任何遗漏都会破坏可复现性
💡 金句
Nix 默认从来不是逐位可复现的。
👍 0
👎 0
← 返回 Lobsters 首页