首页 指南 正文

Merlin的去中心化Prover方案 解决ZK-Rollup中的抢跑攻击

 2024-04-19  

在Merlin的技术路线图中,还提及了去中心化Prover。Prover在ZK-Rollup架构中扮演着核心角色,负责为Sequencer发布的Batch生成ZKProof。然而,零知识证明的生成过程却是一项非常耗费硬件资源的挑战。

并行化处理:加速ZK证明的生成
为了加速ZK证明的生成,将任务并行化切分处理是一种基本操作。所谓的并行化,即将ZK证明的生成任务分解为不同的部分,由不同的Prover分别完成,最后由Aggregator将多段Proof聚合为一个整体。为了实现这一目标,Merlin将采用Lumoz的Prover as a service方案。这实际上将大量的硬件设备聚集在一起,形成一个矿池,并将计算任务分配给这些设备,类似于POW挖矿的方式。

解决抢跑攻击的问题
在这种去中心化的Prover方案中,存在一种攻击场景,即抢跑攻击。当一个聚合者(Aggregator)生成了ZKP并发送出去以期获得奖励时,其他聚合者可能会抢先发布相同的ZKP并声称是自己先生成的。为了解决这个问题,Lumoz采用了两步验证的ZK证明提交方式。聚合者生成ZK证明后,先不将完整的内容发出,而只发布ZKP的hash,即发布hash(ZKP+聚合者地址)。这样其他人即使看到了hash值,也无法直接抢跑。即使有人尝试复制整个hash并抢先发布,也无意义,因为hash中包含了特定聚合者的地址。通过这种方式,Merlin(Lumoz)解决了ZKP提交过程中的抢跑问题,实现了高度竞争性的零知识证明生成激励,从而提高了ZKP的生成速度。

  •  标签: