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

ops/2024/10/24 6:36:45/

作者: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 技术运作确实提供了更为全面的场景适用性,并且没有什么明显的缺点。

图片


http://www.ppmy.cn/ops/9325.html

相关文章

RK3568 学习笔记 : u-boot 通过 tftp 网络更新 u-boot自身

前言 开发板型号: 【正点原子】 的 RK3568 开发板 AtomPi-CA1 使用 虚拟机 ubuntu 20.04 收到单独 编译 RK3568 u-boot 使用 rockchip Linux 内核的设备树 【替换】 u-boot 下的 rk3568 开发板设备树文件,解决 u-boot 下千兆网卡设备能识别但是无法 Pi…

企微知识库搭建工具推荐:简单又好用

在信息爆炸的时代背景下,拥有一个高效的知识管理系统尤为重要。不仅外部的客户服务信息需要管理,企业内部的信息传播与沟通也需要整合与优化。特别是在企业微信(企微)环境中,一个好用的知识库搭建工具能帮助团队更好地…

SpringBoot多数据源-DynamicDataSource

SpringBoot多数据源-DynamicDataSource 1.多数据源应用场景2.DynamicDataSource原理3.DynamicDataSource使用3.1 导入依赖3.2 application.yml多数据源配置 4.测试 1.多数据源应用场景 读写分离:数据库主节点压力比较大,需要增加从节点提供读操作&#…

在Linux系统中,禁止有线以太网使用NTP服务器进行时间校准的几种方法

目录标题 方法 1:修改NTP配置以禁止所有同步方法 2:通过网络配置禁用NTP同步方法 3:禁用NTP服务 在Linux系统中,如果想要禁止有线以太网使用NTP服务器进行时间校准,可以通过以下几种方法之一来实现: 方法 …

二百三十三、Flume——Flume采集JSON文件到Kafka,再用Flume采集Kafka数据到HDFS中

一、目的 由于使用了新的Kafka协议,因为根据新的协议推送模拟数据到Kafka中,再Flume采集Kafka数据到HDFS中 二、技术选型 (一)Kettle工具 准备使用Kettle的JSON input控件和Kafka producer控件,但是搞了1天没搞定&…

在linux中创建c程序

一、创建一个目录,写入一个C文件 示例, 1.创建一个父目录example一个子目录1: mkdir -p example/1 2.进入子目录: cd 1 3.创建一个c文件(尾部以c结尾,若要创建c文件以cpp结尾,创建一个python文件以py结尾)&…

短视频解析接口分发系统

宝塔面板:Nginx系统 php7.2 Mysql 5.6-5.7 伪静态Thinkphp 上传文件直接访问域名安装即可 源码免费下载地址抄笔记 (chaobiji.cn)https://chaobiji.cn/

财务管理困扰外贸公司?软件解决方案大揭秘!

本文将探讨外贸公司在财务管理中遇到的难题,提出可能性的解决方案,并概述理想的外贸财务管理软件应具备哪些必备功能。 一、外贸公司财务管理难题 1、交易币种多样化 如何准确记录不同货币的财务活动,是外贸公司必须面对的问题。外贸公司的…