10月10日14:00,以太坊二层解决计划 Scroll 主网产生了第一个区块,标志着 Scroll 的主网成功上线。截止到10月25日,已有超越7600个ETH经过跨链桥进入 Scroll 网络,24个去中心化买卖渠道上线 Scroll 主网,总TVL约1千万美元。
10月17日,Scroll 官方在宣布主网启动的同时,继续坚持开源和去中⼼化的承诺。下⼀阶段 Scroll 将致力于构建去中⼼化的证明⽹络和排序器。本文我们将具体分析 Scroll 的架构和技能,协助大家了解 Scroll 当时的网络状况和未来的发展方向,以及为大家讲解 Scroll zkEVM 电路与审计常识,加强zk项目方的安全防备。
带动Layer2新浪潮的Scroll 是谁?
Scroll 是一种依据零常识证明技能的以太坊 Layer 2 扩容解决计划,旨在提高以太坊网络的买卖吞吐量和速度。相较于Optimistic Rollup,Scroll 经过零常识证明技能进行扩容,并经过硬件加速零常识证明的生成和验证,致力于完成字节码级别的 EVM 兼容。这意味着开发者能够直接运用 Solidity 和以太坊相关的开发工具来构建智能合约,无需进行任何修正就可将其布置到 Scroll 上。
据 Scroll 官网发布,现在 Scroll 团队核心成员共有10名,分布于亚洲、美洲和欧洲。团队相关成员均具有丰厚的 zkRollup 开发经历和行业运营经历,大多数结业于知名大学,并具有博士学位。
现在,Scroll 生态非常丰厚,根底设备包含了钱包、开发工具、安全设备等方面的项目,旨在协助项目在规划、开发、运转以及安全审计方面的整个生命周期里,都能得到全方位的支撑,现在 Scroll 主网已有超越180个生态项目。
1. 钱包
Scroll 现在支撑几乎一切的干流钱包:Metamask、TrustWallet、MathWallet、TokenPocket、WalletConnect、Binance Chain Wallet、SafePal Wallet。除此之外,Scroll生态钱包还有OKX Wallet、Versa Wallet等。
2. 跨链桥
Scroll 官方的跨链根底设备包含了 Celer Network、Stargate、Orbiter Finance、Hop Protocol、LI.FI、Connext 等。此外还包含了跨链流动性协议 Synapse Protocol、专注于 Layer 2 跨链桥的 Owlto Finance、以太坊 Layer 1 与 Layer 2 跨链桥 Pheasant Network、Symbiosis、Catalyst 等。
3. DeFi
Scroll 生态中有不少老牌的 DeFi 项目,包含了假贷协议 Aave、多链 DEX 聚合器 DODO、DEX SushiSwap、DEX 聚合器 OpenOcean、多链 DeFi 协议 iZUMi Finance、DEX Syncswap、DeFi 收益率协议 Pendle Finance、假贷协议 dForce、杠杆买卖聚合器 MUX Protocol等,也有GMX等原生未被大规划运用的创新项目。
4. 其他
在NFT、游戏、社交等方面 ,Scroll 生态的其他项目还包含了NFTScan、Web3 使命渠道 QuestN、TaskOn、电子协议签署渠道 EthSign、Galaxy Blitz、OmniKingdoms等在线链游。
Scroll 技能特点有何不同?
1. 整体架构
Scroll 的架构分为以下三个首要组件:
Scroll Node:它依据用户买卖产生 Scroll 网络的区块,将这些买卖提交到以太坊根底层,并处理以太坊和 Scroll 之间的音讯传递。
Roller:Roller担任将智能合约转化成 zkEVM 电路,随后生成证明,用于证明买卖的正确性。在 Scroll 网络中存在多个Roller,并行处理并经过硬件加速以减少生成证明的时间。Scroll 因为直接证明EVM的字节码处理正确与否,因此关于EVM做到了字节码层面的兼容。
Rollup 和 Bridge Contract:这些合约为 Scroll 的买卖供给数据可用性,验证 zkEVM 生成的有用性证明。能够说,Scroll 是经过 Rollup 合约和 Bridge 合约和以太坊根底层衔接的。经过这些合约,用户能够在以太坊和 Scroll 之间传递任意音讯,而且借助网关合约向任一方向转移ERC-20财物。
source: https://scroll.mirror.xyz/nDAbJbSIJdQIWqp9kn8J0MVS4s6pYBwHmK7keidQs-k
Scroll 在以太坊布置的首要合约:
网关路由署理合约(保证代币在跨链操作中的正确映射):0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6
音讯署理合约(传递L1与L2之间的音讯):0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367
值得注意的是以上合约可由署理管理员(Proxy Admin)和持有者(Owner)进行修正。此外,Scroll 还设置了白名单功用,能够改动特定地址在 Scroll 的gas费。Scroll的排序器现在是中心化的,能够审查 Scroll 网络的音讯和买卖,而且有或许越过音讯行列中的任何音讯直接终究确认某一音讯。
2. Scroll zkEVM工作流程
Scroll 生成区块后,会经过和谐器(Coordinator)和多个证明器(Roller)后生成聚合证明,然后提交给以太坊上的 Rollup 合约进行验证。具体过程如下:
1、排序器取得新的买卖后,虚拟机会读取该笔买卖相关的字节码,生成对应的履行踪影(Execution Trace)并将其发送给和谐器。同时,排序器还将买卖数据提交给Rollup合约。
2、Roller先将从和谐器接收到的履行踪影转化为 zkEVM 电路。每一步履行踪影都有对应的 zkEVM 电路,此处关于某些zk不友好的函数(hash,Keccak),Scroll 经过构建查找表,将履行踪影中此类函数的输入和输出映射到查找表,利用额定的电路来验证查找表的正确性。随后 Roller 为这些 zkEVM 电路生成对应的证明。
3、在生成证明后,Roller 将其发送回和谐器。每经过若干个区块,和谐器将聚合使命随机分配给某一 Roller,然后该 Roller 将若干个区块的证明聚合成单个证明。
4、最终,和谐器将聚合证明提交给 Rollup 合约,Rollup合约再依据聚合证明来验证之前提交给 Rollup 合约的状况和买卖数据,确认区块的正确性。
Scroll zkEVM电路与审计
1. 首要电路
zkEVM 由许多电路组成,每个电路担任查看EVM的某个方面。这些电路最终以某种方式进行聚合或组合,共同完成买卖履行的证明。下图显示了这些电路和表格之间的关系:
其中有一些较小的子电路,例如 ECDSA 电路和操作码相关的子电路,不会以影响电路的组合方式与其他表和电路交互,因此为了清楚起见,它们没有在图中显示。
EVM Circuit
以太坊虚拟机(Ethereum Virtual Machine,简称EVM)是一个状况机,它界说了以太坊协议中有用状况转化的规矩。这意味着它规则了一个确认性函数,依据当时的EVM状况核算下一个有用的EVM状况。EVM的履行部分运用操作码(opcodes)来完成这些状况转化,从而产生履行轨道(Execution trace)。EVM电路的方针是构建与履行轨道相对应的束缚体系,能够经过后端的零常识证明体系进行证明。
EVM电路的高级规划思想在某种程度上类似于EVM自身的规划(例如go-ethereum)。在go-ethereum中,解说器循环遍历履行轨道上的一切指令操作码。在每个指令中,解说器协助查看相关的上下文信息,如gas、堆栈、内存等,然后将操作码发送到JumpTable,从中获取该操作码应履行的具体操作。
类似地,在EVM电路中,Scroll 依据履行轨道中的过程构建履行过程,并为操作码和履行上下文供给证明。关于每个履行过程,会施加一组束缚来查看上下文信息。关于每个操作码,会施加一组束缚来查看操作码的行为。在履行轨道中,相同的操作码应具有相同的束缚。Scroll运用选择器来“打开”履行轨道中相同操作码的一切过程,并运用后端的证明体系证明它们的行为。
State Circuit
在履行过程中,EVM 的一切读写操作都记载在 rw_table中,并按计数器变量 rw_counter排序。而state Circuit的目的便是证明正确的生成了rw_table。
MPT Circuit
Merkle Patricia Tree 是以太坊存储层运用的关键数据结构之一。在 Scroll 的 zkevm- Circuits 中,将原始 MPT 修正为zkTrie,它本质上是一个稀少二进制 Merkle Patricia Trie。在 zkevm- Circuits 中,Scroll 运用 MPT 表来逐步跟踪 MPT 操作的状况转化。MPT 表具有以下表布局:
MPT 电路的方针是验证上述 MPT 表的正确性,即保证MPT表中记载的每次更新都会导致正确的更改。为了完成这个方针,MPT 电路运用束缚体系来强制履行 MPT 的唯一更改。这意味着关于 MPT 表中的每个更新,MPT 电路会保证只要一种或许的更改方式。这样能够防止意外或非法的更改,并保证 MPT 的完整性和正确性。特别地,当 MPT 因为帐户或存储的更新而发生更改时,MPT 电路有必要证明这次更新会导致正确的根更改。这意味着 MPT 电路需求验证更新操作是否依照规则的规矩进行,而且保证根哈希正确地反映了一切更改的成果。
Keccak Circuit
Scroll 在遵从NIST Keccak 标准、Keccak 团队 Keccak 标准的条件下完成了他们自己的Keccak256。
而 Keccak 电路则用于证明 Keccak256 运算成果的正确性。这部分电路的完成杂乱,首要因为 keccak256 算法自身便是zk-unfriendly的。
Tx Circuit
Tx电路供给了验证买卖正确性的束缚条件。它首要查看买卖的以下几个方面:
1. CallDataLength和累积CallDataGasCost的正确性:经过自界说门和查找tx表中tx的最终一行call data字节;
2. TxSign和TxHash相关数据的正确性:经过查找RLP表和Keccak表;
3. 证明 “若tx_type为L1Msg,则msg_hash” 的正确性:经过查找RLP表进行验证;
4. 经过ECDSA正确履行tx签名,而且能够正确的从ECDSA签名中康复调用者地址:经过查找sig表进行验证;
5. tx id、cum_num_txs和call_data_length等的正确过渡行为。
6. 一些根本束缚,如一些指示变量的布尔值等。
Bytecode Circuit
EVM 电路需求查找存储正确字节码信息的字节码表。这保证了合约中存储的字节与表中加载的字节相同。而字节码电路的目的是束缚上述字节码表的正确性。这包含:
1. 与标签(tag)的边界行为相关的束缚:首行和末行的束缚条件,从tag==byte转化到header以及反之的转化,从header转化到header的转化;
2. 束缚代码大小:包含经过束缚字节码的最终一个字节的索引来核算字节码的长度;
3. 束缚代码哈希:对代码哈希中字节的RLC行为进行正确束缚,并经过查找Keccak表来验证代码哈希;
4. 保证PUSH行为的正确性:is_code = push_data_left == 0(有必要是布尔值),并经过查找push_table来保证PUSH1-PUSH32的推送数据大小;
5. 保证在一个字节码中每行的正确传播。
2. 安全审计
不同的链具有各自的自界说业务模块功用,这些模块通常会修正EVM中的预编译合约以及操作码,其中 Scroll zkEVM 作为一种依据零常识证明的二层扩容计划,该计划运用电路重构了相关操作码并依据履行跟踪生成证明,这个杂乱的完成极大增加了审计难度。Beosin安全专家评估后认为,现在 zkEVM 安全审计首要分为以下几个方面:
1. GAS:zkEVM 电路在生成履行跟踪对应的证明时,会同时校验买卖消耗gas的正确性。假如在操作码的完成电路中高频次地运用没有束缚的自由变量,或许导致证明生成失利或其他未知过错。
2. 内存安全:部分 zkEVM 电路完成的数学根底是多项式承诺,如 Scroll 运用的KZG承诺。而多项式核算不会主动对齐,因此假如电路缺少束缚会导致取值域与核算机程序中的字节规划不一致,在部分合约开发者敞开了gas优化的情况下,数据的紧凑摆放或许导致内存安全问题,如 Polygon zkEVM 中的BYTE_C4096常数多项式。多项式答应参数的取值规划超越字节的最大取值规划255,这在一些采纳AMM模式的买卖所中,或许导致歹意的Sequencer伪造参数获利。本质上,这一类的漏洞都是因为电路表明的数值有用规划与程序的变量取值规划不一致导致的,如Beosin安全研究员在Snarkjs库中发现的漏洞CVE-2023-33252。
3. 操作码安全:zkEVM 操作码完成时,存在遍及的欠束缚等安全问题,尤其是精度问题。例如底层电路在完成两个数的比较时,假如程序中比较运算的精度为1个字节,那么电路束缚需求规则取值规划,否则电路中运算的精度将远超程序精度,导致成果过错。
4. 安全EIP支撑:EIP-2、EIP-155等安全类eip的支撑。
5. Sequencer中心化问题:现在 Scroll 生成的证明全部依靠Sequencer生成的履行跟踪,假如Sequencer作恶,zkEVM 无法维护用户财物安全。
6. 兼容性问题:zkEVM 依据履行踪影生成电路证明并在合约验证,即便Sequencer进行细小的升级,也或许导致底层语言级别生成的履行踪影存在较大差异。
Scroll的未来展望
1. Scroll 现在采用了两层KZG版别的Halo2证明体系,运用GPU硬件加速加速证明生成的速度,现在瓶颈转移到了见证生成和仿制数据这部分。此外,Roller 的中心化程度和硬件运转费用也是 Scroll 在未来发展多阶段证明体系需求考虑的部分。
2. 因为EVM履行踪影是动态改变的,会存在各式各样的电路束缚和规划。现在为满意动态改变履行踪影,每步履行踪影都需求满意最大的电路规划,造成额定的内存浪费。
3. Scroll 的 Roller 现在估计经过网络买卖费用获利,然而当时 Scroll 网络的用户数和买卖费用无法满意 Roller 和排序器的运转费用。在未来,Scroll 网络如何进行经济激励以招引用户和维持网络稳定运转是一个需求思考的问题。
现在,Beosin也已支撑zk项目的审计,我们对zk相关的硬核安全研究,可阅览下面文章:1、三种针对ZK根底算法Groth16的进犯方法共享;2、深化探究 Tornado.Cash,揭示zkp项目的延展性进犯。
此时快讯
【Genesis提交修订后的破产计划以有序关闭和资产清算】金色财经报道,Genesis Global Capital于10月25日提交了修订后的第11章破产计划,以解决债权人的未决索赔和利益。修订后的计划将债权人针对Genesis Global Holdco的债权分为10类,其中4类以加密货币计价的无担保债权按币种划分。法定货币、比特币、以太坊和其他以加密货币计价的无担保债权将受到损害,从而使它们有权对该计划进行投票。同时,次级债权、政府处罚债权和利益均被视为否决该计划,没有投票权。对加密资产债权的区别对待承认了Genesis债权人的不同利益。
根据拟议的计划,Genesis实体将由新成立的“清算债务人”进行清算,并由计划管理员、新董事会和清算监督委员会监督。清盘债务人将清算资产,按照商定的原则分配给债权人。将为计划分配设立独立账户,包括索赔、专业费用、诉讼和逐步准备金。Genesis Global Capital和Genesis Asia Pacific之间的公司间债权将得到解决,以平衡债权人的追偿。