MemChain 与 Blind Vault:存储什么、不存储什么

AeroNyx6 分钟阅读

MemChain 将 Nyxi AI 记忆加密保存在你的设备上,并且只有在记忆功能开启且 VPN 已连接期间,才会向所连接的节点发送一份尽力而为的加密副本。Blind Vault 已在节点中实现,但默认禁用且应用未使用;AeroNyx 不提供任何备份或存储产品。

MemChain 是 Nyxi AI 背后的记忆系统。它默认关闭;当你开启它时,记忆首先加密存储在你的设备上,并且只有在你连接到隐私网络期间,才会有一份尽力而为的加密副本发送到 AeroNyx 节点。Blind Vault 是节点软件中一个独立的加密对象存储。它默认禁用,官方应用也不使用它。AeroNyx 不提供备份或云存储产品。

概览

组件运行位置当前状态保存内容
你设备上的 MemChainAeroNyx 应用可用。在你开启记忆功能之前处于关闭状态加密的记忆记录及其元数据
节点上的 MemChain 副本你的 VPN 连接所使用的节点尽力而为。仅在记忆功能开启、VPN 已连接且该节点接受密封记录时密文以及下文列出的元数据
旧版 MemChain 只追加文件节点为兼容性而保留的旧格式Fact 和 Block 记录,其中可能包含节点可读取的字段
记录承诺账本节点自 2026-07-13 起冻结仅签名承诺,从不包含记忆内容。请参阅 签名承诺账本
Blind Vault节点软件已实现,默认禁用,应用未使用无任何生产用途的数据

你设备上的 MemChain

在你于应用中开启记忆功能之前,它一直处于关闭状态。关闭期间,应用不会形成任何记忆,也不会向节点发送任何内容。

记忆功能开启后,应用会保留每一轮已完成的 Nyxi AI 对话,并可能从中提取简短的事实,例如某项偏好或即将到来的预约。

  • 提取过程对 AeroNyx 并不保密。 为了提取事实,应用会将该轮对话文本经由 AeroNyx 后端发送给 AI 模型。这与 Nyxi AI 对话使用的是同一条路径。它不是端到端加密的。
  • 设备上的存储是加密的。 每条记录都使用 AES-256-GCM 密封。密钥由你的 P2P 身份密钥派生,从不存储或发送到任何地方。本地数据库保存密文以及记录的时间戳、层级、来源模型、标签和项目标签。明文仅在应用处于解锁状态并使用它时存在于内存中。
  • 回忆以本地为先。 应用搜索自己的副本,离线时同样可用。只有在本地副本仍在填充期间,它才会向节点查询。
  • 删除以本地为先。 当你要求应用忘记某件事时,它会删除本地记录。如果你处于离线状态,它会将节点上的删除操作排入队列,并在你下次连接时发送。

由于密钥来自你的身份密钥,任何持有该密钥的人都可以解密你的记忆。如果密钥丢失且无法恢复,任何人都无法解密这些记忆,包括 AeroNyx。

节点上的可选副本

只有在以下条件全部满足时,应用才会尝试将每条新记录的副本发送到节点:

  1. 记忆功能已开启。
  2. VPN(隐私网络)已连接。
  3. 你所连接的节点接受密封记录。该功能在节点软件中默认关闭。

请求在加密的 VPN 隧道内部发送到节点位于隧道地址上的 MemChain API。节点看到的是你的 VPN 虚拟地址,而不是你的公网 IP。每条记录都使用你的 P2P 身份密钥签名,以便节点核验其所有者。

节点能看到和不能看到的内容:

项目节点能否看到?
记忆内容(对话文本、事实文本、记录内的时间戳)不能。只有 AES-256-GCM 密文
你的 P2P 身份公钥(记录所有者)能
记录时间戳、记忆层级、来源模型名称能
主题标签(对于提取的事实:该事实所涉及的人或事物的小写名称)能
提取的事实的项目标签能,当该事实带有项目标签时
搜索令牌带密钥的 HMAC 令牌。节点无法逆推它们,但能看到同一令牌何时再次出现
嵌入向量不能。向量保留在设备上

该副本为尽力而为。如果上传失败,应用会忽略该错误,你设备上的副本仍是权威副本。节点不会将你的记录复制到其他节点。该副本不是备份,AeroNyx 也不承诺保留它。有关数据处理承诺,请参阅 信任中心。

节点侧的 MemChain 存储

节点在两个位置保存 MemChain 数据:

  • 密封记录存入节点的 SQLite 数据库(memchain.db),该数据库以 WAL 模式打开,并设置 synchronous = NORMAL。节点存储上述密文和元数据,无法解密其内容。
  • 旧版只追加文件(.memchain)以长度前缀格式保存较早的 Fact 和 Block 记录。每条记录上限为 10 MiB。该文件中的 Fact 字段可能可被节点读取,因此不得将其描述为密文历史。

运营者可以在不打印任何内容的情况下检查旧版文件:

bash
sudo aeronyx-server memchain verify-aof --config /etc/aeronyx/server.toml

该命令只报告汇总计数,如果发现不完整的末尾记录,则会以错误退出。它不会读取密封记录数据库或承诺账本。

Blind Vault

Blind Vault 是一个节点组件,用于在匿名、自认证的租约下存储由客户端加密的对象。客户端通过兑换一次性凭据获得租约,节点只在其自己的 SQLite 数据库中存储密文。它从不与 MemChain 或聊天共享该数据库。

当前状态:

  • 它默认禁用([blind_vault] enabled = false 和 public_api_enabled = false)。
  • 官方应用不使用它,AeroNyx 后端也不签发 Blind Vault 凭据。
  • 它不是备份或存储服务。请勿依赖它保存你的任何数据。

准入凭据的说明见 盲签名凭证与匿名访问凭据。

崩溃恢复

存储进程崩溃或重启后突然断电后数据损坏时
节点密封记录数据库(SQLite WAL,NORMAL)已提交的写入得以保留最近的提交可能丢失适用 SQLite 完整性规则
旧版只追加文件重新打开文件时会截断不完整的最后一条记录,修复结果会同步到磁盘最近的追加可能丢失,因为写入会被刷新但不会执行 fsync一条完整但校验失败的记录会阻止启动。该文件会被保留以供调查,而不会被截断
Blind Vault(SQLite WAL,NORMAL)已提交的对象和租约得以保留。重试同一次写入是幂等的最近的提交可能丢失适用 SQLite 完整性规则

恢复只能还原磁盘上已有的内容。它无法重建丢失的身份密钥或内容密钥,也无法恢复从未上传过的节点副本。

本页未声称的内容

  • AeroNyx 不提供加密备份或云存储。
  • 记忆提取对 AeroNyx 而言不是端到端加密的。
  • 节点副本不会被复制,也不保证会被保留。
  • MemChain 和 Blind Vault 都不是区块链,也都不提供全局共识。
<!-- faq:start -->

常见问题

AeroNyx 会在其服务器上存储我的 Nyxi 记忆吗?

加密的记忆存储位于你的设备上。只有在记忆功能开启、VPN 已连接且该节点接受密封记录期间,节点才会获得一份加密副本。另外,从某一轮对话中提取事实时,该轮文本会经过 AeroNyx 后端,方式与 Nyxi AI 对话相同。

节点运营者能读取我的记忆吗?

不能。运营者无法读取记忆内容,因为节点只存储 AES-256-GCM 密文,且从不会收到密钥。运营者能看到部分元数据:你的 P2P 身份公钥、时间戳、记忆层级、来源模型、主题标签、项目标签以及带密钥的搜索令牌。

连接 VPN 会上传我的记忆吗?

只有在记忆功能开启时才会。记忆功能关闭时,不会形成或上传任何内容。记忆功能开启时,新记录会以尽力而为的方式复制到所连接的节点,且仅在该节点接受密封记录时进行。

Blind Vault 是我聊天或记忆的备份吗?

不是。Blind Vault 在节点软件中默认禁用,官方应用不使用它,AeroNyx 也不提供任何备份或存储产品。

如果我丢失了身份密钥会怎样?

任何人都无法再解密你的记忆。记忆密钥由你的 P2P 身份密钥派生。如果你无法恢复该密钥,设备上的副本和节点上的副本都无法打开。

<!-- faq:end -->