查看原文
其他

Web3 隐私增强技术对比:探秘加密时代的数据安全与隐私保护

TinTinLand TinTinLand 2024-04-17

作者:

Anders Dalskov(博士,Partisia Blockchain 密码学科学家)

来源:

https://medium.com/partisia-blockchain/mpc-fhe-dp-zkp-tee-and-where-partisia-blockchain-fits-in-c8e051d053f7

编译:TinTinLand

本文重点是对主题提及的每种技术提供最简短、最直观的技术介绍。本文涉及的技术(Differential Privacy 除外)均用于处理数据的“安全”计算方式。在更高阶的层面上,这意味着它们可用于一个或多个数据来执行任意计算并保持数据的隐私性。





多方安全计算 (MPC) 

多方安全计算在 Partisia Blockchain 上是一个相当广泛的协议类别术语,它能够使两个独立实体(称为各方)计算同一个函数,除了输出结果之外不泄露任何内容。

多方安全计算(MPC)协议通常分三个阶段进行:首先,输入者秘密共享私有输入数据,此步骤可以被认为是每个用户将其输入的特殊信息加密发送到进行计算的节点。例如,加密确保至少需要 2/3 的节点来恢复数据输入,由此得到了一个依赖于非共谋的安全模型(也可能是所有 3 个节点必须共谋才能恢复输入)。在这种情况下,我们得到了一个完整的阈值模型(因为所有服务器必须共谋才能打破隐私)。

下一步是节点(服务器 A、B 和 C)对输入步骤中接收到的加密(即秘密共享)执行计算。

当节点完成计算时,它们将保存输出的数据信息进行共享;每个节点份额都将返还给用户,这样他们就可以恢复实际数据的输出状态。

从上图中可以看出,如果计算节点连接良好,MPC 的实际工作效果就会特别理想。事实上,MPC 运行成本高昂的原因就在于节点必须存在于彼此之间发送的所有数据。自 20 世纪 80 年代初以来,学术界一直在积极研究 MPC,以下是可以帮您了解更多信息的优质资源:
  • 使用隐私共享机制实现保密(https://www.youtube.com/watch?v=vRVudJADQLk

  • MPC 技术的全方位信息介绍(https://www.youtube.com/watch?v=xwxkp4fMWsk

  • 有关 MPC 多方面分析的博客文章(https://medium.com/applied-mpc/a-crash-course-on-mpc-part-1-791c3e351d3c




全同态加密(FHE)

全同态加密 (FHE) 解决了一个老生常谈的问题:我可以对个人数据进行加密并执行计算吗?

FHE 是一种工具,它不仅允许我们在服务器上存储加密数据,还允许服务器对其进行计算,而无需在任何时候执行解密。 FHE 系统示意图如下所示:

根据上图所示,用户加密私人数据并将其上传到服务器中。然而,与传统的 E2EE(端到端加密)场景不同,服务器实际上可以在用户的私密数据上直接进行计算 —— 直接在密文上进行,而后用户可以使用私钥对结果进行解密。

FHE 与 MPC 不同,它依赖于巧妙的密码计算而非密码协议。

一方面,这意味着与 MPC 相比,FHE 在服务器和客户端之间可以发送更少的数据;

另一方面,FHE 需要服务器完成大量计算执行任务。因此,在实际运行过程中,FHE 比 MPC 速度更慢。实用 FHE 也是一项 2009 年才出现的相对较新的技术,也是从那时起,它慢慢受到了广泛关注,尤其是来自 Microsoft 或 IBM 等“更大”的参与者。

🔍 详情可见:

  • Microsoft 使用 FHE 的隐私 AI 训练营

    https://www.youtube.com/playlist?list=PLD7HFcN7LXRef-eTSGt_XOUJLZNoDINUn

  • FHE 资源大清单

    https://github.com/jonaschn/awesome-he

在 Partisia Blockchain 上同样支持 FHE 解决方案的运行。




零知识证明系统(ZKP)

虽然 MPC 和 FHE 允许我们计算任何东西,但零知识证明(ZKP)系统还允许我们计算证明本身。简而言之,ZKP 允许我们计算输出为“真”或“假”的函数。

ZKP 在区块链领域非常受欢迎,主要因为其在“rollups”中的实际效用。用于 rollups 的 ZKP 特殊类型被称为 ZK-SNARK,它是简洁的证明机制——一种大小为某个固定常数的证明,并且验证速度很快,这使得智能合约在区块链上特别有用,因为证明和验证都是在链上进行的。也就是说,ZK rollups 实际上并不使用零知识本身的属性,只利用其证明方案的可靠性(Soundness)简洁性(Succinctness)来实现数据验证。

可靠性(Soundness)仅仅意味着很难构建一个看似有效的证明。

实际上,ZKP 与 FHE 一样在单个用户和验证者之间运作。当用户有一个秘密,希望在保证隐私性的情况下让验证者相信有关该秘密的真实性时,ZKP 能够在不指定特定验证者的前提下,让任何人都可以检查证明的真伪。具体使用场景如下图所示:



可信执行环境(TEE)

这里要讨论的最后一个隐私计算技术是可信执行环境。可信执行环境(TEE)基本上只是一块被信任做正确事情的硬件。如果我们信任这种特定类型的硬件,那么隐私计算显然是可行的,如下所示。

TEE 作为一种硬件与某些设施供应商紧密相连。通常当我们提及 TEE 时,其背后真正的意思是 Intel’s SGXhttps://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/overview.html)或 ARM TrustZonehttps://www.arm.com/technologies/trustzone-for-cortex-m)。比如 SGX 就是 Secret Networkhttps://docs.scrt.network/secret-network-documentation/overview-ecosystem-and-technology/techstack/privacy-technology/intel-sgx/overview)所使用的 TEE。

与我至今为止所撰写的其他技术相比,TEE 的安全模型因为更加不透明而非常独特。这种不透明性的漏洞已在不同 TEE 产品的升级过程中得到证实,尤其是 SGXhttps://sgx.fail/)。




差分隐私 (DP)

差分隐私与以往谈及的技术截然不同,虽然 MPC、TEE 和 FHE 都提供了在隐私数据上计算某些内容的方法,但它们并不真正关心具体内容是什么。例如可以使用 MPC、TEE 和 FHE 来计算恒等函数(尽管没有实际意义),这是因为 MPC、TEE 和 FHE 允许我们计算任何东西,特别是允许我们执行并非真正隐私的计算内容。

此时,我们可能会问:为什么我们要对隐私数据执行如此无意义的计算呢?对于某些计算来说,可能轻而易举地看出它们并非个人所有(从某种意义上说可以轻松地从输出推断出原始输入的状态)。然而正因为许多计算看似是隐私保障的,所以如果我们不小心的话,也会出现数据泄露问题,比如事实证明只需查询预测 API 即可提取机器学习模型,而在另一个场景中,表明可以提取模型训练所用的数据。这些问题的出现都是因为所执行计算没有限制,而差分隐私正试图解决这个难题。差分隐私提供相当直观的技术保证性。假设我们有两个数据库 A 和 B,这两个数据库之间唯一区别是特定条目 R 存在于 A 但不存在于 B 。差分隐私现在规定我们无论对数据库执行何种形式的查询都无法猜测我们在与 A 还是 B 进行交互。当然,这意味着某些查询是不被允许的。比如简单地询问“记录 R 在数据库中吗?” ——就不可能获得差分隐私的反馈。一般来说,差分隐私是通过向数据库添加噪声(noise)或合成数据以来限制查询类型的获取权。而差分隐私与 MPC、TEE 和 FHE 的不同之处正在于差分隐私对计算输出内容的天然保证性。

🔍 总体来说:

  • MPC、TEE、FHE:除了输出之外什么都没有透露。

  • DP:输出并没有透露太多信息。

那么这也意味着差分隐私不与 MPC、TEE 或 FHE 直接“竞争”,而是对它们进行技术补充。




结论

下面附上一张技术比较图,主要显示了 Partisia Blockchain 的 MPC 技术与上述其他技术的差异性。纵然每种技术都有其特定的优势和场景用例,但我们认为在 30 多年的研究和实际试验的结果中,Partisia Blockchain 的 MPC 技术运作确实提供了更为全面的场景适用性,并且没有什么明显的缺点。


往期精彩

Layer1 明星项目 Partisia Blockchain 何以打造互操作、可创新的数字经济网络

隐私与创新的交汇点:Partisia Blockchain 重绘技术蓝图

Layer1 新星 Partisia Blockchain 撑起隐私保护伞,助你无忧加密交易!

Partisia Blockchain 在世界经济论坛:重建信任,打造 MPC 链上托管高级解决方案

从理论到实践,Partisia Blockchain 如何通过 MPC 技术实现隐私与行业共赢?


关于我们

ABOUT US



TinTinLand 是赋能下一代开发者的技术社区,通过聚集、培育、输送开发者到各开放网络,共同定义并构建未来。


Discord: https://discord.gg/kmPnTDSFu8

Twitter: https://twitter.com/OurTinTinLand

Bilibili: https://space.bilibili.com/1152852334

Medium: https://medium.com/@tintin.land2021

YouTube: https://www.youtube.com/channel/UCfHiMcFt-4btbC75FsReQh

点击“阅读原文”进入 TinTinLand 社区空间 Notion 资源库,需科学上网访问



继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存