原文标题:《An Introduction to Scroll: the General-purpose Zero-Knowledge Rollup》
原文作者:FRANCESCO
原文编译:Peisen,BlockBeats
编者语:基于 ZK Rollup 的以太坊 Layer 2 网络 Scroll 从去年至今获得了行业的高度关注。Scroll 于 2022 年 4 月和今年 3 月分别宣布完成了由 Polychain Capital 领投的 3000 万美元 A 轮融资以及 Polychain Capital、红杉中国、IOSG Ventures、启明创投和 OKX Ventures 等参投的 5000 万美元融资。
10 月 10 日,以太坊 Layer 2 解决方案 Scroll 主网已于当日下午 2 点产生创世区块。10 月 17 日,Scroll 官方宣布主网已正式上线,随后部分项目陆续开始集成或者支持 Scroll 主网,为用户提供更多的应用场景和服务。
根据 Blockscout Scroll 主网 Token 页面,若参考当前持有地址数最多的 Token,受关注的项目包括 Merkly、Zonic on Scroll、PunkSwap Token、Skydrome、Scroll Name Service、Scroll Doge (zkDoge)、Scrollswap Finance Token (SF)、Script (SCRIPT) 、Scroll Inu (Sinu)。
相关阅读:《Scroll 主网启动:用户都在交互哪些 Dapp?》
作为一种基于 zkEVM 的通用 ZK-Rollup,Scroll 旨在为现有应用程序和工具提供最高级别的 EVM 兼容性。加密研究员 @francescoweb3 对 Scroll 的技术原理、工作流程以及目前发展状态进行了研究,并提出了值得关注与思考的几个问题。BlockBeats 将原文编译如下:
10 月 10 日,Scroll 神秘地发布了一条消息,宣布其主网的正式启动。除了空投矿业的帖子之外,我对这个事件了解并不透彻。因此,我决定深入探究这个事件!
Scroll 是一个针对以太坊的扩展解决方案:一个通用的 Layer 2 (L2) 零知识(zk)rollup。这听起来可能包含了许多专业术语,让我们逐个解释它们。
作为以太坊上的一个 L2 rollup,Scroll 从本质上继承了 ETH 的安全性。
除了安全性之外,Scroll 还与丰富的以太坊生态系统实现了无缝集成,包括工具、dApps、智能合约以及庞大的用户群。
这种方法使得这些资源能够轻松地转移和互换使用,确保了 EVM 兼容性。可以说,「对于用户和开发者来说,Scroll 几乎就是以太坊」。
在 Scroll 出现之前,由于生成以太坊虚拟机(EVM)计算的零知识证明的复杂性,没有通用的零知识(zk)rollup。简而言之,作为一个通用 rollup 意味着具有与 EVM 等价的功能。然而,直到现在,成功地在 zk rollup 上运行一个 EVM 环境一直是一个难以捉摸的目标。这主要归因于将 EVM 交易转换为 zk 证明可解释的逻辑电路的复杂性。
正是这种复杂性解释了为什么 zk-rollup 项目只专注于特定应用,如 dYdX 专注于交易,ImmutableX 专注于 NFT。由于技术困难,无法开发出可以部署各种 DApps 的通用网络。这也是为什么与 op-rollup 相比,zk-rollup 在总锁定价值(TVL)和用户数量方面表现不佳。
相关阅读:《【Rollup 系列】第 1 部分:Scroll,原生 zkEVM 的梦想》
尽管存在这些挑战,但对通用零知识(zk)rollup 的探索仍在继续。与 EVM 兼容是一件大事,因为它极大地简化了开发人员转向新链所需的努力。例如,转向非 EVM 链意味着:
· 需要将现有合约迁移并重写到新的 rollup
· 不受现有 EVM 工具支持(例如库、钱包、市场等)
· 无法支持来自以太坊生态系统的应用程序
许多人已经开始着手开发通用 zk EVM,可以从不同层面看它们在与 EVM 的兼容性:
Starknet 和 zkSync(语言层面):这些目前是专用解决方案,使用自定义虚拟机(Cairo VM)运行。它们运行一个自定义 VM,并创建了一个编译器「Warp Transpiler」,将 Solidity 代码转换为 Cairo VM 字节码。
他们所做的是创建一个新的 VM,并在其顶部添加以太坊工具支持作为附加层。这仍然实现了使 Solidity 合约可导出到 StarkNet,从而让「EVM 兼容」的目标。尽管不是直接执行 EVM,但它保留了兼容性,让 Solidity 开发者为他们的 rollup 编写代码。
在使用这些解决方案时:
· 您不是在 EVM 内部执行
· 您没有与其他以太坊接口的兼容性
· Solidity 开发者能够编写可在您的 rollup 上使用的代码
这是一个很好的折衷方案。
Polygon zk-EVM(字节码层面):运行一个自定义 VM,但已将所有 EVM 操作码映射到对其 VM 有效的操作码(「操作码级等价」)。Polygon 的方法是构建一个具有「操作码级等价」的 zkEVM。与 Scroll 相比,Polygon 有一个替代运行时(「zkExecutor」),它运行自定义的「zkASM」操作码,而不是直接运行 EVM 操作码。这样做是为了优化 EVM 解释,因为直接证明 EVM 会有太多约束。
下图展示了该过程的幕后情况:
尽管这种配置比 Scroll 更高效,但它增加了大量的自定义代码(用于创建 zkASM),可能需要修改代码或工具以实现兼容性,并且随着时间的推移可能与以太坊越来越不同(例如,燃气价格可能有所不同,代码库可能越来越不同)。Scroll(字节码级别):将 EVM 执行直接转换为可验证的电路,从而在工具支持和兼容性方面带来好处。
尽管这种配置比 Scroll 更高效,但它增加了大量的自定义代码来创建 zkASM,可能需要修改代码或工具以实现兼容性,并且随着时间的推移可能与以太坊越来越不同。例如,gas 费可能不同,代码库可能逐步发生改变。
Scroll(字节码层面):将 EVM 执行直接转换为可验证的电路,从而在工具支持和兼容性方面带来好处。
目前,Scroll 并不支持所有的 EVM 操作码,但他们计划最终随着时间的推移逐步支持。前面的大部分内容来自 Immutable 对这个主题的一个很好的解释。
Scroll 是一个 zk rollup,它在 Eth L1 上有一个智能合约,这是一个 zkEVM 证明验证器,能够验证 Scroll 协议是否安全。
Scroll 能够批量处理区块,并将区块数据写入以太坊。一旦在后续区块生成有效性证明,它将被写入以太坊。
因此,在 Scroll 上,区块可以有三种状态:
预提交:一个区块已经由排序器提议并包含在 Scroll 中。
已提交:区块的交易数据已经发布到以太坊(在 Scroll 的 rollup 合约中)。
最终确定:正确的执行已经通过在以太坊链上发布的有效性证明得到确认。
来自排序器的交易被打包成一个区块;
数据和调用数据被提交到 L1 的 rollup 合约,区块被提交(D1);
证明生成:信息传递给协调器(已完成工作的「追踪」),然后传递给证明者,生成一个 zk 证明;
证明生成可以在多个区块中进行,可以并行执行,并传递给不同的证明者;
聚合证明生成:证明被生成并批量聚合,然后将在链上提交并验证(验证);
区块被最终确定。
交易 > 由运行 Geth 分叉的节点处理 > 执行追踪 > 输入 zkEVM 电路 > 生成证明 > 输入到聚合中,显示证明有效 > 生成聚合证明 > 发送到 L1 合约
对开发者友好:Scroll 提供与 EVM 等价的字节码,确保与现有合约和工具的兼容性。
高效率:Scroll 为以太坊创造更安全的区块空间,有效降低燃气费用。
快速响应:Scroll 的区块时间仅为 3 秒,相较于以太坊的 12 秒,大幅提高了速度。
保持一致性:Scroll 与以太坊愿景保持一致,其团队还为以太坊的隐私和扩展进程贡献了代码。
自发布以来,Scroll 的总锁定价值(TVL)已累计超过 150 万美元,呈现稳定增长态势。
已有超过 1383 个用户在 Scroll 上进行了 ETH 桥接。
已有超过 976 枚 ETH 被桥接到 Scroll 主网,总价值约为 150 万美元。
zk-rollup 被视为优于乐观 rollup 竞争对手的设计,尤其在隐私方面表现突出,由于不存在欺诈证明,因此提现无需等待延迟。
作为通用的 zk-rollup,Scroll 以字节码兼容性为特点,在 L2 层面提供了 zk 证明的诸多优势,同时不影响 EVM 的工具和网络效应。
完全的 EVM 兼容性被视为 L2 的终极目标,而这正是 Scroll 的核心价值所在:一种更强大的以太坊版本。Scroll 的字节码兼容性将 zk 证明的所有优势与以太坊的最大兼容性完美结合。
值得一提的是,Scroll 更关注 zk 证明的「同步」方面,而非其「隐私」方面,这使得该协议能够将大量计算压缩成一个微小的证明。
同样值得注意的是 Scroll 对去中心化的承诺。尽管初始阶段会存在一个中心化的排序器,但去中心化的计划已在筹划之中。
此外,所有的 zk 证明最终都将由一个去中心化的「证明者」网络来完成。
「原文链接」
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia