深度解读以太坊zkRollup头部项目Taiko提出扩容新解——基础可争议Rollup(BCR)
编者注:本文由 Taiko 的联合创始人兼 CEO Daniel Wang 撰写,深入探讨了基于可争议的 Rollup(BCR)的架构,这是一个针对以太坊 Rollup 设计的创新方案。文章不仅分析了 BCR 的优缺点,还阐述了其如何成为以太坊 Rollup 最理想的设计框架。以太坊联合创始人 Vitalik Buterin 在本月的主题 Twitter Space 活动中,也对 BCR 相关概念作了深入的讨论,进一步证实了这些理念的时效性和相关性。
目录:
・Taiko 的独特之处
・证明的可信度
・基于争议的 Rollup
・多重验证系统
・验证者可用性
・动态配置调整
・成本与安全的权衡
・守护验证者
・下一个测试网
Taiko 的独特之处
首先,让我们了解一下 Taiko 与竞争对手的区别:
・无需许可和去中心化:Taiko 是一种基础 Rollup(Based Rollup),在竞品中尚属首例。它没有中心化的排序器,而是依赖以太坊验证者对交易和区块进行排序。
・无摩擦的开发者体验:Taiko 使用与以太坊等效的 ZK-EVM(类型 1 ZK-EVM)来实现与以太坊的执行级兼容,从根本上提供「规模化的以太坊」。
・高度可配置和面向未来兼容:作为一个可争议的 Rollup,Taiko 允许应用链定义自己的证明系统,并随着技术进步采用更新、更高效的有效性证明,而无需修改 Taiko 的核心协议。
现在,让我们探讨为什么采用争议机制对 Taiko 来说是最合理的。
证明的可信度
「34,469 行代码不可能永远没有错误。」——Vitalik Buterin 评 ZK-EVM 代码
Taiko 采用可争议的 Rollup 和多证明结构的关键考量是对「零知识证明(ZKP)不会出错」的合理怀疑。鉴于软件复杂性通常增加出现漏洞的可能性——如 OpenSSL 的心脏出血漏洞(2014)和 Linux 内核的重大疏忽(2003)所示,这些漏洞长时间未被发现——Taiko 采取了谨慎的态度。
作为一项快速发展的技术,ZKP 容易出错。中心化 Rollup 可以容忍一些风险,但 Taiko 不能。Taiko 致力于完全去中心化和无需许可,期待在未来放弃对 Taiko 网络的控制权。因此,Taiko 在设计之初的假设是:在没有多年实践证明的情况下,任何证明都可能存在安全隐患。这就是为什么 Taiko 需要争议机制的原因。
基础可争议 Rollup(BCR)
基础可争议 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 的三级证明,确认了 Bob 最初的说法。David 获得 2,500 TKO 奖励,成为当前的证明者,并支付 20,000 TKO 的有效性保证金。
・Cindy 失去了她的全部争议保证金。
・Bob 获得他的 10,000 TKO 有效性保证金和 2,500 TKO 奖励。
・David 的证明启动了一个新的冷却期。
场景 2:
・David 提供了 H1→H4 的三级证明,表明 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 被没收。
新的证明者也必须根据新级别(tier)的规则支付有效性保证金,除非他们提供的是最高级别的证明(在这种情况下,状态转换被视为最终确定,不再允许进一步的质疑)。
值得注意的是,争议/证明游戏假设了正确的父块哈希。如果父块哈希不正确,获胜的转换将不会用于块验证,证明者将完全失去他们的有效性保证金。
反复的争论和证明延长了验证区块所需的时间。每个新回合都会引入自己的验证和冷却窗口。然而,由于争议涉及经济利益,而输家的损失是决定性的,因此不太可能频繁发生争议。此外,较高级别(tier)证明的有效性和争议保证金明显大于较低级别(tier)的证明。随着游戏进行几轮,相关成本会急剧上升,进一步抑制无谓的争论。
这种设计的一个潜在缺陷是,它在经济上不鼓励提交无效但可验证的证明,这使得发现漏洞更富挑战性。然而,人们可能会质疑,将整个区块链用作发现漏洞的动力是否明智。可以采用其他机制来鼓励报告这类漏洞。例如,向那些识别出无效但可验证证明的人提供丰厚奖励,可能是一个比危及用户资产更好的方法。
多重验证系统
多重验证功能是 Taiko 的 BCR 架构的一个核心特性,允许每一级别使用其自己的证明系统。虽然按可信度对这些系统进行排名似乎很主观,但理论上可以构建比其他系统更可靠的证明。
例如,Taiko 可以创建一个综合验证者 C,它结合了 A 和 B 验证者的证明。只有当 A 和 B 都证明一个状态转换有效时,C 才认为该状态转换得到了证明。虽然这增加了成本,但也增强了安全性。这种方法的一个限制是,C 类型的综合证明依赖于 A 和 B 的成功生成子证明。如果 A 或 B 有错误,生成可靠的 C 类型证明就会有问题。
在实践中,多重验证级别通常是主观配置的。例如,可以合理地假设 SGX 验证者比缺乏实际证据的 Optimistic 验证者更值得信赖。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% 的 Optimistic 证明开始,然后切换或逐步过渡到 100% 需要 ZK 证明来最小化链上最终确定时间。这使得构建在 Taiko 协议栈之上的扩展 Rollup、L2 或 L3 可以从像 Optimistic Rollup 这样的技术发展为 ZK-Rollup,在优化安全性和经济激励方面提供了巨大的灵活性。
成本与安全的权衡
在 Rollup 技术领域,人们对博弈论影响的担忧是可以理解的。然而,引入争议层并不一定意味着 Rollup 的安全性降低。传统的使用固定 ZK 证明者的 Rollup 与使用同一验证者作为基础层的可争议 Rollup 在安全性上并无差别。
ZK-Rollup 提供了更高的安全性,但从短期来看,对于每天有数百万用户的应用而言,相关成本可能不可持续。正如 Vitalik所说,「如果用户之前支付 1 美元,那么为 0.10 美元买单会更容易接受。」
在接下来的几年里,对于高交易量的应用链来说,大多数 ZK-Rollup 在财务上仍然不实际。面对这种情况,许多应用链可能会优先考虑成本效率而不是增强安全性。即使 ZK 证明成本预计会降低,这可能还不足以吸引应用链完全从更经济但集中化的解决方案转向 ZK-Rollup。
可争议 Rollup 提供了一个折中方案,使应用链可以从更经济的配置开始,同时保持逐步增强安全措施的灵活性,无需对现有基础设施进行重大更改。
守护验证者
守护验证者是多重签名者,在启动后的最初几年内共同充当证明层级中的高层。这些守护验证者的特定目的是:作为早期阶段证明系统中解决漏洞的安全网。重要的是,这些守护验证者存在于核心协议之外,并且可以从分层证明配置中移除。他们无法影响交易或区块的排序。随着系统成熟和其他验证者证明其可靠性,这些守护者证明者的角色可以被逐步淘汰。
虽然像 DAO 投票这样的替代机制可以管理有缺陷的验证者,但这种方法需要更长的冷却窗口来完成治理过程。这对于迅速解决关键漏洞来说不适合,不同于添加或移除功能,后者可以承受更长的去中心化治理过程。
在 Rollup 部署的初始阶段,尤其是在追求去中心化的目标时,守护验证者至关重要。与中心化 Rollup 不同,在那里链可以由其管理员暂停或更改,守护验证者提供了一个安全层,可以在不破坏网络去中心化本质的情况下解决错误或漏洞。
下一个测试网
Taiko 目前正在微调新设计和 Rollup 合约代码库。完成后,这将作为 Taiko 的 Alpha-6 测试网部署,具有四层证明系统。下图中的百分比表示块需要给定层作为其最低证明级别的概率。
在即将到来的 A6 测试网中,Taiko 将对所有层级采用 24 小时的冷却期。
最后,Taiko 的主要目标是让可争议 Rollup 结合 Optimistic Rollup 和 ZK-Rollup 的优势。如果您对这种创新设计的实际应用感兴趣,可以加入Taiko 社区以获取更多更新信息。