📢 Gate广场 #MBG任务挑战# 发帖赢大奖活动火热开启!
想要瓜分1,000枚MBG?现在就来参与,展示你的洞察与实操,成为MBG推广达人!
💰️ 本期将评选出20位优质发帖用户,每人可轻松获得50枚MBG!
如何参与:
1️⃣ 调研MBG项目
对MBG的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与MBG相关活动(包括CandyDrop、Launchpool或现货交易),并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是现货行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
MBG热门活动(帖文需附下列活动链接):
Gate第287期Launchpool:MBG — 质押ETH、MBG即可免费瓜分112,500 MBG,每小时领取奖励!参与攻略见公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通过首次交易、交易MBG、邀请好友注册交易即可分187,500 MBG!参与攻略见公告:https://www.gate.com/announcements
一文读懂Opside的ZK-PoW算法
TL;DR
Opside提出的ZK-PoW算法,具有以下优势:
为什么我们需要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也会引发很多问题:
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的提交者,也就是矿工。
1提交proofhash:在一个时间窗口内,对于某个sequence,允许多个矿工参与zero-knowledge proof的计算。各个矿工计算出proof之后,并不直接提交原始的proof,而是计算(proof / address)的proofhash,并向合约提交proofhash。
2提交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)。