Opside 是一个去中心化的ZK-RaaS (ZK-Rollup as a Service)平台,也是业内领先的ZKP(零知识证明)挖矿网络。ZK-RaaS (ZK-Rollup as a Service) 可以为任何人提供一键生成 ZK-Rollup的服务。Opside 提供通用的 ZK-Rollup launchbase,开发者可以通过launchbase轻松地部署不同类型的ZK-Rollup到不同的base chain上。
Base chain,包括Ethereum/Opside chain/BNB chain/Polygon PoS等公链。
ZK-Rollup类型,包括zkSync、Polygon zkEVM、Scroll、StarkNet 等zkEVMs,以及其他种类的ZK-Rollups。
Opside ZK-PoW Cloud会部署到多链上,包括但不限于Ethereum、BNB Chain、Polygon PoS以及Opside Chain本身。在Opside的设计中,开发者可以在上述不同的base chain上部署ZK-Rollups。随着ZK-Rollup技术的逐渐成熟,未来可能会诞生成百上千个ZK-Rollups,这将带来极大的ZKP算力需求。Opside使用 ZK-PoW 机制来激励 Miner 提供 ZKP 算力,从而为 ZK-Rollup 提供完整的硬件设施。
数据:Popsicle Finance黑客攻击事件损失超过2000万美元:据BlockSec安全团队统计,在Popsicle Finance黑客攻击事件中,攻击者共计获利超过2000万美元,其中包括2560 WETH、96.2 WBTC、16万DAI、539万USDC、498万USDT、1.05万UNI,攻击者在获利后将全部资产转成ETH,并拆分成小额用TornadoCash实施分散。
据此前报道,跨链收益率提升平台Popsicle Finance团队成员表示,Popsicle Finance遭到黑客攻击,目前仅有Sorbetto Fragola一款产品受到影响。团队将在几周内修复漏洞并对受损用户进行赔偿。此前Popsicle Finance曾与跨链交易平台Multichain.xyz以及Tether合作推出跨链USDT封装代币fUSDT。[2021/8/4 1:33:49]
ZK-PoW V2.0的整体架构包括几个关键组件:
ZK-PoW Cloud:这是Opside提供的用于ZKP计算的云基础设施。它部署在多个链上,包括Ethereum、BNB Chain、Polygon PoS和Opside Chain。ZK-PoW Cloud负责协调和管理ZKP计算任务。
矿工节点:这些是由矿工操作的节点,他们贡献自己的计算能力来执行ZKP计算。矿工可以通过在他们的挖矿硬件上运行专用软件来参与ZK-PoW网络。
以太坊测试网Ropsten压力测试没有任何问题:官方消息,以太坊开发者Tim Beiko更新以太坊测试网Ropsten压力测试结果,没有任何问题,下图是baseFeePerGas随时间变化的图表。Tim Beiko介绍图表表示,Ropsten进行伦敦升级后,初始值设置为1 gwei,大的峰值为压力测试,后面是关闭了发送垃圾邮件。此外,Tim Beiko表示,可能对其它测试网进行压力测试。
此前消息,以太坊开发者Tim Beiko表示,当以太坊测试网上线伦敦升级后,应该尝试做一个压力测试,用交易填充网络上的大约100个区块,看看客户端(以及潜在的基础设施)如何处理这个问题。[2021/6/27 0:09:35]
ZKP任务分发:ZK-PoW Cloud将ZKP计算任务分发给矿工节点。分发是以去中心化方式进行的,以确保公平性和效率性。ZKP任务包括为各种ZK-Rollup生成和验证零知识证明。
ZKP计算:矿工节点接收ZKP计算任务,并进行必要的计算来生成所需的证明。这涉及执行密码学算法和进行复杂的计算。
证明提交和验证:一旦ZKP计算完成,矿工节点将生成的证明提交给ZK-PoW Cloud进行验证。云基础设施验证证明的正确性,以确保其有效性和完整性。
激励机制:矿工通过为他们的计算贡献获得奖励来激励他们参与ZK-PoW网络。奖励系统旨在激励矿工并维护网络的安全性和稳定性。
OKEx开启PROPS交易 开盘涨幅达78.9%:1月27日消息,OKEx正式上线项目Props Token(PROPS)并开启了市场交易,开盘首日市场热度不断高涨。据行情数据显示,PROPS开盘后市场价格短时触达0.176USDT,开盘最高涨幅达到78.9%,现报价为0.156USDT。
Props是一个协助Web2.0 App部署及规划使用应用内代币的平台。Props固定总量10亿,当前流通总量约2.087亿,当前Props在全球有超过8百万的代币持有者。
据悉,OKEx还为社区和社群用户推出了“PROPS流动性挖矿,瓜分100%手续费奖池”的活动,详情请访问官网[2021/1/27 21:47:08]
总的来说,ZK-PoW V2.0将矿工的计算资源与云基础设施相结合,为各种ZK-Rollup提供高效且可扩展的ZKP计算能力。
Aggregator 是Prover的重要组成模块, 它负责分发ZKP证明任务并接收任务结果即ZKP证明,管理ZKP证明以及将ZKP证明提交到Base Chain以此获取奖励 。因此基于功能将新版Aggregator 分为三个子模块,分别为:Proof Generator, Proof Manager, Proof Sender。
SushiSwap计划将时间锁合约的控制权由Ops多签转移至主多签:早间,SushiChef官方发推称,研究员Chris Blec指出时间锁(Timelock)合约是由Ops多签(Ops Multisig)控制,但实际上应该由SBF、Leshner等人联合执行的主多签(Treasury Multisig)来控制。他表示,这种控制不应该落在公众之外的人的手中,这是正确的。因此我们立即采取措施进行调整,正在准备将时间锁的控制从Ops Multisig转移到主多签。在执行更改前,需要通过时间锁本身(48小时)的设定,因此官方将立刻对该事务进行排队。[2020/11/19 21:18:38]
如上图虚线框内Proof Generator模块将负责给prover(PoW矿机) 发布证明任务并接受任务结果:ZKP证明,然后将ZKP证明保存到DB数据库中。Proof Manager 负责管理完成是ZKP证明,将要上链的ZKP证明封装成发送任务转交给模块Proof Sender。模块Proof Sender 完成ZKP证明上链,即提交证明给部署在Base Chain上的 zkevm contract。
下面分别介绍这三个模块:
Rollup Chain 将一定数量交易,打包成一个batch,然后将若干个(依据交易的频繁性等多个因数)batch打包成一个sequence,然后将其提交到Base Chain,因此我们可以说每次上链数据单位是sequence。 每个sequence包括1个以上batch,而ZKP证明是证明已提交的sequence的合法性,所以batch是证明任务最小单位。
香港监管机构叫停ICO项目“Krops”:据香港经济日报消息,香港证券及期货事务监察委员会(香港证监会)勒令叫停了名为“Krops”的ICO项目,并要求项目方在月底前向投资者退还募集资金。该项目被香港证监会认为构成了集体投资计划(CIS),须事先获得授权或许可。这是香港监管机构首次叫停ICO项目。[2018/3/20]
依据sequence包含的batch不同,需要完成的证明任务也不同,具体如下:
batch数目等于1, 证明流程BatchProofTask ----> FinalProofTask,需要依次完成BatchProofTask,FinalProofTask证明任务。
sequence包含batch数目大于1, 证明流程多个BatchProofTask ---->AggregatorproofTask ---> FinalProofTask,需要依次完成多个BatchProofTask ,AggregatorproofTask,FinalProofTask证明任务。
为了尽可能提高证明产生的效率,也为了提高PoW矿工收益,我们尽可能并发生成证明。具体表现在以下两方面:
各个sequence 证明生成没有上下文或者状态上依赖,可以并发进行。
同一个 sequence 里多个BatchProofTask可以并发进行。
以此更好的发挥prover的算力资源,从而能更高效的生成证明。
该模块主要负责管理ZKP证明,控制ZKP证明上链验证。主要分为三个模块
submitPendingProof: 该模块只在Aggregator每次启动时执行一次,目的是将上一次Aggregator服务停止前未完成的ZKP证明提交完成。这里是针对proofHash提交了且其他矿工提交了proof的情况。关于proofHash, proof的介绍参考Proof Sender。
tryFetchProofToSend: 在协程执行,将最新生成的ZKP证明且该证明对应的sequence未被验证加入到Proof Sender的缓存中等待上链。
processResend: 在协程执行,目的让超过时间窗口没验证成功的sequence重新提交上链。
Opside 提出了一个ZKP两步提交算法,来实现了prover的去中心化。这种算法既能够防止ZKP抢跑攻击,又可以让更多的矿工获得奖励,从而鼓励更多的矿工在线,并提供稳定、持续的ZKP算力。
第1步:对于某个sequence生产PoW证明记为proof,首先计算Hash(proof / address), 记为proofHash,并向合约提交,若该sequence之前没有提交过proofHash,则开启proofHash的提交时间窗口T1, 在之后T1个区块内矿工都有资格提交该sequence,且T1区块后才能提交proof。
第2步:提交proof, T1后区块后,开启proof提交,且限定在T2个区块内提交。如果T2区块后,所有矿工提交proof都没验证通过,则之前所有提交过proofHash的矿工都被被惩罚。如果在T1时间窗口能成功提交了proofHash,但是在T2时间窗口内未能成功提交proof,且T2 窗口内其他矿工成功提交了proof,则仍然可以继续提交该proof。除了以上场景外,重新走两步提交流程。
如下图,Proof Sender 基于三个线程安全且优先级排序缓存来实现两步提交,这三个缓存基于 sequence的起始高度进行排序,保证每次从这个三个缓存获取元素对应的 sequence高度都是最低的,同时这三个缓存中元素是去重的。对应sequence的高度越低越需要优先处理。
finalProofMsgCahce: 存放的是Proof Manager发送来finalProof消息,也就是完成ZKP证明。
monitPHTxCache: 存储要监控proofHash 交易。
ProofHashCache: 存储proof消息,用于proof上链。
如下图:
Proof Sender 模块启动后会启动3个协程,分别消费这三个缓存数据。
简单流程是:
协程1负责消费finalProofMsgCahce中的finalProof消息,计算proofHash ,如果符合上链条件(在T1条件内),则将proofHash上链,同时将proofHash 交易放入到monitPHTxCache中。
协程2消费monitPHTxCache的proofHash 交易消息,如果在T2时间窗口内,满足proof上链条件,这构造proof消息,存放到ProofHashCache。
协程3消费proof消息,proof上链。
相对旧模块,结构更加清晰,节省资源开销。
与Version1.0对比
V2.0拆分了原有服务为三个子模块,三个模块分别负责证明产生,证明管理,证明上链,结构更加清晰,三个模块耦合性低,鲁棒性强。
证明产生模块Proof Generator相对旧版添加了startBatch 参数方便新加入矿工能更快跟上挖矿进度。
证明管理模块Proof Manager相对旧版更好改进:对于矿工重启服务或者其他原因导致proof 未提交或者提交失败会第一时间重发proof,保证矿工利益;同时重发机制不仅针对proof提交失败情况,也针对所有proof提交失败或者未提交,重启时间窗口,保证Rollup Chain安全性。
证明发送模块Proof Sender基于三个线程安全优先级缓存来实现交易两步式提交,相对之前版本减少全局锁使用,保证了低高度的proof能第一时间提交,保证了矿工的利益。同时,整个服务流程更清晰,减少了线程数量,减少了程序执行中资源的消耗。
压测结果:
Version2.0使用10台64核机器,完成batch 证明566个,耗时7小时38分40秒,平均48.62秒完成一个证明。在多矿工场景下,相较于V1.0,V2.0的zk proof生成效率整体提高了50%
总之,Opside ZK-PoW V2.0优化了多矿工参与ZKP计算的流程,提升了硬件利用率,提高了服务可用性,对矿工更加友好。更重要的是,在多矿工的场景下,将ZKP的计算缩短到不到一分钟,极大地加快了ZK-Rollup的确认时间。
金色早8点
Odaily星球日报
金色财经
Block unicorn
DAOrayaki
曼昆区块链法律
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。