跳到正文

架构

每个组件及其能看到的内容

隐私承诺的价值只取决于读者能核实多少。这是系统所有组成部分的完整清单:谁运营每一部分,每一部分能观察到什么——包括我们自己运行的那一台机器。

PrivaMesh 没有账户数据库,也没有消息存储。但它确实有一个为每笔交易支付费用的手续费服务、一个由第三方运营的 RPC 端点,以及一条永久存储密文的公链。三者都列在下面,并注明各自能观察到什么。

消息如何传递

  1. 01

    你的 iPhone

    加密并填充消息,推导出一次性地址

  2. 02

    手续费服务

    支付网络手续费,消耗一个盲令牌

  3. 03

    RPC 端点

    将交易提交到网络

  4. 04

    Solana

    把填充后的密文送到一次性地址

  5. 05

    对方的 iPhone

    扫描属于自己的一次性地址并在本地解密

每个组件能观察到什么

PrivaMesh 组件、运营方以及各自能看到和存储的内容
组件运营方能看到什么存储什么可替换
iOS 客户端明文和密钥唯一存在的地方。密钥保存在受 Face ID 保护的 iOS 钥匙串中,从不同步到 iCloud。你明文、密钥、联系人全部,仅在设备上是
手续费服务代付网络手续费,让你永远不必持有 SOL——这是我们运行的唯一一台机器。发送通过不含身份信息的匿名盲令牌认证,因此该服务无法将一次发送与购买、与另一次发送或与账户关联起来。旧的账户路径仍然存在,用于发布公开可搜索的昵称,而昵称本身就具有识别性。其源代码公开,位于与客户端同一仓库的 relay/ 目录下。PrivaMesh一个有效且未使用的盲令牌,以及要代付的交易——匿名路径上没有账户仅运行日志——没有明文,没有收件人部分
Solana RPC可替换,也可自行托管。这是最有可能看到你网络层活动的组件,也是我们最难控制的部分。第三方提供商你的 IP 地址、请求时间、你提交的交易取决于该提供商选择记录什么是
Solana 网络传输层。写入这里的一切都是发往一次性密钥的填充密文,但会被永久写入。没有特定的人密文、一次性地址、交易时间永久且公开否
StoreKitiOS 应用内购买无法绕开。正是盲令牌让购买无法与你的消息活动关联起来。Apple你的购买记录和 Apple ID依照 Apple 的政策否

为什么要有手续费服务

每条消息都是一笔 Solana 交易,而交易需要支付网络手续费。让用户为了发消息而持有 SOL,产品会更差,隐私也更差,因为给钱包充值本身就是可被关联的行为。所以由一个服务代付手续费。

这就引出一个显而易见的问题:付费方会知道谁在和谁说话吗?不会。应用只需证明一次订阅,就会获得一批 RSA 盲签名;每次发送消耗一个令牌。服务可以验证令牌有效且未被使用,但无法将它与购买、与其他令牌或与账户关联起来——匿名路径根本不发送账户。旧的账户路径只保留用于发布公开可搜索的昵称,而昵称本身就具有识别性。

这个设计解决不了什么

RPC 端点能看到你的 IP 和请求时间。链会永久存储密文。上面的任何机制都无法隐藏这些,所以两者都列在表中,这也是限制页面存在的原因。如果你的威胁模型包括网络层面的观察者,请将 PrivaMesh 与 VPN 或 Tor 搭配使用,并自行托管 RPC。

常见问题

PrivaMesh 运行服务器吗?

一台。手续费服务为每笔交易代付 Solana 网络手续费,让你永远不必持有 SOL。在匿名路径上,它只看到一个有效且未使用的盲令牌和要代付的交易——没有账户、没有明文、没有收件人。没有账户数据库,也没有消息存储。

RPC 提供商能看到什么?

你的 IP 地址、请求时间以及你提交的交易。它是对你网络层活动看得最清楚的组件,因此可以替换,也可以自行托管。

如果手续费服务宕机会怎样?

在它恢复或你自己支付交易费用之前,发送将无法进行。你的身份、联系人和消息历史不受影响——它们都在你的设备上,不依赖我们运行的任何东西。

Apple 能看到我在给谁发消息吗?

Apple 能看到你购买了订阅以及使用的是哪个 Apple ID。它看不到你的消息或联系人。正是盲令牌让购买无法与你的发送活动关联起来。

继续阅读