复制成功

分享至

主页 > 数字货币 >

去中心化的Prover如何实现?Opside 创新性提出 ZKP的两步提交算法

2023.05.10

原文来源:Opside Team

去中心化的Prover如何实现?Opside 创新性提出 ZKP的两步提交算法

为什么我们需要去中心化的 prover

当前,以太坊主网上已经有多个 ZK-Rollups 在运行了。然而 ZK-Rollup 的去中心化设计仍然处于早期阶段。我们目前都聚焦在 Sequencer 的去中心化问题上,大部分人都忽略了,实际上目前绝大部分的 ZK-Rollup 项目都没有实现去中心化的 prover。

对于 ZK-Rollup 来说,中心化的 prover 仍然是安全的,并且也不像中心化的 sequencer 那样会带来审查的问题。但是中心化的 prover 也会引发很多问题。首先,如果只有一个 prover,那么单节点宕机就会造成整个 ZK-Rollup 的有效性证明无法提交,从而给交易的最终确定性造成影响。其次,中心化的 prover 成本高昂,无法承担未来海量的 ZK-Rollup 的算力需求。最后,从经济的角度来说,中心化的 prover 独享了一部分收益,这在代币经济学上来说,实际上是不公平的。

去中心化 prover 的挑战

去中心化 prover 能很好地解决以上的问题,但是也带来一些挑战,这也是为什么最近上线的几个 zkEVM 方案采用了中心化 prover 方案的原因之一。例如 Polygon zkEVM 的 beta mainnet 中依靠 trusted aggregator 来提交 ZKP,zkSync era 也是类似。

从技术细节上来讲,ZK-Rollup 的智能合约验证 ZKP 的时候,需要原始的 proof 数据,这就可能引发各种不同的链上攻击行为。例如,某一个 prover 提交计算出来的 ZKP 到链上合约时,需要发一笔L1的交易。当这个 prover 发出的交易广播到交易池中,攻击者就可以看到原始 proof 数据,攻击者可以设置一个更高的 gas 费来发交易,从而优先打包到区块中,来获取 PoW 奖励。

此外,由于 prover 之间是依靠算力来竞争,没有一个可信的身份识别机制,也很难建立一个通信机制。不同的矿工有可能做重复的工作,从而造成算力的浪费。


ZKP 的两步提交

Opside 提出了一个 ZKP 两步提交算法,来实现了 prover 的去中心化。这种算法既能够防止 ZKP 抢跑攻击,又可以让更多的矿工获得奖励,从而鼓励更多的矿工在线,并提供稳定、持续的 ZKP 算力。

第 1 步:提交 hash

  • 对于某个 sequence,prover 计算出 ZKP 之后,首先计算(proof / address)的 hash,并向链上智能合约提交 hash 和 address。其中,proof 是某一个 sequence 的零知识证明,address 是该 prover 的地址

  • 假设在第 1 个 prover 在第 T 个区块提交了 hash,则在第 T+ 10 区块以内,还可以接受其他 prover 提交 hash,没有数量限制。第 T+ 11 区块及之后,不再接受新的 prover 提交 hash

  • 第 2 步:提交 ZKP

  • 第 T+ 11 区块及之后,允许任何 prover 提交 ZKP。只要有一个 ZKP 通过验证,那么就可以根据该 ZKP 对所有提交过的 hash 进行校验。校验通过的 prover 都可以得到 PoW 奖励,奖励金额按照矿工质押量的比例来分配。

  • 如果在第 T+ 20 区块之前,都没有 ZKP 通过验证,则所有提交过 hash 的 prover 都将被 slash。此时该 sequence 重新开放,允许提交新的 hash,回到第 1 步

  • 举一个例子,假设 Opside 中每个L2区块的 PoW 奖励是 128 IDE,当前总共有 64 个 Rollup slots,那么每一个 Rollup sequence 分配到的 PoW 奖励是 2 IDE。如果先后有 A, B, C 3 个矿工为一个 sequence 提交了正确的 ZKP,且 A, B, C 3 个矿工的矿工质押量(IDE)分别为 200 K, 500 K, 300 K。那么,A, B, C 可以获得的 PoW 奖励分别为 0.4 IDE, 1 IDE, 0.6 IDE。


    Prover 的质押与惩罚

    为了避免针对 prover 的恶意行为,prover 需要在一个特殊的系统合约中注册,并质押一定数量的 token。如果当前质押数量小于阈值,则不允许提交 hash 和 ZKP。prover 提交 ZKP 获得的奖励也将依据质押量比例来分配,从而避免 prover 多次提交 ZKP 的恶意行为。

    当 prover 出现以下行为,会进行不同程度的惩罚

  • prover 提交了错误的 hash

  • 对于某个 sequence,如果没有对应的 ZKP 通过验证,则所有提交过 hash 的 prover 都将被惩罚

  • 罚没的 token 将被烧毁。

    免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

    加⼊OKEx全球社群

    和全球数字资产投资者交流讨论

    扫码加入OKEx社群

    相关推荐

    industry-frontier