Opside 提出的 ZK-PoW(工作量证明)算法具有以下优点:
为什么需要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 的提交者,即矿工。
更多细节请参考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)。