安全性是任何去中心化协议中最不可见但最重要的功能之一。由于有大量的资金质押—尤其是用户资金的沉淀—这是一个永远不应该妥协、忽视的优先项。在 Scroll,安全始终是我们的首要原则,指导我们做出每一个决定,一年多来,我们经历了严格而广泛的测试和多轮外部审计,以确保 Scroll 主网的安全性。
我们想分享 Scroll 的安全方面的信息,您将深入了解我们在安全道路上所做的工作,并让您了解我们最新的 100 万美元漏洞赏金计划。
使用久经考验的加密库
加密库是确保数据安全、用户隐私和数据完整性的基础工具。使用由Electric Coin Coin Co.开发的完善的 Halo2 开源库,意味着 Scroll 依赖于经过专家彻底研究和审查,并经过时间考验的算法和协议。它们广泛的社区审查意味着漏洞可以非常迅速地被发现和修复。
自第一天起开源
Scroll 从第一天起就一直在与开源社区一起开发其zkEVM。我们相信,与社区一起开放开放不仅可以提供更好的代码,还可以通过其透明和协作的方式建立信任并提高安全性。根据莱纳斯定律:“只要有足够的关注,所有的漏洞都无处可逃”。由于许多人关注我们的代码库,可以快速发现和解决漏洞。如果出现问题,社区可以修改甚至分叉项目。我们的方式可以确保持续的反馈,使攻击者难以攻击该软件,对比之下,专利系统依赖隐蔽性来确保安全。
全面的代码审计和测试
除了我们的社区和致力于发现潜在漏洞的内部蓝红安全团队外,我们还一直在不断进行内部代码审计。我们的代码库通过我们的 Pre-Alpha 测试网,Alpha 测试网和 Sepolia Beta测试网进行了数月的实战测试。我们在 CPU 和 GPU 上投入了数千小时,通过数以万计的测试用例和各种类型的合约和交易来测试代码。以下是我们的报告:
https://circuit-release.s3.us-west-2.amazonaws.com/testool/nightly.1695216104.47e2015.html
独立审计
为了补充我们的内部工作,我们还与行业领先的审计公司合作,他们直接审计了我们的代码。对于最关键的元素,我们让多个团队独立审查代码,以确保多重审查并加强我们的安全措施。
- zkEVM电路由 Trail of Bits,Zellic 和 KALOS 审计
- 跨链桥和 rollup 合约由 OpenZeppelin 和 Zellic 审计
- 节点实现由 Trail of Bits 审计
我们的程序和审计结果完全公开透明,我们自豪地向您展示我们的审计报告:
- zkEVM 电路
- Trail of Bits(最终报告正在进行中 - 我们将在准备就绪后进行更新)
- zkEVM wave 1
- zkEVM wave 2
- zkEVM wave 3
- Zellic x Kalos
- zkEVM part 1
- https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%201%20-%20Audit%20Report.pdf
- zkEVM part 2
- https://github.com/Zellic/publications/blob/master/Scroll%20zkEVM%20-%20Part%202%20-%20Audit%20Report.pdf
- 节点实现(由 Trail of Bits 审计)
- zkTrie
- https://github.com/trailofbits/publications/blob/master/reviews/2023-07-scroll-zktrie-securityreview.pdf
- L2geth
- https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scrollL2geth-initial-securityreview.pdf
- L2geth diff
- https://github.com/trailofbits/publications/blob/master/reviews/2023-08-scrollL2geth-securityreview.pdf
- 跨链桥和Rollup合约
- OpenZeppelin
- Phase 1
- https://blog.openzeppelin.com/scroll-phase-1-audit
- Phase 2
- https://blog.openzeppelin.com/scroll-phase-2-audit
- GasSwap, Multiple Verifier, Wrapped Ether and Diff
- https://blog.openzeppelin.com/scroll-gasswap-multiple-verifier-wrapped-ether-and-diff-audit
- ScrollOwner and Rate Limiter
- https://blog.openzeppelin.com/scrollowner-and-rate-limiter-audit
- USDC Gateway
- https://blog.openzeppelin.com/scroll-usdc-gateway-audit
- Contract diff
- https://blog.openzeppelin.com/scroll-diff-audit-report
- Zellic
- Contract v1
- https://github.com/Zellic/publications/blob/master/Scroll%20-%2005.26.23%20Zellic%20Audit%20Report.pdf
- Contract v2
- https://github.com/Zellic/publications/blob/master/Scroll%20-%2009.27.23%20Zellic%20Audit%20Report.pdf
漏洞赏金计划
作为代码审计的延伸,我们在 Immunefi 平台上启动了漏洞赏金计划。我们邀请对 Scroll 感兴趣的安全爱好者和专家仔细检查我们的代码,以识别任何可能未通过测试和审计发现的漏洞。根据所报告错误的严重性,我们提供丰厚的奖励:
- 严重级别:高达 $1,000,000.00
- 高级别:$10,000.00 - $50,000.00
- 中等级别:$5,000.00
漏洞赏金计划的范围涵盖区块链基础设施以及用于跨链桥和 Rollup 的智能合约。有关漏洞类别的详细分类,请参阅我们的漏洞赏金页面。
随着我们的代码和系统的成熟,我们将扩大漏洞赏金计划的范围,进一步提高奖励。
护航 Scroll 主网
需要注意的是,Scroll 主网尚未达到最终的、完全无需信任和去中心化的状态。在现阶段,我们仍在使用辅助轮来增强 Scroll 的运营安全性。具体而言,我们部署了以下机制:
- 我们引入了允许对 Scroll 合约进行精准控制的 ScrollOwner 合约。在正常情况下,它配置为:强制要求合约升级延迟 14 天,根据风险,管理合约的方法延迟 1/7/14 天。在紧急情况下,合同允许Scroll多签立即暂停跨链桥和Rollup来控制损失。Scroll 多签目前还能够在紧急情况下绕过延迟进行即时升级。我们将建立一个安全理事会,并将绕过特权移交给其多签。
- 已经部署了一个跨链桥监测器来追踪 L1 和 L2 的链上活动,确保每个存款和取款事件在其对应链上都得到准确的反馈。
- 我们在内部运行一个追随者节点,该节点使用提交给以太坊的交易数据验证状态转换。
这些作为保障措施,将确保在当前发展阶段,我们使用 Scroll 主网的稳健性和安全性。
持续改进
我们致力于不断提高 Scroll 主网和协议的安全性,最终去除辅助轮。更具体地说,我们将在后续步骤中推出以下安全功能:
- 在使 Scroll 更加去中心化的过程中,我们将建立一个安全委员会来检查合约升级,并邀请独立各方运行追随者节点并验证 Scroll 链。
- Scroll 追求客户端多元化。这将使协议更具弹性,具有可以独立验证状态转换的不同全节点实现。Scroll将与社区合作实现各种排序器。
- 与客户端多元化类似,我们正在研究将多证明器引入 Scroll。除了 zkEVM 证明器之外,我们还计划添加第二个证明器,即 SGX 证明器,以证明状态转换。证明者多样性可以使验证任何单个证明者中的错误和健全性偏差更具弹性。我们将在以后的博客文章中分享更多详细信息。
请务必查看我们更新的文档网站和漏洞赏金计划,以获取更全面的安全信息。
在 X 上关注我们 @Scroll_ZKP 以获取最新的滚动更新。
除了漏洞赏金计划中列出的范围外,我们还鼓励对 zkEVM 电路进行安全审查。如有任何发现,请将您的报告发送给 [email protected]。我们将评估报告并奖励有效的结果至少 5,000.00 美元(TBD)。