为什么我们需要去中心化的?prover
当前,以太坊主网上已经有多个?ZK-Rollups?在运行了。然而?ZK-Rollup?的去中心化设计仍然处于早期阶段。我们目前都聚焦在?Sequencer?的去中心化问题上,大部分人都忽略了,实际上目前绝大部分的?ZK-Rollup?项目都没有实现去中心化的?prover。
对于?ZK-Rollup?来说,中心化的?prover?仍然是安全的,并且也不像中心化的?sequencer?那样会带来审查的问题。但是中心化的?prover?也会引发很多问题。首先,如果只有一个?prover,那么单节点宕机就会造成整个?ZK-Rollup?的有效性证明无法提交,从而给交易的最终确定性造成影响。其次,中心化的?prover?成本高昂,无法承担未来海量的?ZK-Rollup?的算力需求。最后,从经济的角度来说,中心化的?prover?独享了一部分收益,这在代币经济学上来说,实际上是不公平的。
Protocol Labs成立去中心化存储联盟,创始成员包括AMD、希捷和安永:金色财经报道,去中心化存储协议Filecoin母公司Protocol Labs宣布成立去中心化存储联盟,计算机硬件巨头Advanced Micro Devices (AMD)、存储设备制造商希捷、四大会计和咨询公司安永将作为创始合作伙伴加入联盟。与非营利性Filecoin基金会共同发起的去中心化存储联盟将致力于建立开发标准,帮助去中心化存储解决方案满足企业客户的需求,包括让数据中心更容易加入去中心化网络。将创建工作组来解决其他可能减缓从 Web2 到 Web3 过渡的特定问题。[2022/10/31 12:01:58]
去中心化?prover?的挑战
去中心化?prover?能很好地解决以上的问题,但是也带来一些挑战,这也是为什么最近上线的几个?zkEVM?方案采用了中心化?prover?方案的原因之一。例如?PolygonzkEVM?的?betamainnet?中依靠?trustedaggregator?来提交?ZKP,zkSyncera?也是类似。
美国SEC专员:真正的去中心化项目对加密监管构成挑战:10月11日消息,美国证券交易委员会 (SEC) 专员Hester Peirce表示,真正的去中心化项目对加密监管构成了挑战。去中心化金融本身具有一定的自我监管能力,我们在设计监管体系时需要考虑到这一点。有时有些声称是去中心化的,但实际上并非如此,实际上有一个中心化的实体,我认为监管机构肯定会关注那个中心化的实体。(News.Bitcoin)[2021/10/11 20:19:35]
从技术细节上来讲,ZK-Rollup?的智能合约验证?ZKP?的时候,需要原始的?proof?数据,这就可能引发各种不同的链上攻击行为。例如,某一个?prover?提交计算出来的?ZKP?到链上合约时,需要发一笔L1的交易。当这个?prover?发出的交易广播到交易池中,攻击者就可以看到原始?proof?数据,攻击者可以设置一个更高的?gas?费来发交易,从而优先打包到区块中,来获取?PoW?奖励。
BM:是时候构建真正的去中心化应用程序了:EOS创始人BM(Daniel Larimer)发推称,现在是时候重新集中精力来构建真正的去中心化应用程序了。现在拥有的是在所有平台上与去中心化账本集成的中心化应用程序。真正去中心化的应用程序很少。他还表示,真正去中心化的应用程序创造了一个准入门槛极低的自由市场。这降低了利润率,使建立一个有利可图的业务变得困难,尤其是对于必须收回开发成本而竞争只能覆盖运营成本的开发商。[2021/3/21 19:04:00]
此外,由于?prover?之间是依靠算力来竞争,没有一个可信的身份识别机制,也很难建立一个通信机制。不同的矿工有可能做重复的工作,从而造成算力的浪费。
ZKP?的两步提交
Opside提出了一个?ZKP?两步提交算法,来实现了?prover?的去中心化。这种算法既能够防止?ZKP?抢跑攻击,又可以让更多的矿工获得奖励,从而鼓励更多的矿工在线,并提供稳定、持续的?ZKP?算力。
声音 | 澳本聪:“去中心化”一词已成为一种营销策略 不存在没有权限或权力的分布式开发过程:6月6日,澳本聪在其个人网站发文《完全点对点(Fully Peer-to-Peer)》,其表示,2011年,我以Satoshi的身份给Gavin发了最后一封邮件。我构建比特币是为了让它成为一个诚实的、不可改变的系统,不会遭受与ecash、自由储备美元(Liberty Reserve US Dollars)以及其他所有欺诈系统相同的问题。“去中心化”一词已成为一种营销策略。分类账可能是分布式的,但是当讨论的是一个没有设置且可以更改的协议时,那就有了一个由组织控制的软件开发过程。没有加密货币具有分布式开发过程。事实上,不存在没有权限或权力的分布式开发过程。确保分布式系统能够在不受干扰的情况下增长的唯一方法是系统在现有的法律框架内运行,并且开发人员不能更改协议。2015年,有些人想讲述我的故事,但是是在我不知情或未经批准的情况下。问题是,他们不知道完整的故事,给那些不希望我是中本聪的人留下了足够的空白,让他们播下怀疑的种子,散布彻头彻尾的谎言。所以在2016年,我别无选择,只能再次出来。在某种程度上,我之所以使用最初公布比特币时的邮件列表,是因为我以前的一所大学的一些人。我于2005年进入纽卡斯尔大学攻读统计学硕士学位,原因有二:首先,大学里的一些人对网络图理论和建模非常熟练。我需要这样的知识来开发比特币。其次,纽卡斯尔大学的一些人对货币体系的数学非常精通。进入大学后,我可以接触到他们所有的工作,这样我就可以进行研究。[2019/6/9]
NEO平台去中心化交易所NEX发布:Neo(小蚁)平台上的去中心化交易和支付服务项目NEX已发布。NEX将NEO区块链与一个离线匹配引擎结合在一起,可以比现有的分散交易所实现更快更复杂的交易。[2017/11/22]
第?1?步:提交?hash
对于某个?sequence,prover?计算出?ZKP?之后,首先计算的?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?奖励是?128IDE,当前总共有?64?个?Rollupslots,那么每一个?Rollupsequence?分配到的?PoW?奖励是?2IDE。如果先后有?A,B,C3?个矿工为一个?sequence?提交了正确的?ZKP,且?A,B,C3?个矿工的矿工质押量分别为?200?K,?500?K,?300?K。那么,A,B,C?可以获得的?PoW?奖励分别为?0.4IDE,?1IDE,?0.6IDE。
Prover?的质押与惩罚
为了避免针对?prover?的恶意行为,prover?需要在一个特殊的系统合约中注册,并质押一定数量的?token。如果当前质押数量小于阈值,则不允许提交?hash?和?ZKP。prover?提交?ZKP?获得的奖励也将依据质押量比例来分配,从而避免?prover?多次提交?ZKP?的恶意行为。
当?prover?出现以下行为,会进行不同程度的惩罚:
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?生成进行补贴,以激励矿工提供算力。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。