paint-brush
深度解析Opside的ZK-PoW算法经过@lumoz
341 讀數
341 讀數

深度解析Opside的ZK-PoW算法

经过 Lumoz (formerly Opside)5m2023/06/04
Read on Terminal Reader

太長; 讀書

Opside 提出的 ZK-PoW 算法具有以下优势: 市场驱动的 ZK 算力定价机制,可用于可扩展性(ZK-Rollup)和人工智能的未来应用(ZkML) 为即将到来的人工智能提供海量算力平台zkEVM 的爆炸式增长,尤其是 zkSync 时代。为大量闲置矿工提供新的挖矿场景。
featured image - 深度解析Opside的ZK-PoW算法
Lumoz (formerly Opside) HackerNoon profile picture

Opside 提出的 ZK-PoW(工作量证明)算法具有以下优点:

  • 市场驱动的 ZK 算力定价机制,可用于可扩展性(ZK-Rollup)和人工智能的未来应用(ZKML)。
  • 它为即将爆发的ZK-Rollup特别是zkEVM提供了海量算力平台,为大量闲置矿工提供了新的挖矿场景。
  • 零知识证明(ZKP)的两步提交算法为 ZK-Rollup 提供了标准化的去中心化 Prover 机制。
  • 优化ZKP计算和提交机制,ZKP生成效率提升80%。

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

目前以太坊主网上运行着多个ZK-Rollups ,包括Polygon zkEVM和zkSync era。然而,这些 ZK-Rollup 项目中的大多数都没有实现去中心化证明者。例如,在 Polygon zkEVM 的 beta 主网中,依赖可信聚合器提交 ZKP,而 zkSync 时代也遵循类似的方法。

虽然中心化证明者在 ZK-Rollups 数量较少时是可行的,但随着 ZK 可扩展性技术的成熟,尤其是未来一两年 zkEVM 的逐步落地,ZK-Rollups 的数量将出现显着增长。在大量 ZK-Rollups 的情况下,中心化的证明者会带来几个问题:

首先,证明者成本高,维护集中的证明者集群需要专门的设备和设施。并非每个 ZK-Rollup 运营商都有能力维护这种中心化的证明者设置。因此,我们需要专业的矿工来满足未来海量ZK-Rollup生态的算力需求。

其次,如果只有一个证明者,单个节点故障可能导致整个 ZK-Rollup 无法确认交易。我们需要一个去中心化的证明机制来鼓励多个矿工同时参与一个 ZKP 的计算并获得相应的奖励。最后,我们需要一个标准化的 ZKP 优化算法来提高整体硬件效率。

Opside 的 ZK-PoW 算法

作为一个高度去中心化的公链,以太坊变得拥堵,gas 费变得异常昂贵。许多 Web3 应用程序,尤其是金融衍生品、游戏、社交网络等,需要迁移到 Layer 2 或其他公链。其实,仅仅提供一个高性能低gas的执行环境并不难,一些中心化的解决方案可以轻松做到这一点。挑战在于保持高度的去中心化,同时确保高性能和低 gas 费用。

在 Opside 的设计中,每个 Web3 应用程序都可以有其专用的 ZK-Rollup 和自由选择基础链。目前,Opside 支持四种基础链:Ethereum、Opside、BNB Chain 和 Polygon。这意味着开发人员可以选择将他们的 ZK-Rollup 部署在这四个公共链中的任何一个上。为了支持大量ZK-Rollups对硬件资源的需求,Opside还提供统一的ZKP算力市场,鼓励矿工为这些ZK-Rollups生成ZKP。

PoW 的奖励分配机制

Opside 采用 PoS 和 PoW 的混合共识。 PoS部分基于ETH2.0的共识改进。因此,Opside 将拥有超过 100,000 个验证器,以提供海量数据可用性,同时保持高度去中心化。

在 Pre-Alpha 测试网阶段,基于 PoW 算法,Opside 区块内的每个 Rollup 都会按照一定的规则提交一个序列。当前区块的 PoW 奖励根据注册的 Rollup 槽数和包含的批次数在序列中分配。但是,某些 Rollup 可能不会在某些块中提交序列,从而导致实际通货膨胀低于预期。

矿工可以自由选择参与一个或多个 Rollup 的 ZKP 计算。未来每个sequence会根据对应的ZK-Rollup类型、包含的Rollup交易数量、gas使用量等因素进行不同定价,来预估工作量。

为了防止矿工的恶意行为,他们需要在特殊的系统合约中注册和抵押代币。矿工需要在系统合约中为 Rollup 投入相应的代币,才能为该 Rollup 提交 ZKP。矿工提交 ZKP 获得的奖励也将按照其质押比例分配,避免矿工多次提交 ZKP 的恶意行为。

更多详情请参考Opside Tokenomics

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

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

  1. 提交Proofhash:在给定序列的特定时间窗口内,允许多个矿工参与零知识证明的计算。每个矿工不是直接提交原始证明,而是计算(证明/地址)的证明哈希并将其提交给合约。
  2. 提交ZKP:在时间窗口后,矿工提交原始证明并与之前提交的proofhash进行验证。证明通过验证过程的矿工有资格获得 PoW 奖励,这些奖励根据他们投入的金额按比例分配。

更多细节请参考ZKP的两步提交算法

优化ZKP生成算法:矿工效率提升80%

当 Rollup 的智能合约验证 ZKP 时,提交原始证明数据可能会引发链上攻击。为了防止恶意行为,ZK-Rollups 通常需要额外的计算工作来混淆原始证明数据。一种方法是在提交的 ZKP 中包含矿工地址的集合。 Opside 的 ZKP 两步提交算法巧妙地采用先提交后验证的模型,消除了对证明和地址进行不必要的聚合计算。

此外,在一些开源 zkEVM 实现中,ZKP 计算和提交是顺序执行的。这意味着当一个 ZK-Rollup 提交大量序列时,矿工无法同时计算多个 ZKP。在Opside中,两步提交算法实现了ZKP并行计算和顺序提交,允许矿工同时执行多个ZKP生成任务,显着加快ZKP生成效率。

Opside团队还对ZKP递归聚合算法进行了一系列优化,最大限度地利用集群资源,进一步提升ZKP计算速度。

在真实的压力测试环境中,矿工有一个由 20 台机器组成的集群,这些机器由 128 核 CPU 和 1TB RAM 组成。测试的交易率稳定在 27.8 TPS 左右,持续了大约 40 分钟。在相同条件下,Opside 将交易的平均确认时间从大约 5-6 分钟减少到大约 3 分钟,从而使 ZKP 生成效率提高了大约 80%。未来,随着更多的ZK-Rollups和矿工加入ZK算力市场,Opside的PoW算法带来的效率提升将更加明显。

概括

Opside 提出了 ZK-PoW 算法,创造性地定义了 ZK 算力的市场化定价机制。这个算力市场为即将到来的 ZK-Rollups,尤其是 zkEVM 的激增提供了一个巨大的平台,同时也为闲置矿工提供了一个新的挖矿场景。

ZKPs 两步提交算法为 ZK-Rollups 提供了标准化的去中心化 Prover 机制,鼓励更多的矿工贡献稳定和持续的 ZKP 算力。此外,优化的ZKP计算和提交机制使ZKP生成效率提升80%。

未来,Opside 的 PoW 机制可以很容易地扩展到其他应用,不仅是为了可扩展性(ZK-Rollup),也是为了 AI(ZKML)。