Volt Capital 合伙人: 为何 ZK 状态通道是链上多人游戏的最佳扩展?
撰写:Mohamed Fouda
编译:深潮 TechFlow
对于链上游戏来说,Rollup 的水平扩展非常适合单人游戏。但对于多人游戏,zk 状态通道是一个更好的扩展选择。那么,zk 状态通道是什么呢?
状态通道并不是什么新东西。事实上,它们是以太坊最早的扩展解决方案之一。状态通道本质上是:
- 获取链上状态的一部分;
- 不断地在链外更改此状态;
- 在需要时将最终状态提交到链上。
显然,这个概念是比特币闪电网络设计的扩展,其基本上是一个支付通道。
然而,没有零知识证明,状态通道就没有太大意义。没有零知识证明,所有授权改变状态的签名(离链)后续都必须链上验证。与链上交易相比,这并没有带来显著的费用降低。
零知识证明轻松解决了这个问题。状态通道参与者简单地生成一个证明(离链),证明他们的所有互动和签名都是有效的。这个证明链上便宜验证,大大节省了成本。
那么,这与扩展链上多人游戏有什么关系呢?
许多多人游戏,例如扑克,是基于比赛的,也就是一组玩家创建游戏,在游戏中竞争,根据游戏结果改变每个人的资产。
对于这类游戏,你需要一个共享层来存储每个人的资产。
每个游戏过程中的详细信息不如游戏的最终结果(改变资产余额)重要。此外,玩家不能同时参与多个游戏。
这使得这些游戏成为 zk 状态通道的理想候选。一旦游戏开始,参与玩家的状态就锁定在 Rollup 上。在游戏过程中,玩家生成 ZKP,证明他们行动的有效性。ZKP 递归建立在先前的 ZKP 之上,依此类推。
当游戏结束时,只有最终的 ZKP 和相关的状态更改被提交到 Rollup 进行结算。由于中间交易不在 Rollup 上处理,这实现了高达 100 倍的扩展。
这种方法也适用于非回合制游戏,例如“Among Us”。但是,在这种情况下,需要一个实体充当“临时”排序器,对通道交易进行排序并生成中间递归 ZKP。我把这种场景称为“短暂的 L3”。
zk 状态通道方法的主要挑战是通道参与者的活跃性要求。掉线的玩家可能会迫使剩余玩家继续在 Rollup 上执行。因此,迫使其他玩家支付更高的成本,
这个方法的潜力巨大,许多团队正在朝这个方向努力,包括 Ontropy、Paima Studios 和 Cartridge。