去年八月,我们推出了Zeth,这是第一个基于RISC Zero zkVM的Type-1 zkEVM,允许开发者在零知识环境中执行EVM。随后在今年五月,我们对Zeth进行了升级,使其支持乐观汇总,这是Optimism基金会RFP的一部分,帮助开发者生成有效性证明,从而在零知识中确认汇总的推导。
今天,我们很高兴地宣布Kailua,一个将乐观汇总升级为混合ZK汇总的软件工具包,其首个版本同样由Optimism的Kona汇总状态转移引擎支持。Kailua不仅能够在zkVM中透明地运行未修改的Kona,还引入了一种新颖的故障证明机制,通过降低抵押要求和减少最终确认时间,推动了争议解决技术的进步!
Kailua与夏威夷Kona地区的城镇不同,它是一个工具和合约的集合,旨在将rollup技术从复杂的长期交互式故障证明系统迁移到使用RISC Zero zkVM生成的简单短期非交互式ZK故障证明。它的主要组成部分包括:
注意:要使用Kailua,最低需要的OP Stack版本是V1.4,因为它使用了DisputeGameFactory合约,而不是已废弃的L2OutputOracle合约。
Kailua的争议游戏将零知识证明与乐观rollup模型结合在一个创新的混合系统中,这不仅提高了安全性和性能,还降低了运营成本和最终确认的延迟!相关内容在下表中进行了总结:
ㅤ | 乐观汇总 | ZK 汇总 | 混合汇总(凯卢阿) |
N 项挑战的抵押品 | 氮沉积物 | 不适用 | 1 押金 |
N 个提案的抵押品 | 氮沉积物 | 不适用 | 1 押金 |
提议 N 个区块的成本 | 1 笔交易 | 1 笔交易
| 1 笔交易
|
挑战 N 个区块提案的最大成本 | D + log(N) 笔交易
D 是最大补偿。深度 | 不适用 | 3 笔交易
|
N 个区块提案的最小最终确定延迟 | D + log(N) 超时
| N次证明 | 1 次超时
|
与ZK Rollups不同,Kailua的混合模式使得rollups可以在不担心持续的证明成本和时间的情况下正常运行,同时也减轻了用户的额外证明费用。这些费用在以下几种情况下可能会累积并变得显著:
在Kailua的创新设计中,使用ZK解决争议的成本完全由不诚实的一方承担,无论是提议者还是验证者!
使用Kailua的rollup能够安全地维护其安全性,同时将证明工作负载外包出去!因为Kailua的验证者可以在计算证明之前,仍然发出必要的挑战交易,以确保rollup的安全性。这意味着,Kailua混合rollups可以在需要时依赖去中心化的证明市场基础设施,如RISC Zero的Boundless,提供安全性和活跃性保障,而不必担心建立复杂且昂贵的证明基础设施!
使用 Kailua 的汇总可以安全地维护其安全性,同时外包任何证明工作负载!这是因为凯卢阿验证者即使在计算证明其合理性之前仍然可以发出必要的质询交易以确保其汇总的安全性。因此,这意味着凯路亚混合汇总可以依赖去中心化的证明市场基础设施,而不用担心建立潜在的复杂且昂贵的证明基础设施RISC Zero的Boundless 在需要的时候为他们的证明请求提供安全和活力保证!
与ZK Rollups相比,降低的运营成本非常可观,但情况更好!Kailua还将运行rollup所需的抵押成本从“与提议/挑战数量成线性关系”降低到常量!这意味着,即使在较长的最终确认周期下,诚实方维持系统安全性和活跃性所需的最低抵押也可以大幅减少,从数万降至数百(以美元计)!
首先,让我们回顾一下当前rollup争议游戏的基本机制。Truebit的二分游戏引入了通过多轮挑战和回应来解决长期计算结果争议的方式。这一机制是乐观rollup安全性的基础,它为参与者提供了一个时间敏感的机会,以确保第二层账本的准确性。时间敏感性保证了rollup的活跃性,但也带来了安全风险,因为诚实的玩家可能无法及时行动,或者没有足够的资金进行与不诚实玩家一样多的游戏。然而,这种机制的加密假设非常简单,使其成为一种实用的选择。
基于二分法的争议游戏规则包含几种“超时”期限,允许玩家进行操作。最重要的两种是:
这两个超时期限构成了我们通常所说的“最终性周期”。在现有设计中,攻击者可以牺牲自己的抵押品,频繁触发后一个超时,甚至耗尽防御者的资源。这种攻击方式对rollup的安全性非常关键,包括Arbitrum,它目前正在采用一种新的争议协议(BoLD),旨在将开放争议的超时上限设定为约6.3天。
零知识证明可以用来替代二分游戏,作为一种非交互式的方式来解决rollup状态的争议。这种一次性证明的特性意味着,争议解决所需的时间可以大幅缩短,仅需证明一个区块所需的时间!
虽然这种机制的转变听起来很合理,但这仍然不是将零知识证明(ZK)最佳引入乐观争议游戏的方式!与其仅要求证明一个提议的rollup状态无效,不如利用零知识证明来证明其有效性,即使是在乐观的环境中也可以做到!考虑到证明的双重性,Kailua只需挑战者表达他们“争议”的意图,在提交故障或有效性证明以反驳提议者或挑战者之前,防止提议的最终确定,从而将他们的行为排除在外。这使得Kailua能够减轻rollup的担忧,即证明时间可能不会像后一个超时那样短。
Kailua不仅消除了由于互动挑战-响应交易导致的长时间最终性延迟,还大幅减少了维持rollup所需的抵押品!在二分游戏中,玩家必须在每个游戏实例中抵押不同的资金。这主要是因为玩家可能因为未能及时响应而输掉游戏,而这并不能反映他们的诚实。值得注意的是,Kailua通过零知识争议解决了这一问题!在Kailua中,如果玩家挑战一个提议,而该提议后续被证明有效,那么Kailua将因为该玩家的不诚实而取消其资格!这一简单的变化意味着,挑战者只需提供一次抵押品来担任挑战者角色,然后可以根据需要发起任意数量的挑战,而无需为每个挑战或游戏提供单独的抵押品。更重要的是,由于同样的原因,这种抵押品的减少也同样安全地适用于提议者,避免了富有的提议者恶意攻击系统的风险。
然而,通常不会有如此多的优势是免费的!与乐观 rollup 相比,这种混合设计引入了额外的数据发布成本,这是为了消除二分游戏中所需的交互。我们设计 Kailua 使得这种数据可用性(DA)成本在与 ZK Rollup 的完整证明成本相比时几乎可以忽略不计,从而使得 Kailua 每笔交易的成本开销与每秒交易量(TPS)成反比!
在 Kailua rollup 中,当一个挑战或证明涉及 K 个 rollup 区块时,Kailua 提议者在提出推进 rollup N 个区块的状态转移时,最多需要发布 N/K 个哈希作为“检查点数据”。这里的 K 是每个挑战或证明所涵盖的非空区块数量,这是一个可配置参数,决定了争议成本。我们说最多 N/K,因为如果提议中有许多空区块,所需的检查点数量可以大幅减少。
在一个相对活跃且几乎没有空区块的 rollup 中,上述开销可以忽略不计,因为这仅是每个区块额外发布 32/K 字节的成本。例如,对于 Optimism 主网,当 K=1 时,这相当于每 2 小时 15 分钟发布一个单一的 blob,这与 OP 主网现有的提议率相当,且远低于该期间的 DA 成本。在当前 TPS 和每个 blob 3 美元的情况下,这每笔交易的成本不到 0.0001 美元!
然而,在一个区块空间利用率较低的 rollup 中(例如,由于非常低的区块时间),简单地发布 N/K 个哈希的开销可能不切实际,但 Kailua 并不是简单的!在这种情况下,创建检查点的条件可以利用第二个参数 E,表示检查点可以覆盖的最大空区块数。然后,一个 32 字节的检查点(区块/状态哈希)需要覆盖包含最多 E 个空区块或 K 个非空区块的区块序列。幸运的是,E 可以是一个显著大于 K 的数字,这取决于证明空区块的成本有多低。
Kailua 目前正在快速发展,适合测试环境,但不适合生产使用。我们将继续改进和演化 Kailua,添加新功能,优化成本和性能,并可能支持更多的 rollup 堆栈!Kailua 是一个完全开源的项目,发布在 RISC Zero 的 GitHub 上。
Kailua CLI 使您能够轻松部署本地 OP 开发网络,并通过几个命令将其升级为使用 ZK 故障证明。完成后,您可以使用 CLI 启动提议者和验证者,像平常一样与本地开发网络进行交互。如果您想测试在出现故障时的实际争议游戏,可以使用 CLI 进行异常交互,诱导一些错误提议,并观察验证者如何利用 RISC Zero zkVM 挑战和处理这些提议!
最后,这篇关于新版本的 RISC Zero 博客文章当然少不了一些周期计数!下面的表格展示了一些 OP 主网的基准测试,但需要注意一些细节。
区块 | 周期 | 交易数量 | Bonsai证明成本 |
126223114 | 17,121,252,466 | 108 | 22 美元 |
126223244 | 16,202,792,886 | 98 | 21 美元 |
126223597 | 15,194,355,377 | 85 | 20 美元 |
126229327 | 14,245,181,555 | 81 | 19 美元 |
126210813 | 10,663,051,955 | 43 | 14 美元 |
126210550 | 10,596,525,804 | 37 | 14 美元 |
尽管与 op-zeth 相比,周期计数几乎增加了四倍,但此表中的每笔交易的证明成本比以前改善了两到五倍,这得益于 RISC Zero 证明器的改进。
去年八月,我们推出了Zeth,这是第一个基于RISC Zero zkVM的Type-1 zkEVM,允许开发者在零知识环境中执行EVM。随后在今年五月,我们对Zeth进行了升级,使其支持乐观汇总,这是Optimism基金会RFP的一部分,帮助开发者生成有效性证明,从而在零知识中确认汇总的推导。
今天,我们很高兴地宣布Kailua,一个将乐观汇总升级为混合ZK汇总的软件工具包,其首个版本同样由Optimism的Kona汇总状态转移引擎支持。Kailua不仅能够在zkVM中透明地运行未修改的Kona,还引入了一种新颖的故障证明机制,通过降低抵押要求和减少最终确认时间,推动了争议解决技术的进步!
Kailua与夏威夷Kona地区的城镇不同,它是一个工具和合约的集合,旨在将rollup技术从复杂的长期交互式故障证明系统迁移到使用RISC Zero zkVM生成的简单短期非交互式ZK故障证明。它的主要组成部分包括:
注意:要使用Kailua,最低需要的OP Stack版本是V1.4,因为它使用了DisputeGameFactory合约,而不是已废弃的L2OutputOracle合约。
Kailua的争议游戏将零知识证明与乐观rollup模型结合在一个创新的混合系统中,这不仅提高了安全性和性能,还降低了运营成本和最终确认的延迟!相关内容在下表中进行了总结:
ㅤ | 乐观汇总 | ZK 汇总 | 混合汇总(凯卢阿) |
N 项挑战的抵押品 | 氮沉积物 | 不适用 | 1 押金 |
N 个提案的抵押品 | 氮沉积物 | 不适用 | 1 押金 |
提议 N 个区块的成本 | 1 笔交易 | 1 笔交易
| 1 笔交易
|
挑战 N 个区块提案的最大成本 | D + log(N) 笔交易
D 是最大补偿。深度 | 不适用 | 3 笔交易
|
N 个区块提案的最小最终确定延迟 | D + log(N) 超时
| N次证明 | 1 次超时
|
与ZK Rollups不同,Kailua的混合模式使得rollups可以在不担心持续的证明成本和时间的情况下正常运行,同时也减轻了用户的额外证明费用。这些费用在以下几种情况下可能会累积并变得显著:
在Kailua的创新设计中,使用ZK解决争议的成本完全由不诚实的一方承担,无论是提议者还是验证者!
使用Kailua的rollup能够安全地维护其安全性,同时将证明工作负载外包出去!因为Kailua的验证者可以在计算证明之前,仍然发出必要的挑战交易,以确保rollup的安全性。这意味着,Kailua混合rollups可以在需要时依赖去中心化的证明市场基础设施,如RISC Zero的Boundless,提供安全性和活跃性保障,而不必担心建立复杂且昂贵的证明基础设施!
使用 Kailua 的汇总可以安全地维护其安全性,同时外包任何证明工作负载!这是因为凯卢阿验证者即使在计算证明其合理性之前仍然可以发出必要的质询交易以确保其汇总的安全性。因此,这意味着凯路亚混合汇总可以依赖去中心化的证明市场基础设施,而不用担心建立潜在的复杂且昂贵的证明基础设施RISC Zero的Boundless 在需要的时候为他们的证明请求提供安全和活力保证!
与ZK Rollups相比,降低的运营成本非常可观,但情况更好!Kailua还将运行rollup所需的抵押成本从“与提议/挑战数量成线性关系”降低到常量!这意味着,即使在较长的最终确认周期下,诚实方维持系统安全性和活跃性所需的最低抵押也可以大幅减少,从数万降至数百(以美元计)!
首先,让我们回顾一下当前rollup争议游戏的基本机制。Truebit的二分游戏引入了通过多轮挑战和回应来解决长期计算结果争议的方式。这一机制是乐观rollup安全性的基础,它为参与者提供了一个时间敏感的机会,以确保第二层账本的准确性。时间敏感性保证了rollup的活跃性,但也带来了安全风险,因为诚实的玩家可能无法及时行动,或者没有足够的资金进行与不诚实玩家一样多的游戏。然而,这种机制的加密假设非常简单,使其成为一种实用的选择。
基于二分法的争议游戏规则包含几种“超时”期限,允许玩家进行操作。最重要的两种是:
这两个超时期限构成了我们通常所说的“最终性周期”。在现有设计中,攻击者可以牺牲自己的抵押品,频繁触发后一个超时,甚至耗尽防御者的资源。这种攻击方式对rollup的安全性非常关键,包括Arbitrum,它目前正在采用一种新的争议协议(BoLD),旨在将开放争议的超时上限设定为约6.3天。
零知识证明可以用来替代二分游戏,作为一种非交互式的方式来解决rollup状态的争议。这种一次性证明的特性意味着,争议解决所需的时间可以大幅缩短,仅需证明一个区块所需的时间!
虽然这种机制的转变听起来很合理,但这仍然不是将零知识证明(ZK)最佳引入乐观争议游戏的方式!与其仅要求证明一个提议的rollup状态无效,不如利用零知识证明来证明其有效性,即使是在乐观的环境中也可以做到!考虑到证明的双重性,Kailua只需挑战者表达他们“争议”的意图,在提交故障或有效性证明以反驳提议者或挑战者之前,防止提议的最终确定,从而将他们的行为排除在外。这使得Kailua能够减轻rollup的担忧,即证明时间可能不会像后一个超时那样短。
Kailua不仅消除了由于互动挑战-响应交易导致的长时间最终性延迟,还大幅减少了维持rollup所需的抵押品!在二分游戏中,玩家必须在每个游戏实例中抵押不同的资金。这主要是因为玩家可能因为未能及时响应而输掉游戏,而这并不能反映他们的诚实。值得注意的是,Kailua通过零知识争议解决了这一问题!在Kailua中,如果玩家挑战一个提议,而该提议后续被证明有效,那么Kailua将因为该玩家的不诚实而取消其资格!这一简单的变化意味着,挑战者只需提供一次抵押品来担任挑战者角色,然后可以根据需要发起任意数量的挑战,而无需为每个挑战或游戏提供单独的抵押品。更重要的是,由于同样的原因,这种抵押品的减少也同样安全地适用于提议者,避免了富有的提议者恶意攻击系统的风险。
然而,通常不会有如此多的优势是免费的!与乐观 rollup 相比,这种混合设计引入了额外的数据发布成本,这是为了消除二分游戏中所需的交互。我们设计 Kailua 使得这种数据可用性(DA)成本在与 ZK Rollup 的完整证明成本相比时几乎可以忽略不计,从而使得 Kailua 每笔交易的成本开销与每秒交易量(TPS)成反比!
在 Kailua rollup 中,当一个挑战或证明涉及 K 个 rollup 区块时,Kailua 提议者在提出推进 rollup N 个区块的状态转移时,最多需要发布 N/K 个哈希作为“检查点数据”。这里的 K 是每个挑战或证明所涵盖的非空区块数量,这是一个可配置参数,决定了争议成本。我们说最多 N/K,因为如果提议中有许多空区块,所需的检查点数量可以大幅减少。
在一个相对活跃且几乎没有空区块的 rollup 中,上述开销可以忽略不计,因为这仅是每个区块额外发布 32/K 字节的成本。例如,对于 Optimism 主网,当 K=1 时,这相当于每 2 小时 15 分钟发布一个单一的 blob,这与 OP 主网现有的提议率相当,且远低于该期间的 DA 成本。在当前 TPS 和每个 blob 3 美元的情况下,这每笔交易的成本不到 0.0001 美元!
然而,在一个区块空间利用率较低的 rollup 中(例如,由于非常低的区块时间),简单地发布 N/K 个哈希的开销可能不切实际,但 Kailua 并不是简单的!在这种情况下,创建检查点的条件可以利用第二个参数 E,表示检查点可以覆盖的最大空区块数。然后,一个 32 字节的检查点(区块/状态哈希)需要覆盖包含最多 E 个空区块或 K 个非空区块的区块序列。幸运的是,E 可以是一个显著大于 K 的数字,这取决于证明空区块的成本有多低。
Kailua 目前正在快速发展,适合测试环境,但不适合生产使用。我们将继续改进和演化 Kailua,添加新功能,优化成本和性能,并可能支持更多的 rollup 堆栈!Kailua 是一个完全开源的项目,发布在 RISC Zero 的 GitHub 上。
Kailua CLI 使您能够轻松部署本地 OP 开发网络,并通过几个命令将其升级为使用 ZK 故障证明。完成后,您可以使用 CLI 启动提议者和验证者,像平常一样与本地开发网络进行交互。如果您想测试在出现故障时的实际争议游戏,可以使用 CLI 进行异常交互,诱导一些错误提议,并观察验证者如何利用 RISC Zero zkVM 挑战和处理这些提议!
最后,这篇关于新版本的 RISC Zero 博客文章当然少不了一些周期计数!下面的表格展示了一些 OP 主网的基准测试,但需要注意一些细节。
区块 | 周期 | 交易数量 | Bonsai证明成本 |
126223114 | 17,121,252,466 | 108 | 22 美元 |
126223244 | 16,202,792,886 | 98 | 21 美元 |
126223597 | 15,194,355,377 | 85 | 20 美元 |
126229327 | 14,245,181,555 | 81 | 19 美元 |
126210813 | 10,663,051,955 | 43 | 14 美元 |
126210550 | 10,596,525,804 | 37 | 14 美元 |
尽管与 op-zeth 相比,周期计数几乎增加了四倍,但此表中的每笔交易的证明成本比以前改善了两到五倍,这得益于 RISC Zero 证明器的改进。