本文介绍了基于竞争的 Rollup (BCR) 架构,它是 Taiko 提出的一个可配置、多重证明的 Rollup 设计。
基于可争议 Rollup (BCR):一种可配置的,多重证明的 rollup 设计
本文由 Taiko 联合创始人兼 CEO Daniel Wang 撰写。
在本文中,我们将介绍基于可争议 Rollup (BCR) 架构,检查其优缺点,并提出我们的论点,即它作为以太坊 rollups 的最佳设计框架的适用性。
Taiko 的与众不同之处
证明可信度
基于可争议 Rollup
多重证明系统
验证者可用性
动态配置调整
成本与安全性的权衡
守护验证者
我们的下一个测试网
让我们首先看看 Taiko 与竞争对手的不同之处:
无需许可且去中心化:Taiko 是一种Based Rollup,可能是同类中的第一个。由于缺乏中心化的排序器,它依靠以太坊验证器来对交易和区块进行排序,从而提升了 Taiko 的无需许可且去中心化的精神。
无摩擦的开发者体验:Taiko 利用以太坊等效的 ZK-EVM(type-1)来实现与以太坊的执行级别兼容性,本质上提供了“大规模的以太坊”。
高度可配置且面向未来:Taiko 被设计为可争议 Rollup,允许应用程序链定义其证明系统,并采用更新、更高效的有效性证明,随着技术的进步,所有这些都无需修改 Taiko 的核心协议。
现在让我们看看为什么采用争议机制对 Taiko 来说最有意义。
“34,469 行代码在很长一段时间内都不会没有错误。”——Vitalik Buterin 谈到 ZK-EVM 电路代码
一个指导我们采用可争议 Rollup 和多重证明结构的关键考虑因素是对零知识证明 (ZKPs) 的绝对可靠性的健康怀疑。鉴于软件的复杂性经常会增加出现错误的概率——正如 OpenSSL 中的 Heartbleed 漏洞 (2014) 和 关键的 Linux Kernel 漏洞 (2003) 等重大疏忽所证明的那样,这些漏洞在很长一段时间内都没有被发现——我们的方法是谨慎的。
ZKPs 作为一项快速发展的技术,容易出错。中心化的 rollups 可能会容忍某些风险,但 Taiko 不能。为了实现完全的去中心化和无需许可性,我们设想在未来放弃对 Taiko 网络的管理控制。因此,我们在设计 Taiko 时的前提是,如果没有经过多年经验证的实施,任何有效性证明都不是没有疑问或完全安全的。这就是我们需要争议的原因。
基于可争议 Rollup 是一种具有争议并采用 基于排序 的 rollup。为了说明争议在 Taiko 框架中的运作方式,请考虑以下示例:
Alice 提议一个新的区块。
Bob 提交状态转换 H1→H2 的证明,其中 H1 是父哈希,H2 是新区块的哈希。Bob 放置了 10,000 TKO 的有效性保证金。然后,他的证明进入冷却期。
Bob 提出的状态转换和随附的证明是公开可见的。
Cindy 在注意到 Bob 的转换中的错误后,认为它应该是 H1→H3,而不是 H1→H2。Cindy 在冷却期内通过发布她的 10,000 TKO 争议保证金来挑战 Bob 的证明,但她没有提供替代证明或明确声明正确的转换。
有争议的转换现在正在等待新的、更高级别的证明。Bob 和任何其他验证者都有机会提供此证明。
情景 1:
David 提出了 H1→H2 的第 3 层证明,确认了 Bob 最初的主张。David 赚取了 2,500 TKO 的奖励,并成为当前的验证者,同时还发布了 20,000 TKO 的有效性保证金。
Cindy 没收了她的全部争议保证金。
Bob 获得了 10,000 TKO 的有效性保证金加上 2,500 TKO 的奖励。
David 的证明启动了一个新的冷却期。
情景 2:
David 提供了从 H1→H4 的第 3 层证明,这表明 Bob 的转换不正确。David 获得了 2,500 TKO 的奖励,并通过 20,000 TKO 的有效性保证金确保了自己的地位。
Cindy 取回了她的 10,000 TKO 争议保证金和额外的 2,500 TKO 奖励。
Bob 的有效性保证金被没收。
新的冷却期开始于新的证明。
Taiko 中的每个证明,除了最高层级外,都需要原始验证者支付 Taiko 代币的有效性保证金。该证明进入冷却窗口期,在此期间,其他人可以对此提出异议,而无需提供任何欺诈/有效性证明,但还必须以 Taiko 代币支付争议保证金。如果存在争议,则需要更高层级的证明才能在验证此区块之前解决争议。
如果争议者获胜:争议者将收到争议保证金,并获得原始验证者有效性保证金的 1/4。新的验证者将获得原始验证者有效性保证金的 1/4 作为证明费,剩余的 1/2 被没收。
如果原始验证者获胜:原始验证者将收回有效性保证金,并获得争议保证金的 1/4 作为奖励。新的验证者(可能是原始验证者)将获得争议保证金的 1/4,剩余的 1/2 被没收。
新的验证者还必须根据新层级的规则支付有效性保证金,除非他们提供最高层级的证明,在这种情况下,状态转换被认为是最终的,并且不允许进一步的争议。
值得注意的是,争议/证明游戏假设父区块哈希是正确的。如果父区块哈希不正确,则获胜的转换将不会用于区块验证,并且验证者将完全没收其有效性保证金。
重复的争议和证明轮次会延长验证区块所需的时间。每一轮都会引入自己的证明和冷却窗口。但是,由于争议涉及财务风险,输家会遭受确定的损失,因此不太可能发生频繁的争议。此外,更高层级证明的有效性和争议保证金明显高于较低层级的证明。随着游戏进行几轮,相关成本可能会急剧上升,从而进一步阻止无意义的争议。
这种设计的一个潜在缺点是,它在经济上不利于提交无效但可验证的证明,从而使错误检测更具挑战性。但是,人们可能会质疑使用整个区块链作为错误查找赌注的明智性。可以采用替代机制来鼓励报告此类错误。例如,向那些识别出无效但可验证的证据的人提供大量奖励可能是一种更好的方法,而不是危及用户资产。
多重证明 功能是 Taiko 的 BCR 架构不可或缺的一部分,允许每个层级使用其证明系统。虽然按可信度对这些系统进行排名可能看起来很主观,但从理论上讲,可以构造比其他证明更可靠的证明。
例如,我们可以创建一个组合验证者 C,它结合了验证者 A 和 B 的证明。只有当 A 和 B 都证明它是这样时,状态转换才被 C 认为是已证明的。虽然这会增加成本,但也会提高安全性。这种方法的一个限制是,C 类型的组合证明依赖于 A 和 B 成功生成子证明。如果 A 或 B 包含错误,则生成可靠的 C 类型证明会变得有问题。
实际上,多重证明层级通常是主观配置的。例如,合理地假设 SGX 验证者比乐观验证者更值得信赖,乐观验证者缺乏实际证明。ZK 验证者可以说比 SGX 验证者更安全,而 混合 SGX+ZK 验证者 的排名会更高。
如果 ZK 证明系统最终被证明是普遍安全的,则可以配置可争议 Rollup 以使用此单层级,从而有效地过渡到传统的、不可争议的 ZK-Rollup。
在 Taiko 的可争议 Rollup 设计中,多重证明具有双重功能:垂直方向上,它支持基于层级的架构;水平方向上,它允许将多个子验证者组合成一个组合验证者,从而降低了误报的可能性。
争议设计的一个潜在漏洞是缺乏活跃的更高层级的验证者,尤其是在争议不频繁的情况下。为了维持可用的高层级验证者池,Taiko 引入了一种机制,该机制为每个新区块随机分配一个最低要求的层级。区块被分配到更高层级的可能性与层级级别成反比;例如,只有 5% 的区块可能需要 SGX+ZKP,而 20% 需要 ZKP,而大多数区块只需要 SGX。这确保了 ZK 验证者始终有工作来保持他们的参与度和盈利能力。
针对可争议 Rollup 的一种攻击向量是资本密集型的证明提交,旨在耗尽更高层级的证明资源。虽然这种攻击可能会减慢区块的最终确定和提议速度,但不太可能损害链的整体安全性。这是因为社区节点可以通过放置争议保证金来共同争议无效证明。重要的是,争议者不需要自己提供任何证明,但攻击者必须为每个区块提供链上可验证的证明。生成错误但可验证的证明可能比生成正确的证明更具挑战性和更低的成本效益。
如果突然需要更高层级的证明,那么经济激励应该会吸引新的验证者。具体来说,接收有效性和争议保证金的 1/4 可能会比常规证明费更有利可图。例如,在多个平台上工作的 ZK 验证者可能会切换过来处理证明区块的认证,以获得更高的利润,因为涉及更大的财务风险。
Taiko 的可争议设计的一个优势是其适应性。随着更高层级证明的成本降低,系统可以动态调整需要 ZK 证明的区块比例,而不会影响现有区块或需要协议升级。
例如,一个极端的情况可能从 100% 的区块是乐观的开始,然后切换或逐渐过渡到 100% 需要 ZK 证明,以最大程度地减少链上最终确定时间。这使建立在 Taiko 协议栈之上的 rollups、L2 或 L3 能够从类似于乐观 Rollup 的东西演变为 ZK-Rollup,从而在优化安全性和经济激励方面提供了极大的灵活性。
在 rollups 领域,对博弈论影响的担忧是可以理解的。然而,引入争议层并不一定意味着 rollup 的安全性降低。具有一组 ZK 验证者的传统 rollup 并不比使用同一验证者作为基础层级的可争议 Rollup 更安全。
ZK-Rollups 提供了卓越的安全性,但在短期内,相关的成本可能无法维持每天有数百万用户的应用程序。正如 Vitalik 观察到,“如果你以前支付 1 美元,那么更容易证明支付 0.10 美元是合理的,而不是如果你以前支付 0 美元。”
在未来几年内,大多数 ZK-Rollups 在财务上仍然不适用于高交易量的应用程序链。面对这种情况,许多应用程序链可能会优先考虑成本效益而不是提高安全性。即使预计 ZK 证明成本会降低,但这可能不足以吸引应用程序链完全从更经济但中心化的解决方案过渡。
可争议 Rollups 提供了一个中间地带,使应用程序链能够以更经济的配置开始,同时保留逐步扩大安全措施的灵活性,而无需对其现有基础设施进行重大更改。
守护验证者是多重签名者,他们在发布后的头几年内共同充当证明层次结构中的更高层级。这些守护验证者有一个特定的目的:充当安全网,以解决证明系统早期阶段的错误。重要的是,这些守护验证者存在于核心协议之外,并且可以从分层证明配置中删除。它们不能影响交易或区块的排序。随着系统成熟并且其他验证者被证明是可靠的,这些守护验证者的角色可以逐步取消。
虽然诸如 DAO 投票之类的替代机制可以管理错误的验证者,但这种方法需要更长的冷却窗口期才能完成治理过程。这不适合及时解决关键错误,与添加或删除功能不同,后者可以负担得起更长、更分散的治理过程。
守护验证者在 rollup 部署的初始阶段至关重要,尤其是在目标是去中心化的情况下。与中心化 rollups 不同,中心化 rollups 可以由其管理员暂停或更改链,守护验证者提供了一个安全层,可以解决错误或漏洞,而不会破坏网络的去中心化性质。
我们目前正在微调我们的新设计和 rollup 合约代码库。完成后,这将作为 Taiko 的 Alpha-6 测试网部署,具有四层证明系统。下图中的百分比表示区块需要给定层级作为其最低证明级别的概率。
在即将到来的 A6 测试网中,我们将对所有层级采用 24 小时的冷却期。
最后,我们的主要目标是让可争议 Rollups 结合乐观 Rollups 和 ZK-Rollups 的优势。如果你渴望了解这种创新设计在实践中的发展,我们邀请你加入我们的社区以获取更多更新!
在我们的招聘板上探索空缺职位。
从 Taiko 获取最新信息:
Discord:https://discord.gg/taikoxyz。
GitHub:https://github.com/taikoxyz。
Twitter:https://twitter.com/taikoxyz。
Youtube:https://www.youtube.com/@taikoxyz。
在 GitHub 上为 Taiko 做出贡献,并获得 GitPOAP!你还将作为贡献者出现在我们的 README 上。从贡献手册开始。
- 原文链接: taiko.mirror.xyz/Z4I5Zhr...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!