以太坊Devcon大会精选!十大关键技术全解析,将彻底改变Web3?
与ZK的差别在于:
- MPC需要多方参与计算,且所有人都能隐藏输入的内容。
- ZK:仅需一方(Prover)生成证明,另一方(Verifier)验证其声明是否正确,无需多方协作。因此Prover需要知道所有计算过程的资料。ZK保障的是SinglePlayerPrivacy。
以下介绍几个MPC的应用与最新研究,展示其在隐私保护与分布式计算中的潜力。
WorldID
WorldID是Worldcoin的核心技术,旨在为每位用户建立独特的数位身份,用以证明个人的「唯一性」。注册过程中,使用者需透过「虹膜扫描」验证身份,确保每人仅能注册一次。这需要将新扫描的虹膜与已注册的数据库进行比对。然而,大量集中存储的真实虹膜数据可能带来巨大的隐私风险。
为解决此问题,Worldcoin与Taceo合作,探索基于MPC的去中心化虹膜比对方案。
技术细节与流程
- 资料的SecretSharing:用户的虹膜扫描资料被拆分为三个SecretShare,分发给三个计算方,确保单一计算方无法取得完整的虹膜资料。
- Hamming距离计算:透过内积运算将用户的虹膜资料与资料库中的虹膜逐一比对,计算Hamming距离并与设定的阈值进行比较。整个过程在MPC框架下执行,确保数据隐私不被泄露。
- 结果聚合:将比对结果以逻辑OR聚合,产生最终的验证结果,判断虹膜的唯一性。
WorldID最大的技术挑战在于计算成本高昂:Worldcoin的使用者数已超过1,600万,每次唯一性验证需要针对庞大的数据库进行线性扫描。在GPU加速环境下,一次验证需要32台NVIDIAH100GPU,峰值网络吞吐量达2.5Tbps。
因此,Worldcoin正积极探索计算资源需求更低但验证严谨度相对较低的替代方案,例如借鉴ZKPassport的护照唯一性证明机制,以在减少成本的同时保持足够的验证可信度。
MPCStats
MPCStats是一个基于MPC的开源框架,旨在实现多方参与的统计计算,同时保护数据隐私。该框架允许多个数据提供者匿名参与计算,结果公开但不泄露个人数据细节。
技术特点
- 隐私保护:数据提供者的资料以秘密共享的方式进行处理,并且在计算过程中保持加密。
- 整合TLSNotary:使用TLSNotary确保输入数据来自可信来源,避免「垃圾输入」影响结果。
- 支持多种统计操作:包括平均值、中位数、吉尼系数等常见统计指标,以及数据筛选和JoinTable操作。
展场Demo
在Devcon展会中,MPCStats提供了一个Demo,让参与者私密分享其BinanceETH余额,计算平均值。数据的完整性由TLSNotary证明,最终生成可信且隐私保护的统计结果。
PublicAuditableMPC
PublicAuditableMPC(PAMPC)是一种结合MPC和零知识证明(ZK)的新型协议,旨在解决现有MPC系统中无法向第三方验证计算正确性的挑战。该协议允许计算方在保护输入隐私的同时,向第三方公开验证计算结果的正确性。
核心概念与技术
- 引入CollaborativeZK-SNARKs:PAMPC使用协作式ZK-SNARKs,将每个计算方生成的部分证明(proof)进行线性聚合产生完整证明,确保计算的正确性可被第三方验证。
- 处理输入一致性问题:在MPC的预处理和在线阶段中,透过对输入数据进行Commit,确保数据的一致性。
- 加速位元运算:传统的SPDZMPC协议对于加法和乘法支持良好,但在处理位元运算时效率低下。PAMPC对SPDZ进行了优化。
应用场景与优势
- 电子投票:在保护选民隐私的同时,提供公开验证机制,增强系统透明度同时保护隐私。
- 去中心化拍卖:确保拍卖结果的公正性,同时保护投标者的隐私。
- 医疗数据与机器学习:PAMPC特别适合于需要多方共享敏感数据的场景,例如多机构合作训练机器学习模型。各机构可以保留数据隐私,同时协作完成模型训练或预测。
- 去中心化游戏:PAMPC可被应用于去中心化游戏中,如狼人杀(Werewolf/Mafia)游戏,通过MPC确保角色分配、投票计算的隐私性与正确性,而不需要游戏主持者(GM)。
Part10:ProgrammableCryptography
0xPARC提出可程式化密码学(ProgrammableCryptography)概念,指出此技术是从「专用型密码学」转向「通用型密码学」的世代革命。
过去,密码学工具为特定用途而设计,如RSA加密、椭圆曲线签章等等。当人们需要新的功能,就必须发明新的密码学协议来满足需求,如GroupSignature协议可以让个人代表一群人签署资料,而不透露具体身份,这与RSA加密演算法的设计有显著差异。
相对而言,可程式化密码学将密码学设计的数学问题转化为工程问题,允许开发者写程式来实现任意密码学操作。以下是一些重要技术:
- 零知识证明(zkSNARKs):证明程式在私密输入上的正确执行,无需泄露输入。
- 多方计算(MPC):在多方私密数据上进行计算,仅揭示最终结果。
- 完全同态加密(FHE):允许在加密状态下执行任意运算,运算结果仍为加密状态。
- 不可区分混淆(iO):将程式加密,让程式可执行但不可解析内部逻辑,被誉为密码学的「圣杯」,因其能构建所有其他密码学工具。
最理想的Internet
可程式化密码学能帮助实现Internet的理想状态,包括:
- 去中心化(P2P):恢复网路对等性,避免数据和计算集中化。
- 隐私保护:让数据拥有者控制其数据使用方式。
- 资料互操作性:不同应用间数据能无缝流转并保持真实性与隐私。
- 信任最小化与无需许可:用数学保证取代对中央机构的信任,任何人均可参与。
例如,MPC与FHE技术让伺服器在完全不了解用户数据的前提下,完成计算任务,同时确保计算结果的可验证性,这代表使用者资料将永远由自己掌控。
以下透过两个例子解释,为何有了可程式化密码学后,能建构理想的社交网路与投票应用。
去中心化Facebook
过去当人们思考去中心化社交网路时,总是想先模仿Twitter,原因是Twitter的机制较为单纯:每个使用者可以公开发布内容,任何人都能看到其他人的内容。然而相较于去中心化Twitter,去中心化Facebook的实现更加复杂,因其数据拓扑和隐私要求更高:
- 隐私设置:用户可能只想让特定好友查看特定内容。
- 朋友的朋友权限:需动态计算贴文可见性范围。
- 推荐演算法(NewsFeed):需要整合多方数据进行运算。
此外,这些应用需要处理隐私的全域状态(PrivateGlobalState),例如推荐演算法的参数可能无任何单一方知晓,但系统仍需保证其正确运行。这些挑战只能透过可程式化密码学解决。
投票系统的技术演进
投票是个很好的案例,因为它需要同时满足许多特性,才能做到公平、隐私且公正。在加入不同的可程式化密码学技术后,能一步步朝向理想的投票系统迈进:
- 将投票上链:将提供公开可验证的投票结果,以及实现抗审查的投票过程。
- 加入零知识证明(ZK):让投票者可隐藏投票内容,保护隐私。
- 加入MACI(MinimalAnti-CollusionInfrastructure)机制:可在计票方不泄漏资讯的前提防止贿选,因为投票者将无法证明自己投票给谁。
- 加入全同态加密(FHE):进一步将需信任的参与方扩展为M-of-N模型,只要M方中有N个参与方是诚实的,就没有人知道谁投票给谁。另一方面可轻易更换投票系统逻辑(如平方投票法)。
- 加入不可区分混淆(iO):将计票程式经过混淆处理,确保就算所有人共谋也都无法知道投票运算细节。
-->> 9/10 文章未完,请继续阅读
以上就是以太坊Devcon大会精选!十大关键技术全解析,将彻底改变Web3?的全部内容,望能这篇以太坊Devcon大会精选!十大关键技术全解析,将彻底改变Web3?可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。