一文读懂 Opside 的 ZK-PoW 算法

Foresight · 2023-06-02 18:00

BNB Chain

Web3

PoS

ZKP 的两步提交算法,为 ZK-Rollup 提供了标准的去中心化 Prover 机制。


撰文:Opside



TL;DR


Opside 提出的 ZK-PoW 算法,具有以下优势:


  • 一个市场化的 ZK 算力定价机制,不但可以用于扩容(ZK-Rollup),在未来也可以应用于 AI(ZKML)
  • 为即将到来的 ZK-Rollup(尤其是 zkEVM)的大规模爆发提供了海量算力平台;同时也为大量闲置的矿工提供了新的挖矿场景
  • ZKP 的两步提交算法,为 ZK-Rollup 提供了标准的去中心化 Prover 机制
  • 优化的 ZKP 计算与提交机制,将生成 ZKP 的效率提高了 80%


为什么我们需要 ZK 算力的 PoW 算法?


当前,以太坊主网上已经有多个 ZK-Rollups 在运行了,包括 Polygon zkEVM 以及 zkSync era。然而实际上目前绝大部分的 ZK-Rollup 项目都没有实现去中心化的 prover。例如 Polygon zkEVM 的 beta mainnet 中依靠 trusted aggregator 来提交 ZKP,zkSync era 也是类似。


当 ZK-Rollup 数量不多的时候,中心化的 prover 是可行的。但是随着 ZK 扩容技术的成熟,特别是未来一到两年时间内 zkEVM 技术的逐渐落地,ZK-Rollup 数量将迎来非常可观的增长。在海量 ZK-Rollup 的情况下,中心化的 prover 也会引发很多问题:


首先,prover 成本高昂,且需要专业的设备与机房,不是每一个 ZK-Rollup 的运营者都具有维护一个中心化的 prover 集群的能力。因此我们需要专业的矿工来承担未来海量的 ZK-Rollup 的算力需求


其次,如果只有一个 prover,那么单节点宕机就会造成整个 ZK-Rollup 的交易无法被确认。我们需要一个去中心化 Prover 机制来鼓励多个矿工同时参与一个 ZKP 的计算,并获得对应的奖励。


最后,我们需要一个标准化的 ZKP 优化算法,来提升整体的硬件效率。


Opside 的 ZK-PoW 算法


作为一条高度去中心化的公链,Ethereum 已经拥挤不堪,gas fee 极其昂贵。很多 Web3 应用,尤其是金融衍生品、Game、社交网络等,需要往 layer 2 或者其他公链迁移。其实,单纯提供高性能和低 gas 的执行环境并不难,一些中心化的方案可以很容易做到这一点。难的是如何在保证高性能和低 gas 同时,保持高度的去中心化程度。


在 Opside 的设计中,每一个 Web3 应用都可以拥有一个专属的 ZK-Rollup,并且可以自由选择 base chain。目前,Opside 支持 4 条 base chain,分别是 Ethereum、Opside、BNB chain、Polygon。也就是说,开发者可以选择在这 4 条公链上面部署自己的 ZK-Rollup。为了支撑数量众多的 ZK-Rollups 带来的海量硬件资源的需求,Opside 还提供了一个统一的 ZKP 算力市场,鼓励 Miner 来为这些 ZK-Rollups 生成 ZKP。


PoW 的奖励分配机制


Opside 采用了 PoS 和 PoW 混合共识。其中 PoS 部分是基于 ETH2.0 的共识改进的。因此,Opside 将拥有超过 10w 多个 validator 来提供海量的数据可用性,同时具有高度的去中心化程度。


在 Pre-Alpha 测试网阶段,根据 PoW 算法,一个 Opside 区块内,每个 Rollup 会按照一定规则提交一个 sequence。所有 sequence 根据当前 Rollup slots 注册数量来以及包含的 batch 数量来划分当前区块的 PoW 奖励。当然,可能某些 rollup 在某些区块没有提交 sequence,因此 PoW 实际的通胀会低于预期。


Miner 可以自由选择参与其中一个或者多个 Rollup 的 ZKP 计算。在未来,各个 sequence 将根据对应的 ZK-Rollup 类型、所包含的 Rollup 交易数量、gas 使用量等进行工作量预估,从而对不同 sequence 进行不同的定价。


为了避免 Miner 相关的恶意行为,Miner 需要在一个特殊的系统合约中注册,并质押代币。Miner 需要在系统合约中为一个 Rollup 质押相应的 token,才可以为该 Rollup 提交 ZKP。Miner 提交 ZKP 获得的奖励也将依据质押量比例来分配,从而避免 Miner 多次提交 ZKP 的恶意行为。


更多细节请参考 Opside Tokenomics


ZKP 的两步提交算法:标准的去中心化 Prover 机制


为了鼓励多个矿工同时参与一个 ZKP 的计算任务,Opside 提出了一个两步提交的 ZKP 验证机制。一个 ZKP 对应的 PoW 奖励份额,会按照一定规则分配给有效 ZKP 的提交者,也就是矿工。



提交 proofhash:在一个时间窗口内,对于某个 sequence,允许多个矿工参与 zero-knowledge proof 的计算。各个矿工计算出 proof 之后,并不直接提交原始的 proof,而是计算(proof / address)的 proofhash,并向合约提交 proofhash。


提交 ZKP:在时间窗口后,矿工提交原始的 proof,并与之前提交的 proofhash 进行验证。验证通过的矿工都可以得到 PoW 奖励,奖励金额按照矿工质押量的比例来分配。


更多细节请参考 ZKP's Two-Step Submission Algorithm


优化的 ZKP 生成算法:矿工效率提高了 80%


Rollup 的智能合约验证 ZKP 的时候,如果提交的是原始 proof 数据,就有可能引发链上攻击行为。为了防止恶意攻击行为,ZK-Rollup 往往需要进行额外的工作量来隐藏原始的 proof 数据。有一种解决方案是,矿工提交的 ZKP 包含了对矿工地址的聚合结果。Opside 提出的 ZKP 的两步提交算法,则巧妙地采用了先提交 + 后验证的模式,不再需要对 proof 和地址做类似的不必要的聚合计算。


此外,在一些开源的 zkEVM 中,ZKP 的计算与提交都是串行的。当 ZK-Rollup 提交了大量的 sequence 时,矿工无法同时计算多个 ZKP。在 Opside 中,ZKP 的两步提交算法实现了 ZKP 的并行计算与串行提交,允许矿机同时执行多个 ZKP 生成任务,从而大大加速了 ZKP 的生成效率。


Opside 团队还对 ZKP 递归聚合算法进行了一系列的优化,充分提升了集群内机器资源的利用率,进一步提高了 ZKP 的计算速度。


在实际的压测环境中,矿工拥有 20 台 128 core CPU + 1TB RAM 组成的机器集群,测试交易稳定在 27.8TPS 约 40 分钟。在相同条件下,Opside 将交易的平均确认时间从约 5-6 分钟降低到了约 3 分钟,ZKP 生成效率提高了约 80%。在未来,随着更多 ZK-Rollup 以及矿工的加入,ZK 算力市场的需求端和供给端的规模将进一步扩大,Opside 的 PoW 算法带来的效率提升将体现得更加明显。


总结


Opside 提出的 ZK-PoW 算法,创造性地定义了一个市场化的 ZK 算力定价机制。这个算力市场为即将到来的 ZK-Rollup(尤其是 zkEVM)的大规模爆发提供了海量算力平台;同时也为大量闲置的矿工提供了新的挖矿场景。


ZKP 的两步提交算法,为 ZK-Rollup 提供了标准的去中心化 Prover 机制,鼓励更多的矿工提供稳定、持续的 ZKP 算力。同时,优化的 ZKP 计算与提交机制,将生成 ZKP 的效率提高了 80%


在未来,Opside 的 PoW 机制的应用场景可以轻易地拓展,不但可以用于扩容(ZK-Rollup),在未来也可以应用于 AI(ZKML)。

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表Bi123的观点或立场

相关推荐

上一篇:借 Arbitrum 迎来第二春?全面解析 Trader Joe 业务现状、代币模型和估值水平

下一篇:加密世界的 17 个未来趋势:LSD、RWA、账户抽象……

扫码下载APP添加官方微信
行情机会交流