GAS:为什么说“小表模式”zkEVM 更为高效?_OIN

作者:FoxTechCEO康水跃,FoxTechCTO林彦熹

前言:以太坊虚拟机是建立在以太坊区块链上的代码运行环境,合约代码可对外完全隔离并在EVM内部运行,其主要作用是处理以太坊系统内的智能合约。之所以说以太坊是图灵完备,是因为开发者可以使用Solidity语言创建运行于EVM上的应用程序,一切可计算的问题都能计算。但仅是图灵完备还不够,人们还试图将EVM封装在ZK证明系统里,但问题是封装时会产生大量冗余。Fox所发明的“小表模式”zkEVM,在保证原生的Solidity以太坊开发者能无缝迁0移至zkEVM的同时,还将大幅削减封装EVM到ZK证明系统时产生的冗余成本。

EVM自2015年问世以来正在经历一场史诗级的ZK改造。这场大改造主要有两个方向。

第一个方向就是所谓的zkVM赛道,该赛道项目致力于将Application的性能提升到最优,而与以太坊虚拟机的兼容性并不是首要考虑的问题。这里有两个子方向,其一是做自己的DSL(DomainSpecificLanguage),比如StarkWare正致力于推广Cairo语言,推广难度并不小。其二是目标兼容现有的比较成熟的语言,比如RISCZero致力于让zkVM兼容C++/Rust。该赛道的难点在于因为引入了指令集ISA,导致最终输出的约束更复杂。

Web3基金会从日本开始与政策制定者进行全球圆桌讨论:金色财经报道,因其区块链项目Polkadot而闻名的Web3基金会发布了一项鼓励与全球监管机构进行圆桌对话的新倡议。首次圆桌对话于7月25日在日本东京举行,来自监管机构、政府机构和行业利益相关者的代表出席了会议。基金会的代表包括首席执行官Bertrand Perez、Polkadot网络的主要贡献者Parity Technologies和首席执行官Bjorn Wagner以及基金会理事会成员Yusuke Obinata。在迅速采用区块链技术和监管演变的背景下,基金会强调采取积极主动的姿态与全球政策制定者开展有意义对话的重要性。[2023/7/26 16:00:13]

第二个方向就是所谓的zkEVM赛道,该赛道项目致力于EVMBytecode的兼容,即Bytecode级别及其以上的EVM代码都通过ZkEVM产生对应的零知识证明,这样以来原生的Solidity以太坊开发者会可以无成本迁移至zkEVM。该赛道选手主要有PolygonzkEVM、Scroll、Taiko和Fox。该赛道的难点在于兼容EVM这样一个并不适合封装在ZK证明系统时产生的冗余成本。Fox经历长时间的思考与论证,终于找到了从根本上消减第一代zkEVM巨大冗余的那把钥匙:“小表模式”zkEVM。

“亚洲区块链挖矿圆桌会议”将于近日召开:“亚洲区块链挖矿圆桌会议”将于近日召开,呼吁行业在全球范围内开展合作,支持和推动可再生能源挖矿。多位业内人士首次出席会议,讨论如何更好地监管比特币挖矿,支持和践行“绿色挖矿”理念。与会者包括来自矿机制造商、上市公司的代表,以及区块链行业的多位意见领袖。(Cointelegraph)[2021/6/4 23:11:25]

数据和证明电路是zkEVM生成证明的两大核心要素。一方面,在zkEVM中,证明者需要所有交易涉及的数据以证明交易带来的状态转移是正确的,而EVM中的数据量大且结构复杂。因此,如何整理和组织证明所需的数据便是构建一个高效的zkEVM需要仔细考虑的问题。另一方面,怎么通过一系列的电路约束高效地证明计算执行的有效性与正确性,则是保证zkEVM安全性的基础。

我们首先谈第二个问题,因为这是所有设计zkEVM的团队都需要考虑的问题,这个问题的本质其实就是“我们到底要证明什么?”而目前大家对这个问题的思路都是相似的,由于一个交易可能是多种多样的,直接按顺序证明每一步的操作带来的状态改变都是正确的显得不现实,因此我们需要分类证明。

现场| 共识大会(新加坡)圆桌:云服务中提供区块链的竞争:金色财经9月19日现场报道,在新加坡共识大会上,来自三星SDS和Akamai科技的相关人员参加了题为《云服务中提供区块链的竞争》的圆桌讨论。嘉宾认为,区块链服务可以支撑分布式网络。实现下一代基础设施的方法,包括迅雷的雷暴供应链平台,Akamai为日本设计的新支付网络,以及三星为工程师创造的区块链开发环境。嘉宾透露,SAP和微软等巨头公司,也开始了相关服务。[2018/9/19]

图1:大表、小表两代zkEVM解决方案

例如,我们将每次stack中元素的变化都放在一块,专门编写一个stack电路证明,为单纯的算术操作专门编写一套的算术电路等等。如此一来,每个电路需要考虑的情况就变得相对简单。这些不同功能的电路在不同zkEVM中有不同的名字,有人直接称其为电路,也有人称其为状态机,但是这个思想的本质都是一样的。

为了更清楚的解释这么做的意义,我们举一个例子,假设现在要证明加法操作:

金色圆桌 中高会执行理事长朱涛:创新有待包容,投资需归理性:在金色财经百人圆桌EOS系列问题上,对于“最近,与EOS相关的系列消息好坏参半,有人力挺、有diss,您对此持有何种看法”的问题,中高会区块链产业联盟执行理事长朱涛表示:科技工作者也是真理守夜者,“经典与显眼,只差一步”!每项科学技术由论文到专利,由专利到样品,由样品到产品,都要经历很多不确定与波折。EOS作为区块链技术中的“弄潮儿”,我们应该给予一定的包容与激励。但同时也要理性看到,脱离实际技术发展规律,没有一定时间沉淀、严谨的科研步骤和实验室完善的检测手段,任何一项新技术都会出现发展中的问题。

投或不投,EOS都是一项技术,就在那里,骂与不骂,EOS都是一项技术,就在那里。冷静想想是中性的EOS出了问题,还是当初溺爱恐怕挤不上车的人“泡沫”期许,被现实不按科研规矩出牌的骨感现实刺破的“疼痛”!EOS作为技术还会有人去接过来继续创新,那么大家应该做点什么呢?仁者见仁,智者见智吧。创新有待包容,投资需归理性![2018/6/20]

假设原先的stack是

金色财经现场报道 圆桌环节嘉宾关于EOS是否能担当起区块链3.0时代的代表的观点:金色财经现场报道,今日在纽约举行的2018区块链无国界峰会上,Certik联合创始人顾荣辉EOS及TPS不是区块链3.0,需要用数学方法证明程序没有bug。IOST联合创始人及CEO钟家鸣表示,EOS过于“简单粗暴”,21个超级节点中联盟无法避免,长远来看不看好超级节点。Hydro Protocol联合创始人王博闻表示需要等到EOS主网6月上市后再做评测。[2018/5/13]

则如果不分类拆分的话,我们需要设法证明进行完上述操作后stack变为

而如果进行了分类拆分的话我们只需要分别证明以下几件事:

stack电路:

C1:证明pop出2和4后变为

C2:证明push(6)后变为

算术电路:

C3:a=2,b=4,c=6,证明a+b=c

值得注意的是,证明的复杂程度和电路需要考虑的各种情况的数量有关系,如果不分类拆分的话,电路需要覆盖的可能性将会非常巨大。

图2:第一代zkEVM采用的大表模式

而一旦分类拆分了,每一个部分的情况将会变得相对单纯,从而证明的难度也会显著减小。

但是分类拆分也会带来其他问题,那便是不同类别电路的数据一致性问题,例如在上面的例子里,我们实际上还需要证明以下两件事:

C4:”C1中pop出来的数”=“C3中的a和b”

C5:“C2中push的数”=“C3中的c”

为了解决这个问题,我们回到了第一个问题,即我们要如何组织交易涉及的数据,下面我们接着探讨这个议题:

一个直观的方法是这样的:通过trace,我们可以拆解出所有交易涉及的每个步骤,知道其涉及的数据,并通过向节点发送请求以获得不在trace中的那部分数据,随后,我们将其如下排列成一个大表格T:

“第一步操作”“第一步操作涉及的数据”

“第二步操作”“第二步操作涉及的数据”

…“第n步操作”“第n步操作涉及的数据”

如此一来,在上面的例子中,我们就会有一行记录着

“第k步:加法”“a=2,b=4,c=6”

而上面的C4便可以被如下证明:

C4(a):C1pop出的数和大表T中的第k步一致

C4(a):C3的a和b和大表T中的第k步一致

C5也是类似的。这个操作被称为lookup。lookup的具体算法我们不在本文中详细介绍,但是可以想象,lookup操作的复杂度与大表T的大小密切相关。因此,现在我们回到第一个问题:如何组织证明会用到的数据呢?

图3:Fox所发明的“小表模式”zkEVM

我们考虑如下一系列的表格构造:

表格Ta:

“类型a的第一个操作”“类型a的第一个操作涉及的数据”

“类型a的第二个操作”“类型a的第二个操作涉及的数据”

…“类型a的第m个操作”“类型a的第m个操作涉及的数据”

表格Tb:

“类型b的第一个操作”“类型b的第一个操作涉及的数据”

“类型b的第二个操作”“类型b的第二个操作涉及的数据”

…“类型b的第m个操作”“类型b的第n个操作涉及的数据”

…如此构造多个小表,这么做的好处是当我们可以根据需要的数据所涉及的操作的类型,直接在对应的小表中进行lookup,如此一来,便能很大程度的提高效率。

一个简单的例子是如果我们要证明a~h这8个字母都存在中,我们需要对大小为8的表进行8次的lookup,但是如果我们把表分为和的话,我们只需要对这两个大小为4的表分别进行4次lookup就可以了!

在FOX这个layer2的zkEVM中便使用了这种小表的设计以提升效率,为了保证在各种情况下都能完备的证明,对于具体的小表拆分方式需要仔细的设计,而提升效率的关键则在于对表的内容的分类与其大小的平衡。尽管将完整的zkEVM在这个框架中实现需要庞大的工作量,我们预期这样的zkEVM将会在性能方面有突破性的进步。

结论:Fox所发明的“小表模式”zkEVM,在保证原生的Solidity以太坊开发者能无成本迁移至zkEVM的同时,大幅削减封装EVM到ZK证明系统时产生的冗余成本。这是zkEVM结构的一次重大变革,将对以太坊扩容方案产生深远影响。

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

区块博客

[0:15ms0-5:359ms