🎉 Gate.io动态 #创作者激励计划# 火热进行中!报名参与并发帖解锁 $2,000 创作大奖!
🌟 参与攻略:
1️⃣ 点击链接进入报名页面 👉️ https://www.gate.io/questionnaire/6550
2️⃣ 点击“是”按钮提交报名
3️⃣ 在动态完成发帖,提升发帖量和互动量,解锁获奖资格!
📌 只要是与加密相关内容均可参与发帖!
🎁 茶具套装、Gate x 国际米兰保温杯、Gate.io 纪念章、点卡等好礼等你来拿!获奖者还将获得专属社区流量扶持,助力您提升影响力,增长粉丝!
活动截止至:5月6日00:00 (UTC+8)
活动详情:https://www.gate.io/announcements/article/44513
Opside白皮书V2发布:引入多链ZK-PoW机制
什么是;Opside
Opside 是一个去中心化的;ZK-RaaS (ZK-Rollup as a Service)平台,也是支持;ZKP(零知识证明)挖矿的;PoW;网络。Opside;采用;PoS & PoW 混合共识,为Web3开发者提供了一键生成;zkEVM;应用链的功能。同时,数量众多的;ZK-Rollup;带来的;ZKP;计算任务也产生了巨大的算力需求,从而为全球矿工提供了一个有意义的挖矿场景。
在扩容领域,L2 的概念并不陌生。但L2不能很好地统筹各种类型的硬件资源,例如数据可用性、ZKP;算力、打包节点等。此外,运营一个L2,尤其是;ZK-Rollup,需要很高的硬件维护成本以及专业技术门槛,因此很多开发者望而却步。针对这些问题,Opside;首次提出了;ZK-RaaS;的概念,开发者无需掌握;ZK;或者链节点的知识,也可以在一分钟内启动一条属于自己的;zkEVM;链。同时,Opside;还提出了;ZK-PoW;的概念,引入矿工这个角色来参与;zkEVM;节点的维护和;ZKP;的计算。
Opside;的宗旨是让;ZK-Rollup;变得更加友好和大众化,从而使得以;zkEVM;为基础的应用链大规模落地成为可能。
ZK-RaaS
ZK-RaaS (ZK-Rollup as a Service) 可以为任何人提供一键生成 ZK-Rollup;的服务。
Opside 提供通用的 ZK-Rollups launchbase,开发者可以通过;launchbase;轻松地部署不同类型的;ZK-Rollups;到不同的;base chain;上。
在每个;base chain;上,Opside;都会部署一个;Rollup;系统合约(Rollup Contracts,RSC),来管理该链上的;Rollup;的生命周期,包括注册、中止与退出等操作。开发者花费一定数量的;IDE(Opside token)租赁一个;Rollup slot,即可拥有一个;ZK-Rollup。
Rollup slot;的概念类似于波卡插槽或者;cosmos;的应用链,但是;cosmos;应用链需要自己维护一套共识层以及跨链桥,这带来了极大的安全风险。而;ZK-Rollup;采用了;ZK;技术,在数学意义上严格地保证了;Rollup;和;base chain 共享了同一个共识和数据可用层,安全性更高,更加去中心化,维护成本也更低。
开发者租赁了一个;Rollup slot;后,即拥有独立的运行环境,例如,开发者可以单独拥有一条;zkEVM;链。开发者对;ZK-Rollup;拥有主权,可以自定义;rollup;经济模型,包括选择;gas token。开发者可以自由调整;gas;费用,甚至是;0;,这样用户不需要支付任何费用。
开发者不需要承担任何硬件成本。所有的硬件资源,包括数据可用性、sequencer、ZKP;算力等,皆由下面的;Opside ZK-PoW cloud;来去中心化地提供。
此外,同一个;base chain;上,各个 ZK-Rollups;之间可实现原生的跨;rollup 通信。跨;rollup;通信是一种消息通信机制。也就是说,一个;rollup;上的地址,可以直接调用另一个;rollup;上的合约。这极大地解决了用户资产碎片化的问题,增强了应用之间的可组合性。
Opside ZK-PoW Cloud
ZK-Rollup 和 OP-Rollup 相比,有很多优点,包括更安全、无需信任以及更快的提款速度。同时技术上也有一个非常大的不同,就是;ZK-Rollup;额外需要有一个强大的;ZKP;算力来支撑零知识证明的生成。
多链的;ZK-PoW;机制
Opside ZK-PoW Cloud;会部署到多链上,包括但不限于;Ethereum、BNB Chain、Polygon PoS;以及;Opside Chain;本身。在;Opside;的设计中,开发者可以在上述不同的;base chain;上部署;ZK-Rollups。随着;ZK-Rollup;技术的逐渐成熟,未来可能会诞生成百上千个;ZK-Rollups,这将带来极大的;ZKP;算力需求。因此,我们需要激励矿工加入这个生态来做出贡献。从以太坊 PoW 转向 PoS 以后,有很多以太坊矿机失去了应用场景,从资金规模上来讲,矿机的价值就有 120 亿美元,目前很多都处于闲置的状态。随着;ZK-Rollup;大规模落地,ZKP;的生成需要大量的 CPU、GPU、FPGA;等硬件和矿机来提供计算能力。
Opside;使用 ZK-PoW 机制来激励 Miner 提供 ZKP 算力,从而为 ZK-Rollup 提供完整的硬件设施。这也是 Opside 核心思想之一。所有角色,包括用户、开发者、矿工,都能够在这个 Opside 经济模型当中获得利益。
ZKP;的两步提交算法:标准的去中心化;Prover;机制
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 + 1;TB RAM;组成的机器集群,测试交易稳定在;27.8;TPS;约;40;分钟。在相同条件下,Opside;将交易的平均确认时间从约;5-6;分钟降低到了约;3;分钟,ZKP;生成效率提高了约;80%;。在未来,随着更多;ZK-Rollup;以及矿工的加入,ZK;算力市场的需求端和供给端的规模将进一步扩大,Opside;的;PoW;算法带来的效率提升将体现得更加明显。
Opside Chain
Opside Chain;作为;base chain;之一,除了支持;Opside ZK-PoW Cloud;以外,还针对;ZK-Rollup;做了更多的优化。例如使用预编译合约进行;ZKP;加速验证,支持数据分片,采用基于 ETH 2.0 的 PoS 共识。未来还将支持;EIP-4844、DankSharding;等全分片方案,将;Rollup;的;Gas;费用降到最低,甚至是;0;。
以太坊现在是全球最大规模的去中心化网络,有超过 50 多万个节点。这些节点不但提供了大规模的去中心化,在未来,得益于数据分片技术,这;50;多万个节点也提供了海量的数据可用性。
Opside Chain;的灵感来自于以太坊,这也是 Opside 选择基于 ETH 2.0 的 PoS 共识来改进的原因之一。我们预期 Opside Chain;上将拥有超过;10;万多个节点。
对于;Rollup;来说,如何让;sequencer;更加去中心化,而不是由一个单节点去完成中心化的打包?一个很好的做法是让 Opside Chain 的区块提议者同时提议 Rollup Layer 的区块。对于 Rollup Layer 来说,实际上就是完成了 builder 与 proposer 的分离:builder 是无需许可地由一个 P2P 网络来支持,proposer 则沿用了 Opside chain 的区块 proposer,这样避免了单节点带来的可用性风险,同时也具有一定的抗 MEV 性和抗审查性。
因此;Opside Chain;提供标准化的去中心化;sequencer;机制,Opside Chain 的区块提议者同时负责提议 Rollup 的区块。Opside Chain;让 ZK-Rollup 不但能继承上一层的安全性,还继承了上一层的去中心化程度。
下面是;Opside Chain;的 PoS & PoW 混合共识:
PoS:Opside 将采用以太坊 2.0 的 PoS 算法,并对其进行必要的改进。任何人都可以持有;Opside token;代币并成为 validator。validator 可以在 Opside chain 中获得区块奖励和 gas 费用。
PoS (Sequencer):validator 不仅提议 Opside chain 区块,还提议 Rollup layer 区块 (即;data batch)。因此 validator 同时也是 Rollup layer 中 rollup 的 sequencer。sequencer 可以从 Rollup layer 交易中的交易费中赚取 gas 费用。
PoW (Prover):任何人都可以成为 Rollup layer 中 rollup 的 prover,只要它具有足够的计算能力进行 ZKP 计算。根据 PoW 规则,prover 根据 sequencer 提交的 Rollup layer 区块生成 zk 证明。
一个 ZK-Rollup 就类似于一台电脑。电脑是有两个核心组件,一个是硬盘,一个是 CPU。PoS 提供的数据可用性就相当于是硬盘,PoW 提供的算力就相当于是 CPU。Opside Chain 需要做的是在 PoS 与 PoW 当中找到一个平衡,从而让每一个角色都能充分发挥价值并从中受益,让大规模的 ZK-Rollups 网络有更好的性能和体验。
代币的供应与需求
Opside token;称为;IDE,IDE;将通过;PoS;与;PoW;奖励的形式来增发,分别对应 Validator 和 Miner。在 Pre-Alpha 测试网阶段,PoS 与 PoW 的区块奖励比例暂时固定为;1:;2;。在未来,这两者的比例会随着整个网络的 ZKP 算力供需关系动态调整。
PoS
如上所言,Opside Chain;采用了基于 ETH 2.0 改进的 PoS 共识。要作为 Validator 参与,用户必须将一定量的 IDE 存入存款合约,并运行三个独立的软件:执行客户端、共识客户端和 Validator。这些 Validators 负责检查通过网络传播的新块是否有效,并偶尔自己创建和传播新块。如果 Validator 行为不诚实或懒惰,那么抵押的 IDE 将作为抵押品被销毁。
在 PoS 下,Opside Chain 的出块速度是固定的,时间分为 slot(12 秒)和 epoch(32 个;slots)。在每个 slot 中随机选择一个验证者作为区块提议者。该 Validator 负责创建新块并将其发送到网络上的其他节点。同样在每个 slot;中,随机选择一个 Validator 委员会,其投票用于确定所提议区块的有效性。具体机制请参考ETH PoS。
Opside Chain 预期在 Alpha 测试网支持EIP-4844;,数据可用性抽样(DAS) 将用于确保 ZK-Rollup 在执行后提供其交易数据,同时不会对任何单个节点造成太大压力。每个 Validator 随机抽取 blob 中提供的交易数据,以确保所有数据都存在。同样的技术也可以用来确保区块生产者将他们所有的数据提供给安全的轻客户端。同样,在提议者-构建者分离(PBS)下,只需要区块构建者来处理整个区块——其他验证者将使用数据可用性抽样进行验证。
在一些具体参数上,Opside;将有所不同,读者可以在代码库里找到最新的值。
总的来说,Staking 使个人更容易参与保护网络,促进去中心化。Validator 节点可以在普通笔记本电脑上运行。一些代理质押池甚至允许用户在没有足够 IDE 的情况下进行质押。
ZK-PoW
基于;Opside;提供的;ZK-Rollup launchbase,开发者可以选择在一个;base chain;上拥有一个专属的 ZK-Rollup。为了支撑数量众多的 ZK-Rollups 带来的海量硬件资源的需求,Opside 提供了一个统一的 ZKP 算力市场,鼓励 miner(也就是;prover)来为这些 ZK-Rollups 生成 ZKP。这就是 Opside 的 ZK-PoW 机制。
单个;Rollup sequence;的奖励份额计算
ZK-PoW;是一个多链协议,这意味着;PoW;奖励将在各个;base chain;上发放,包括;Etheruem,Opside Chain,BNB Chain,Polygon PoS。每个;base chain;的;PoW;奖励数量取决于对应的;Rollup slot;注册数量、ZKP;工作量等。
对于每个;base chain,一个区块内,每个;Rollup;只能提交一个;sequence(可以包含该;Rollup;的多个区块)。各个;sequence;均分当前区块的;PoW;奖励。这也就意味着,如果在;base chain;的一个区块中,有;4;个;Rollup;提交了;sequence,则;PoW;奖励被均分为;4;份,每一个;sequence;获得的奖励为区块;PoW;奖励的;1/4;。当然,可能在某些区块没有任何;Rollup;提交;sequence,因此;PoW;实际的通胀可能会低于预期。
在未来,各个;sequence;将根据对应的;ZK-Rollup;类型、所包含的;Rollup;交易数量、gas;使用量等进行工作量预估,从而对不同;sequence;进行不同的定价。
Prover;的质押与惩罚
为了避免;prover;相关的恶意行为,Prover;需要在一个特殊的系统合约中注册,并质押代币。Prover;可以自由选择参与一个或者多个;Rollup;的;PoW;挖矿。Prover;需要在系统合约中为每一个要参与的;Rollup;质押一定量的;IDE(Opside token),才可以为该;Rollup;提交;ZKP。如果当前质押数量小于阈值,则不允许为该;Rollup;提交;ZKP。prover;提交;ZKP;获得的奖励也将依据质押量比例来分配,从而避免;prover;多次提交;ZKP;的恶意行为。
当;prover;出现以下行为,会进行不同程度的惩罚:
罚没的;Opside token;将被烧毁。
关于;ZKP;的两步提交机制更多的细节与考量,请读者参阅官方文档。prover;质押以及惩罚的具体数字在未来可能会改动。
开发者租赁;Rollup slot
在各个;base chain;上,Opside;部署了;ZK-PoW;协议,开发者可通过;ZK-Rollup launchbase;一键注册一个;Rollup slot,从而启动属于自己的;ZK-Rollup。该;ZK-Rollup;所有的硬件资源都由;Opside;去中心化网络来提供。开发者需要向;Opside;网络支付;Rollup slot;的租金,这部分租金将直接烧毁。
除了一个固定金额的租金以外,开发者还可以为自己的;ZK-Rollup;提供额外;ZKP;补贴,以激励矿工提供算力。
具体的租金与补贴规则与参数,读者可以在官方文档或者代码库里找到。
治理与发展
Opside;网络的功能和性能将随着时间的推移而不断发展,以下为几个优先级更高的示例:
这些改进将显著提高;Opside;的网络效用,从而促进;ZK-Rollup as a Service;的长期发展以及繁荣。
Opside;主网启动后,建立一个;Opside DAO,包含合理的流程和机制来共同决定网络的未来。Opside;主网的所有参数和机制的更新将通过;Opside DAO;来确定。需要强调的是,Opside;是一个合作共建的经济体,并随着时间推移而不断发展演化。未来的改进会以;DAO;提案的形式详细地解释这些方案是如何给;Opside;经济的长期利益和每个参与者类别带来好处。随着网络的发展,打造一个无需大量工具和补贴亦可以独立且稳健运行的经济至关重要。