作者:SuningYao,ForesightVentures
TL;DR
零知识证明技术,可以保证计算的完整性、正确性和隐私,在区块链扩容和隐私中有应用。
zk-SNARK和zk-STARK各有优点,而它们的合理结合更加有潜力。
zkVM能赋予应用零知识证明能力,zkVM分为使用主流、EVM或全新指令集。
EVM的适配包括EVM兼容性、等同性和Specification上的适配。
zkEVM是兼容EVM而又零知识证明友好的环境,主要分为原生和编译流派。
基于原生的zkEVM是以太坊和区块链的未来。
支持Solidity生态的通用zkVM是Web3的未来。
零知识证明
不严谨但简单易懂地来介绍一下零知识证明:
你在上小学。老师是验证者,你作为学生是证明者。你如何证明你掌握了一元二次方程的求解公式呢?那就需要数学考试。
老师会随机出10道相关的题目,而你如果掌握了,则可以把他们都做出来。在这个过程中,你没有背诵或者默写求解公式的具体内容,但是老师却可以很简单地验证你的知识掌握程度。
其实这就是Tartaglia与Cardano(对的,就是这个名字)争夺谁是一元三次方程发现者时所采用的方法。他们都不想告诉对方自己公式的内容,但是通过做题,就可以很容易地验证且过程中不透露知识地,判断他们是否掌握了这一知识。
过去24小时内Otherdeed for Otherside系列NFT发生三笔大额交易:5月15日消息,据OtherdeedBot监测,过去24小时内Otherdeed for Otherside系列NFT发生三笔大额交易,其中Otherdeed#51以40ETH成交;Otherdeed#8以125ETH成交;Otherdeed#85720以170ETH成交。[2023/5/15 15:03:44]
零知识证明有什么用呢?用处就是,整个过程可以节省计算算力和压缩链上空间,同时也可以对隐私有保护,符合区块链去信任的特点以及密码学的基因。
SNARK和STARK
区块链领域中所用到或者提到的「zk」通常不是真正的零知识证明,而经常是ValidityProof。由于相关词汇的混乱,所以本文中的某些地方会延续这些「误用」。
在目前的区块链版图中,zk可以说是区块链扩容(不zk的ValidityProof)与隐私技术(真正的zk)的最前沿与最优解决方案,在Tornado.cash、ZCash、zkSync、zk.money、Filecoin和Mina等项目中都有使用。
目前的技术方案主要分为SNARK以及STARK两类。STARK中的S代表可扩展的,意味着被证明的语句有重复的结构,而SNARK支持任意的电路,这些电路被预处理以实现简洁的证明。其中对SNARK的技术实践占据了主导地位,STARK主要有StarkWare在已上线的产品中大规模采用。以下是它们之间的对比。
Polygon Labs总裁:Salesforce已与Polygon合作开展基于NFT的忠诚度计划:3月18日消息,Polygon Labs 总裁 Ryan Wyatt 在社交媒体上称,客户关系管理(CRM)软件公司 Salesforce 已与 Polygon 合作开展基于 NFT 的忠诚度计划,Salesforce 将通过其管理平台帮助其客户加入 Polygon,创建基于 NFT 的忠诚度计划。[2023/3/18 13:12:18]
从Meme的角度而言,STARK比SNARK优秀(?,StarWars,StarTrek)。
如果SNARK是以太坊2.0的未来,那么STARK就会是以太坊3.0的未来。正经的来说,STARK的优势在于:
更低的gas(更能scale)
更大的batchsize(更能scale*2)
更快的证明(更能scale*3)
没有trustedsetup(生成的参数仅对当前的应用有效,若出现了修改需要重新setup)
后量子安全
但是STARK生成的证明的体积更大,并且还大不少,由于比如WASM的一些限制,可能会在构建时需要额外的操作(这里是SNARK)。Mir前段时间在Starky给出了一个AIR-basedSTARK的实践,是Plonky2的一部分(Plonky2和Starky的关系比较复杂。。。)。我个人认为,体积大可以通过各种手法来优化,但是算法本身的时间复杂度是很难再进一步压缩的。
dForce:已向相关执法部门提出诉讼追究本次攻击事件:2月11日消息,dForce 官方在社交媒体上发文表示,dForce 项目方一直在与安全公司以及合作伙伴进行全天候合作,追踪攻击者 IP 地址留下的痕迹并追查被盗资金。
同时,dForce 已向相关执法部门提起诉讼以追究此案。若攻击者归还被盗资金,dForce 此前提出的赏金方案依然有效。目前技术团队正在审查其它 Vaults,将在未来几天内完成安全审查后恢复正常。[2023/2/11 12:00:46]
这些零知识证明技术可以通过合理的结合来构建更强大的应用。比如PolygonHermez就通过SNARK来证实STARK的正确性,从而减少最终发布证明时的gasfee。
总结来说,SNARK和STARK都是优秀的零知识证明技术,各有千秋,而它们的合理结合更加有潜力。
zkVM
前面所说到的Tornado.cash和zk.money类似都是仅支持转账操作的零知识证明应用,不支持通用的计算。类比来说,这些应用都只有比特币的功能,远远不及以太坊的图灵完备,更不要说建生态了(比特币上的智能合约一直没做出生态来)。
zkVM就是一个由零知识证明来保证安全可验证可信特性的虚拟机,简单来说就是,输入旧状态和程序,返回新状态。它能让所有的应用都被赋予零知识证明的超能力。
Miden在ETHAmsterdam的演讲用一张图很好概括了zkVM到底是什么。
外媒:韩国检方已逮捕一名Terraform员工,其被指控进行虚假交易和价格操纵:10月8日消息,韩国检方已逮捕一名 Yu 姓 Terraform 员工,该员工曾为 Do Kwon 的主要助手,其被指控进行虚假交易和价格操纵。
据报道,这是韩国检方在 Terra 案中的首次逮捕行动。(韩国JTBC)[2022/10/8 12:49:15]
zkVM的优点:
易用:开发者不用学密码学或者零知识开发就可以使用zkVM来运行程序保证计算安全(不代表完全无门槛)
通用:zkVM可以给任何程序和计算生成证明。
简洁:相对比较少量constraints就可以描述整个VM(不用重复生成整个VM的电路)。
递归:免费的递归特性。和通用性一样,对VM的验证可以通过VM来进行。这个就挺好玩,比如你可以在zkVM里放一个zkVM,就类似StarkWare说的L3的概念。
zkVM的缺点:
计算架构特殊:并非所有零知识证明系统可以被用来做zkVM。
性能问题:电路需要优化,可以为特定计算进行针对性优化。
现在主流的zkVM有三大类,括号中是它们的指令集:主流(WASM,RISC-V)、EVM(EVMbytecode)、ZK-Optimized(全新指令集,针对零知识证明所优化,比如Cairo和zkSync)。以下是根据Miden在ETHAmsterdam的演讲所整理的类型对比图:
The Information:红杉中国为四支新基金筹集90亿美元资金:7月5日消息,两位知情人士称,红杉资本中国基金已为其四支新基金筹集90亿美元,高于最初的80亿美元目标,最终规模可能是有史以来单一风险投资公司为中国科技初创公司募集的最大资金池。据报道,四支新基金包括投向早期公司的种子基金、投向初创公司的风险基金,以及投资于更成熟公司的两支基金——成长基金和扩张基金。
知情人士称,此次筹资获得了约50%的超额认购,并吸引了美国和其他全球投资者,包括养老基金、大学捐赠基金、家族办公室等基金。(The Information)[2022/7/5 1:52:03]
很多零知识证明开发生态所做的事情大多是让开发者能用Circom库(以及snarkyjs这种)或者其他新创造的语言(Leo或者Cairo这种语言都有奇奇怪怪的限制)来做通用zkDApp的开发,但是没有像以太坊上用Solidity那么直接和易学。
除此之外,还有很多项目,比如zkSync,Scroll,或者Polygon旗下的好多家都在尝试做zkEVM或者其他的zkVM。
EVM
EVM就是以太坊的虚拟机,也可以理解为运行智能合约的一套执行环境。
数年来,各个公链都在不停尝试着去兼容EVM,从而接入到以太坊的开发生态当中。对于这个概念,衍生出了EVM兼容,等同和其他一些定义。
EVM兼容性:Solidity等语言层面的适配。
EVM等同性:EVM字节码层面的适配。
EVMSpecification适配:也就是通常所说的真正的zkEVM,大多情况下甚至是向后兼容的优化后的超集,能提供账户抽象(就是每个账户都是一个智能合约)等EVM没有提供的特性。
zkEVM
我们再来解读一下zkEVM。定义上来说,zkEVM是一种兼容EVM同时又对零知识证明友好的虚拟机,能保证程序,操作,和输入输出等的完全正确性。
对于实现通用计算来说,要做zkEVM主要需要解决两个难点:
a)电路复杂
不同的合约需要生成不同的电路,而且这些电路很「复杂」。
这方面主要就要靠各种优化了,比如Aleo(不过它不是directZK这一类。。。只是为了举例说明优化)通过分布式Cluster来并发计算Proof,或者通过各种硬件上的优化来加速。
b)设计困难
zkEVM不止要对EVM进行重构,对以太坊的整体状态转换都要用零知识证明技术进行重构。
EVM设计的时候就没想到后面要做zkEVM,造成了非常大的困难。导致了有两个门派的路线,都在图里了。
或者说按VM的架构来分,就长这样(超级感谢ScrollTech的原图总结!)。Opcode指的是EVMOpcode。其中StarkWare部分是用Warp来将Solidity转成Cairo合约,或者直接用Cairo写合约,一样能获得不错的开发体验和全套工具。
在开发者和用户层面,这几个方案其实我认为是基本无差别的,但是在基础设施上,越靠右的方案EVM兼容性越好,可以无缝接入Geth等基础设施,但开发进度基本上也越慢。
zkEVM和zkVM
zkEVM的存在我认为是在以太坊生态上去翻新和打补丁,能为以太坊及其生态的繁荣添砖加瓦,而zkVM的存在却不一定是给以太坊做加强,同时也具有更大的想象力。
StarkNet的CairoVM尽管可能不是我想象中最完美的zkVM,但它能比EVM或者zkEVM干更多的事,同时这些不止是停留在EIP级别的功能拓展。CairoVM上可以跑机器学习模型,甚至现在还有机器学习模型平台正在StarkNet上建设。
相比zkEVM,一个zkVM会更加容易被构建(无需担心EVM的技术债),更加灵活(无需担心EVM的更新),更加容易优化(电路和证明器的软硬件优化比构建zkEVM简单和便宜非常多)。
当然zkVM的一个最微小但很致命的缺点就是,如果zkVM无法支持EVM兼容(Solidity语言层面),那么zkVM就很难像EVM一样有最完备和成熟的Web3开发生态。
zkVM或许是更大的趋势,能让对EVM的纵向优化,变成EVM生态的横向拓展,跳出了EVM的限制。
zkVM的未来
如果能有一种通用的zkVM能够让所有编程语言的智能合约,不止是Solidity,不止是Cairo,而是Rust、C++、Go,在零知识证明的加持下安全运行呢?(Stellar尝试过,但失败了。)
正如@kelvinfichter所说的:WhyzkEVMifzkMIPS?正如@KyleSamani所说的:EVMisabugnotafeature。WhyzkEVMifzkVM?
Winterfall或者Distaff或者MidenVM等zkVM都没有做到非常好的开发友好度。Nervos有RISC-V的VM,但是Nervos没有用零知识证明技术。
现状下最优解的方案就是构建一个WASM或者RISC-V的zkVM,最好能支持Rust、Go、C++,甚至Solidity(zkSync好像可以立大功)等语言。如果有这么一个通用zkVM,那么对于zkEVM会是降维打击。
Web3开发者的数量大概占所有开发者的0.07%,也就可以推断出,Solidity开发者的数量实际上会比0.07%更少,会用Cairo写合约或者用Leo写电路就更少了。这样完美的zkVM所针对的是几乎100%的开发者,任何开发者用几乎任何语言都可以得到一个完美的零知识运行环境。
如果Web3和Crypto有统治世界的一天,我认为绝对不会是EVM生态占据100%的所有开发者,而是所有的开发者会慢慢转化为Web3和Crypto开发者。这就是通用的zkVM的绝妙之处。
原生zkEVM是区块链的未来。
通用zkVM是Web3的未来。
整理:麟奇,链捕手“过去24小时都发生了哪些重要事件”?1、LFG:目前持有313个BTC,计划使用剩余资产补偿UST持有者LunaFoundationGuard在推特公布储备资金使用情况.
1900/1/1 0:00:00链捕手消息,NFT投资组合管理平台Evaluate.Market宣布完成400万美元种子轮投资,RhoCapital的IgnitionFund领投.
1900/1/1 0:00:00来源:《连线》杂志编译:EOS生态4BillionDAO原文链接:《https://www.wired.
1900/1/1 0:00:00作者:KariMcMahon据报道,加密货币交易所OKX新上任的市场总监HaiderRafique促成了OKX与英超联赛曼城俱乐部(ManchesterCity)数千万美元的合作.
1900/1/1 0:00:00作者:OneBlock由Parity和Oneblock联合举办的?2022波卡黑客松创业大赛,自5月5日启动以来便引发了行业人士和技术开发爱好者的强烈关注.
1900/1/1 0:00:00链捕手消息,据TechCrunch报道,基于Polygon区块链的可编程NFT解决方案提供商Revise宣布完成350万美元种子轮融资,AlphaWaveGlobal和8i领投.
1900/1/1 0:00:00