FHE vs. ZK vs. MPC

中级8/6/2024, 1:52:25 PM
本文比较了全同态加密 (FHE)、零知识证明 (ZK) 和多方安全计算 (MPC) 这三种加密技术,说明了它们各自的工作原理及其在区块链应用中的作用。

上次我们分析了全同态加密(FHE,Fully Homomorphic Encryption)技术如何运作。

但是很多朋友仍然会把FHE和ZK、MPC这些加密技术弄混,因此第二篇thread计划将这三门技术详细对比一波:

FHE vs ZK vs MPC

首先,让我们从最基本的问题开始:

-这三种技术分别是什么?

-它们如何工作?

-它们如何为区块链应用工作?

1.零知识证明(ZK):强调“证明却不泄露”

零知识证明(ZK)技术探讨的命题是:如何在不泄露任何具体内容的情况下,验证信息的真实性。

ZK建立在密码学的坚实基础上,通过零知识证明,Alice可以向另一方Bob证明:她知道某个秘密,却不必揭示任何关于秘密本身的信息。

想象一个场景,Alice希望向租车行员工Bob证明她的信用,但她不希望去银行打个流水之类的。这时候,比如银行/支付软件的“信用分”就堪比她的“零知识证明”。

Alice在Bob“零知晓”的条件下,证明她的信用评分良好,而无需展示她的账户流水,这就是零知识证明。

如果应用到区块链里,可以参考之前的一个匿名币Zcash:

当Alice给他人转账时,她既要匿名,又要证明她拥有转账这些币的权力(否则会导致双花),于是她就需要生成一个ZK证明。

所以,矿工Bob看到了这个证明后,能够在不知道她到底是谁(即对Alice的身份零知识)的情况下,仍能把交易上链。

2.多方安全计算(MPC):强调“如何计算却不泄露”

多方安全计算(MPC)技术主要应用于:如何在不泄露敏感信息的前提下,让多方参与者还能安全地一起计算。

这项技术让多个参与者(比如说Alice、Bob和Carol)能够共同完成一项计算任务,却无需任何一方透露自己的输入数据。

例如,如果Alice、Bob和Carol想要计算他们三人的平均工资,却不泄露各自的具体工资。那么如何操作呢?

每个人可以将自己的工资分成三部分,并交换其中两部分给其他两人。每个人都对收到的数字进行加和,然后分享这个求和结果。

最后,三人再对这三个求和结果求出总和,进而得到平均值,但却无法确定除自己外其他人的确切工资。

如果套用到加密行业,MPC钱包就使用这样的技术。

以Binance或者Bybit推出的最简单MPC钱包为例,用户不再需要存12个助记词,而是有点类似于,把私钥魔改成2/2多签,用户手机一份,用户云端一份,交易所一份。

如果用户不小心弄丢了自己的手机,至少云上+交易所还能恢复出来。

当然,如果要求安全性更高,一些MPC钱包可以支持引入更多的第三方来保护私钥碎片。

因此,基于MPC这门密码学技术,多方可以在相互不需要信任的情况下,安全地使用私钥。

3.全同态加密(FHE):强调“如何加密才能找外包”

如同我上篇thread所说,全同态加密(FHE)则应用在:我们如何加密,使得敏感数据加密后,可以交给不信任第三方进行辅助计算,结果仍能由我们解密出来。

上篇传送门:https://x.com/0x_Todd/status/1810989860620226900…

举个例子,Alice自己没有计算能力,需要依赖Bob来计算,但是又不想告诉Bob真相,因此只能将原始数据引入噪音(做任意次的加法/乘法加密),然后利用Bob强大的算力对这些数据进行加工,最后由Alice自己解密出来得到真实结果,而Bob对内容一无所知。

想象一下,如果你需要在云计算环境中处理敏感数据,如医疗记录或个人财务信息,FHE就显得尤为重要。

它允许数据在整个处理过程中保持加密状态,这不仅保护数据安全,还符合隐私法规。

上次重点分析了AI行业为什么需要FHE,那么在加密行业中,FHE这门技术能够带来什么应用呢?

比如说有个项目叫做Mind Network @mindnetwork_xyz

拿到了以太坊Grant,也是币安孵化器的项目。它关注到了一个PoS机制的原生问题:

像以太坊这样的PoS协议,拥有100w+的验证者,自然没什么问题。但是很多小的项目,问题就来了,矿工天生是偷懒的。

为什么这么说呢?理论上,节点工作是:兢兢业业地验证每一笔交易是否合法。但是一些小的PoS协议,节点不够多,而且包括很多“大节点”。

所以,很多小PoS节点就发现:与其浪费时间亲自计算核实,不如直接跟随照抄大节点现成的结果。

这个毫无疑问,会带来非常夸张的中心化。

另外,比如投票的场景同样有这种“跟随”迹象。

比如说之前MakerDAO协议的投票,由于A16Z当年拥有了太多MKR票仓,导致很多时候它的态度对于某些协议起决定性作用。A16Z投票之后,很多小票仓只能被迫跟票或者弃权,完全无法反映出真实民意。

所以,Mind Network利用了FHE技术:

让PoS节点相互不知道对方答案的情况下,仍然能够借助机器算力完成区块的验证工作,防止PoS节点相互抄袭。

or

让投票者在相互不知道相互的投票意向之后,仍然能够借助投票平台计算出投票结果,防止跟票。

这就是FHE在区块链的重要应用之一。

所以,为了实现这样的功能,Mind还需要重建一个re-staking套娃协议。因为EigenLayer本身将来就要为一些小的区块链提供“外包节点”服务,如果再配合FHE,可以让PoS网络或者投票大幅提升安全性。

打个不恰当的比喻,小的区块链引入Eigen+Mind,有点像小国自己搞不定内政,于是引入外国驻军。

这也算是Mind在PoS/Restaking分支上和Renzo、Puffer的差异化之一, Mind Network相比Renzo、Puffer这些起步更晚,最近刚刚启动主网,相对来说没有Re-taking summer那时候那么卷了。

当然,Mind Network也同样在AI分支上提供服务,比如用FHE技术加密喂给AI的数据,然后让AI能够在不知道原始数据的情况下学习、处理这些数据,典型案例包括与bittensor 子网的合作。

最后,再总结一下:

虽然ZK(零知识证明)、MPC(多方计算)、和FHE(全同态加密)都是为了保护数据隐私和安全设计的先进加密技术,但是在应用场景/技术复杂性有区别:

应用场景:

ZK强调“如何证明”。它提供了一种方式,使得一方可以向另一方证明某一信息的正确性,而无需透露任何额外信息。这种技术在需要验证权限或身份时非常有用。

MPC强调“如何计算”。它允许多个参与者共同进行计算,而不必透露各自的输入。这在需要数据合作但又要保护各方数据隐私的场合,如跨机构的数据分析和财务审计中。

FHE强调“如何加密”。它使得在数据始终保持加密的状态下,委托进行复杂的计算成为可能。这对于云计算/AI服务尤为重要,用户可以安全地在云环境中处理敏感数据。

技术复杂性:

ZK虽然理论上强大,但设计有效且易于实现的零知识证明协议可能非常复杂,需要深厚的数学和编程技能,比如大家听不懂的各种“电路”。

MPC在实现时需要解决同步和通信效率问题,尤其是在参与者众多的情况下,协调成本和计算开销可以非常高。

FHE在计算效率方面面临巨大挑战,加密算法比较复杂,2009年才成型。尽管理论上极具吸引力,但其在实际应用中的高计算复杂性和时间成本仍是主要障碍。

说实话,我们所依赖的数据安全和个人隐私保护正面临前所未有的挑战。想象一下,如果没有了加密技术,我们的短信、外卖、网购过程中的信息都已暴露无遗。就像没有锁的家门,任何人都可以随意进入。

希望对这三个概念有混淆的朋友们,能够彻底区分这三门加密学圣杯上的明珠们。

声明:

  1. 本文转载自[0xTodd],著作权归属原作者[0xTodd],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

FHE vs. ZK vs. MPC

中级8/6/2024, 1:52:25 PM
本文比较了全同态加密 (FHE)、零知识证明 (ZK) 和多方安全计算 (MPC) 这三种加密技术,说明了它们各自的工作原理及其在区块链应用中的作用。

上次我们分析了全同态加密(FHE,Fully Homomorphic Encryption)技术如何运作。

但是很多朋友仍然会把FHE和ZK、MPC这些加密技术弄混,因此第二篇thread计划将这三门技术详细对比一波:

FHE vs ZK vs MPC

首先,让我们从最基本的问题开始:

-这三种技术分别是什么?

-它们如何工作?

-它们如何为区块链应用工作?

1.零知识证明(ZK):强调“证明却不泄露”

零知识证明(ZK)技术探讨的命题是:如何在不泄露任何具体内容的情况下,验证信息的真实性。

ZK建立在密码学的坚实基础上,通过零知识证明,Alice可以向另一方Bob证明:她知道某个秘密,却不必揭示任何关于秘密本身的信息。

想象一个场景,Alice希望向租车行员工Bob证明她的信用,但她不希望去银行打个流水之类的。这时候,比如银行/支付软件的“信用分”就堪比她的“零知识证明”。

Alice在Bob“零知晓”的条件下,证明她的信用评分良好,而无需展示她的账户流水,这就是零知识证明。

如果应用到区块链里,可以参考之前的一个匿名币Zcash:

当Alice给他人转账时,她既要匿名,又要证明她拥有转账这些币的权力(否则会导致双花),于是她就需要生成一个ZK证明。

所以,矿工Bob看到了这个证明后,能够在不知道她到底是谁(即对Alice的身份零知识)的情况下,仍能把交易上链。

2.多方安全计算(MPC):强调“如何计算却不泄露”

多方安全计算(MPC)技术主要应用于:如何在不泄露敏感信息的前提下,让多方参与者还能安全地一起计算。

这项技术让多个参与者(比如说Alice、Bob和Carol)能够共同完成一项计算任务,却无需任何一方透露自己的输入数据。

例如,如果Alice、Bob和Carol想要计算他们三人的平均工资,却不泄露各自的具体工资。那么如何操作呢?

每个人可以将自己的工资分成三部分,并交换其中两部分给其他两人。每个人都对收到的数字进行加和,然后分享这个求和结果。

最后,三人再对这三个求和结果求出总和,进而得到平均值,但却无法确定除自己外其他人的确切工资。

如果套用到加密行业,MPC钱包就使用这样的技术。

以Binance或者Bybit推出的最简单MPC钱包为例,用户不再需要存12个助记词,而是有点类似于,把私钥魔改成2/2多签,用户手机一份,用户云端一份,交易所一份。

如果用户不小心弄丢了自己的手机,至少云上+交易所还能恢复出来。

当然,如果要求安全性更高,一些MPC钱包可以支持引入更多的第三方来保护私钥碎片。

因此,基于MPC这门密码学技术,多方可以在相互不需要信任的情况下,安全地使用私钥。

3.全同态加密(FHE):强调“如何加密才能找外包”

如同我上篇thread所说,全同态加密(FHE)则应用在:我们如何加密,使得敏感数据加密后,可以交给不信任第三方进行辅助计算,结果仍能由我们解密出来。

上篇传送门:https://x.com/0x_Todd/status/1810989860620226900…

举个例子,Alice自己没有计算能力,需要依赖Bob来计算,但是又不想告诉Bob真相,因此只能将原始数据引入噪音(做任意次的加法/乘法加密),然后利用Bob强大的算力对这些数据进行加工,最后由Alice自己解密出来得到真实结果,而Bob对内容一无所知。

想象一下,如果你需要在云计算环境中处理敏感数据,如医疗记录或个人财务信息,FHE就显得尤为重要。

它允许数据在整个处理过程中保持加密状态,这不仅保护数据安全,还符合隐私法规。

上次重点分析了AI行业为什么需要FHE,那么在加密行业中,FHE这门技术能够带来什么应用呢?

比如说有个项目叫做Mind Network @mindnetwork_xyz

拿到了以太坊Grant,也是币安孵化器的项目。它关注到了一个PoS机制的原生问题:

像以太坊这样的PoS协议,拥有100w+的验证者,自然没什么问题。但是很多小的项目,问题就来了,矿工天生是偷懒的。

为什么这么说呢?理论上,节点工作是:兢兢业业地验证每一笔交易是否合法。但是一些小的PoS协议,节点不够多,而且包括很多“大节点”。

所以,很多小PoS节点就发现:与其浪费时间亲自计算核实,不如直接跟随照抄大节点现成的结果。

这个毫无疑问,会带来非常夸张的中心化。

另外,比如投票的场景同样有这种“跟随”迹象。

比如说之前MakerDAO协议的投票,由于A16Z当年拥有了太多MKR票仓,导致很多时候它的态度对于某些协议起决定性作用。A16Z投票之后,很多小票仓只能被迫跟票或者弃权,完全无法反映出真实民意。

所以,Mind Network利用了FHE技术:

让PoS节点相互不知道对方答案的情况下,仍然能够借助机器算力完成区块的验证工作,防止PoS节点相互抄袭。

or

让投票者在相互不知道相互的投票意向之后,仍然能够借助投票平台计算出投票结果,防止跟票。

这就是FHE在区块链的重要应用之一。

所以,为了实现这样的功能,Mind还需要重建一个re-staking套娃协议。因为EigenLayer本身将来就要为一些小的区块链提供“外包节点”服务,如果再配合FHE,可以让PoS网络或者投票大幅提升安全性。

打个不恰当的比喻,小的区块链引入Eigen+Mind,有点像小国自己搞不定内政,于是引入外国驻军。

这也算是Mind在PoS/Restaking分支上和Renzo、Puffer的差异化之一, Mind Network相比Renzo、Puffer这些起步更晚,最近刚刚启动主网,相对来说没有Re-taking summer那时候那么卷了。

当然,Mind Network也同样在AI分支上提供服务,比如用FHE技术加密喂给AI的数据,然后让AI能够在不知道原始数据的情况下学习、处理这些数据,典型案例包括与bittensor 子网的合作。

最后,再总结一下:

虽然ZK(零知识证明)、MPC(多方计算)、和FHE(全同态加密)都是为了保护数据隐私和安全设计的先进加密技术,但是在应用场景/技术复杂性有区别:

应用场景:

ZK强调“如何证明”。它提供了一种方式,使得一方可以向另一方证明某一信息的正确性,而无需透露任何额外信息。这种技术在需要验证权限或身份时非常有用。

MPC强调“如何计算”。它允许多个参与者共同进行计算,而不必透露各自的输入。这在需要数据合作但又要保护各方数据隐私的场合,如跨机构的数据分析和财务审计中。

FHE强调“如何加密”。它使得在数据始终保持加密的状态下,委托进行复杂的计算成为可能。这对于云计算/AI服务尤为重要,用户可以安全地在云环境中处理敏感数据。

技术复杂性:

ZK虽然理论上强大,但设计有效且易于实现的零知识证明协议可能非常复杂,需要深厚的数学和编程技能,比如大家听不懂的各种“电路”。

MPC在实现时需要解决同步和通信效率问题,尤其是在参与者众多的情况下,协调成本和计算开销可以非常高。

FHE在计算效率方面面临巨大挑战,加密算法比较复杂,2009年才成型。尽管理论上极具吸引力,但其在实际应用中的高计算复杂性和时间成本仍是主要障碍。

说实话,我们所依赖的数据安全和个人隐私保护正面临前所未有的挑战。想象一下,如果没有了加密技术,我们的短信、外卖、网购过程中的信息都已暴露无遗。就像没有锁的家门,任何人都可以随意进入。

希望对这三个概念有混淆的朋友们,能够彻底区分这三门加密学圣杯上的明珠们。

声明:

  1. 本文转载自[0xTodd],著作权归属原作者[0xTodd],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
It seems that you are attempting to access our services from a Restricted Location where Gate is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.