从形式上看,在以太坊规范中,EVM被定义为一个状态转换函数:你有一些前状态S,一个区块B,你正在计算一个后状态S'=STF(S,B)。如果用户使用的是轻客户端,他们并不完整地拥有S和S',甚至E;相反,他们拥有一个前状态根R,一个后状态根R'和一个区块哈希值H。
公共输入:前状态根R,后状态根R',块哈希H
私人输入:程序块主体B、程序块Q访问的状态中的对象、执行程序块Q'后的相同对象、状态证明(如Merkle分支)P
主张1:P是一个有效的证明,证明Q包含R所代表的状态的某些部分
主张2:如果在Q上运行STF,(i)执行过程只访问Q内部的对象,(ii)数据块是有效的,(iii)结果是Q'
主张3:如果利用Q'和P的信息重新计算新的状态根,就会得到R'
如果存在这种情况,就可以拥有一个完全验证以太坊EVM执行的轻型客户端。这使得客户端的资源已经相当低。要实现真正的完全验证以太坊客户端,还需要在共识方面做同样的工作。
用于EVM计算的有效性证明的实现已经存在,并被L2大量使用。而要使EVM有效性证明在L1中可行,还有很多工作要做。
EFPSEZK-EVM(由于存在更好的选择,现已停用)
Zeth,其工作原理是将EVM编译到RISC-0ZK-VM中
ZK-EVM形式化验证项目
如今,电子记账系统的有效性证明在两个方面存在不足:安全性和验证时间。
一个安全的有效性证明需要保证SNARK确实验证了EVM的计算,并且不存在漏洞。提高安全性的两种主要技术是多验证器和形式验证。多验证器指的是有多个独立编写的有效性证明实现,就像有多个客户端一样,如果一个区块被这些实现中的一个足够大的子集证明,客户端就会接受该区块。形式验证涉及使用通常用于证明数学定理的工具,如Lean4,以证明有效性证明只接受正确执行底层EVM规范(例如EVMK语义或用python编写的以太坊执行层规范(EELS))。
足够快的验证时间意味着任何以太坊区块都能在不到4秒的时间内得到验证。今天,我们离这个目标还很遥远,尽管我们已经比两年前想象的要接近得多。要实现这一目标,我们需要在三个方向上取得进展:
并行化目前最快的EVM校验器平均可在15秒内证明一个以太坊区块。它是通过在数百个GPU之间进行并行化,后在最后将它们的工作汇总在一起来实现这一点的。从理论上讲,我们完全知道如何制造一个能在O(log(N))时间内证明计算的EVM验证器:让一个GPU完成每一步,后做一个聚合树:
实现这一点存在挑战。即使是在最坏的情况下,即一个非常大的事务占用了整个区块,计算的分割也不能按次进行,而必须按操作码(EVM或RISC-V等底层虚拟机的操作码)进行。要确保虚拟机的内存在证明的不同部分之间保持一致,是实施过程中的一个关键挑战。不过,如果我们能实现这种递归证明,那么我们知道,即使在其他方面没有任何改进,至少证明者的延迟问题已经解决了。
证明系统优化--新的证明系统,如Orion、Binius、GRK以及其他更多信息,很可能会导致又一次大大缩短了通用计算的验证时间。
EVMgas成本的其他变化EVM中的许多东西都可以优化,使其更有利于证明者,尤其是在最坏的情况下。如果攻击者可以构建一个阻塞证明者十分钟时间的区块,那么仅能在4秒内证明一个普通的以太坊区块是不够的。所需的EVM更改可大致分为以下几类:
-gas成本的变化如果一个操作需要很长时间才能证明,那么即使它的计算速度相对较快,也应该有很高的gas成本。EIP-7667是为处理这方面最严重的问题而提出的一个EIP:它大大增加了(传统)哈希函数的gas成本,因为这些函数的操作码和预编译相对便宜。为了弥补这些gas成本的增加,我们可以降低证明成本相对较低的EVM操作码的gas成本,从而保持平均吞吐量不变。
-数据结构替换除了用对STARK更友好的方法替换状态树外,我们还需要替换事务列表、收据树和其他证明成本高昂的结构。EtanKissling将事务和收据结构移至SSZ的EIP就是朝着这个方向迈出的一步。
除此之外,上一节提到的两个工具(多维gas和延迟状态根)也能在这方面提供帮助。不过,值得注意的是,与无状态验证不同的是,使用这两个工具意味着我们已经拥有了足够的技术来完成我们目前所需的工作,而即使使用了这些技术,完整的ZK-EVM验证也需要更多的工作只是需要的工作更少而已。
上文没有提到的一点是证明器硬件:使用GPU、FPGA和ASIC更快地生成证明。FabricCryptography、Cysic和Accseal是三家在这方面取得进展的公司。这对L2来说非常有价值,但不太可能成为L1的决定性考虑因素,因为人们强烈希望L1保持高度去中心化,这意味着证明生成必须在以太坊用户的合理范围内,而不应受到单个公司硬件的瓶颈限制。L2可以做出更积极的权衡。
在这些领域中,还有更多的工作要做:
并行化证明要求证明系统的不同部分可以共享内存(如查找表)。我们知道这样做的技术,但需要加以实现。
我们需要进行更多的分析,以找出理想的gas成本变化集,从而最大限度地减少最坏情况下的验证时间。
我们需要在证明系统方面做更多的工作
安全性与验证器时间:如果选择更激进的哈希函数、更复杂的证明系统或更激进的安全假设或其他设计方案,就有可能缩短验证器时间。
去中心化与证明器时间:社区需要就所针对的证明器硬件的规格达成一致。要求证明者是大规模实体可以吗?我们希望高端消费笔记本电脑能在4秒内证明一个以太坊区块吗?介于两者之间?
打破向后兼容性的程度:其他方面的不足可以通过更积极的gas成本变化来弥补,但这更有可能不成比例地增加某些应用程序的成本,迫使开发人员重写和重新部署代码,以保持经济可行性。同样,这两个工具也有其自身的复杂性和弊端。
以上就是The Verge是什么?以太坊可能的未来The Verge的全部内容,望能这篇The Verge是什么?以太坊可能的未来The Verge可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。