{"content":{"title":"以太坊Layer2扩容方案之Rollup","body":">本系列文章：\r\n[以太坊Layer2扩容方案之State Channel](https://learnblockchain.cn/article/8405)\r\n[以太坊Layer2扩容方案之Sidechain](https://learnblockchain.cn/article/8406)\r\n[以太坊Layer2扩容方案之Plasma](https://learnblockchain.cn/article/8407)\r\n[以太坊Layer2扩容方案之Rollup](https://learnblockchain.cn/article/8408)\r\n[以太坊Layer2扩容方案之Validium](https://learnblockchain.cn/article/8409)\r\n# 一 为什么存在Rollup\r\n我们知道Plasma方案它存在一些挑战：安全性问题、数据可用性问题和网络拥塞问题\r\n## 1.1 Operator作恶\r\n### 1.1.1 发布无效交易区块\r\n用户无法信任区块链状态: 无效交易区块会导致区块链上的交易记录不准确，用户无法确定其资产的真实状态\r\n挑战和退出的复杂性: 用户需要提交欺诈证明来挑战无效交易，这不仅增加了复杂性和成本，还可能导致资金被锁定在争议过程中\r\n系统不稳定性: 当无效交易区块频繁出现，整个系统的运行稳定性和用户信任度会下降，可能引发大规模的退出，导致网络拥堵和更高的交易费用\r\n\r\n### 1.1.2 拒绝提供关键信息\r\n拒绝提供关键信息， 用户无法验证和挑战区块，导致无法提取资金或纠正错误交易\r\n\r\n### 1.1.3 操作交易\r\n某些交易被故意排除或延迟，破坏网络公平性和用户体验。\r\n\r\n## 1.2 数据可用性问题\r\nPlasma链上的数据存储在链下。如果某个Plasma区块或其证明不可用，用户需要发起挑战，但是运行商离线或者跑路，导致数据不可用，因此用户将无法挑战交易或提取资金\r\n\r\n## 1.3 大规模退出导致网络拥堵\r\n当用户发现运营商作恶或者网络被攻击，可能会出现大规模退出，导致网络拥堵和高额费用\r\n\r\n# 二 什么是Rollup, 工作原理是什么\r\nRollup 是一种 Layer 2 扩展解决方案，通过将大量交易数据打包(rollup)并提交到以太坊主网，以提高交易吞吐量和降低交易费用。以下是其详细工作流程：\r\n1. 对L2链下交易进行区块打包，写入本地\r\n2. 从交易池中捞取交易进行批量打包，提交到L1主链\r\n3. 将状态根也提交到L1主链\r\n4. 以太坊主网智能合约对提交的状态进行验证和确认\r\n5. 状态更新或者回滚\r\n\r\n# 三 Optimistic Rollup vs Zero Knowledge Rollup\r\n## 3.1 相同点\r\nOptimistic Rollup和ZK Rollup都是Layer2 扩容方案Rollup系列，他们只是因为验证方式不同，从而产生了OP和ZK系列。主要相同点包括:\r\n### 3.1.1 都是Rollup扩容方案\r\n都是属于Layer2 以太坊扩容方案，旨在提高以太坊的交易吞吐量\r\n\r\n### 3.1.2 数据打包\r\n都需要将链下的交易数据进行压缩打包，然后上传到L1主链\r\n\r\n### 3.1.3 状态提交\r\n都需要根据链下交易的状态根上传到主链\r\n\r\n### 3.1.4 安全和共识依赖于L1主链\r\n它们的共识和安全都是锚定在主链上的，共识和安全依赖于L1主链\r\n\r\n总结: 两者都通过链下处理大量交易，利用以太坊主网的安全性来保证系统的整体安全，提高扩展性和降低交易成本。\r\n\r\n\r\n## 3.2 不同点\r\n### 3.2.1 验证机制不同\r\n**OP Rollup:**\r\n第一: 假设交易有效\r\n所有交易默认被认为是有效的。\r\n运行商（Operator）将交易打包成批次并提交到以太坊主网。\r\n\r\n第二: 进入挑战期\r\n提交交易后，进入一个固定的挑战期。期间，任何节点（验证者或用户）都可以检查提交的交易数据。\r\n第三: 提出欺诈证明\r\n如果发现无效交易，挑战者可以提交欺诈证明。\r\n提交欺诈证明需要提供具体的交易数据和默克尔证明，以证明交易无效。\r\n以太坊主网的智能合约验证欺诈证明，如果证明有效，则回滚无效交易，惩罚运行商。\r\n\r\n第四: 状态更新\r\n如果挑战期内没有提交有效的欺诈证明，则交易批次被确认，状态根更新。\r\n\r\n**ZK Rollup:**\r\n第一: 运营商对用户交易进行打包，生成打包批次\r\n第二: 使用零知识证明（zk-SNARKs或zk-STARKs）算法生成一个证明，证明所有交易的有效性, 而无需公开具体交易数据\r\n第三: 运行商将交易批次的状态根和零知识证明提交到以太坊主网的智能合约\r\n第四: 以太坊主网的智能合约即时验证零知识证明。验证通过后，新的状态根在主网上确认，交易批次被正式确认, 状态更新\r\n\r\n### 3.2.2 交易确认时间\r\n**OP Rollup: ** \r\n因为存在挑战期间，所以交易确认有一定延迟\r\n\r\n**ZK Rollup:**\r\n即时确认交易，无需等待\r\n\r\n### 3.2.3 安全程度不同\r\n**OP Rollup:**\r\n需要依赖挑战，如果存在欺诈，但是没有发起挑战，或者到期那么自动视为交易有效。安全性比ZK相对较低。\r\n存在欺诈：安全依赖验证者发现欺诈，并且作为挑战者提交欺诈证明；如果发现了但是不提交，那么就会被认为是有效交易\r\n存在欺诈: 在有效期内没有提出欺诈证明，过期之后，自动视为交易有效\r\n**ZK Rollup:**\r\n使用零知识证明提供高更高安全性，因为所有交易在提交时已验证，无需依赖挑战\r\n\r\n### 3.2.4 计算成本不同\r\n**OP Rollup:**\r\n验证交易仅在提出欺诈证明时进行，因此计算成本较低\r\n\r\n**ZK Rollup:**\r\n生成零知识证明的计算成本较高。因为验证所有交易的有效性，需要更多计算资源"},"author":{"user":"https://learnblockchain.cn/people/6614","address":null},"history":"bafkreidzrve6ni5tjn7ginfrrggfndg4nupngjs3iuozplkedigfz3d7ke","timestamp":1718792040,"version":1}