以太坊Devcon大会精选!十大关键技术全解析,将彻底改变Web3?
ZuPass
ZuPass是由0xPARC推出的一个实验性应用,基于可程式化密码学(ProgrammableCryptography)的概念设计,旨在帮助使用者实现对自身资料的自主管理与跨平台互操作性。ZuPass的核心是Proof-CarryingData(PCD),使用者可以在保护隐私的前提下安全储存并证明其数据的有效性。
以下介绍几个在本次Devcon会场的ZuPass应用。使用ZuPass的应用又被称为ZApp
Devcon门票验证
ZuPass在Devcon活动中被用来验证与会者身份,其原理如下:
- 使用者的Devcon票券以PCD的形式存入ZuPass。
- 当需要进场时,使用者可透过ZuPass生成零知识证明(Zero-KnowledgeProofs,ZKProof),证明自己持有有效票券而无需透露身份细节。
- 此外,还能用于基于身份的Telegram群组验证,确保只有符合条件的成员可以加入特定群组。
FrogCrypto
FrogCrypto是一个基于ZuPass的有趣应用,让参与者在展场中搜集各种类型的青蛙,并生成证明来展示自己拥有的青蛙。其特色在于
- 资料自主权:参加者完全掌握自己的青蛙数据。
- 互操作性:开发者可以基于使用者拥有的青蛙资料创建新应用,例如允许使用者将两只青蛙合成为新的青蛙。这与传统Web2生态的封闭API截然不同,使用者和开发者不再受限于中心化平台的规则与改动。
Meerkat
Meerkat是促进讲者与听众互动的ZApp,结合了Slido问答功能与ZK技术,实现匿名互动。其功能包括:
- 即时发起问答或投票,讲者和听众能在保护隐私的同时提升互动性。
- 使用者可透过ZuPass登入并生成互动所需的证明,而无需暴露个人资讯。
ZuPass的整合方式
ZuPass提供方便整合的SDK,达成类似GoogleOAuth的方便整合SDK:
- 用户授权:应用整合ZuPass后,会跳出ZuPass弹窗供使用者登入并选择授权哪些资料的读写权限。
- 资料请求与验证:授权后,应用可向ZuPass请求特定资料的证明,或对应用程式中记录的数据进行读写操作。
POD与GPC技术
ZuPass建立在两个关键技术之上:ProvableObjectData(POD)与GeneralPurposeCircuit(GPC)。这两项技术支撑了像是Meerkat、FrogCrypto和Devcon门票验证等应用,实现了数据的隐私验证与互操作性。
POD是一种以密码学为核心的数据格式,专为零知识证明设计。GPC则是一种模组化电路,能根据POD的结构生成灵活且高效的ZK证明。
POD的设计与技术基础
- MerkleTree结构:每个POD都是一个扁平的key-value键值对结构,透过MerkleTree压缩成一个唯一的ContentID,用于标识数据的完整性与来源。
- 签名与验证:POD的ContentID由发行者使用ECDSA签名。
- 零知识证明友好性:采用ZK-friendly的PoseidonHash函数与模组化数据格式,以加速生产POD的零知识证明
GPC的模组化电路设计
GPC是针对POD设计的通用电路,只需单一电路即可产生基于POD灵活的零知识证明。其设计基于模组化架构,包含:
- ObjectModule:验证POD的ContentID与签名的一致性。
- EntryModule:检查POD内容的MerkleProof。
- NumericValueModule:进行数值比较与范围检查。
- MembershipModule:验证栏位是否在指定列表中。
POD的不足与挑战
尽管POD系统具有灵活性与隐私保护能力,但其仍存在以下限制:
- 单用户技术(SinglePlayerTechnology):POD的设计限制了其只能由用户本人生成与证明,无法支持隐私保护的多用户协作运算。
- 无法递回证明:POD生成的证明仅能被验证,而不能用于生成基于该证明的进一步证明,限制了其应用深度。
- 与现有系统不兼容:资料生产方需要调整系统来生成具签名的POD,无法直接应用于现有的Web2资料。
POD2的诞生与改进
为了解决POD1的缺陷,POD2系统应运而生,其引入了「Proof-CarryingData(PCD)」的概念,使所有数据都带有可验证的证明,并支援多方运算:
- 支援多用户隐私协作:POD2引入了多方计算(Multi-PartyComputation,MPC),允许多方基于隐私POD数据进行联合运算并生成新POD。例如,两位用户可共同计算某条件是否成立,而无需泄露各自的数据细节。
- 递回证明与计算:POD2的证明支持递回计算,允许生成基于现有证明的新证明,构建深度计算图。
并且POD2框架支援开发者将任意的Web2资料转换为POD格式,以解决POD与既有系统不兼容的问题,称为「UniversalDataAdapter」。例如开发者可将来自ZKEmail、TLSNotary等Web2系统的资料转换为POD格式的ProofCarryingData,让所有系统的资料产生互通性,实现不同系统间的无缝整合。最大的好处在于完全不需修改既有Web2系统的资料产生逻辑。
POD2的技术挑战在于,需依赖于多方全同态加密(Multi-PartyFullyHomomorphicEncryption,MP-FHE)实现多个POD2之间的共同隐私运算。
PEX语言
0xPARC也发明了类似Lisp的PEX语言,用于描述POD2的数据结构与条件:
[createpodid-card age26 zip-code12001 id1847202750][>age18]
提供简洁且直观的语法,使开发者能快速建立基于POD的应用。
FrogZone游戏
FrogZone是0xPARC在Devcon展示的技术游戏,旨在实践最尖端密码学应用,展示全同态加密(FullyHomomorphicEncryption,FHE)和多方计算(Multi-PartyComputation,MPC)技术如何结合,创造出具隐私保护和分布式特性的应用环境。这款游戏作为首个多用户MP-FHE应用,为分布式隐私计算和应用开发提供了重要的技术示范。
游戏玩法
- 玩家数量:最多支持4位玩家同时参与。
- 可见范围:每名玩家只能观察自己周围5x5方格内的地图,一开始玩家互相看不见。
- 地图大小:32x32格子,其中包含怪物、地形障碍以及装备等互动元素。
- 玩家可选择移动、攻击怪物或捡取装备,提升自己的攻击力与防御力。
- 游戏中的怪物会随机移动,增加挑战性和游戏趣味性。
- 玩家需在探索地图的同时攻击怪物,以争取获得最高分数。
技术核心:Multi-PartyFullyHomomorphicEncryption
- FHE是一种允许在加密数据上直接进行计算的密码学技术。运算结果仍保持加密状态,只有持有解密密钥的一方可以获取结果。核心特性是「可计算性与隐私性共存」。
- 将FHE与MPC结合可以将FHE的能力扩展到多方环境,使多名参与者可以在共享的加密状态上进行协作计算。在FrogZone游戏中,每名参与者持有部分加密状态的分片,并通过MPC协议协同完成伺服器功能的模拟。
- 整个游戏的状态是由四台使用者的机器,加上五台在AWS云端的机器共同维护与计算,没有任何一台机器能解密出完整的游戏状态。由于是九台机器一起运算游戏状态,就像产生了共同的「幻觉」,也因此这个运算过程被称为HallucinatedServer
- 每次玩家发出移动或攻击指令时,该指令以加密形式发送至伺服器。伺服器在加密环境中执行状态转换函数,生成新的加密游戏状态。
- 完成操作后玩家请求可见范围(5x5)的加密数据,并通过多方协作解密获取结果。
技术挑战与限制
- 运算成本高昂:每个二进制逻辑门的运算耗时约10毫秒,比传统计算慢10亿倍,而且每1bit明文需要约3,000bit的加密资料表示。FrogZone动用5台AWS最高规格的192CoreCPU的机器,每小时花费200美金,但每个玩家只能每四秒操作一次。
- 开发模式的转变:MP-FHE仅支持电路模型,而非传统记忆体模型,开发过程中需要平行模拟所有可能的操作分支。例如,当玩家尝试移动时,伺服器需同时计算所有可能的移动结果并选择正确的分支。若要使用记忆体模型,需使用ObliviousRAM以确保隐私地存取记忆体内容
- 多方解密的频宽成本:每次玩家请求5x5可见范围内容时,需由四台本地客户端协同解密,导致解密过程高度依赖多方同步,对网路频宽要求极高。
未来展望
FrogZone展示了利用全同态加密和多方计算技术实现隐私保护和去中心化应用的可能性。虽然当前技术仍面临性能和开发难度的挑战,但这就如同1960年代的电脑,虽然庞大且效率低下,却是开创现代计算时代的起点。FrogZone的意义在于,它象征了ProgrammableCryptography的雏形,为未来理想化的网际网路铺平了道路。
随着ProgrammableCryptography技术的发展,未来的网际网路将实现去中心化、自主性和隐私保护的目标,建立一个真正属于用户的数位世界。这个世界将带来更安全、透明且自由的数位生活,每个人都将能完全掌控自己的资产、资料与身份。
-->> 10/10 文章结束,返回第一页
以上就是以太坊Devcon大会精选!十大关键技术全解析,将彻底改变Web3?的全部内容,望能这篇以太坊Devcon大会精选!十大关键技术全解析,将彻底改变Web3?可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。