去中心化、安全性和可扩展性是区块链的三大核心属性。根据区块链不可能三角理论,区块链架构只能在三者中实现两项。以太坊在设计上侧重于去中心化和安全性,因此在可扩展性方面表现较差。目前,以太坊每天处理 100 多万笔交易,导致交易费用高昂,推动了对以太坊扩展解决方案的需求。
目前有多种不同类型的以太坊扩展解决方案,每种都有其权衡与安全模型,包括 L1 分片、L2 状态通道、Plasma、侧链、汇总协议 和 Validium。由于分片技术的演进缓慢且实施复杂,侧链和 Validium 无法继承以太坊的安全性和数据可用性。综合来看,以太坊生态系统目前主要使用汇总(Rollups)扩展解决方案。
至今,Beosin 已成为 ETH L2 的安全合作伙伴,如 Manta Network 和 StarkNet。在过去的审计中,多个知名区块链通过了 Beosin 的链安全审计,包括 Ronin Network、Manta Network、Merlin Chain、Clover、Self Chain、Crust Network 等。Beosin 现发布 ETH L2 的审计解决方案,为 ETH L2 生态系统提供全面的安全审计服务。
以太坊 L2 通过汇总协议将数百笔交易打包成一次性交易提交到以太坊主网,从而将交易费用分摊给所有汇总协议用户,降低了每个用户的费用。汇总协议的交易数据会提交到 L1,但执行过程由汇总协议独立完成。通过将交易数据提交到 L1,汇总协议能够继承以太坊的安全性,因为一旦数据上传到 L1,回滚汇总协议的交易就必须回滚到 L1 上。
目前,汇总协议有两种主要实现方式:
乐观汇总(Optimistic Rollups)是一种通过将计算和状态存储移至链下来扩展以太坊的方法。它在链下执行交易,但将交易数据作为调用数据或 blob 发布到以太坊主网。
乐观汇总在以太坊上部署一个称为汇总合约的智能合约,用于管理汇总的状态、追踪用户余额、处理存款、提现以及争议解决。交易由链下的排序器(sequencer)收集并汇总,将多笔交易打包成一个汇总区块,区块中包含账户状态的新摘要和加密证明(默克尔树根)。排序器随后通过提供默克尔树根和调用数据,将汇总区块提交到主链上。
乐观汇总被称为“乐观”的原因是它假设链下交易是有效的,并且不会发布交易批次的有效性证明。相反,它依赖欺诈证明机制来检测错误计算的交易。在将汇总批次提交到以太坊后,会有一个时间窗口(称为质疑期),在此期间,任何人都可以通过计算欺诈证明来质疑某笔汇总交易的结果。欺诈证明包含验证者认为有问题的特定交易细节。
如下图所示,目前大多数汇总协议的质疑期为 7 天,最短为 1 天。
在质疑期内,任何人都可以通过计算欺诈证明质疑交易结果。如果交易无效,汇总区块将被撤销,质疑者将获得奖励,而排序器将受到惩罚。
如果汇总批次在质疑期内未受到质疑(即所有交易均已正确执行),则该批次被视为有效并在以太坊上接受。其他人可继续扩展未确认的汇总区块,但需注意,如果交易基于之前发布的错误执行,交易结果将会被回滚。
最后,用户需要向汇总合约提交提现请求,将资金从 L2 提现至 L1。合约会验证用户在汇总上的余额是否充足,并相应地更新其主链余额。
通过生态建设和空投,Arbitrum 很快成为 ETH L2 中最活跃的网络,TVL(总锁仓量)超过 27 亿美元。在大规模空投之后,Arbitrum 团队推出了 Arbitrum Orbit 计划,鼓励开发者使用 Arbitrum 相关技术构建 L3。Beosin 已完成对 ArbSwap 和 Arbipad 的安全审计,助力 Arbitrum 生态的安全发展。
尽管 Optimism 的生态活跃度不如 Arbitrum,但其于 2023 年推出的 OP Stack 作为构建模块化 L2 的完整解决方案,获得了广泛的行业认可。超过 25 个 L2 网络基于 OP Stack 构建,包括 Base、Mantle、Manta、OP BNB 和 Celo 等明星项目。基于 Optimism 的 DIPX Finance 和 Starnet 已通过 Beosin 的安全审计。
Base 是基于 OP Stack 的 L2 网络,在生态活跃度和 TVL 方面仅次于 Arbitrum。此前,Beosin 已详细分析了 Base 的架构和安全风险,并审计了 Surf Protocol 和 EDA,帮助项目方和用户规避安全风险。
在“Big Bang”开发者竞赛结束后,Blast 的 TVL 飙升至 20 亿美元以上,跻身 L2 赛道。Beosin 在 Blast 主网上线前分析了其网络安全性。由于 Blast 未实现欺诈证明,资产被存放在多签钱包中,而非汇总桥,因此存在高度中心化风险。Beosin 审计了多个 Blast 生态项目,如 Wand Protocol、Zest 和 Kalax。
OP Stack 作为成熟的乐观汇总框架,通过提供完整的软件组件、工具和框架,简化了构建乐观汇总链的复杂过程。以下以 OP Stack 框架为例,分析乐观汇总的典型架构。
● 执行节点:Op-geth 是以太坊的一个扩展执行客户端,负责处理 L2 特定功能,例如接收来自 L1 的代币存款。该层定义了负责执行状态变化的所有功能。在这里,状态转换是基于从汇总节点(排序器和验证者)通过引擎 API 接收到的输入触发的。
● Rollup 节点:包括排序器和验证者。整理者负责将 L2 处理的交易进行批处理并发布到 L1。排序者定义了 L2 链上交易被收集和发布的方式。验证者/验证人检查批处理交易的有效性,并在检测到欺诈时提交证据。
● 欺诈证明:Cannon 是 Geth 的升级版本,负责在欺诈检测和证明阶段运行 EVM。它本质上是一个链上争议引擎,通过 API 与排序器和验证者协调,以证明虚假交易。
● 批处理提交:排序器将所有已处理的交易一次性批处理,经过验证者的验证后,排序器将批处理的交易提交至 L1。
● 桥合约:部署在以太坊和 L2 上,允许用户在 L1 和 L2 之间传递消息和转移资产。
在乐观汇总的技术架构下,确保用户资产在 L1 和 L2 之间移动时的安全性至关重要。以下是关于用户如何在这两层协议之间访问资产以及系统如何保持这些交易的完整性和安全性的详细说明。
● 资产桥接到汇总协议:用户将资金存入 L1 上的汇总链桥合约。链桥合约将交易中继到 L2,在乐观汇总协议中铸造等量的资产,并将其发送到用户选择的地址。 用户生成的交易(如从 L1 到 L2 的存款)通常会排队,直到排序器重新将其提交到汇总合约。然而,为了保持抗审查性,如果交易延迟超过了允许的最大时间,乐观汇总允许用户直接向链上汇总合约提交交易。
● 从汇总协议提现资产:由于欺诈证明机制,从乐观汇总协议到以太坊的提现过程更加复杂。如果用户发起从 L2 到 L1 的提现交易以提取 L1 上管理的资金,他们需要等待质疑期结束,通常持续约 7 天。 当用户在汇总协议上发起提现请求时,交易将被包含在下一个批处理中,用户在汇总上的资产将被销毁。一旦批次在以太坊上发布,用户可以计算一个默克尔证明,以验证其退出交易是否包含在区块中。接下来用户需要等待延迟期结束,在 L1 上完成交易并将资金提取至主网。
为了避免在提现时等待一周,乐观汇总协议的用户可以向流动性提供者(LP)请求预付款,LP 接管待处理的提现,并向用户支付 L1 上的资金,收取一定费用。流动性提供者可以通过自行检查链上数据,验证用户提现请求的有效性,然后释放资金。这样,他们可以确保交易最终会被确认,从而实现信任的可验证性。
L2 是一个完整的区块链系统,因此公链的常规审计也适用于乐观汇总协议,详细内容见本文结尾的附录。
此外,由于其特殊性,乐观汇总协议还需要进行以下额外审计:
● 数据可用性证明:确保 L2 的交易数据在 L1 上可用,以防止数据丢失。
● 数据同步机制:检查 L1 和 L2 之间的数据同步机制是否健全,能否处理如网络分区等异常情况。
● 欺诈证明合约:验证欺诈证明合约的实现是否正确。
● 挑战期机制:检查质疑期的时长是否合理,欺诈证明能否在规定时间内完成。
● 欺诈证明提交过程:检查欺诈证明的提交过程是否安全。
● 存取款过程:检查从 L1 到 L2 和从 L2 到 L1 的存款和提现流程,确保流程的安全性。
● 资产铸造和销毁:检查 L2 上的资产铸造和销毁逻辑,以确保与 L1 资产的正确对应关系。
● 流动性提供者机制:如果存在流动性提供者(LP)机制,需要审查 LP 的操作流程及其安全性。
零知识汇总协议(ZK Rollup)是一种基于零知识证明的 L2 扩展解决方案。它主要在链下执行复杂的计算和生成证明,在链上验证证明并存储部分数据,以确保数据的可用性。
零知识汇总协议是一种“混合扩展方案”,它是一个在链下独立运行的协议,但从以太坊中获取安全性。具体而言,以太坊网络会强制执行零知识汇总协议上状态更新的有效性,并保证每次 汇总状态更新时的后台数据可用性。汇总协议的状态由部署在以太坊网络上的智能合约维护。为了更新这一状态,零知识汇总协议节点必须提交有效性证明进行验证。有效性证明是一种加密保障,确保提议的状态变化确实是执行了一批给定交易的结果。这意味着零知识汇总协议只需要提供有效性证明来完成以太坊上的交易,而无需发布所有交易数据。
从零知识汇总协议转移资金到以太坊没有延迟,因为一旦零知识汇总协议合约验证了有效性证明,退出交易就会立即执行。相反,从乐观汇总协议提现会产生延迟,因为任何人都可以使用欺诈证明来质疑一笔退出交易。
zkSync 是由 Matter Labs 团队于五年前推出的 L2 解决方案。它利用零知识证明技术实现高效的交易验证,并已筹集 2 亿多美元。zkSync 是使用零知识汇总的生态活动最为活跃的 L2 网络之一,同时 zkSync 也引发了一些争议。Beosin 曾对其领先的 DeFi 项目 SyncSwap 进行了审计,涵盖了代码质量、合约逻辑和安全性、运营模型等方面。
StarkNet 使用 ZK-STARK 构建 L2,以提高交易速度并降低交易费用。StarkNet 拥有原生虚拟机(Cairo VM)和开发语言 Cairo,以帮助开发者更安全、更便捷地编写智能合约。Beosin 已成为 StarkNet 的官方安全合作伙伴,完成了 Option Dance 和 Reddio 的安全审计。2024年 8 月 13 日,Reddio 完成了由 Paradigm 领投的种子轮融资,以构建高性能的并行 EVM L2 网络。
Scroll 通过零知识证明技术进行扩展,并利用硬件加速生成和验证零知识证明,旨在实现字节码级的 EVM 兼容性。这意味着开发者可直接使用 Solidity 和以太坊相关的开发工具来构建智能合约。
零知识汇总协议的常见框架包括汇总协议和桥接合约、整理者、聚合器、转发器和生成零知识证明的 Roller 网络。具体架构如下图所示:
汇总合约和桥接合约:
Rollup 合约负责提供汇总交易的数据可用性,验证 zkEVM 的有效性证明,并允许用户在以太坊和汇总协议之间转移资产。它接收来自整理者的 L2 状态根和区块,状态根存储在以太坊状态中,而 L2 区块数据则作为以太坊的调用数据保存。
桥接合约部署在以太坊和 L2 上,允许用户在 L1 和 L2 之间传递消息和转移资产。
Sequencer(排序器):
Sequencer 提供 JSON-RPC 接口,接受 L2 交易,定期从内存池中提取一批交易进行处理,生成新的 L2 区块和状态根。其实现通常基于 Go-Ethereum(Geth),确保最佳兼容性和最高安全性。
Coordinator(协调器):
当整理者生成新区块时,协调器会被通知,并从整理者处接收该区块的执行跟踪记录。执行跟踪记录随后被发送到 Roller 网络中的随机选定的 Roller,以生成有效性证明。
Relayer(中继器):
中继器监控部署在以太坊和 L2 上的汇总合约和桥接合约。主要职责包括:1)通过监控汇总合约跟踪 L2 区块的数据可用性和验证情况;2)监控以太坊和 L2 桥接的存取事件,并将消息中继到另一端。
在零知识汇总的技术架构下,要确保用户资产在 L1 和 L2 之间转移的过程中是安全的,这一点至关重要。以下详细介绍了用户如何在两个协议之间访问资产,以及系统如何维护这些交易的完整性和安全性。
资产桥接到汇总协议:
用户通过将代币存入部署在网络链上的零知识汇总合约来进入汇总协议。该交易需要由项目方提交到汇总合约。如果待处理的存款队列开始占满,零知识汇总操作员将接受这些存款交易并将其提交到汇总合约。一旦资金存入汇总协议,用户就可以开始交易处理。
用户可通过哈希其账户来验证汇总协议上的余额,将哈希值发送到汇总合约,并提供与当前状态根验证的默克尔证明。
从汇总协议提取资产:
用户发起退出交易,将其汇总协议上的资产发送到指定账户进行销毁。如果操作员将交易添加到下一个批次中,用户可以向链上合约提交提现请求。提现请求包括:
L2 是一个完整的区块链系统,因此区块链的常见审计项目同样适用于零知识汇总协议,具体内容详见本文附录。此外,由于零知识汇总的特殊性,还需进行一些额外的审计:
区块链与 L2 通用审计项目:
去中心化、安全性和可扩展性是区块链的三大核心属性。根据区块链不可能三角理论,区块链架构只能在三者中实现两项。以太坊在设计上侧重于去中心化和安全性,因此在可扩展性方面表现较差。目前,以太坊每天处理 100 多万笔交易,导致交易费用高昂,推动了对以太坊扩展解决方案的需求。
目前有多种不同类型的以太坊扩展解决方案,每种都有其权衡与安全模型,包括 L1 分片、L2 状态通道、Plasma、侧链、汇总协议 和 Validium。由于分片技术的演进缓慢且实施复杂,侧链和 Validium 无法继承以太坊的安全性和数据可用性。综合来看,以太坊生态系统目前主要使用汇总(Rollups)扩展解决方案。
至今,Beosin 已成为 ETH L2 的安全合作伙伴,如 Manta Network 和 StarkNet。在过去的审计中,多个知名区块链通过了 Beosin 的链安全审计,包括 Ronin Network、Manta Network、Merlin Chain、Clover、Self Chain、Crust Network 等。Beosin 现发布 ETH L2 的审计解决方案,为 ETH L2 生态系统提供全面的安全审计服务。
以太坊 L2 通过汇总协议将数百笔交易打包成一次性交易提交到以太坊主网,从而将交易费用分摊给所有汇总协议用户,降低了每个用户的费用。汇总协议的交易数据会提交到 L1,但执行过程由汇总协议独立完成。通过将交易数据提交到 L1,汇总协议能够继承以太坊的安全性,因为一旦数据上传到 L1,回滚汇总协议的交易就必须回滚到 L1 上。
目前,汇总协议有两种主要实现方式:
乐观汇总(Optimistic Rollups)是一种通过将计算和状态存储移至链下来扩展以太坊的方法。它在链下执行交易,但将交易数据作为调用数据或 blob 发布到以太坊主网。
乐观汇总在以太坊上部署一个称为汇总合约的智能合约,用于管理汇总的状态、追踪用户余额、处理存款、提现以及争议解决。交易由链下的排序器(sequencer)收集并汇总,将多笔交易打包成一个汇总区块,区块中包含账户状态的新摘要和加密证明(默克尔树根)。排序器随后通过提供默克尔树根和调用数据,将汇总区块提交到主链上。
乐观汇总被称为“乐观”的原因是它假设链下交易是有效的,并且不会发布交易批次的有效性证明。相反,它依赖欺诈证明机制来检测错误计算的交易。在将汇总批次提交到以太坊后,会有一个时间窗口(称为质疑期),在此期间,任何人都可以通过计算欺诈证明来质疑某笔汇总交易的结果。欺诈证明包含验证者认为有问题的特定交易细节。
如下图所示,目前大多数汇总协议的质疑期为 7 天,最短为 1 天。
在质疑期内,任何人都可以通过计算欺诈证明质疑交易结果。如果交易无效,汇总区块将被撤销,质疑者将获得奖励,而排序器将受到惩罚。
如果汇总批次在质疑期内未受到质疑(即所有交易均已正确执行),则该批次被视为有效并在以太坊上接受。其他人可继续扩展未确认的汇总区块,但需注意,如果交易基于之前发布的错误执行,交易结果将会被回滚。
最后,用户需要向汇总合约提交提现请求,将资金从 L2 提现至 L1。合约会验证用户在汇总上的余额是否充足,并相应地更新其主链余额。
通过生态建设和空投,Arbitrum 很快成为 ETH L2 中最活跃的网络,TVL(总锁仓量)超过 27 亿美元。在大规模空投之后,Arbitrum 团队推出了 Arbitrum Orbit 计划,鼓励开发者使用 Arbitrum 相关技术构建 L3。Beosin 已完成对 ArbSwap 和 Arbipad 的安全审计,助力 Arbitrum 生态的安全发展。
尽管 Optimism 的生态活跃度不如 Arbitrum,但其于 2023 年推出的 OP Stack 作为构建模块化 L2 的完整解决方案,获得了广泛的行业认可。超过 25 个 L2 网络基于 OP Stack 构建,包括 Base、Mantle、Manta、OP BNB 和 Celo 等明星项目。基于 Optimism 的 DIPX Finance 和 Starnet 已通过 Beosin 的安全审计。
Base 是基于 OP Stack 的 L2 网络,在生态活跃度和 TVL 方面仅次于 Arbitrum。此前,Beosin 已详细分析了 Base 的架构和安全风险,并审计了 Surf Protocol 和 EDA,帮助项目方和用户规避安全风险。
在“Big Bang”开发者竞赛结束后,Blast 的 TVL 飙升至 20 亿美元以上,跻身 L2 赛道。Beosin 在 Blast 主网上线前分析了其网络安全性。由于 Blast 未实现欺诈证明,资产被存放在多签钱包中,而非汇总桥,因此存在高度中心化风险。Beosin 审计了多个 Blast 生态项目,如 Wand Protocol、Zest 和 Kalax。
OP Stack 作为成熟的乐观汇总框架,通过提供完整的软件组件、工具和框架,简化了构建乐观汇总链的复杂过程。以下以 OP Stack 框架为例,分析乐观汇总的典型架构。
● 执行节点:Op-geth 是以太坊的一个扩展执行客户端,负责处理 L2 特定功能,例如接收来自 L1 的代币存款。该层定义了负责执行状态变化的所有功能。在这里,状态转换是基于从汇总节点(排序器和验证者)通过引擎 API 接收到的输入触发的。
● Rollup 节点:包括排序器和验证者。整理者负责将 L2 处理的交易进行批处理并发布到 L1。排序者定义了 L2 链上交易被收集和发布的方式。验证者/验证人检查批处理交易的有效性,并在检测到欺诈时提交证据。
● 欺诈证明:Cannon 是 Geth 的升级版本,负责在欺诈检测和证明阶段运行 EVM。它本质上是一个链上争议引擎,通过 API 与排序器和验证者协调,以证明虚假交易。
● 批处理提交:排序器将所有已处理的交易一次性批处理,经过验证者的验证后,排序器将批处理的交易提交至 L1。
● 桥合约:部署在以太坊和 L2 上,允许用户在 L1 和 L2 之间传递消息和转移资产。
在乐观汇总的技术架构下,确保用户资产在 L1 和 L2 之间移动时的安全性至关重要。以下是关于用户如何在这两层协议之间访问资产以及系统如何保持这些交易的完整性和安全性的详细说明。
● 资产桥接到汇总协议:用户将资金存入 L1 上的汇总链桥合约。链桥合约将交易中继到 L2,在乐观汇总协议中铸造等量的资产,并将其发送到用户选择的地址。 用户生成的交易(如从 L1 到 L2 的存款)通常会排队,直到排序器重新将其提交到汇总合约。然而,为了保持抗审查性,如果交易延迟超过了允许的最大时间,乐观汇总允许用户直接向链上汇总合约提交交易。
● 从汇总协议提现资产:由于欺诈证明机制,从乐观汇总协议到以太坊的提现过程更加复杂。如果用户发起从 L2 到 L1 的提现交易以提取 L1 上管理的资金,他们需要等待质疑期结束,通常持续约 7 天。 当用户在汇总协议上发起提现请求时,交易将被包含在下一个批处理中,用户在汇总上的资产将被销毁。一旦批次在以太坊上发布,用户可以计算一个默克尔证明,以验证其退出交易是否包含在区块中。接下来用户需要等待延迟期结束,在 L1 上完成交易并将资金提取至主网。
为了避免在提现时等待一周,乐观汇总协议的用户可以向流动性提供者(LP)请求预付款,LP 接管待处理的提现,并向用户支付 L1 上的资金,收取一定费用。流动性提供者可以通过自行检查链上数据,验证用户提现请求的有效性,然后释放资金。这样,他们可以确保交易最终会被确认,从而实现信任的可验证性。
L2 是一个完整的区块链系统,因此公链的常规审计也适用于乐观汇总协议,详细内容见本文结尾的附录。
此外,由于其特殊性,乐观汇总协议还需要进行以下额外审计:
● 数据可用性证明:确保 L2 的交易数据在 L1 上可用,以防止数据丢失。
● 数据同步机制:检查 L1 和 L2 之间的数据同步机制是否健全,能否处理如网络分区等异常情况。
● 欺诈证明合约:验证欺诈证明合约的实现是否正确。
● 挑战期机制:检查质疑期的时长是否合理,欺诈证明能否在规定时间内完成。
● 欺诈证明提交过程:检查欺诈证明的提交过程是否安全。
● 存取款过程:检查从 L1 到 L2 和从 L2 到 L1 的存款和提现流程,确保流程的安全性。
● 资产铸造和销毁:检查 L2 上的资产铸造和销毁逻辑,以确保与 L1 资产的正确对应关系。
● 流动性提供者机制:如果存在流动性提供者(LP)机制,需要审查 LP 的操作流程及其安全性。
零知识汇总协议(ZK Rollup)是一种基于零知识证明的 L2 扩展解决方案。它主要在链下执行复杂的计算和生成证明,在链上验证证明并存储部分数据,以确保数据的可用性。
零知识汇总协议是一种“混合扩展方案”,它是一个在链下独立运行的协议,但从以太坊中获取安全性。具体而言,以太坊网络会强制执行零知识汇总协议上状态更新的有效性,并保证每次 汇总状态更新时的后台数据可用性。汇总协议的状态由部署在以太坊网络上的智能合约维护。为了更新这一状态,零知识汇总协议节点必须提交有效性证明进行验证。有效性证明是一种加密保障,确保提议的状态变化确实是执行了一批给定交易的结果。这意味着零知识汇总协议只需要提供有效性证明来完成以太坊上的交易,而无需发布所有交易数据。
从零知识汇总协议转移资金到以太坊没有延迟,因为一旦零知识汇总协议合约验证了有效性证明,退出交易就会立即执行。相反,从乐观汇总协议提现会产生延迟,因为任何人都可以使用欺诈证明来质疑一笔退出交易。
zkSync 是由 Matter Labs 团队于五年前推出的 L2 解决方案。它利用零知识证明技术实现高效的交易验证,并已筹集 2 亿多美元。zkSync 是使用零知识汇总的生态活动最为活跃的 L2 网络之一,同时 zkSync 也引发了一些争议。Beosin 曾对其领先的 DeFi 项目 SyncSwap 进行了审计,涵盖了代码质量、合约逻辑和安全性、运营模型等方面。
StarkNet 使用 ZK-STARK 构建 L2,以提高交易速度并降低交易费用。StarkNet 拥有原生虚拟机(Cairo VM)和开发语言 Cairo,以帮助开发者更安全、更便捷地编写智能合约。Beosin 已成为 StarkNet 的官方安全合作伙伴,完成了 Option Dance 和 Reddio 的安全审计。2024年 8 月 13 日,Reddio 完成了由 Paradigm 领投的种子轮融资,以构建高性能的并行 EVM L2 网络。
Scroll 通过零知识证明技术进行扩展,并利用硬件加速生成和验证零知识证明,旨在实现字节码级的 EVM 兼容性。这意味着开发者可直接使用 Solidity 和以太坊相关的开发工具来构建智能合约。
零知识汇总协议的常见框架包括汇总协议和桥接合约、整理者、聚合器、转发器和生成零知识证明的 Roller 网络。具体架构如下图所示:
汇总合约和桥接合约:
Rollup 合约负责提供汇总交易的数据可用性,验证 zkEVM 的有效性证明,并允许用户在以太坊和汇总协议之间转移资产。它接收来自整理者的 L2 状态根和区块,状态根存储在以太坊状态中,而 L2 区块数据则作为以太坊的调用数据保存。
桥接合约部署在以太坊和 L2 上,允许用户在 L1 和 L2 之间传递消息和转移资产。
Sequencer(排序器):
Sequencer 提供 JSON-RPC 接口,接受 L2 交易,定期从内存池中提取一批交易进行处理,生成新的 L2 区块和状态根。其实现通常基于 Go-Ethereum(Geth),确保最佳兼容性和最高安全性。
Coordinator(协调器):
当整理者生成新区块时,协调器会被通知,并从整理者处接收该区块的执行跟踪记录。执行跟踪记录随后被发送到 Roller 网络中的随机选定的 Roller,以生成有效性证明。
Relayer(中继器):
中继器监控部署在以太坊和 L2 上的汇总合约和桥接合约。主要职责包括:1)通过监控汇总合约跟踪 L2 区块的数据可用性和验证情况;2)监控以太坊和 L2 桥接的存取事件,并将消息中继到另一端。
在零知识汇总的技术架构下,要确保用户资产在 L1 和 L2 之间转移的过程中是安全的,这一点至关重要。以下详细介绍了用户如何在两个协议之间访问资产,以及系统如何维护这些交易的完整性和安全性。
资产桥接到汇总协议:
用户通过将代币存入部署在网络链上的零知识汇总合约来进入汇总协议。该交易需要由项目方提交到汇总合约。如果待处理的存款队列开始占满,零知识汇总操作员将接受这些存款交易并将其提交到汇总合约。一旦资金存入汇总协议,用户就可以开始交易处理。
用户可通过哈希其账户来验证汇总协议上的余额,将哈希值发送到汇总合约,并提供与当前状态根验证的默克尔证明。
从汇总协议提取资产:
用户发起退出交易,将其汇总协议上的资产发送到指定账户进行销毁。如果操作员将交易添加到下一个批次中,用户可以向链上合约提交提现请求。提现请求包括:
L2 是一个完整的区块链系统,因此区块链的常见审计项目同样适用于零知识汇总协议,具体内容详见本文附录。此外,由于零知识汇总的特殊性,还需进行一些额外的审计:
区块链与 L2 通用审计项目: