Brave
@47c132035ed7a1105a867946b99d67af Cardano研究小组 公开
讨论 Daedalus 冷钱包的 Linux 系统选型:Ubuntu LTS 与 NixOS

Daedalus 冷钱包的 Linux 系统选型:Ubuntu LTS 与 NixOS

本文只试图处理一个具体的冷钱包创建场景:一台专用机器,只运行 Daedalus(Cardano 官方全节点钱包),不装第三方软件,不承担浏览与办公职能,最好的Linux系统选型方案是什么?并试图在 Ubuntu LTS 与 NixOS两个方案中进行对比。

1. 问题定义:Daedalus 是什么,专用机要保护什么

1.1 Daedalus 的进程架构

Daedalus 不是单个程序,而是四个组件的组合(D,daedaluswallet.io 与官方仓库):

组件职责网络暴露
cardano-node完整共识节点:下载、验证、重放整条链P2P 端口 3001(对外)
cardano-wallet钱包后端:地址派生、交易构造、签名本地 API 端口 8090(仅 127.0.0.1)
cardano-launcher进程编排、配置下发、更新管理
Electron 前端图形界面

三个含义:第一,这台机器的对外网络进程只有一个(节点 P2P);第二,其余进程全部绑定回环地址,理论上不构成网络攻击面;第三,钱包后端与节点同机——这意味着机器上任何能执行代码的进程,理论上都能触碰钱包进程的内存与文件。这台机器的安全下限,由"能在这台机器上运行的代码"决定。

1.2 资源与数据布局(Linux)

  • 磁盘:主网链数据 150GB 以上,近年因硬分叉时代容量扩展,年增长达数十 GB 量级(I);官方建议 500GB+ SSD。
  • 内存:8GB 起步,16GB 更稳(D)。
  • 数据目录 ~/.local/share/Daedalus Mainnet/(D):
目录/文件内容丢失后果
chain/节点数据库重新同步(可接受)
db-1.0/钱包 SQLite(索引)可从助记词重建
secrets-1.0/加密钱包与密钥材料不可重建
Logs/state-*.log日志

结论先行:这台机器上唯一不可再生的资产是 secrets-1.0/,它受钱包密码加密;其余一切都可以用时间和带宽换回。 这个结论简化了后续所有讨论——系统选型的目标可以收敛为:让"不可再生的资产"在这台机器上的暴露面最小。

1.3 为什么需要专用机

轻钱包(浏览器扩展、移动端)把密钥放在一个运行着浏览器、聊天软件、各种第三方插件的环境里。对持币者而言,这是把保险柜放进候车室。专用机把环境熵降到最低:操作越少,失误越少;进程越少,暴露越小。 这是自我托管的第一步,与发行版选择无关,但决定了发行版选择的意义——专用机场景下的发行版对比,才是有效对比。

2. 方法论:威胁建模先于方案

2.1 四层对手

对手成本/收益真实案例防御
L1街道小偷(物理)低成本,收益=钱包文件拆盘读 SSDLUKS 全盘加密
L2撒网恶意软件极低成本,规模化ClipXDaemon(2026-02)最小攻击面、剪贴板核对
L3针对性攻击数小时~数天钓鱼、社工低操作熵、不暴露持仓
L4供应链攻击极高成本,纵深潜伏xz 后门(2024-03)可验证构建、官方渠道

数据锚点(S):Chainalysis 统计 2025 年个人钱包被攻破约 15.8 万起、波及 8 万余名受害者、合计损失约 7.13 亿美元;其中剪贴板劫持类(clipper)是主力手法之一。

2.2 信任根

任何系统的安全都终止于某个"不再验证的东西":一枚签名密钥、一段固件、一份配置。系统选型的本质是回答——你愿意把信任根放在哪里:一家公司的签名基础设施?一组数学上可复现的构建?还是你桌上的纸张?

2.3 评估维度

本文用六个维度评估两个系统:默认攻击面、供应链模型、完整性(防篡改/回滚)、全盘加密、钱包软件适配、运维熵。每一维给出证据而非口号。

3. Daedalus 的供应链:一个常被忽略的前提

在比较两个系统之前,先确定钱包软件自身的供应链状态——因为钱包软件的供应链风险远高于操作系统(S,钱包生态的钓鱼与投毒历史)。

3.1 官方构建链

Daedalus 官方仓库是 Nix flake,发布物由自家 Hydra 构建农场产出,经签名缓存(cache.iog.io)分发(D)。两个推论:

  1. NixOS 不是"民间系统硬装官方钱包",而是钱包官方工程链的原生平台——在 NixOS 上运行 Daedalus,拿到的是与 IOG 内部构建同源的产物。
  2. Ubuntu 上则运行官方 .bin 安装包,完整性依赖发布签名与用户核对习惯(见第 9 节的核对步骤)。

3.2 钱包的维护治理

2026 年 1 月起 Daedalus 由 Se7en Labs 在社区财库资助下维护(C,Cardano 治理提案记录)。这对选型有一个实际含义:钱包的更新节奏与维护质量不再由单一商业公司保证,而是治理机制保证——长期主义者应关注其治理健康度,这与操作系统选择是两个独立维度。

3.3 可复现性核对工具

安装 Daedalus 后核对官方构建哈希,是成本最低的供应链自检。

4. Ubuntu LTS 的安全构造

4.1 分发与签名模型

Ubuntu 官方源由 Canonical 签名:apt 索引(Release 文件)携带 GPG 签名,镜像站即使被攻破也无法伪造索引(D)。官方源历史零投毒记录(S);xz 事件(2024-03)中,Ubuntu 正式版未包含被植入的 xz 5.6.0/5.6.1(S,Red Hat 与多个厂商的时间线分析证实受影响面集中在 Fedora Rawhide/F40 与 Debian sid 等快节奏分支)。

4.2 默认强制访问控制

Ubuntu 默认启用 AppArmor,但默认安装的桌面软件大多处于 complain 或未配置状态(I,基于 Ubuntu 默认 profile 覆盖范围)。相比 RHEL 系的 SELinux 强制模式,Ubuntu 的 MAC 覆盖是"基线存在、覆盖有限"。

4.3 默认服务清单(桌面版)

开箱即用带来一组后台服务:cups(打印)、cups-browsed(打印发现,2024 年漏洞主角)、avahi(mDNS)、bluetooth、snapd、fwupd(固件)、unattended-upgrades(默认关)、storaged/udisks 等(D/C)。每一分活跃代码都是攻击面。

4.4 补丁体系

USN(Ubuntu Security Notices)通告 + LTS 五年基础支持 + Ubuntu Pro ESM 延长五年(个人免费 5 台机器)(D)。CUPS 事件中,Ubuntu 于漏洞公开一周内发布补丁(S)。补丁纪律是 Ubuntu 模型的核心——它的安全不来自最小化,来自及时性

5. NixOS 的安全构造

5.1 密闭构建与哈希锁定

NixOS 的包以内容寻址方式管理:每个包的构建产物与其全部依赖、源码被哈希绑定;构建在沙箱中完成(D,nix.dev / reproducible.nixos.org)。系统目录只读,更新生成新"世代",开机菜单可回滚。不可变 + 可回滚是这个发行版的两根支柱。

5.2 术语校准:hermetic / reproducible / verifiable

这是本节最重要的部分,也是中文社区普遍说错的部分。

  • 密闭构建(hermetic):构建环境隔离、依赖固定。NixOS 达到。
  • 可复现构建(reproducible):按 Reproducible Builds 项目的严格定义——相同源码在独立环境构建出 bit-for-bit 相同产物。NixOS 只对部分包达到此标准(reproducible.nixos.org 的 ISO 追踪报告可见覆盖范围)。
  • 可验证构建(verifiable):存在可信、可检验的从源码到二进制的路径(构建来源可追溯,provenance)。

Arch Linux 安全团队成员 Morten Linderud 在《NixOS is not reproducible》(linderud.dev,2024-04)中系统阐述了这一区分:NixOS 应主张的是密闭性与可验证性,而非营销意义上的"可复现"。以"整机可复现"作为卖点,在当前状态下是站不住的(S)。

对钱包机的含义:NixOS 把信任从"机构"转移到了"数学",但数学目前只覆盖一部分。这是诚实的边界。

5.3 默认攻击面

NixOS 默认零服务:不声明就没有。攻击面不是靠调优调小,而是结构上不存在(D/C)。对钱包机这种"只跑一个应用"的场景,这是结构性优势。

5.4 加密与引导生态

LUKS2 支持成熟,systemd-boot + systemd-initrd 下 TPM2 策略解锁是一等公民(D);impermanence(tmpfs 根目录方案)把"每次开机都是新系统"做成可选配置(C)。加密货币领域已有 nix-bitcoin(fort-nix)等官方模块集把 NixOS 用于比特币节点与钱包基础设施(C)——NixOS+加密资产是经过实践的路线,不是理论。

6. 六个维度的系统对比

6.1 默认攻击面 —— NixOS 占优(差距:一个数量级)

CUPS 事件的解剖(S,CVE-2024-47176 家族,CVSS 9.8):

  • 攻击机制:cups-browsed 默认监听 UDP 631,自动发现局域网 IPP 打印机;恶意打印机广播触发 cups-browsed 构造请求,最终在打印机驱动层达成远程代码执行。
  • 影响面:Ubuntu/Debian/Fedora 等主流发行版的桌面默认安装全部受影响;ESET 于 2024 年 10 月证实野外利用。
  • 教训:默认启用的每分服务,都是远程代码执行的一次机会。 钱包机上这类服务的期望收益为零,期望风险为正。

Ubuntu 桌面版默认携带该服务,NixOS 默认没有。差距是结构性的。

6.2 供应链 —— 记录与模型的不同

xz 后门的解剖(S,CVE-2024-3094,CVSS 10.0):

  • 攻击机制:攻击者以假身份"Jia Tan"历时两年渗透 xz-utils 维护团队;恶意代码只存在于发布 tarball(build-to-host.m4 钩子 + 伪装测试文件),GitHub 源码不可见;构建时劫持 liblzma 符号表,目标是使 OpenSSH 的 RSA 验证被绕过,实现 SSH 认证级远程代码执行。
  • 影响面:Fedora Rawhide/F40、Debian sid 等快节奏分支率先中招;稳定版纪律的发行版(Ubuntu LTS、Debian stable)全部避开
  • 教训:上游投毒不可防,但发行版的节奏是过滤器。保守节奏的 LTS 是供应链风险的时间对冲。

Ubuntu 的模型:集中信任 + 持续监控,实弹记录良好。NixOS 的模型:密闭构建 + 哈希锁定 + 可验证性(非完整可复现,见 5.2)。两者都在供应链上比"从网站下载任意 .deb"高一个数量级——而后者正是多数真实钱包事故的入口(S,钱包钓鱼历史)。

6.3 完整性(防篡改/回滚)—— NixOS 占优

世代回滚 vs 重装。但边界必须说清:回滚解决"系统被改坏",不解决"钱包文件被读走"。 后者两个系统平等,只取决于加密。

6.4 全盘加密 —— 打平,但有一个重要权衡

  • 技术:LUKS2(dm-crypt),口令派生默认 Argon2id(D,cryptsetup 文档)。两者一致。
  • TPM 权衡:NixOS 的 TPM2 策略解锁成熟(systemd-cryptenroll + PCR 绑定,可校验引导链完整性——顺带提供了对"evil maid"类引导篡改的部分检测);Ubuntu 也有类似方案但生态更实验化(I)。
  • 对钱包机,TPM 免密解锁是错误权衡:它将防线从"你输入的密码"降级为"机器持有的秘密",物理窃取整机即可解锁。钱包机的第一层对手就是物理窃取,因此手动密码是正确默认(I,威胁模型推论)。

6.5 Daedalus 适配 —— 打平,但性质不同

Ubuntu LTSNixOS
官方定位支持列表头名(.bin 安装包)官方构建体系(flake + 签名缓存)
安装下载 .bin,核对签名后运行nix run github:input-output-hk/daedalus#daedalus-mainnet
数据目录~/.local/share/Daedalus Mainnet/相同
更新Daedalus 内建更新器flake 锁文件更新

6.6 运维熵 —— Ubuntu 完胜,但被场景摊薄

Ubuntu 排障资料密度在 Linux 生态中无出其右;NixOS 的 flake/世代/GC 概念需要一至两周适应期,排障难 2~3 倍(I)。但钱包机是"配置一次、低频操作"设备:一年触碰不超过数十次,学习成本被真实摊薄。NixOS 的额外存储成本(nix 商店数十 GB,叠加链数据)是现实开销(I)。

7. 事故档案:六个真实案例与各自教训

案例时间类型教训
Ledger Connect Kit 被投毒2023-12Web3 JS 供应链前端依赖链是重灾区;钱包生态的第三方依赖需持续审计
Linux Mint 论坛与下载页2023-02论坛攻破 + 下载页劫持"官方渠道"也会失守;下载后核对签名是最后防线
xz 后门2024-03上游维护者渗透发行版节奏是供应链过滤器;LTS 保守策略有实弹价值
CUPS 远程 RCE2024-09默认服务漏洞默认攻击面是真实攻击面
ClipXDaemon2026-02Linux 桌面剪贴板劫持持币者的转账习惯是攻击面:核对地址不可省略
Coldcard 种子熵缺陷2026-07硬件钱包固件(RNG)硬件层信任根同样会失守;种子级熵缺陷无法靠软件加固弥补,必须迁移种子

Coldcard 案例的细节(S,Coinkite 公告与 TRM Labs 分析):2021 年 3 月发布的固件 4.0.1 存在构建配置错误,部分设备在生成助记词时回退到弱软件随机数源,密钥强度从 128 位最低跌至 40 位,可远程暴力破解;2026 年 7 月底起四波攻击扫走约 1816 BTC(约 1.16 亿美元)、波及 5200+ 地址。固件更新不修复已生成的种子,受害用户只能迁移。值得注意:带独立 BIP-39 passphrase 的用户风险极低——这个此前被普遍认为"锦上添花"的选项,成了分水岭。

共同主题:事故几乎不发生在"发行版"层级,而发生在"默认配置、依赖链、固件与用户习惯"层级。 这支撑了本文的核心论点——单一信任根(无论系统、软件还是硬件)都不可依赖,系统之争只是整个防线中的一环。

8. 加固清单

8.1 Ubuntu LTS(钱包机)

1. 安装时选最小化/服务器版,不装桌面附加组件
2. 安装时启用 LUKS 全盘加密,手动密码
3. 删除/禁用:cups、cups-browsed、avahi、bluetooth、snapd(如不用)
4. 启用 unattended-upgrades(仅安全源)
5. ufw 默认拒绝入站;仅放行 Daedalus 节点所需端口(P2P)
6. 用户独立账户,无密码 sudo 关闭
7. 安装 Daedalus:下载 .bin → 核对官方签名/哈希 → 安装
8. 核对 WalletScrutiny 的构建记录
9. 关闭蓝牙适配器(硬件或 rfkill)
10. 定期 apt update 安全补丁(USN 跟踪)

8.2 NixOS(钱包机)

{ config, pkgs, ... }: {
  # 声明式最小系统:只声明必需项,其余不声明 = 不存在
  nix.settings.substituters = [ "https://cache.iog.io" "https://cache.nixos.org" ];
  nix.settings.trusted-public-keys = [
    "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
    "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
  ];
  boot.initrd.luks.devices.crypt = { device = "/dev/nvme0n1p3"; };  # 手动密码
  services.pipewire.enable = false;         # 无音频
  services.bluetooth.enable = false;        # 无蓝牙
  networking.firewall.enable = true;        # 默认拒绝
  # 运行 Daedalus(不安装,按需使用):
  # nix run github:input-output-hk/daedalus#daedalus-mainnet
}

要点:不声明的服务不存在;更新 = nix flake update + nixos-rebuild switch,可回滚;垃圾回收 nix-collect-garbage -d 定期执行。

8.3 与发行版无关的底线

  1. 密钥与日常电脑分离(专用机);
  2. 助记词落于纸面/金属板,两份异地;
  3. 测试恢复流程:小额资金完整演练"助记词→恢复钱包";
  4. 转账前将地址粘贴到记事本核对首尾字符;
  5. 为极端情况做预案(继承、胁迫)。

9. 结论与决策树

维度Ubuntu LTSNixOS证据
默认攻击面带桌面服务近乎为零CVE-2024-47176 等
供应链集中信任+零投毒记录密闭构建+可验证性xz 时间线;Linderud
完整性/回滚重装世代回滚官方文档
全盘加密LUKS2LUKS2(TPM 可选)cryptsetup
Daedalus 适配支持列表头名官方构建体系官方仓库
运维熵极低1~2 周I

决策树:

是否愿意投入 1~2 周学习 NixOS 概念?
├── 否 → Ubuntu LTS:最小化安装 + 8.1 清单 + 六条底线
└── 是 → 更看重可验证构建与回滚 → NixOS(8.2 清单)
        或更看重排障生态与零维护 → Ubuntu LTS

诚实声明:上表各维度的权重是作者判断,不是客观事实;威胁模型不同,结论可能反转。本文的全部价值在于——把判断所需的证据摆齐,让你自己完成加权。

10. 局限

  • 本文未讨论硬件钱包的选购。对持有量较大者,硬件钱包仍是合理的叠加层(把签名移出电脑),但它不是终点:2026 年 7 月 Coldcard 种子熵缺陷(约 1.16 亿美元损失)证明硬件固件同样是可失守的信任根(S,TRM Labs / Coinkite 公告)。软件侧的系统加固、备份与测试恢复流程,在任何组合中都不可省略。
  • Qubes OS 级虚拟化隔离未纳入对比,它是比本问题更高一层的架构选择。
  • 文中 2026 年后的维护路径(Daedalus 治理、NixOS 可复现进度)需以发布时的最新状态复核。

参考来源

官方文档(D)

  • daedaluswallet.io;github.com/input-output-hk/daedalus(flake、cache.iog.io 配置)
  • IOHK/Cardano:Mithril 文档;cardano-wallet 用户指南
  • nix.dev;reproducible.nixos.org;NixOS 手册(LUKS/TPM/systemd-boot)
  • cryptsetup(LUKS2、Argon2id);Ubuntu:USN 通告、Ubuntu Pro/ESM

安全研究与事件分析(S)

  • CVE-2024-3094(xz):Snyk、Kaspersky Securelist、Red Hat 时间线
  • CVE-2024-47176 家族(CUPS):ESET 野外利用报告
  • ClipXDaemon:Cyble 分析(2026-02/03)
  • Ledger Connect Kit(2023-12);Linux Mint 论坛事件(2023-02)
  • Morten Linderud:《NixOS is not reproducible》(linderud.dev,2024-04)
  • Chainalysis:2025 个人钱包安全统计
  • WalletScrutiny(walletscrutiny.com)
  • Coldcard Mk3 种子熵缺陷:Coinkite 公告(blog.coinkite.com,2026-07);TRM Labs 事件分析(2026-08);TechCrunch 报道(2026-08)

社区实践(C)

  • fort-nix/nix-bitcoin;Cardano 治理提案(Daedalus 维护与改进,2026)
  • bitcoinsecurity.org(自我托管四条基础:密钥分离/备份/测试恢复/预案)