链资讯 链资讯
Ctrl+D收藏链资讯
首页 > MANA > 正文

CODE:Cipholio 深度分析:漫谈ZKVM的方案及未来_门罗币cpu挖矿收益计算器

作者:

时间:

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

The Sandbox与Cipriani达成合作拟推出“虚拟威尼斯”元宇宙:金色财经报道,元宇宙公司The Sandbox宣布与意大利高端酒店品牌Cipriani达成合作,拟推出具有互动功能的“虚拟威尼斯”元宇宙,例如化装舞会、时装秀和音乐会,据悉本次合作还包括重建著名的 Cipriani 华尔街宴会厅以举办文化活动。Cipriani将在The Sandbox中购买虚拟地块,该地块拟位于 The Sandbox围绕时尚、媒体和酒店品牌建立的Galleria社区,好社区于2022年12月推出。(animocabrands)[2023/5/25 10:38:35]

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

概览

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

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

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

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

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

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

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

ETC Cooperative宣布撤回对ETC改进提案ECIP-1098资金库提案的支持:9月22日消息,ETC Cooperative宣布撤回对ETC改进提案ECIP-1098资金库提案的支持。ETC Cooperative的执行董事Bob Summerwill表示, IOHK的资金库愿景与我们的预期大相径庭。(Crytpo News Flash)

据悉,ECIP-1098希望对矿工征税为各种开发人员团队和辅助项目提供资金,以维持ETC开发。(Crytpo News Flash)[2021/9/22 16:56:59]

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

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

同一类型的硬件可以安装多种操作系统,不同硬件需要匹配不同类型的操作系统。例如,同样的AT兼容机A中,既可以安装Windows,也可以安装LinuxB等操作系统。又如,X86芯片的硬件,需要x86版本的windows来匹配。这主要是由于操作系统底层汇编语言需要与芯片匹配。

App的成功运行需要与CPU匹配,也需要与操作系统匹配。例如:1,为了保证Office2017的正常运行,需要具备x86C的CPU;2,有些APP只能在windowXP上运行,在2000上则运行不了。

CPU只能解释其自身固有的机器语言。不同的CPU能解释的机器语言的种类也是不同的。也就是说,用不同高级语言编写的APP,如果不能通过编译成CPU可以运算的语言,CPU也是无法执行的。

二、ZkVM是什么?

通常我们在讨论ZK的时候,通常是在三个语境当中:

使用ZK作为Scaling方案RollupL2。使用zkp进行证明的应用,dydx,Zklink等等。zkproof作为一种密码算法。用什么语言,在什么环境下,用什么硬件执行?这是广义VM所要解决的问题。

CipherTrace完成2710万美元B轮融资:金色财经报道,加密情报公司CipherTrace已完成由Dan Loeb的科技投资公司Third Point Ventures领投的2710万美元B轮融资。CipherTrace还从早期投资者Neotribe、Acrew和Seraph Group获得了更多资金。[2021/6/23 23:58:10]

前面我们刚刚介绍了传统操作系统,再来看ZKVM的时候,我们可以发现,ZKVM也完成了类似的职能,完成了硬件层和高级语言的沟通。其核心是数据证明与状态更新,当系统接收到两类input,原始数据和证明,比对计算后,输出指令和ZKP,提交L1进行共识广播。

具体来看ZK证明经过几个部分:

1.本地的计算;

2.Circuit的定义。比如确认你钱包有没有钱,确认信息是不是完整,确认签名是否正确;

3.算术化证明:运用数学方法证明计算是可执行的。

4.将算数证明结果和实际结果比对

5.将结果递交上链

以Scroll的方案为例,我们看到从Geth出发,系统完成了本地的计算,将交易Trace拆解转化成Circuits算子,然后使用算数方法得出ZK证明。然后比对数据和证明,如果无误即可广播上链。这当中涉及许多关键技术,比如如何设定Circuits,有哪几类Circuits?如何对Circuits进行拆解?整个确认方法,可以想象一张巨大的表,每一个变量都有其参数,在已知历史数据的背景下,求特定结果的必然性。

举个例子,如果我要确认某个账户有100块钱,传统区块链的方式是让每个节点都确认一遍,而现在我只需要一个节点,在保证数据完整性的前提下,再加上最近净流入100块的证明,然后进行确认完成后,即可证明账户有100元,区别就是前者需要每一个节点的计算,后者只需要单一节点计算和zk证明。在这个例子中,确认的是“如何在链下证明账户有充足余额”,证明需要的约束是“当最近历史时间轴内账户净流入大于100,然后将节点计算结果与ZKP比对,从而决定状态是否正确。

门罗币研究人员质疑CipherTrace门罗币追踪工具有效性:对于CipherTrace声称开发出可追踪门罗币的工具一事,门罗币社区的许多人怀疑该工具是否像CipherTrace宣称的那样有效。门罗币研究人员Sarang Noether表示,在他看来,CipherTrace并没有提供“实质性的细节”来证明该工具的有效性或范围:“如果没有这些细节或证据,就不可能评估这个工具能做什么,或者它做得有多好。作为一名数学家和密码学家,我更喜欢把我的技术结论建立在数据上,而不是建立在新闻发布或未经证实的声明上。”

CipherTrace无法从基本钱包地址和交易数据中获取用户身份,那么就无法识别比特币用户。似乎该工具在很大程度上依赖于来自交易所和其他来源的链外数据。将个人数据与门罗币地址分开的用户可以获得合理的隐私。也就是说,政府和监管者可以自由使用此工具并得出自己的结论。而CipherTrace称这个工具已经在几次调查中使用过。

此前消息,CipherTrace声称已开发出可追踪门罗币交易的新工具。首席执行官Dave Jevans表示,此工具已开发了一年多,美国国土安全部将使用它来追踪门罗币交易,以支持犯罪调查。(Crypto Briefing)[2020/9/3]

ZK语言的公约数

根据MidenVM的总结,目前市场上主要的Zkapp所采用的的工具都是以WASM和RISCV为主的汇编语言,一些工具包能让应用很快打上“ZK”的概念或者标签。但稍微拆解一下结构,我们会发现传统智能合约由L1来保证安全性,全网广播形成共识的安全性已经经过历史检验了,而利用链下ZKP证明,则存在ZKP证明节点是否作恶的问题。

先不论Devs是否能够合理设立约束的能力问题,如何防范ZKP证明节点的作恶意愿问题,无疑是更为重要的。

举例来看,一些ZKdex更像是在Cex和Dex之间寻找一个平衡点,相较于Cex而言,用户可以将资金保管在自己的L1账户;而相对Dex而言,又能有更优的效率表现。但在实践中,大量的项目都存在链下证明的安全隐患。此外,由于从APP层到IR层,都是由zkAPP团队独立开发,家家户户有着自己的编程习惯和轮子库,这也导致团队与团队之间难以形成可组合性,也不利于加速市场分工和硬件设备的加速。

动态 | 安全公司CipherTrace向钱包供应商和加密交易所提供技术以遵守FATF相关规则:据Coindesk消息,区块链安全公司CipherTrace分享了如何在新的加密货币全球监管准则下安全地共享客户信息。CipherTrace公司发布了一份白皮书,并为钱包供应商和加密交易所提供了开源软件,以遵守金融行动特别工作组(FATF)的“旅行规则”。 CipherTrace首席营销官John Jefferies表示:“该行业本身已经几乎不可能遵守规则。现实是它可以做到。” Jefferies说,CiperTrace的信息共享架构(TRISA)将允许交易所和钱包提供商共享支付细节并秘密地交换客户了解客户(KYC)信息。[2019/9/10]

因此,市场破解寻找一个在密码学和高级语言之间找到一层公约数。来为各类应用提供一个通用的框架,而ZK-VM则是适配整套系统,承上启下的重要部分。

在执行模式方面,EVM与JVM非常相似。两者都是执行字节码的堆栈机。EVM增加了一个存储的概念,它的字节码指令更适合于合同开发。?

图中我们以ETH举例,传统ETH由三部分构成,ETH网络,EVM,Dapp开发生态。这里我们可以很清晰的感受到ZK承上启下的作用:

1.站在ZK电路硬件层的角度:

EVM可能无法全部兼容。由于EVM有一些变长的指令,比如CALL,DATACOPY,EXP,CREATE等等,这些对ZK电路不友好。

2.站在开发者角度:

能否不需要重新学习语言,保留EVM的API特性。在这种情况下,整个生态就可能失去对一些ZK算法的支持。

除此以外,ZKVM还需要考量很多技术兼容,比如:

1.寄存器的兼容。MachineType.传统EVM是一个Stack-based的Statemachine,因此大量的计算式串联的,不可并行的,这确保了整个计算机的原子性。这一架构对于ZK是非常不利的,如果要发挥ZK算法的全部效率,则需要做一个Register-Based,也就是以CPU-寄存器为核心架构来设计VM。

2.语言上的兼容。FunctionCalls.VM系统将底层特性封装成API,如何让API支持动态调用,支持像Python一样的高级语言。

3.计算机底层的兼容。NativeField.不同的CPU有不同的位数,在不同算法上的表现不同。需要为ZK专用计算机做谋划。

4.传统公链结构的兼容:Sequencer/Roller/Miner.

三、ZKVM的架构

主流技术方案

用什么语言,在什么环境下,用什么硬件执行?这是广义VM所要解决的问题。

VM当中最为重要的内核便是LLVM,他可以看作是编译器最重要的内核。图中是原始EVM的运作方案,智能合约通过LLVMIR的中间代码进行转化,转化成Bytecode。这些Bytecode会存储在区块链上,当智能合约被调用的时候,便会将Bytecode转化成对应的Opcode,再由EVM和节点硬件来执行。

结合上ZK,各个不同的解决方案是怎样实现的呢?

Starkware

Starkware由于在整个ZK领域起步较早,技术积累较为充分,拥有一定的技术领先。他是代表性的ZK中心主义的技术架构,围绕ZK构建了CairoVM和Cairo的语言。但由于他是闭源状态,一些技术细节并不清晰。其缺点在于,Cairo的学习成本。虽然官方也开发了Solidity转换Cairo的一些框架,但由于其底层核心均建立于CairoVM上,意味着有相当多Solidity-EVM兼容的特征会损失。

Zksync

ZKsync的框架兼容了EVM和ZK两方面的特点,将Solidity和其自主开发的电路语言Zinc做了一个融合,在编译器内部将两者在IR层面上做了统一。其优点在于编译器内核的LLVM可以兼容多种语言。Zksync也是闭源框架。

HermezbyPolygon

Scroll

HermZ和Scroll两个技术方案更侧重以太坊生态,他们在Bytecode上和ETH生态做了融合。由于EVM天然支持bytecode和其对应的opcode,这两者和ETH生态有着更高的融合性。Solidity在这两个Zkvm上能充分的调用EVM的API,最大保留了EVM的架构优点。两个方案有所差异的是,Hermz会将opcode在内部进行统一,然后再进行证明;而Scroll则会将Opcode拆解circuit进行证明,再进行整合。

为什么要选择兼容EVM?因为EVM当中有一些架构经过检验,安全性比较好,兼容性也比较好。举例来说Geth模型和RPC架构,这些API已经被EVM较好的封装,也经过历史检验。

总结来看,

Starkware最底层从WASM和机器码层面进行统一,ZKsync最浅在IR层面进行统一,Hermz和Scroll居中在Bytecode上进行统一;Starkware是技术转型最彻底的,但也是用户学习门槛最高的;而Zksync相对比较均衡,保留一部分solidity特性,发挥局部ZK性能;Hermz和Scroll相对最易应用和拆解,全面集成Bytecode,整合EVM,尤其是Scroll,开放ZK证明,也给了硬件加速更大的空间。相对来说,无论是技术驱动还是生态整合驱动,都在未来有各自的发展空间,“贸工技”还是“技工贸”都有机会找到自己的场景,发挥更大价值。如果我们对照回顾Windows历史,在强有力的操作系统出现以前,不同的开发者需要对不同的硬件,掌握不同的开发工具。不掌握汇编,不理解计算机底层的开发者在开发过程中会遇到非常多的挫折。而操作系统在硬件当中寻找最大的公约数,将CPU以外的I/O系统都封装成统一的接口,这些技术积累,使得软件开发的门槛大大降低了,也使得大部分程序员只需要理解高级语言即可,即使不具备汇编和底层代码知识仍然可以写出漂亮的App。

对照看到ZKVM的发展,我们可以看到一些端倪,如果说现在的ZKapp需要传统程序员+汇编+密码学知识储备才能开发,未来随着ZKVM的成熟,越来越多的底层技术封装进高级语言当中,开发门槛渐次降低,生态繁荣是可以想见的。

对于Founder而言,有两个注意点:

1.ZK技术将链上共识转为链下证明,目前证明技术相对成熟,但是拆解证明,数据存储的安全隐患仍然不少,相关审计机构,测试工具都存在空白缺位。

2.ZK技术的使用场景尚待发掘。通用型ZKVM紧锣密鼓开发,ZK对应高级语言也有待技术人员的学习,从技术成熟到解决问题还有一段时间。想要用ZK解决问题,founder需要回答:如果是个细分场景,是否需要自己用WASM去搭建,一旦ZKVM成熟,自己的技术积累是否还有先发优势?是否支持其他ZKapp调用?

展望与结论

ZK的技术具有隐私和扩容两个最主要的使用场景,当我们讨论隐私的时候,我们实际上是在保护链下数据,不被获取;而当我们讨论扩容的时候,我们是利用ZK节省链上计算空间。

ZKVM发展的核心权衡技术与devs。围绕着发挥ZK潜力,意味着CPU寄存器的硬件加速,IR语言和assembly语言的再组织;而围绕着利用开发者资源,则意味着Solidity转化bytecode后,如何将Bytecode所映射的opcode,进行ZK证明的问题。以assembly语言独立设计ZK证明的专用型的ZKapp,由于具有较低的可组合性和解耦能力,将在未来的发展过程中面临很大的阻碍。这些方案由于和其他ZK方案不兼容VM,不兼容语言,不兼容证明,存在较大的调用难度。按照模块化区块链的观点,L1解决共识问题,L2解决计算和执行问题,DA层解决数据可得性和完整性的问题。由于Zk类,数据安全性和证明的完整性决定了其执行的可靠性。这里有一对矛盾,如果我们不信任链下节点,希望将数据交由DA独立存储,那么对DA链就提出安全的要求,;如果存在本地,保证数据不被篡改,就需要证明节点本身不去作恶。这些都提升了对MPC/FHE解决方案的需求。在目前ZK方案大部分闭源的状态下,目前大量的共识还是建立在链下节点的自律上,缺乏一系列必要的工具,来保障链下环境的安全性。未来contraint设计和代数证明将成为两个最主要的审计环节。ZK生态主要的风险。典型问题包括:约束系统不充分。当证明一些复杂交叉的命题时,约束面临不够充分的问题;私有数据泄露。私有数据当做公开数据处理;针对链下数据的攻击,合约层的“metadata-attack”;ZK证明节点的作恶等等。随着不同Circuit的不断成熟,Sequencer/Roller/Miner也会迎来提效和分工,我们期待ZK证明的硬件加速机会。

标签:CODECPUBYTECIRcode币怎样门罗币cpu挖矿收益计算器CobrabytesCirrus

MANA热门资讯
稳定币:Luna 崩盘引发加密海啸,加密 VC 们怎么看?_lunar币价格

Luna和UST在遭遇金融巨鳄狙击之后迅速崩溃,这不仅造成Terra这个大型公链生态的突然死亡,也对整个加密世界造成了非常不利的影响.

比特币:比特币早期倡导者:为什么我会离开比特币,而拥抱以太坊?_ROLL

我在2013年通过购买比特币第一次进入加密货币领域。上周,我终于卖掉了我的最后一枚BTC,并购买了ETH。我一直在被问「你为什么要离开比特币?」,这篇文章将回答这个问题。?首先,我不讨厌比特币.

比特币:解读 zk、zkVM、zkEVM 的现状及未来_比特币怎么挖挖一枚需要多久呢

核心提炼 零知识证明技术,可以保证计算的完整性、正确性和隐私,在区块链扩容和隐私中有应用。zk-SNARK和zk-STARK各有优点,而它们的合理结合更加有潜力.

PAY:估值34亿美元,读懂PayPal的web 3版本MoonPay_0XENCRYPT价格

MoonPay是目前Crypto/NFT世界最知名和规模最大的法币出入金品牌。对?MoonPay常见的称呼是PayPalforCrypto,但是MoonPay酷且年轻的品牌形象更像Stripe,

PAY:6月4日BTC大盘一周回顾_SaveTheWorld

一周热点回顾总结: 1、OP上线,以太坊L2网络Optimism锁仓量超10亿美元,排在Arbitrum后面;2、USDT场外价格持续缩水,迹象表明有资金在不断的离场;3、链上数据.

PAY:欧易研究院:比特币跌破3万美元,加密市场直面5月加息以来的两种走向_ustc币价格

据欧易行情数据显示,北京时间5月10日早上8点左右,比特币短时跌破3万美元关键位置,最低至29735美元,24小时内跌幅逾10%.