Cipholio 深度分析:漫谈ZKVM的方案及未来

TL; DR

1、ZK的技术具有隐私和扩容两个最主要的使用场景,当我们讨论隐私的时候,我们利用ZK技术保护链下数据,不被获取;而当我们讨论扩容的时候,我们则是利用ZK节省链上计算空间。举个例子,如果我要确认某个账户有100块钱,传统区块链的方式是让每个节点都确认一遍,而现在我只需要一个节点,在保证数据完整性的前提下,找到最近净流入100块的凭证,即可证明账户有100元,区别就是前者需要大量计算和证明,后者只需要链下证明。

2、ZKVM发展的核心权衡在于是发挥ZK潜力重要,还是发挥目前开发者资源重要。围绕着发挥ZK潜力,意味着CPU寄存器的硬件加速,IR语言和assembly语言的再组织;而围绕着利用开发者资源,则意味着Solidity转化bytecode后,如何将Bytecode所映射的opcode,进行ZK证明的问题。

3、按照模块化区块链的观点,L1解决共识问题,L2解决计算和执行问题,DA层解决数据可得性和完整性的问题。由于Zk类的L2其证明。

4、以assembly 语言独立设计ZK证明的专用型的ZKapp,由于具有较低的可组合性和解耦能力,将在未来的发展过程中面临很大的阻碍。这些方案由于和其他ZK方案不兼容VM,不兼容语言,不兼容,存在较大的调用难度。

5、依赖,时间序列的交易Log,数据安全性和证明的完整性决定了其执行的可靠性。在目前ZK方案大部分闭源的状态下,ZK安全审计有很大的发展前景。

6、由于ZKP依赖链下数据,交由DA链则会失去数据的隐私性。想要兼容数据隐私性和ZK证明节点不作恶,就需要新的解决方案。我们看好未来诸如MPC/FHE等安全计算方案。

7、随着不同Circuit的不断成熟,Zk证明可能也会迎来提效和分工,ZK证明的硬件提速方案,以及专业的ZK矿工也可能应运而生。

8、ZKP经验局限性问题。典型问题包括:约束系统(constraint system)无法有效约束数据,当证明一些复杂交叉的命题时,约束面临不够充分的问题;私有数据泄露,私有数据当做公开数据处理;针对链下数据的攻击,合约层的“metadata-attack”;ZK证明节点的作恶等等。

9、短期来看,ZK方案的安全性存在局限,目前大量的共识还是建立在链下节点的自律上,缺乏一系列必要的工具(测试,证明,等等),来保障链下环境的安全性。

 

概览

 

一直以来ZK技术由于其重峦迭嶂的专业术语,使得人们难以对这一主题充分讨论。本文将着重从生态发展角度,来分析ZK技术和其应用场景,描述目前ZK相关的竞争格局,并为未来发展的方向做一些畅想。本文着重讨论:

  1. 当我们在讨论ZK技术的时候我们在讨论什么?(知识铺垫,机构投资者可以从第二部分开始读。)
  2. 从技术发展角度看待gzkvm(generalized zk vm)的发展规律和结构?
  3. 目前主要ZKvm技术方案的比较?
  4. 分析和展望

 

一、虚拟机ABC–从日常计算机说起

 

在介绍ZKEVM相关的知识以前,我想先从我们日常的计算机的结构讲起。我们都知道计算机分为软件和硬件两部分,为了让软件顺利的在硬件上运行,我们需要为软件匹配适宜的运行环境。从结构来看,运行环境由【硬件+操作系统】两部分组成。

其中黄色部分为硬件,绿色部分为操作系统。这里可能有同学会提出疑问:为什么运行环境不等价于操作系统,这主要是因为操作系统难以兼容所有的硬件,只有操作系统和硬件的匹配才能为软件提供服务。这个问题,我们再后面ZKVM的发展路线钟,还会提到。

有了运行环境,我们还需要具体的软件(程序/app)才可以实现具体需求。那么程序是怎样跑起来的呢?

从图上我们可以看到,软件经操作系统交由硬件层来进行计算的整个流程,在过程中程序语言经过了三个阶段的变化,高级语言用来写程序完成实际需求,汇编语言用来和计算机沟通,底层本地代码(16进制数)由计算机具体执行。具体来看,程序员完成APP的代码后,经由转译器翻译成obj(目标语言),这些离散的目标语言,将会通过操作系统中的Linker得以链接,两者输出可执行的exe文件存储在硬盘中。

当运行的时候,exe文件会将数据放入内存,经由CPU将Obj转化为本地代码(字节码)进行计算操作,实现app的I/O。这一过程中存在非常多的选择,多样的语言,多样的操作系统,多样的硬件,从商业角度面临了非常多的Tradeoff,而这些选择最后便体现在编译器内核LLVM(low level virtual machine)的改进中。

下图我们可以看到,硬件(黄色)和操作系统之间有多种对应关系和限制条件:

同一类型的硬件可以安装多种操作系统,不同硬件需要匹配不同类型的操作系统。例如, 同样的 AT 兼容机 A …

风口上的ZK,预期拉满的资本游戏

电影《让子弹飞》中有这样一个情节,为了让人相信自己没有多吃一碗凉粉,六子剖开肚子,以性命为代价证明了自己的清白。

在这里,六子是证明者,围观群众是验证者,六子证明的方式是看腹中究竟有没有多一碗凉粉。然而,这种证明方式的代价是六子的生命。

上述例子就是一个典型的证明难题。

第一,若要保证验证的有效性,证明者必须分享知识(上述例子中,与知识对应的就是六子肚子内的情形),证明者若要通过验证,需要将知识告知验证者,而告知知识往往是有代价的。

第二,若验证无效,验证者将面临欺诈风险。举个例子,在法庭上,如果被告能在开庭前获得控方律师所有的提问,那么他极有可能成功编造出一个完美的故事骗过对方。

最初的解决办法是,引入第三方,将验证过程公开化,以此调和知识所有权与使用权间的矛盾。然而,即便如此,对于具有排他性的知识(比如密码),一旦出让使用权,也即丧失了所有权。有没有不需要动用知识的验证方式呢?

零知识证明的诞生

时间来到1985年,S. Goldwasser 博士毕业后来到 MIT,与 S. Micali,Rackoff 合写了一篇载入史册的经典论文《交互式证明系统中的知识复杂性》,零知识证明(zero-knowledge proof)问世。

此后,证明过程无需“知识”获得了理论支撑,简单来说,通过零知识证明,既能保守秘密,又能让别人相信你。

只是由于效率和适用性上的短板,很长一段时间内,零知识证明仅仅停留在学术理论层面,或者只能用于特定项目,直到邂逅区块链。

零知识证明两大关键词:保守秘密,即“不泄露信息”;让别人相信你,即“证明论断有效”。

这两个特点恰好被区块链所需要:

隐私:区块链网络的共识要求一切公开透明,隐私保护成为问题。

在隐私场景中,借助零知识证明“不泄露信息”的特性,可以在不泄漏交易的细节(接收方,发送方,交易余额)的情况下证明区块链上的资产转移是有效的。

 

扩容:区块链去中心化的特点,使验证成为不可承受之重,轻量化的证明成为刚需。

在扩容场景中,主要利用“证明论断有效”这个特性,链上资源是有限的,所以我们需要把大量的计算迁移到链下进行,零知识证明正好可以证明这些在链下发生的动作是可信的。

早在2016年,专注于链上隐私保护的ZCash就正式发布,通过零知识证明,ZCash完成交易验证,而无需公开全部交易信息(发送人、接收人、交易量)。不过,经过多年发展,ZCash仍是不温不火。

原因也很简单,尽管隐私很重要,但当前的区块链用户,还远没有建立广泛而强烈的隐私意识,不敢露富,还不敢露穷么?

目前,隐私并不是刚需,扩容才是,特别是对于以太坊而言。

ZK与Rollup的结合

从底层协议来看,链上交易的成本必然高昂,因为要实现充分的去中心化和安全,必须有足够多的节点进行重复验证。

随着区块链应用的扩展,同步一个节点的时间越来越长,越来越庞大的链上数据量拉高了硬件的要求,大多数家用计算机甚至连节点的基本要求都达不到,像以太坊这样用途广泛的公链,其节点数量也只有一万余个,且大多数被托管在亚马逊 AWS 上,与去中心化的初衷背道而驰。

相较于隐私保护,区块链的可扩展性,显然更有意义。

只要实现了可扩展性,那么就既可以维护“去中心化”的政治正确,同时可以降低gas。

2017年8月,以太坊联合创始人Vitalik Buterin和Joseph Poon,共同提出了初代扩容解决方案Plasma。

然而,Plasma无法提供和主链同等的数据可用性和安全性,很快遭遇全面溃败,开发者又将眼光放在了 Rollup 技术上。…

熊市,回归范式变革的公式寻找投资机会

范式变革的公式

范式变革发生的公式在1769年第一次工业革命发生后两百多年不断被验证,蒸汽机,交流电,互联网以及比特币。

范式变革发生的公式在1769年第一次工业革命发生后两百多年不断被验证,蒸汽机,交流电,互联网以及比特币。

需求和技术不能独自成功

1.5万亿美金市值的Amazon,最早是线上售卖图书的公司,Bezos发现图书市场巨大,但集中度很低,中间商抽成和实体店铺成本很高。

这里用户的需求是:1. 更低的价格;2. 更多的书目;3、更快地检索书目。

而技术是如何匹配这些需求的:1. 互联网商业不需要实体店铺成本,且承担更少的人工成本;2. 相比实体书店有限的面积,互联网的存储空间几乎是无限的;3、电子检索无限缩短了寻找书目的时间。

世界上最大的独角兽字节跳动,其子公司Tiktok的收入已经超过了Twitter和Snap的总和。创始人张一鸣的初衷是用算法将内容推送给用户,他尝试了漫画,笑话,新闻和短视频等内容,均取得了不同程度的成功,其中短视频app开创了一个新的互联网时代。

这里用户的需求是:1. 多样化的内容;2. 承载更多信息的内容;3. 符合其喜好的内容;4. 基于喜好的社交关系。

在张一鸣初次融资的时候并未获得很多VC的认可,沈南鹏采访中讲述主要原因有两点:1. 基于算法的内容推荐模式之前没有成功过。2. 其他巨头也在做同样的尝试。

字节跳动的成功离不开技术的支持:1. 张一鸣开发出了更加符合用户需求的算法。2. 4G带来更快的网络体验使得在线观看短视频成为可能。3. 短视频承载了比文字、图片、声音更多的信息。4. 高频的内容加载能够让算法获得更多的数据,从而快速优化推送结果。

这两个例子看起来技术决定了范式变革是否发生,这也是我们常说的,技术革命带来商业革命。让我们找一些即使技术足够,但仍因为缺乏需求而失败的例子。

  • Segway平衡车,曾因北京奥运会中记者驾驶它撞翻短跑世界冠军Usain Bolt,于2020年停产
  • 各种新型的医疗器械没有获得市场认同,很大程度上是因为医生需要的是更多的病人,而不是更酷的手术室

CB Insights曾经列举了20个创业失败的原因,其中最大的原因是没有分析需求就贸然开发产品,占比达到42%。

叙事是人类社会的纽带

1. 叙事的重要性

先引用Everett Rogers的创新扩散理论模型,用户从知晓(Awareness)到接纳(Adoption)会经历一个斜率从低到高又降低的过程。在完整的创新周期中,传播也是螺旋上升的。

叙事(Narratives)在人类社会变革中至关重要。叙事是社会组织信任的基础,Yuval Noah Harari 在他的《人类简史》一书中写到,智人在七万年前已经可以通过语言传递存在和不存在的事物。叙事让人们信服神明,也可以为了不认识的老板工作。叙事也是人类知识转移和存储的一种核心方式。通过不断地重复和传承,叙事不断强化,指引着人类的行为。古希腊的人本精神和儒家文化时至今日依然对东西方的国家,政府和工业产生着巨大的影响。

在Crypto世界中,叙事(Narratives)能力同样常常被我们提起,Gavin …

为什么Web3需要隐私计算?

从人类有自我保护意识开始,关于隐私话题的探究就没有停歇过,尤其是在科技高度发达的当下,这种情况愈演愈烈,而在区块链技术发展的盛潮中,项目方又以最大化去中心化和最大化隐私为终极目标,这就给社会提出了更高的要求,如何保证二者并行不悖的发展,又如何平衡安全和隐私的量差,是我们必须要面对的话题,本质来说,加速发展隐私技术是Web3能够安身立命的时代课题。

Web3为什么需要隐私计算

隐私始终是保护用户权利和扩大加密市场的基础,是Web3的重要方向之一。在开放及用户主导的Web3时代,隐私保护将会是一种标配。从我们日常生活来说,我们都经历过保护秘密的小心翼翼,如一本记载心情的日记本、一个不透露身份分享秘密的树洞,它们代表着我们的主动保护隐私的诉求。随着交互活动需求的增加,我们需要被动的提供自己的一些关键信息,脱离自己可控范围的外部保障,对隐私信息不被传播作恶就显得尤为重要。但很多的现实情况是,随着越来越多解析工具的出现,以及中心化平台对用户信息的把控,隐私信息泄漏问题变得越来越严重,就像Facebook这样的互联网巨头也在隐私泄漏问题上屡被点名。

Web3主张捍卫用户权利,从中心化的模式中放权于普通大众,打造去中心化的价值互联网。那么在这样的需求背景下,隐私数据泄露、个人信息被贩卖的问题就要加紧解决,真正扭转用户在Web2中的负面现状。Web3时代的隐私既要保密又要匿名,在实际的操作中,包括数据隐私、身份隐私、计算隐私,这是一个非常宏大的课题,在过往的发展中数据隐私和身份隐私的解决方案相对来说逐渐成熟,基本能保证数据内容的隐私交易,以及物理身份和数字身份的隔断。而在计算隐私方面,它的科技水准要求更高,发展的进程也相对缓慢。这一赛道也是行业抱有探索和深挖态度的角逐地带。

隐私计算类型

具体来讲,隐私计算包括有多方安全计算(MPC)、零知识证明、可信执行环境(TEE)等,下面我们就几个隐私计算名称简单解释帮助大家理解。

可信执行环境(Trusted Execution Environment)是CPU内的一个安全区域,通过软硬件的方法构建的一个独立环境,且可以与外部的操作系统并行运行,即在这个环境中运行的受信任的应用程序可以访问内部CPU和内存的全部功能,而硬件隔离又可以同步保护内外部程序隐私和安全运行,可信执行环境还是以可信硬件为载体,就像内嵌了黑盒,操作者可用不可见。这里可以用我们熟悉的历史剧中的皇宫来类比,作为天子的皇上,它会被很好的保护在一个区域内,除了外部高耸的宫墙,还有一些武艺高超的带刀侍卫等等,都是为了保护皇上的安全,而在外部沟通上,通过中间人传输,可以同步处理和了解内外部信息,这也就是可信执行环境的构建。当然,也还是会有“刺杀”时刻出现,所以为了提高安全系数,可信执行环境会采用多方安全技术进行升级保护。

多方安全计算(Secure Muti-Party Computation)是密码学应用的一类,由图灵奖获得者姚期智教授在1982年发表的《安全计算协议》中提出,是应用约定函数算法解决两者单向间验证问题的一种解决方法。这里面既要有多方参与者的共同参与,去中心化,且能在保证多方信息或数据安全的前提下进行。譬如我们要去保险箱中取一件价值连城的宝贝,那么打开这个保险箱需要在场或保管的多个人共同协作才能取出,且这个协作每次的解法都是不同的,人们无法篡改,也不能提前透露。这完完全全保证了密码安全。当然,多方安全技术涉及的参与方较多,需要附加的技术相应更多,在技术升级和安全保障上需要更多的考验。

零知识证明(Zero-Knowledge Proof)同样是密码学应用的一支,比较通用的解释是证明者能够在不向验证者提供任何有用的信息情况下,使验证者相信某个论断是正确的。就是这个过程是可信的,但验证者除了知晓结果正确,对于真正的密码是无从可知的。我们可以从魔术师变魔术来理解,作为观众我们接受了它的魔术结果,即相信了“变”的结果,但到底它是如何操作的,我们仍旧想不明白也不能解出答案。这种神奇的加密过程就是零知识证明的神奇之处,如今很多的区块链项目都在采用零知识证明这种隐私计算方法,最近加密风投机构a16z在官网宣布推出的空投工具便使用零知识证明技术,使得加密项目方向活跃贡献者发放空投时保护贡献者的地址隐私。

联邦学习是以AI为基础的技术。诞生背景是为了保障大数据交换的信息安全、终端数据和个人数据隐私。针对不同数据集,联邦学习分为横向联邦学习、纵向联邦学习和联邦迁移学习。2022年,隐私计算商业化和算法迭代双提速,以联邦学习为代表的隐私计算正在成为解决数据安全与开放共享之间矛盾的重要技术路径。吸引了微众银行、浦发银行等金融机构的注意力,他们纷纷表示,联邦学习将推动隐私计算技术进一步融合。

(联邦学习算法 图片来源网络)

隐私赛道项目

以上提到的隐私计算技术并不全面,也无法做到很精准的解释,仅作为认识隐私计算的“配菜”,其中的技术深奥且复杂,我们也无需深度探究,我们应该认识到其作为一种刚需存在,已经吸引越来越多的机构或项目方入局,我们可以从这些项目上更具象的了解隐私计算。

(图片来源网络)

Oasis于2018 年创建,一直致力于构建一个高性能、安全且保护用户隐私的区块链网络。该网络设计了独有且机密的 ParaTime,并支持智能合约机密执行。具体的ParaTime中,Oasis采用了可信执行环境(TEE)这一安全计算技术,来充当机密Paratime中智能合约执行的黑匣子。加密的数据与智能合约一起进入黑匣子,数据被解密,由智能合约处理,然后再进行加密,然后再将其发送到TEE中,以保证数据始终保持机密。目前,Oasis正在不断支持如多方安全计算及联合学习等计算技术,不断夯实隐私计算公链的应用价值。

Iron Fish是一家加密货币交易服务提供商,目标是将包括交易信息、挖矿信息、钱包信息全都能够进行隐私保护,任何第二方都无法查看。该项目采用的核心隐私计算技术是零知识证明的zk-SNARK Groth16的Sapling证明,Iron Fish为实现加密通用隐私层的目标,计划网络层将支持 WebRTC 与 WebSockets,这就意味着用户可通过浏览器直接运行完整的 Iron Fish 节点。来源Iron Fish生态建设的最新消息,首个激励测试网已正式结束,共吸引 9000 多名贡献者参与,接下来将公布和开启对主网进行压力测试及其他准备工作激励性测试网第二阶段。

目标定位下一代隐私基础设施的Nym,意在防止现有互联网协议的数据泄露。该项目自立项以来备受资本市场青睐,吸引了包括a16z、DCG、HashKey等机构的投资。该项目构建了混合型网络,实现隐私保护路径的第一步是将流量数据格式改变,再利用混合网络中的各个混合节点混淆进入网络中数据的顺序,最后使用混合网Mixnet的匿名叠加式网络生成虚假的掩护流量。使用 Nym后,您可以使用互联网而不必担心被监视。甚至抵御可以监控整个互联网的“强大对手”。

(Nym隐私保护流程 图片来源网络)

除了公链基础设施的搭建,隐私计算技术还落地于匿名币、数据隐私、隐私交易网络等板块,当然,大部分隐私基础设施及应用仍在开发与建设当中,至于隐私技术何时迎接突破性发展的下一里程,只能由时间给出答案了。

本文来源:WebX实验室…