AeroNyx App 与协议架构

AeroNyx8 分钟阅读

闭源的 AeroNyx App、由 AeroNyx 运营的中心化服务和开源节点网络如何协同工作,以及聊天、附件、通话、Nyxi AI、记忆和 VPN 各自的信任边界位于何处。

AeroNyx 由三部分组成。第一部分是闭源的 AeroNyx App。第二部分是由 AeroNyx 运营的一组中心化服务。第三部分是以 AGPL-3.0 许可开源的节点网络。消息和附件内容经过端到端加密。中心化服务仍会处理投递元数据、联系人列表、群组成员关系和 Nyxi AI 对话。本页介绍各部分如何协同工作,以及每条信任边界位于何处。

组件

组件运营方源代码作用
AeroNyx App(iOS、Android、macOS、Windows)运行在你的设备上闭源生成密钥、加密和解密消息、运行 VPN 客户端、运行钱包,并在设备上保存 Nyxi 记忆
聊天中继(RelayWS)AeroNyx闭源投递加密聊天消息,为离线设备排队暂存消息,并存储联系人、群组和个人资料
附件存储Cloudflare R2,经由 AeroNyx—通过短时效的预签名上传和下载链接存储加密附件文件
AI 后端AeroNyx闭源处理 Nyxi 请求、存储对话、扣除积分,并将推理请求发送到 Phala 的机密计算服务
账户与支付AeroNyx闭源处理会员、积分、USDT 支付以及 VPN 凭证签发
推送通知AeroNyx,经由 APNs—在 iOS 和 macOS 上发送不含消息内容的通知。Android 没有推送通知。
通话服务AeroNyx—处理通话信令并运行媒体服务器。通话媒体经过端到端加密。
AeroNyx 节点节点运营者AGPL-3.0,github.com/AeroNyxNetwork/AeroNyx充当 VPN 网关,承载可选的两跳聊天路由和匿名信箱,存储密封的 MemChain 副本,并运行节点发现
NodeboardAeroNyx闭源用于注册和管理节点的运营者控制台

钱包身份与聊天身份

AeroNyx 将你的钱包身份与聊天身份分开保存。

身份用途
钱包身份资产、会员、积分和节点所有权
聊天(P2P)身份联系人、一对一聊天和群聊、二维码和邀请链接

每个聊天身份都是由你的设备生成的 Ed25519 密钥对。它不是从你的钱包派生的,联系人看到的是它,而不是你的钱包地址。你可以持有多个聊天身份。删除或轮换某个聊天身份不会影响你的钱包或其他身份。

消息传递

消息内容在发送方设备上加密并签名,只在接收方设备上解密。中继从不会收到聊天密钥、群组密钥或附件密钥。具体格式请参阅 AeroNyx 聊天中继客户端集成 和 AeroNyx 聊天 API 集成指南。

默认路径:中心化中继

默认情况下,每条消息都会经过由 AeroNyx 运营的中心化聊天中继(RelayWS)。该中继处理以下内容:

  • 投递元数据。 它能看到发送方和接收方的公钥、群组和消息 ID、时间戳、载荷大小、送达与已读状态、在线状态和输入中信号、通话信令元数据以及连接 IP 地址。
  • 联系人。 它存储你的联系人列表:每个联系人的公钥,以及你设置的昵称和备注。这些内容以明文存储,以便列表在你的各台设备之间同步。
  • 群组。 它以明文存储群组名称、描述、群主和成员列表。群组消息密钥仅以加密形式存储,每个成员各存一份。
  • 离线队列。 它为离线设备保存加密消息,并在投递后将其删除。

换言之,中心化中继无法读取你写的内容。它能看到你在和谁聊天、何时聊天,以及你属于哪些群组。

可选路径:两跳隐私路由

应用中有一个名为优先使用隐私路由的设置,默认关闭。开启后,应用会通过两个 AeroNyx 节点发送一对一消息,而不是将其交给中心化中继。应用会为每个节点在已经端到端加密的消息外再包裹一层加密。每个节点只能剥除属于自己的那一层,并且只能得知下一跳。只有在核验了最终节点的签名回执之后,应用才将消息视为已送达。如果没有可用的隐私路由,消息会在你的设备上等待。只有当你批准该条消息时,它才会通过标准中继发送。

节点软件公开了自身的局限。路径长度为两跳,且网络规模较小,因此能与你混同的用户集合也较小。该设计防御的是好奇但遵守协议的中继,无法防御监视整个网络的对手。请参阅 节点发现与加密多跳中继。

附件

每张照片、每段视频、每条语音消息或每个文件都在设备上使用各自随机生成的 AES-256-GCM 密钥加密。随后,应用通过后端签发的预签名 URL 将其直接上传到 Cloudflare R2。存储端从不会收到文件密钥、文件名或明文。密钥在端到端加密的消息内部传递。AeroNyx 后端上较早的上传端点仍保留作为回退方案。有关端点和限制,请参阅 AeroNyx 聊天中继客户端集成。

群组与通话

群组消息使用共享的群组密钥加密。当成员退出或被移除时,群组密钥会轮换。语音和视频通话通过中心化中继进行信令传递,并由 AeroNyx 运营的媒体服务器承载。通话音频和视频在帧级别进行端到端加密。

身份备份(.ayx)

你可以将聊天身份导出为 .ayx 文件。该文件包含身份种子,种子使用由你的密码经 PBKDF2 和随机盐派生的密钥加密。种子从不以明文形式存储在文件中。导出和导入只在你主动发起时进行。AeroNyx 不保留该文件的副本,也没有恢复密钥。如果你同时丢失了设备和备份,该身份将无法恢复。

Nyxi AI 与记忆

Nyxi 对话会经过 AeroNyx 后端并存储在那里。这些对话不是端到端加密的。后端将推理请求发送到 Phala 机密计算(TEE)服务上的模型。应用目前尚未自行验证 Phala 的远程证明。

Nyxi 记忆默认关闭。当你开启它时:

  • 记忆由 AI 模型经由后端从你的对话中提取。因此,提取过程能看到对话文本。
  • 记忆本身首先存储在你的设备上的本地数据库中。
  • 在 VPN 已连接期间,应用还可能将每条记忆的密封、由所有者签名的副本上传到节点。节点存储的是密文。该副本为尽力而为,并不是备份服务。

请参阅 MemChain 与 Blind Vault:存储什么、不存储什么。

承诺账本状态

MemChain 包含一个签名承诺账本,即对加密记忆记录的承诺所构成的只追加记录。它已冻结:自 2026 年 7 月以来没有产生任何新区块,其唯一的协调节点此后也已下线。它不是区块链,也没有全局共识。请参阅 签名承诺账本:设计、当前状态与局限。

隐私网络(VPN)

VPN 是单节点网关。应用与一个 AeroNyx 节点建立加密的 UDP 隧道,再由该节点将你的流量转发到互联网。与任何 VPN 出口一样,该节点能看到目标 IP 地址,并处理你的 DNS 查询。应用使用盲签名凭证和一次性客户端密钥对每次连接进行认证。因此,节点可以核实你有权连接,却无法得知你的账户。完整对比请参阅 AeroNyx 隐私网络与传统 VPN 对比。

节点按设计能看到什么

节点软件的设计使节点从不持有消息内容、附件内容或 MemChain 明文的密钥。在聊天和存储路径上,节点只处理以下内容:

  • 密文及其大小
  • 签名
  • 下一跳
  • 时间戳
  • 重放防护
  • 速率限制
  • 汇总计数器

VPN 网关是例外。它是互联网出口,因此必然能看到其转发流量的目标地址和 DNS 查询。

Nodeboard 是运营者控制台。它向节点运营者显示该节点每个会话的 VPN 记录:客户端密钥、字节数、开始和结束时间。运营者可以终止会话,并为客户端密钥排队加入封禁。当应用使用凭证时,该客户端密钥是一次性密钥,不会指明任何账户。公开统计数据仅为汇总数据。

目前以中心化方式运行的部分

该应用同时使用中心化服务和去中心化节点网络,去中心化路径并不取代中心化路径。目前以下部分是中心化的:

  • 聊天中继
  • R2 上的附件存储
  • APNs 推送
  • 通话服务
  • AI 后端
  • 账户与支付
  • 凭证签发
  • 节点目录

节点软件是开源的,因此其他人可以审查并运行它。通俗易懂的概述请参阅 什么是 AeroNyx。

延伸阅读

<!-- faq:start -->

常见问题

中心化聊天中继能看到我在和谁聊天吗?

能。中心化中继能看到每条消息发送方和接收方的公钥,以及时间戳、大小和投递状态。它还存储你的联系人列表和群组成员关系。它无法读取消息或附件内容,这些内容经过端到端加密。

如何在不经过中心化中继的情况下发送聊天消息?

在应用的聊天设置中开启优先使用隐私路由。之后,一对一消息将经由 AeroNyx 节点之间的两跳路由发送。如果没有可用路由,消息会一直等待,直到你批准通过标准中继发送。该设置默认关闭。

加密附件存储在哪里?

加密附件存储在 Cloudflare R2 上。应用通过 AeroNyx 后端签发的预签名 URL 上传它们。每个文件在上传前都在你的设备上使用各自的密钥加密。该密钥只在端到端加密的消息内部传递。

MemChain 承诺账本在运行吗?

没有。承诺账本已冻结。自 2026 年 7 月以来它没有产生任何新区块,其唯一的协调节点此后也已下线。Nyxi 记忆本身仍在你的设备上正常工作,并不依赖该账本。

.ayx 备份能让 AeroNyx 恢复我的身份吗?

不能。.ayx 文件是你自行导出并保管的、用密码加密的聊天身份副本。AeroNyx 不存储该文件,也没有恢复密钥。

<!-- faq:end -->