原文来源:OpsideTeam
为什么我们需要去中心化的prover
当前,以太坊主网上已经有多个ZK-Rollups在运行了。然而ZK-Rollup的去中心化设计仍然处于早期阶段。我们目前都聚焦在Sequencer的去中心化问题上,大部分人都忽略了,实际上目前绝大部分的ZK-Rollup项目都没有实现去中心化的prover。
对于ZK-Rollup来说,中心化的prover仍然是安全的,并且也不像中心化的sequencer那样会带来审查的问题。但是中心化的prover也会引发很多问题。首先,如果只有一个prover,那么单节点宕机就会造成整个ZK-Rollup的有效性证明无法提交,从而给交易的最终确定性造成影响。其次,中心化的prover成本高昂,无法承担未来海量的ZK-Rollup的算力需求。最后,从经济的角度来说,中心化的prover独享了一部分收益,这在代币经济学上来说,实际上是不公平的。
去中心化多链钱包TokenPocket获得美FinCEN颁发的MSB牌照:10月26日消息,去中心化多链钱包TokenPocket表示已获得由美国金融犯罪执法网络(FinCEN)颁发的MSB(Money Services Business)牌照,将全面拓展海外运营,接下来还计划在更多国家和地区申请合规牌照。[2021/10/26 20:58:26]
去中心化prover的挑战
去中心化prover能很好地解决以上的问题,但是也带来一些挑战,这也是为什么最近上线的几个zkEVM方案采用了中心化prover方案的原因之一。例如PolygonzkEVM的betamainnet中依靠trustedaggregator来提交ZKP,zkSyncera也是类似。
去中心化Lending市场总借款量突破300亿美元,创历史新高:金色财经报道,据最新数据显示,去中心化Lending总借款量已突破300亿美元,创下历史新高,本文撰写时为300.2亿美元。去中心化Lending市场是一个基于智能合约的网络系统,加密货币持有者可以在这里将他们的链上资产/通证借给他人来获得利润。目前借款总量排名前三的DeFi协议分别是:
1、Compound:借款总量9,321,455,322美元,占比31.05%;
2、Aave V2:借款总量9,004,026,843美元,占比29.99%
3、Maker:借款总量6,367,445,103美元,占比21.21%。[2021/9/3 22:56:38]
从技术细节上来讲,ZK-Rollup的智能合约验证ZKP的时候,需要原始的proof数据,这就可能引发各种不同的链上攻击行为。例如,某一个prover提交计算出来的ZKP到链上合约时,需要发一笔L1的交易。当这个prover发出的交易广播到交易池中,攻击者就可以看到原始proof数据,攻击者可以设置一个更高的gas费来发交易,从而优先打包到区块中,来获取PoW奖励。
印度创企开发去中心化通知协议EPNS,可向以太坊钱包用户发送推送通知:印度一家初创公司建立了一种去中心化的通知协议,称为Ethereum Push Notification Service(EPNS) ,允许DApp向以太坊钱包用户发送推送通知。在接受采访时,EPNS创始人Richa Joshi表示,他们在发现互联网早期应用程序的运行方式与在Web 3.0上的运行方式惊人地相似后,开发了这个协议。Joshi解释说,Gmail或Orkut在早期并不像现在这样发送通知。用户必须每次都要查看是否收到了新的电子邮件或信息。这种情况在2010年苹果推出互联网应用通知后发生了改变,其认为,DApp、智能合约和其他去中心化的Web 3.0服务与早期的GMail和Orkut的工作原理类似。Joshi强调,这正是促使他们将推送通知引入去中心化世界的原因。(Cointelegraph)[2020/9/15]
此外,由于prover之间是依靠算力来竞争,没有一个可信的身份识别机制,也很难建立一个通信机制。不同的矿工有可能做重复的工作,从而造成算力的浪费。
动态 | 去中心化交易所Swticheo Network宣布推出WBTC交易市场:据Crypto Ninjas消息,首个基于NEO区块链的去中心化交易所Swticheo Network今天宣布将推出新的交易市场WBTC。该交易所目前支持的交易市场有EOS、ETH和NEO。注:WBTC是一个ERC20代币,通过1:1的支持来跟踪BTC价格走势。[2019/7/8]
Opside提出了一个ZKP两步提交算法,来实现了prover的去中心化。这种算法既能够防止ZKP抢跑攻击,又可以让更多的矿工获得奖励,从而鼓励更多的矿工在线,并提供稳定、持续的ZKP算力。
对于某个sequence,prover计算出ZKP之后,首先计算的hash,并向链上智能合约提交hash和address。其中,proof是某一个sequence的零知识证明,address是该prover的地址
声音 | ETC协议支持者:去中心化加密货币少之又少 大量加密货币将会消亡:据dailyhodl消息,Ethereum Classic Cooperative是一个致力于为ETC协议的开发提供持续资金支持的组织,该组织的美国主管安东尼?卢萨迪(Anthony Lusardi)最近讨论了这些主题为何重要以及他为何坚持ETC协议。卢萨迪信念的核心是权力下放和不变性,卢萨迪认为“工作证明是获得去中心化加密货币的唯一途径”,而真正的去中心化加密货币“少之又少”;有相当多的加密货币将会消亡。[2019/1/28]
假设在第1个prover在第T个区块提交了hash,则在第T10区块以内,还可以接受其他prover提交hash,没有数量限制。第T11区块及之后,不再接受新的prover提交hash
第T11区块及之后,允许任何prover提交ZKP。只要有一个ZKP通过验证,那么就可以根据该ZKP对所有提交过的hash进行校验。校验通过的prover都可以得到PoW奖励,奖励金额按照矿工质押量的比例来分配。
如果在第T20区块之前,都没有ZKP通过验证,则所有提交过hash的prover都将被slash。此时该sequence重新开放,允许提交新的hash,回到第1步
举一个例子,假设Opside中每个L2区块的PoW奖励是128IDE,当前总共有64个Rollupslots,那么每一个Rollupsequence分配到的PoW奖励是2IDE。如果先后有A,B,C3个矿工为一个sequence提交了正确的ZKP,且A,B,C3个矿工的矿工质押量分别为200K,500K,300K。那么,A,B,C可以获得的PoW奖励分别为0.4IDE,1IDE,0.6IDE。
prover提交了错误的hash
对于某个sequence,如果没有对应的ZKP通过验证,则所有提交过hash的prover都将被惩罚
罚没的token将被烧毁。
关于ZKP的两步提交机制更多的细节与考量,请读者参阅官方文档。prover质押以及惩罚的具体数字在未来可能会改动。
为什么允许多个prover提交hash?如果第一个hash的提交者才能获得奖励,那么第一个prover提交了hash之后,其他prover就没有动力提交proof。如果一个恶意攻击者提交hash之后迟迟不提交proof,那么会阻碍整个sequence被验证的速度。因此应当允许多个prover独立且并行地提交hash,以避免ZKP的验证被单个攻击者垄断。
为什么需要设置一个时间窗口?假设任何人在提交了hash之后可以立即提交proof,那么该proof仍然有可能被抢跑。因为攻击者会立即提交一个与自己地址关联的hash,随后提交proof,从而获取奖励。设置时间窗口之后,提交过hash的prover就没有动力在此时间窗口内提交proof,从而避免了proof被攻击者利用的可能。
为什么要按照质押量来分配PoW奖励?在一个时间窗口内,允许多个prover为同一个sequence提交hash。实际上,矿工可以利用自己生成的proof提交多个hash,从而占有大部分甚至所有PoW奖励。为了避免这种攻击行为,一个sequence的PoW奖励将按照矿工质押量的比例来分配。
总结与规划
本文提出的ZKP两步提交算法,在实现了prover去中心化的同时,能很好地规避针对prover的抢跑攻击,并鼓励更多的矿工提供稳定、持续的ZKP算力。最初的版本将在Opside的Pre-alphatestnet上线。在未来,Opside也将在更多ZKP的挖矿领域进行更多创新。例如:
根据整个网络的ZKP算力供需关系,动态调整PoS与PoW的奖励分配比例
根据ZK-Rollup类型、Rollup交易数量、gas使用量等进行工作量预估,建立Rollupbatch的个性化定价机制
应用开发者对所属Rollup的ZKP生成进行补贴,以激励矿工提供算力
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。