返回

文章详情

我与 Stoffel MPC 建立了一个私人基因组研究

Hacker News2026年7月22日 14:35

大多数基因组研究开始时要求参与者上传他们拥有的最具识别性和不可改变的数据之一——他们的 DNA。我继续调查多方计算是否能提供不同的模型,在这个模型中,研究可以在不收集参与者基因组的情况下产生有用的结果。这个问题现在促使我与 Stoffel MPC 建立了一个概念验证。在这个试验中,100 名模拟参与者成功计算了聚合等位基因计数,而没有任何一方看到完整的数据集。本文解释了我所构建的内容、其表现如何以及我所学到的东西。Stoffel 最近推出了其多方计算 (MPC) 平台的 0.1.0 版本,目的是让普通开发者也能使用保护隐私的应用,而不仅仅是密码学专家团队。MPC 使几台计算机能够在私密数据上执行计算,而无需任何一台计算机获得完整的输入。尽管传统上构建 MPC 系统比较困难,但 Stoffel 将这项技术呈现为一个易于接近的开发者平台。应用程序使用其类似 Python 的 StoffelLang 编写,编译为字节码,并由 Stoffel VM 在一组 MPC 方中执行。我们不再需要依赖更强大的隐私政策或更安全的中央数据库。我们可以简单地避免在一个地方收集原始数据。自然,我想试试 Monadic DNA。鉴于我在 Monadic DNA 上的持续工作,基因组学是一个显而易见的测试案例。在早期的实验中,我的同事和我使用 Nillion 和来自三十名参与者的真实基因型数据探索私密 DNA 分析。基因数据是隐私系统的一个异常良好的测试。它具有很强的识别性,可以揭示有关亲属的信息,并且在泄露后无法更改。与此同时,许多有用的基因组研究不需要检查单个记录。研究人员可能只需要群体层面的变异计数或跨组计算得出的分数。我想探索的具体用例是改进的 Monadic DNA 移动应用程序。Monadic DNA 用户将其基因型数据保存在他们的手机中,可能选择参与需要跨多个用户的聚合统计的研究(也许作为报酬)。问题是应用程序是否可以安全地贡献这些数据,而不必首先将用户的完整基因型上传到 Monadic DNA、研究人员或其他可信的中央服务中。与常规设计不同,在常规设计中,所有人的基因型数据都被上传到一个必须保护它的中央服务中,我希望看看 Stoffel 是否能让每个 Monadic DNA 应用程序直接贡献到联合计算中。在该设计中,没有协调者、应用服务器或单个 MPC 方接收到完整的数据集。实验的源代码可在 github.com/vishakh/stoffel-test 获取。概念验证的目的 概念验证模拟了一百名 Monadic DNA 移动应用用户参与一个基因组聚合研究。每个用户贡献六个合成的 SNP 值,这些值可以通过 Monadic DNA、23andMe 或其他服务获得。研究计算每个目标等位基因的总计数以及一个简单的群体加权分数。重要的部分是信任边界。每个模拟用户都有一个独立的客户端身份和一个仅包含该用户六个值的过程。客户端在本地创建共享并将不同的共享直接发送到每个 MPC 方。只有聚合计数和分数被揭示。这故意不同于将一百个记录放入一个服务器端客户端。如果这样做,将演示在 MPC 网络内部进行私密算术,但客户端仍然会是一个可信的数据收集者,能够看到或泄露每个基因型。在预期的 Monadic DNA 流程中,用户将在移动应用程序中查看并同意参与研究。应用程序只会选择该批准计算所需的 DNA 值,在手机上创建共享,并直接将其发送给 MPC 方。完整的 DNA 数据绝不应通过 Monadic DNA 的服务器或其他中央收集服务;只有经批准的聚合结果应该离开 MPC 计算。比较 MPC 和全同态加密 多方计算 (MPC) 和全同态加密 (FHE) 都使得在不暴露底层输入的情况下进行数据计算成为可能,但它们使用不同的模型。在 FHE 中,每个用户通常在公钥下加密其基因型,服务器直接对密文进行计算。在 MPC 中,每个用户将其输入分成多个共享,并将不同的共享发送到多个计算方。这两种方法在信任和操作复杂性上有所不同。FHE 系统需要一个有关谁可以解密结果的政策。这可能涉及一个密钥持有者或跨几方共享的阈值密钥。MPC 不依赖一个解密

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡