波卡是一个以平行链跨链为主要特色的公链项目。在波卡生态中,一个被频繁提到的一点是:开发者可以根据自己的需要开发独立的平行链,而波卡的生态将为所有的平行链提供安全性。因为波卡是一条公链,所以波卡的安全性就是公链安全性。
所谓谎言重复一千遍就会成为真理。当所有人都在重复一个观点的时候,人们往往会选择相信这个观点,而不是自己去探寻思考波卡的安全性设计能否站住脚。波卡基于Validator的巡查制度,究竟能为平行链提供多高的安全性,其实是值得质疑的。
这一期,我们来讨论一下波卡共识协议中与安全相关的设计内容,以及不同角色的参与方应该如何应对。
几周前,烤仔曾经质疑了波卡的跨链延迟。在社区伙伴的帮助下,烤仔注意到了GavinWood在hackmd.io的博客中提到了跨链延迟,他是这么说的:
评论:央行数字货币推出有望引发新一轮的金融科技变革:10月30日消息,中国(上海)自贸区研究院金融研究室主任刘斌发文表示,央行数字货币的推出对整个金融体系以及经济发展具有重要影响,并有望引发新一轮的金融科技变革,值得广泛关注。央行数字货币的测试经过前期的试点之后,明显地表现出以下几个特点:一是选择多种不同场景进行测试,二是选择不同的合作对象,三是从内部封闭测试转向公开测试。
文中指出,未来央行数字货币推出会带来以下八个方面的影响:第一,推动金融科技新变革;第二,改变支付行业发展格局;第三,完善和统一金融交易数据;第四,促进无现金社会发展;第五,推动金融科技产业链升级;第六,为创新货币政策创造条件;第七,促进人民币国际化;第八,率先制定数字货币的国际标准。(21世纪经济报道)[2020/10/30 11:15:17]
Completefinalitymighttakeupto60secondsforaparachaintransaction,andafewsecondslessforaRelaychaintransaction.?
声音 | 深圳商报头版评论:大湾区联手在数字货币等协同创新,将释放前所未有的体制活力:12月12日,《深圳商报》头版刊发评论员黄青山的文章“整合优势资源 服务实体经济”。文章表示,“金融+科技”,是未来全球金融的增长点,是深港澳共同发力的产业制高点。各方发力,粤港澳大湾区联手在金融互联互通、数字货币、区块链、人工智能、移动支付、人民币国际化、跨境金融监管、资本市场改革等领域协同创新,将释放前所未有的体制活力和区域增长动力,将提升整体应对全球经济复杂气候的抗风险能力。[2019/12/12]
大意是说,波卡的确认时间在一分钟上下。烤仔对此是惊讶的,因为在波卡的Validator巡查制度中,同时验证一个平行链的Validator并不是很多。如果这少数的Validator作恶,就会把错误的账本状态通过中继链传染到其他的平行链上去,最终摧毁整个波卡的正确性和安全性。而为了缓解这种安全威胁,允许任何人提交错误证明、留出足够时间给错误证明,是波卡公链安全中重要的一环。
声音 | 日经亚洲评论:政府应监管而非禁止加密货币:日经亚洲评论(Nikkei Asian Review)发布评论文章称,政府应监管而非禁止加密货币。文章提到,禁止加密货币实际上会增加对它们的滥用,这使得资金流入哈瓦拉(独立于传统银行金融渠道的非正统、非主流的汇款系统)体系,而不是常规的货币体系,没有任何书面记录。另一方面,如果加密资产受到监管,加密货币交易所和交易商将不得不保留详细的KYC文档。大多数交易将通过这些交易所进行。监管机构将能够访问加密货币在钱包和用户之间的流动,这些交易所将成为执法机构的情报和数据宝库。只有在禁令产生足够威慑的情况下,全面禁令才比监管更有效。即使法律严厉惩罚拥有加密货币的人,在他们已经置身于法律之外的情况下,也很难发现违法行为并提出诉讼。(日经亚洲评论)[2019/11/15]
在以太坊的二层协议OptimisticRollup中,提交错误证明的时间窗口是以天计的。然而,这个时间窗口,在波卡中被设成了不到一分钟。GavinWood也解释了为何设计如此短的时间窗口:
声音 | 清华金融评论:区块链或成中国金融弯道超车新助力:清华大学五道口金融学院发文《区块链或成中国金融弯道超车新助力》称,区块链的应用不但有利于产生一个更直接、更高效、更具有针对性的信息、技术、服务平台,也有利于产生一个更加公平的市场环境。这与中国当前大力推动普惠金融的理念相契合,也为金融基础设施薄弱的中国金融市场提供了一个弯道超车的良好机遇。[2019/11/1]
Asofthemostrecentlypublisheddeisgn,fishermenarenolongerrequiredforourbaselinesecurityguaranteesaswehaveintroducedexplicitly-appointedsecondary-checkersfromthevalidatorset(seeSection4.4.2ValidityandAvailabilityinOverviewPaper).Fishermenarekeptsincetheyonlybolstersecuritywithnootherimplications.
声音 | 评论:BSV上次大块被丢弃,已推翻BSV存在的理论基础:微博用户@fhrp发微博称,其实假葱(澳本聪)写了一堆文章才勉强建立了BSV理论上的存在基础,但其早在上次大块被丢弃的时候就被完全推翻了,假葱的理论是矿工会基于逐利挖大块,升级设备,设备好的矿工会淘汰设备差的,但现实是矿工会基于逐利先保证自己的出块不被其它矿工抛弃,而一个大块会因为其他矿工的网络延迟和设备跟不上,导致同步到全网并验证的速度低于同时挖出的小块,矿工会基于逐利选择跟着小块挖而不是大块,以防止自己的出块最终被全网抛弃收益为0。
当然,当BSV只有假葱系矿工的时候这可能不是问题,但是只要有存在逐利的外部矿工,或者机池,再遇到超出矿工和节点承载能力的交易时就会出现两种情况,一种是矿工全部只跟着挖小块,交易一直被堆积,另一种是矿工分成两方阵营,一方只挖小块,一方坚持挖大块,并且随着双方投入的累积,都不愿意放弃自己的那条链,最终使得网络永久性的分叉两条同时存在的链。币印创始人潘志彪评论称,一个百兆块,现有的BSV代码,mining gap就得几十秒,配置低一点的机器甚至一分钟以上,偶尔打个一个“炫耀”而已,天天打百兆块很快就full block DDos而把链弄废了。[2019/9/17]
大概意思是说,因为波卡引入了?secondary-checkers,所以原先“允许任何人提交错误证明”的设计就不需要了。如果fishermen能赶得上一分钟内的提交窗口,那它还可以提交错误证明,但波卡已经不关心它赶不赶得上了。
这个secondary-checkers是个啥,为什么可以取代fishermen的地位?白皮书4.4.2章节是这么说的。
Thethirdlevelofvaliditycheckingisexecutedbyafewrandomlyandprivatelyassignedvalidators.Wedeterminethenumberofvalidatorsinthethirdlevelofvaliditycheckingconsideringtheamountofinvalidityreportsgivenbyfishermenandunavailabilityreportsgivenbycollators.?
这个设计在烤仔之前的文章中也提到过。波卡引入了秘密检查的Validator,有点类似于暗访调查组。暗访的Validator数量没有具体说明,只说是“afew”,具体的参数要根据fishermen(任何一个提交错误证明的人)和collator(侧链全节点)报告的异常数量来看。暗访调查组的设计能够防止攻击者与平行链当前的Validator合谋,因为你不知道暗访的Validator是谁。但这种设计无法阻止一个坏的Validator被选进暗访组.这个设计可以加强波卡生态的安全性、提升攻击难度,但不能完全取代fishermen,因为它无法排除暗访的Validator自身是恶意的情形。
但,波卡就是放弃了fishermen.?
波卡在白皮书中并没有讲他把错误证明窗口设成了极为激进的一分钟,也没有讲他们在安全设计中放弃了fishermen。在一篇和另一个公链项目对比性能时,GavinWood又抛出这个一分钟的参数来展示波卡的性能,而对安全性轻描淡写一笔带过。
跨链延迟一小时的波卡固然有它的局限性,但如果为了追求效率而放弃了提供安全性保障,那么波卡越繁荣,就越能吸引攻击,最终摧毁的是整个波卡的生态。如果波卡坚持这种不安全的方案,生态各方又应该如何应对呢?
对于波卡平行链的开发者,烤仔的建议是Don'tbeevil。上述讨论的所有安全性威胁,都需要平行链全节点参与合谋。即使其他平行链的作恶行为会通过中继链传染过来,但只要保证自己的平行链不首先出错,就足以问心无愧了。
对于波卡未来生态的用户,要谨慎地选择平行链。波卡的Validator机制不足以提供充足的安全性,但平行链的全节点可以弥补。选择节点足够多、足够分散的平行链,可以缓解这一安全性问题。但是,一个平行链被Validator操纵的后果是会随着中继链传染的。即使自己选择的平行链足够可靠,其他不可靠的平行链通过跨链消息发来的资产也会影响这一平行链的安全性。
对于DeFi合约的开发者,波卡跨链的故事虽然新颖,但波卡生态着实没有带来什么新东西。功能上,诸如零知卷叠、隐私计算等新功能均可以通过EVM合约或者二层网络设计来完成。性能上,波卡的技术架构注定了平行链单链性能只会比以太坊更差,波卡只能不断讲多链的总性能比以太坊单链好。
但是多链无法解决好跨链延迟和安全性之间的平衡,使得互操作性成为一种需要牺牲安全性才能做到的事情,这是在整个公有链领域独此一家的。而EVM生态的性能问题,也已经被各种新兴公链解决。
最后,波卡这个“放弃fishermen”的改动是一个定时炸弹,你永远不知道它什么时候会炸。在一个足够去中心化的、兼容EVM的、有用户和生态基础的、高性能的公有链上做开发,才是一个对产品发展和用户负责的选择。
最后,烤仔也提醒大家,警惕波卡不公开协议修订的安全风险。像“将fishermen从安全设计中排除”这种重大改动,波卡都是在和别人比性能时才透露的,而至今没有体现在白皮书里。波卡可以对此有自己的解释,毕竟fishermen并没有被完全去除,如果所有的fishermen都有比OptimisticRollup的错误提交者高几十倍的效率的话,波卡的安全性不会有任何影响。
对于这种解释,我想波卡的忠实信仰者们一定是会接受的。
END
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。