原文作者: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秒。
Vitalik:以太坊需要改进的不仅是协议的功能,需要对应用程序和钱包进行深度改变:金色财经报道,以太坊创始人Vitalik Buterin发布《The Three Transitions》文章。Vitalik称,当以太坊从一个年轻的实验性技术过渡到一个成熟的技术栈,能够真正为普通用户带来开放、全球和无需许可的体验,堆栈需要大致同时经历三个主要的技术过渡:向L2扩展过渡,每个人都转向Rollup;向钱包安全过渡,每个人都使用智能合约钱包;向隐私过渡,确保保护隐私的资金转移可行。
由于上述原因,这三个转变至关重要。但它们也具有挑战性,因为要妥善解决这些问题需要密切协调。需要改进的不仅是协议的功能;在某些情况下,我们与以太坊交互的方式需要从根本上改变,需要对应用程序和钱包进行深度的改变。[2023/6/9 21:27:01]
本文中,笔者将介绍Scroll通过怎样的机制实现在去中心化的前提下继承以太坊主网的安全性。
Scroll的架构
Scroll架构主要由3部分组成:节点网络、证明网络和Rollup合约。
节点网络
中国工程院院士:区块链产业发展需要深度挖掘其价值:中国工程院院士张平表示,区块链技术是非常有价值、有前景的一种应用技术,在新一轮的区块链发展浪潮下,区块链的产业发展更需要厘清相关问题、深度挖掘其存在和发展的价值,更好地为城市的经济产业发展做出更大贡献。(南京晨报)[2020/6/19]
Scroll的节点网络包含三部分:定序器、协调器和中继器。
定序器
定序器提供JSON-RPC接口并接受L2交易。每隔几秒钟,它就会从L2mempool检索一批交易,并执行它们以生成新的L2区块和一个新的状态根。Scroll的定序器实现是通过fork被广泛使用的以太坊节点GoEthereum,并以此实现更好的兼容性和承经得起时间考验的安全性。
协调器
一旦生成新的区块,协调器就会收到通知,并从定序器接收该区块的Executiontrace。然后,协调器将Executiontrace分配给一个从去中心化的证明网络中随机选择的证明者生成证明。
中继器
中继器用于观察部署在以太坊和Scroll上的跨链桥和Rollup合约。它主要有两个职责,其一是监视Rollup合约,跟踪L2区块的状态,包括其数据可用性和有效性证明。其二是监视部署以太坊和Scroll上的跨链桥合约的存款和提取活动,并将消息从一方传递到另一方。
动态 | 梦网集团:深度布局“区块链+通信”:据证券时报消息,梦网集团(002123.SZ)向证券时报回应其在区块链领域的布局情况时表示,目前,梦网集团区块链主要涉及三大业务:网间清结算、可信账单支付和通信反欺诈溯源平台,而在梦网集团云通信战略部署中,基于区块链技术的“可信云”已成为公司四大战略版块之一。其中,区块链网间结算平台基于手机通话或其他通信数据,通过区块链的方式进行密钥管理、身份管理,提供细粒度敏感业务数据或隐私数据加密保护,保护业务数据安全和隐私安全,防止欺诈,提升安全级别。而可信通信结算层的应用,能够在支持与运营商之间直接结算DCB(Direct Carrier Billing)的同时,通过智能合约独立运行的沙箱环境,保障交易数据的隐私性,提高交易的自动化水平。[2019/10/28]
证明网络
Rollers作为网络中的证明者,负责为ZKRollup生成有效性证明。Roller可以利用像GPU、FPGA和ASIC等硬件设备来减少验证时间和验证成本。
下图展示了Roller如何为每个区块生成有效性证明,有以下步骤:
Roller首先将从协调器那里收到的执行Trace,转换为电路witness。
华尔街财富管理研究院合伙人蔡宇:我们处在区块链深度泡沫中:金色财经现场报道,在2018世界制造业大会区块链技术与产业融合应用论坛上,华尔街财富管理研究院合伙人蔡宇表示,泡沫是丰富营养的,对于区块链泡沫大家非常淡定,我们处在深度泡沫中,而且我们希望泡沫越来越大。目前全球有20亿游戏玩家,区块链用户只占2000万不到。[2018/5/26]
为每个zkEVM电路生成证明。
使用证明聚合,将来自多个zkEVM电路的证明合并为一个单一的区块证明Rollup和跨链合约。
值得一提的是,Scroll团队成员表示Scroll计划于主网上线前上线证明网络测试网。证明网络的去中心化一方面为以太坊合并后无处安放的GPU矿机找到了暂时的用武之地。另一方面,未来主网对证明者的激励可能可以刺激零知识证明专用芯片的开发,并最终被大量ZK项目广泛采用,形成继PowASIC矿机后的又一实体产业链。
Rollup和跨链桥合约
Scroll通过Rollup和跨链桥合约连接到以太坊。这样确保了L2交易的数据可用性,并允许用户在L1和L2之间传递资产和信息。
MakerDAO 和 OmiseGo 宣布达成稳定币深度合作:日前,去中心化稳定货币团队 MakerDAO 宣布与 OmiseGo 达成合作。两个项目将在稳定货币金融和去中心化交易方面达成深度合作。MakerDAO 是以太坊上的智能合约平台,提供去中心化的稳定基础货币 Dai 和衍生金融工具。OmiseGo (OMG)由去中心化交易所、清算行通信网络、白标签钱包SDK和基于权益证明共识的区块链网络组成,实现高速低成本支付并解决支付服务商、网关和金融机构之间的基本协调问题。[2018/4/11]
Rollup合约
Rollup合约从定序器接收L2状态根和区块。它将状态根存储在以太坊状态中,L2区块数据作为以太坊calldata。这为Scroll区块提供了数据可用性,并利用以太坊的安全性来确保包括Scroll中继器在内的索引器能够重建L2区块。一旦确定L2区块有效性的证明被Rollup合约验证,相应的区块就被认为在Scroll上已经完成。
跨链桥合约
部署在以太坊和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到ik的L2Block。
上图说明了Scroll区块将在多步骤的过程后在L1上最终完成。每个L2区块将经过以下三个阶段,直到最终确定:
预提交。预提交示block已由定序器提出并发送给证明者。尽管预提交的区块还不是ScrollL2链的规范部分,但是由于它们尚未发布在以太坊上,因此信任定序器的用户可以选择预期对它们采取的行动。
提交。提交表示该区块的交易数据已经发布在以太坊的Rollup合约上。这确保了区块的数据可用性,但不能证明它是以有效的方式执行的。
终结。终结状态表示该区块中的交易已经被正确执行,并且通过了以太坊上的有效性证明验证。最终完成的区块被认为是ScrollL2链的规范部分。?
Scroll与其他ZKRollup方案的区别
总体而言,Scroll与已上线主网的PolygonzkEVM、StarkNet以及zkSyncEra最大的区别在于Scroll更接近原生以太坊实现,对EVM开发者来说更加友好。
ScrollvsPolygonzkEVM
二者在实现方面存在一些技术差异,。一是Scroll直接fork被广泛使用的以太坊节点实现Geth生成Layer?2的区块,接近原生以太坊实现。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?本身想要达到的最终目标。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。