ROLL:深度解读Scroll zkEVM方案:如何实现去中心化的愿景?_ROL

原文作者:Young,Scroll研究员;Babywhale,ForesightNews

今年2月底,基于

ZKRollup

的以太坊

Layer2

网络Scroll正式推出了向所有用户开放的Alpha测试网,并表示将在未来几个月内改进zkEVM性能。就在推出新测试网的一周后,Scroll宣布以18亿美元估值完成了

PolychainCapital

、红杉中国等参投的5000万美元融资。

2022年6月,笔者在《三分钟读懂Scroll:ZKRollup扩容新锐选手》中简单介绍了Scroll的设计框架。Scroll旨在建立「EVM等效」的zkEVM扩容网络,实现以太坊上应用的无缝迁移。

7月,Scroll推出了需要申请资格的Pre-Alpha测试网,截至Alpha测试网推出时,Pre-Alpha测试网已处理了超1540万笔交易,共确认了超180万个区块,提交了64.1万批有效性证明,且共有超10万名用户参与。而Alpha测试网开放至今,共有约2,145,099个

钱包

地址,处理了约10,102,684笔用户交易,生成了886,701个区块,平均区块时间约为3秒。

美国宠物品牌Solid Gold推出首款“毛茸茸SPACE 系列NFT”:金色财经报道,美国宠物品牌Solid Gold(素力高)宣布将其品牌 IP lili高高升级为3D形象并推出首款“毛茸茸SPACE 系列NFT”,借助IP的生动表达开启与Z世代消费者沟通新方式,传递品牌理念,后续还将构建“毛茸茸元宇宙”。[2022/9/28 22:36:14]

本文中,笔者将介绍Scroll通过怎样的机制实现在去中心化的前提下继承以太坊主网的

安全

性。

Scroll的架构

Scroll架构主要由3部分组成:节点网络、证明网络和Rollup合约。

节点网络

Scroll的节点网络包含三部分:定序器、协调器和中继器。

定序器

定序器提供JSON-RPC接口并接受L2交易。每隔几秒钟,它就会从L2mempool检索一批交易,并执行它们以生成新的L2区块和一个新的状态根。Scroll的定序器实现是通过fork被广泛使用的以太坊节点GoEthereum,并以此实现更好的兼容性和承经得起时间考验的安全性。

协调器

Phantom等Solana钱包疑似遭攻击,数百万美元代币被盗:8月3日消息,Solana钱包Phantom疑似遭遇黑客攻击,多名用户报告称其资金在不知情的情况下被耗尽。截至目前,攻击者的可疑钱包已盗窃了至少50万美元的SOL代币、150万美元的SPL代币和100万美元的NXDF代币。其他钱包似乎也成为目标。

Phantom表示,“我们正在评估影响Solana钱包的事件,并正在与生态系统中的其他团队密切合作,以查明真相。一旦我们收集到更多信息,我们将发布更新。”该项目表示,目前不认为这是Phantom特有的问题。

此外,一些用户怀疑这次黑客攻击可能与MagicEden基于Solana的NFT市场交易有关,尽管漏洞的来源尚未得到证实。MagicEden没有回应置评请求,但在推特上发出警告,要求用户撤销钱包的权限以避免受到攻击。(CoinDesk)[2022/8/3 2:54:56]

一旦生成新的区块,协调器就会收到通知,并从定序器接收该区块的Executiontrace。然后,协调器将Executiontrace分配给一个从去中心化的证明网络中随机选择的证明者生成证明。

中继器

中继器用于观察部署在以太坊和Scroll上的

数据:Solana市值超350亿美元,超过LUNA位居加密市值第八:3月28日消息,coingecko数据显示,Solana(SOL)的市值超355.74亿美元,超过Terra(LUNA)重新成为了第八大加密货币。 目前,Solana的代币SOL价格已达109美元,24小时内涨幅达7.3%,一周内涨幅达23.5%。[2022/3/28 14:22:27]

跨链

桥和Rollup合约。它主要有两个职责,其一是监视Rollup合约,跟踪L2区块的状态,包括其数据可用性和有效性证明。其二是监视部署以太坊和Scroll上的跨链桥合约的存款和提取活动,并将消息从一方传递到另一方。

证明网络

Rollers作为网络中的证明者,负责为ZKRollup生成有效性证明。Roller可以利用像GPU、FPGA和ASIC等硬件设备来减少验证时间和验证成本。

下图展示了Roller如何为每个区块生成有效性证明,有以下步骤:

Roller首先将从协调器那里收到的执行Trace,转换为电路witness。

为每个zkEVM电路生成证明。

使用证明聚合,将来自多个zkEVM电路的证明合并为一个单一的区块证明Rollup和跨链合约。

Solana链上消息通知项目Dialect宣布完成410万美元种子轮融资:3月2日消息,Solana 链上消息通知项目 Dialect 完成 410 万美元种子轮融资,Multicoin Capital 和 Jump Capital 共同领投。

据悉,Dialect 将帮助 Solana 用户监控链上活动并将通知直接发送到与加密钱包相关联的移动设备,还可以帮助开发人员在其应用程序中构建钱包到钱包的聊天。(CoinDesk)[2022/3/2 13:33:05]

值得一提的是,Scroll团队成员表示Scroll计划于主网上线前上线证明网络测试网。证明网络的去中心化一方面为以太坊合并后无处安放的GPU矿机找到了暂时的用武之地。另一方面,未来主网对证明者的激励可能可以刺激零知识证明专用芯片的开发,并最终被大量ZK项目广泛采用,形成继PowASIC矿机后的又一实体

产业

链。

Rollup和跨链桥合约

Scroll通过Rollup和跨链桥合约连接到以太坊。这样确保了L2交易的数据可用性,并允许用户在L1和L2之间传递资产和信息。

Rollup合约

Rollup合约从定序器接收L2状态根和区块。它将状态根存储在以太坊状态中,L2区块数据作为以太坊calldata。这为Scroll区块提供了数据可用性,并利用以太坊的安全性来确保包括Scroll中继器在内的索引器能够重建L2区块。一旦确定L2区块有效性的证明被Rollup合约验证,相应的区块就被认为在Scroll上已经完成。

Raydium将推出FUJI-SOL Fusion池:官方消息,Raydium宣布将于2月18日北京时间12:00推出FUJI-SOL Fusion池,奖励为FUJI。[2022/2/17 9:58:55]

跨链桥合约

部署在以太坊和Scroll上的跨链桥合约允许用户在L1和L2之间传递任意的信息。在这个消息传递协议的基础上,我们还建立了一个无需信任的跨链协议,允许用户在两个方向上桥接ERC-20资产。从以太坊向Scroll发送消息或资金,用户需要在跨链桥合约上调用sendMessage交易。中继器将在L1上对该交易进行索引,并将其发送给定序器,将其包含在L2区块中。从Scroll向以太坊发送消息,在L2跨链桥合约的流程和上述过程类似。

Scroll如何实现ZKRollup?

Scroll中的L2区块被生成后提交给以太坊,并按以下步骤顺序最终完成:

定序器的角色是生成区块。对于第i个区块来讲,定序器生成执行Trace:T,并将其发送给协调器。定序器还将交易数据D作为CallData提交到以太坊的合约中,保证数据可用性以及由此生成的状态根和对Rollup合约的交易数据的承诺作为状态。

协调器会随机选择一个证明者为每个Blocktrace生成一个有效性证明。为了加快证明生成过程,不同区块的证明可以由不同的证明者并行生成。

在为第i个块生成区块证明P之后,证明者会将其发送回协调器。每隔K个区块,协调器向另一个证明者分派一个聚合任务,将k个区块证明聚合为一个聚合证明A。

最后,协调器向Rollup合约中提交聚合证明A,通过对先前提交给Rollup合约的状态根和交易数据commitment进行验证,最终可以确定从i+1到i+k的L2Block。

上图说明了Scroll区块将在多步骤的过程后在L1上最终完成。每个L2区块将经过以下三个阶段,直到最终确定:

预提交

。预提交示block已由定序器提出并发送给证明者。尽管预提交的区块还不是ScrollL2链的规范部分,但是由于它们尚未发布在以太坊上,因此信任定序器的用户可以选择预期对它们采取的行动。

提交

。提交表示该区块的交易数据已经发布在以太坊的Rollup合约上。这确保了区块的数据可用性,但不能证明它是以有效的方式执行的。

终结

。终结状态表示该区块中的交易已经被正确执行,并且通过了以太坊上的有效性证明验证。最终完成的区块被认为是ScrollL2链的规范部分。

Scroll与其他ZKRollup方案的区别

总体而言,Scroll与已上线主网的

Polygon

zkEVM、StarkNet以及

zkSync

Era最大的区别在于Scroll更接近原生以太坊实现,对EVM

开发者

来说更加友好。

ScrollvsPolygonzkEVM

二者在实现方面存在一些

技术

差异,。一是Scroll直接fork被广泛使用的以太坊节点实现Geth生成Layer2的区块,接近原生以太坊实现。Scroll设计了不同的子电路来证明Geth执行跟踪中的每个操作码,并且更容易验证电路与原生以太坊具有完全相同的行为。而PolygonzkEVM则使用新的汇编语言重写每个EVM操作码,然后为其底层状态机生成证明。

另一个区别是,Scroll对zkEVM电路和聚合电路都使用SNARK。PolygonzkEVM是使用STARK作为他们的zkEVM电路,并使用SNARK作为聚合电路来聚合STARK证明。

ScrollvsStarkNet

与StarkNet相比,Scroll以EVM等效性为目标,希望原生zkEVM解决方案以实现字节码级兼容性,对以太坊开发者更加友好;而StarkNet是一个对于ZK友好而对开发者不友好的方案。故StarkNet建立开发者和项目生态具有一定的学习成本,也存在不小的挑战。

ScrollvszkSync

相较于Scroll对EVM字节码级的兼容性,zkSync是在语言级别兼容EVM的,故对于

智能合约

的开发者而言,需要对部署带有BlackBlox的编译器的额外信任,也需要更多的时间来进行安全审计。

Scroll的去中心化梦想

Scroll团队成员张烨曾发表了一篇名为

《Scroll背后的理念》

的文章。这篇文章详细描述了Scroll的愿景:除了Scroll项目本身,团队更加希望为以太坊的zkEVM研究做出贡献。

文章中提到,相比于「闭门造车」,Scroll从一开始就做出了与社区共同发展的决定,并且也一直在践行这一点,包括由社区驱动开发zkEVM、开展零知识证明方面的公共教育、维护Python版本的zkEVM规范等。

除了上述方面的社区化运作,Scroll还强调了更多方面的去中心化,包括定序器、证明者等等。总体而言,Scroll更希望成为一个类似于以太坊一样,虽然有核心开发团队,但仍然在底层技术和基础设施层面开放的协议,并最终推动zkEVM生态的蓬勃发展以及主网与zkEVM的兼容,乃至以太坊

Layer1

本身想要达到的最终目标。

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

区块博客

[0:15ms0-3:334ms