Foresight Ventures: 解读 zk, zkVM, zkEVM 及其未来

TL;DR

零知识证明技术,可以保证计算的完整性、正确性和隐私,在区块链扩容和隐私中有应用.

zk-SNARK和zk-STARK各有优点,而它们的合理结合更加有潜力.

zkVM能赋予应用零知识证明能力,zkVM分为使用主流、EVM或全新指令集.

EVM的适配包括EVM兼容性、等同性和Specification上的适配.

zkEVM是兼容EVM而又零知识证明友好的环境,主要分为原生和编译流派.

基于原生的zkEVM是以太坊和区块链的未来.

支持Solidity生态的通用zkVM是Web3的未来.

0.零知识证明

不严谨但简单易懂地来介绍一下零知识证明:

你在上小学.老师是验证者,你作为学生是证明者.你如何证明你掌握了一元二次方程的求解公式呢?那就需要数学考试.

老师会随机出10道相关的题目,而你如果掌握了,则可以把他们都做出来.在这个过程中,你没有背诵或者默写求解公式的具体内容,但是老师却可以很简单地验证你的知识掌握程度.

其实这就是Tartaglia与Cardano(对的,就是这个名字)争夺谁是一元三次方程发现者时所采用的方法.他们都不想告诉对方自己公式的内容,但是通过做题,就可以很容易地验证且过程中不透露知识地,判断他们是否掌握了这一知识.

Salesforce CEO暗示将进一步裁员:金色财经报道,继本周宣布裁员消息后,知情人士透露,Salesforce共同创始人兼CEO Marc Benioff近日的员工会议上暗示将进一步裁员。Benioff向员工表示,生产力低落主要是因为新进的业务企划人员。

金色财经此前报道,美国软件巨头Salesforce试行NFT服务,计划在10月全面推出[2023/1/8 11:00:15]

零知识证明有什么用呢?用处就是,整个过程可以节省计算算力和压缩链上空间,同时也可以对隐私有保护,符合区块链去信任的特点以及密码学的基因.

1.SNARK和STARK

区块链领域中所用到或者提到的“zk”通常不是真正的零知识证明,而经常是ValidityProof.由于相关词汇的混乱,所以本文中的某些地方会延续这些“误用”.

在目前的区块链版图中,zk可以说是区块链扩容(不zk的ValidityProof)与隐私技术(真正的zk)的最前沿与最优解决方案,在Tornado.cash,ZCash,zkSync,zk.money,Filecoin,和Mina等项目中都有使用.

目前的技术方案主要分为SNARK以及STARK两类.?STARK中的S代表可扩展的,意味着被证明的语句有重复的结构,而SNARK支持任意的电路,这些电路被预处理以实现简洁的证明.?其中对SNARK的技术实践占据了主导地位,STARK主要有StarkWare在已上线的产品中大规模采用.以下是它们之间的对比.

流动性控制协议Llama Airforce后端代码现已开源:9月20日消息,DeFi Llama旗下流动性控制协议Llama Airforce的后端代码现已开源,包括API服务器、Azure Functions、贿赂分析等,此前已于9月初将前端代码开源。[2022/9/20 7:08:10]

从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的关系比较复杂...).我个人认为,体积大可以通过各种手法来优化,但是算法本身的时间复杂度是很难再进一步压缩的.

ForTube与IoTeX达成战略合作,已完成主网部署并将开启流动性激励计划:官方消息, ForTube与IoTeX达成战略合作,将在DeFi生态建设、跨链合作、市场拓展等领域展开合作。?ForTube 已完成在IoTeX的主网部署,将开启流动性激励计划。?

作为去中心化的数字资产银行,ForTube产品已覆盖ETH,BSC,OEC,Polygon和Abitrum网络。ForTube IoTeX版本首期将支持IOTX,wBTC, ETH,USDC,USDT,BUSD,FOR七个币种的存借取还。?

IoTeX是与以太坊全兼容的高性能公有区块链,于近日发布了MachineFi白皮书,正式开启百亿机器金融新时代。IoTeX正在构建一个DeFi应用生态系统,允许不同区块链之间的跨链交易,如跨链通证交换、NFT、供应链凭证、去中心化身份等。[2021/12/3 12:48:00]

这些零知识证明技术可以通过合理的结合来构建更强大的应用.比如PolygonHermez就通过SNARK来证实STARK的正确性,从而减少最终发布证明时的gasfee.

总结来说,SNARK和STARK都是优秀的零知识证明技术,各有千秋,而它们的合理结合更加有潜力.

2.zkVM

前面所说到的?Tornado.cash?和?zk.money?类似都是仅支持转账操作的零知识证明应用,不支持通用的计算.类比来说,这些应用都只有比特币的功能,远远不及以太坊的图灵完备,更不要说建生态了(比特币上的智能合约一直没做出生态来).

zkVM就是一个由零知识证明来保证安全可验证可信特性的虚拟机,简单来说就是,输入旧状态和程序,返回新状态.它能让所有的应用都被赋予零知识证明的超能力.

加密浏览器Brave整合PhishFort开源技术防止加密钓鱼攻击:9月9日早间,加密浏览器Brave官方发推宣布,已整合网络安全公司PhishFort的开源解决方案,防止网络钓鱼攻击。此后Brave将检测加密局,并警告用户有关的可疑域名。[2020/9/9]

Miden在ETHAmsterdam的演讲用一张图很好概括了zkVM到底是什么.

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的演讲所整理的类型对比图:

声音 | “华尔街之狼”Jordan Belfort:比特币的末日即将来临:据ethereumworldnews消息,“华尔街之狼”原型Jordan Belfort日前表示,比特币的末日即将来临,建议BTC持有者在价格崩溃之前离开市场。但他同时表示,尽管他对于BTC的立场是消极的,但认为BTC和其他数字货币背后的技术有着巨大的潜力。此前他曾在访谈中表示,比特币价格的上涨归因于疯狂的投机行为,它最终会崩溃并归零,但在崩溃前或许会达到5万美元。[2018/6/26]

很多零知识证明开发生态所做的事情大多是让开发者能用Circom库(以及snarkyjs这种)或者其他新创造的语言(Leo或者Cairo这种语言都有奇奇怪怪的限制)来做通用zkDApp的开发,但是没有像以太坊上用Solidity那么直接和易学.

除此之外,还有很多项目,比如zkSync,Scroll,或者Polygon旗下的好多家都在尝试做zkEVM或者其他的zkVM.

3.EVM

EVM就是以太坊的虚拟机,也可以理解为运行智能合约的一套执行环境.

数年来,各个公链都在不停尝试着去兼容EVM,从而接入到以太坊的开发生态当中.对于这个概念,衍生出了EVM兼容,等同和其他一些定义.

EVM兼容性:Solidity等语言层面的适配.

EVM等同性:EVM字节码层面的适配.

EVMSpecification适配:也就是通常所说的真正的zkEVM,大多情况下甚至是向后兼容的优化后的超集,能提供账户抽象(就是每个账户都是一个智能合约)等EVM没有提供的特性.

4.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等基础设施,但开发进度基本上也越慢.

5.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的限制.

6.zkVM的未来

如果能有一种通用的zkVM能够让所有编程语言的智能合约,不止是Solidity,不止是Cairo,而是Rust,C++,Go,在零知识证明的加持下安全运行呢?(Stellar尝试过,但失败了.)

正如?/img/20230515175958278190/7.jpg "/>

如果Web3和Crypto有统治世界的一天,我认为绝对不会是EVM生态占据100%的所有开发者,而是所有的开发者会慢慢转化为Web3和Crypto开发者.这就是通用的zkVM的绝妙之处.

原生zkEVM是区块链的未来.

通用zkVM是Web3的未来.

作者:SuningYao@ForesightVentures

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

MEXC关于比特币哪些该归侦查机关管?

写在开始:这篇文章从性质上来讲,属于笔者从现行法律法规和经历为出发点,结合自身对比特币行业情况了了解,发表一点感想,不具有任何指导意义,也绝非对现实情况的评判,更不构成任何投资建议.

[0:0ms0-1:865ms