# 确保资金安全:zkSync 2.0 中的三要素安全方法 **Published by:** [白开水](https://paragraph.com/@baikaishui/) **Published on:** 2022-05-20 **URL:** https://paragraph.com/@baikaishui/zksync-2-0 ## Content 通过隔离和冗余、信任最小化的可升级性以及引入 zkSync 的安全委员会来实现安全性“只有偏执狂才能生存。” ——安迪·格鲁夫,英特尔首席执行官 当我们准备推出 NFT、swap、zkEVM以及用户和资金流入 zkSync 的指数级增长时,我们发现有必要警告新用户并提醒当前用户在期间使用新协议相关的风险和信任假设他们发展的早期阶段。 风险源于 L2 中应用的技术新颖性以及这些解决方案中集中化的潜在增加。与大多数务实的团队一样,zkSync 正在走一条渐进式去中心化的道路,以快速创新并快速交付以太坊生态系统的安全性和可扩展性。以下是需要注意的主要事项: 不能保证零错误。但是,通过遵循行业最新的安全最佳实践并获得涵盖合同、电路和基础密码学的领先审计公司的审计,错误的可能性将降到最低。这种风险适用于在以太坊上构建的所有新应用程序,但在我们的案例中,由于零知识证明技术的新颖性和复杂性而被放大。 zkSync 将保持可升级,直到功能范围稳定。但是,可升级性将由协议治理控制,并受制于 4 周的时间锁定,我们将在下面进一步讨论。 zkSync 目前依赖于可信设置。我们使用超过200 名参与者(包括 Vitalik Buterin、以太坊基金会、Consensys、Argent、Matter Labs 和许多其他人)的仪式的结果,如果其中至少有一个是诚实的,我们的系统就是安全的。虽然我们还没有遇到一个区块链项目会对此假设产生很大的担忧,但我们仍然打算在未来切换到RedShift,这根本不需要任何可信设置。 为了减轻 (1) 和 (2) 的影响,我们承诺采用以下多层安全策略。 zkSync 的三要素安全方法 隔离和冗余的安全性 信任最小化的可升级性 zkSync 安全委员会隔离和冗余的安全性 因为我们的 L1 智能合约在设计上非常轻量级(仅包含几百行代码),我们预计它们不会出现严重问题。由于更大的代码量和密码学的复杂性,ZKP 方面的风险更大。实际上,密码学部分也不太可能引起问题。如果我们将智能合约漏洞比作突然的海啸,密码漏洞就像一场逐渐的大雨:底层可能会很快受到影响——但每个人实际上都住在摩天大楼的顶部,并且有足够的时间撤离。新发现的漏洞通常只能在比生产中使用的安全阈值低得多的安全阈值下利用,因为攻击成本呈指数增长。例如,在著名的RSA 挑战赛中,破解 100 位密码只用了一个月,但破解 250 位密码用了将近 30 年,而现实世界的系统使用 2048 位及以上。 为了在 ZKP 方面增加一层额外的保护以防止错误和漏洞利用,我们的方法是双重的: 隔离:仅允许由授权排序器提交的块向 zkSync L1 智能合约提交状态转换。我们将很快切换到由与 PoS 的多验证者共识保护的集体排序器。 冗余:提交给定序器的每笔交易都将通过简单的执行进行验证,然后再包含在区块中。 因此,如果 ZKP 电路或底层密码学存在漏洞,例如可以为无效交易生成零知识证明,它就不容易被利用。 要向汇总提交无效块,攻击者必须同时突破密码学和定序器/PoS 共识。 为了及早发现潜在的漏洞,将为白帽黑客设置安全门槛低得多的大漏洞赏金。信任最小化的可升级性 zkSync 协议初始阶段的可升级性使我们能够更快地进行创新、快速迭代和修复错误。如果用户每次进行新升级时都必须迁移他们的资产(想想每隔几个月从 Uniswap v2 迁移到 v3),这将是一个巨大的用户体验问题。但可升级性是一把双刃剑:它伴随着额外的信任假设和增加的风险。我们坚信用户不应仅依靠开发团队或治理来确保安全。因此,我们的 zkRollup 有一个优先队列/紧急退出机制来保护用户免受验证者的审查:无论验证者协调如何,您都可以随时退出 zkSync。但是拥有一个未经检查的可升级性后门将完全破坏这个目的。 要为 zkSync 2.0 找到一个良好的平衡点: 最初,zkSync 治理可以在部署前 4 周的时间锁启动升级。即使大多数治理被破坏,时间锁也会让用户有时间通过​​我们的优先级队列/紧急退出机制选择退出。 在协议经过实战测试后,它将变得不可变(不能再升级),并且将要求用户选择新版本。 3. zkSync 安全委员会 我们必须考虑最后一种情况。理论上可能存在某些事务导致 zkEVM 内部失败的错误。如果这样的事务被提交到优先队列并且无法处理,系统将停止并进入紧急模式。修复问题的升级不能超过 4 周的时间锁定期,这意味着 zkSync 中的所有资金将被冻结 4 周或更长时间。 为了防止此类事件发生,以太坊社区的 15 位受人尊敬的成员同意在紧急情况下介入。zkSync 安全委员会由以下成员组成:AaveItamar Lesuisse (Argent)Mike McDonald (Balancer)James Prestwich (cLabs)Michael Egorov (Curve)Jack Baumruk (Dekrypt)Haseeb Qureshi (Dragonfly)Justin Drake (Ethereum Foundation)Stefan George (Gnosis)Baek Kim (Hashed)Chris Burniske (Placeholder)Nick Grossman (USV)Will Harborne (ZK Validator)Sergej Kunz (1inch)Lasse Clausen (1kx)安全理事会在无法通过正常升级过程解决的情况下提供帮助。他们的权力仅限于缩短 4 周时间锁定通知期的能力。它们不是 zkSync 治理的一部分,不能绕过治理来启动升级。 由我们的智能合约执行,规则如下:8/15签名可以将时间锁缩短到2周。10/15签名可以将时间锁缩短到1周。12/15签名可以将时间锁缩短到3天。**将始终保留最小的时间锁以防止出现最坏的情况。**安全理事会只是一个临时措施,以引导人们对零知识证明的安全性的信任。在我们切换到纯粹的选择加入升级机制后,将不再需要它。最后的想法从第一天开始,用户资金的安全性一直是我们的首要任务。3 年前成立 Matter Labs 时,我们选择只关注 zkRollups——唯一提供与 L1 相同安全属性的 L2 扩展技术。我们希望通过教育、透明度和我们的 3 因素方法,用户在与 zkSync 交互时会感到安全。 如果您对资金安全有任何疑问,请加入我们的Discord、Telegram和Twitter中的讨论。 ## Publication Information - [白开水](https://paragraph.com/@baikaishui/): Publication homepage - [All Posts](https://paragraph.com/@baikaishui/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@baikaishui): Subscribe to updates