拜占庭共识已经无法满足今天公链和联盟链的安全需求_区块链:OMP

编者按:本文来自区块律动BlockBeats,作者:王永革教授,Sperax首席科学家,著名华裔密码学家,北卡罗来纳大学夏洛特分校(UNC,Charlotte)计算机系终身教授,德国海德堡大学获得博士学位,Odaily星球日报经授权转载。自从Facebook推出联盟链Libra的白皮书,并寻求在5年之后逐渐过渡到公链后,区块链社区内很多人对联盟链和公链的区别与相似性展开了富有卓效的讨论。而针对目前公链和联盟链在安全方面存在的一些隐虑,业内给出了一些观点。简单来说,联盟链是permissioned区块链,只有少数得到许可的节点可以决定下一个区块的生成。而公链(permissionless)则是一个开放的系统,所有的节点都有机会去生成下一个节点。所以从治理机制的角度来讲,两种链的区别是明显的。如果不从安全性的角度去考虑,两种链的应用场景应该没有很大的区别。可以在联盟链上的开发的应用场景也可以自然的作为公链上的应用场景,反过来也是。今天我们主要通过两种链治理机制的区别来讨论为什么在目前的技术支持下,不是所有的联盟链应用场景都可以作为公链的应用场景。同时也尝试解释为什么脸书不是从一开始就推出基于公链的Libra。在联盟链里,具有投票权的节点是要经过审查许可的,其投票权也可以被收回。所以联盟链并没有达到彻底的去中心化。但正是由于这种审查许可机制的存在,有投票权的节点之间虽然存在着某种竞争关系而不能完全相互信任,但他们之间的关系也不是完全的不信任。在密码学的研究中,我们一般用半信任的威胁模型来表达这种关系。在公链上,任何节点都有机会平等的参与下一个区块的生成。为了各自利益的最大化,有投票权的节点之间不存在任何信任关系。在密码学研究中,我们用拜占庭威胁模型来表达这种关系。

詹克团方回应:吴忌寒无法代表比特大陆免除世纪云芯相关职务:针对吴忌寒方此前发布的内部信,詹克团方表示:

1. 依据国家相关法律法规和流程,北京市比特大陆科技有限公司已于2020年5月8日作废旧公章,新公章于6月1日起生效,依照旧公章盖章的任何文件以及任免均无法代表北京比特大陆科技有限公司的真实意愿,也无法代表香港比特大陆、开曼比特大陆的真实意愿;

2. 经海淀区人民政府4月28日复议决定,恢复詹克团在北京市比特大陆科技有限公司的法人职务,目前詹克团为北京比特大陆科技有限公司的合法法人,唯有詹克团才能有效代表北京比特大陆科技有限公司的真实意思;

3. 詹克团以及周锋对世纪云芯的管理以及经营均完全符合法律规定,不存在任何违规行为;

4. 经北京比特大陆科技有限公司7月6日决定,自7月6日起,北京比特大陆科技有限公司变更收款账户、售后服务网址和邮箱。

5. 自6月8日起,香港比特大陆的董事已被更换为詹克团和李骐,吴忌寒已经不能代表香港比特大陆的真实意思;

6. 目前詹克团已在开曼、香港、北京等多地提起诉讼,将尽快通过司法途径合理合法地解决目前比特大陆集团的各式纠纷,让公司的矿机和AI两个业务都尽快恢复正常,让比特大陆重回正轨。[2020/7/13]

被人忽略的共识机制威胁模型

共识协议是区块链的核心技术。共识协议决定了下一个区块是如何生成的。换一种说法,共识协议决定了对整个系统所有交易的一种完全排序。而这种排序必须是系统所有诚实参与者之间的共识。在现实生活中,如果我们对两个交易的前后顺序没法达成共识,那我们就没法对整个系统产生信任。如果一个不诚实的区块链节点可以通过某种方式而对这种排序进行攻击,那将产生不可估量的灾难性结果,其中最典型的例子就是「双花攻击」,这种攻击模式已经在包括Zencash、EthereumClassic、BitcoinGold等区块链上发生。一个安全可靠的区块链共识协议应满足一下两个条件:1.\t安全性(Safety):诚实的节点对合法交易将达成统一的(consistent)意见2.\t活性(Liveness):一笔合法交易在合理时间长度内会被确认比特币的共识协议是基于工作量的PoW系统。由于PoW系统存在很多挑战,目前社区内的共识是我们将逐步推广基于权益证明的共识协议。PoS共识协议最早在区块链Peercoin里被使用。在目前所使用的PoS共识协议里,一个参与者必须满足特定的条件才能够生成下一个区块。在很多情况下,可能多个参与者满足这些条件。这些满足条件的参与者都会去生成下一个区块。因为区块生成者会获取多种利益,所以每个区块生成者都希望自己生成的区块是被大家接受的那个区块。如果区块链系统允许两个参与者同时生成下一个区块,那么将出现区块链分叉的情况。为了避免区块链的分叉,不论是联盟链或是公链,一般都采用拜占庭协议来从这些候选区块中选出下一个大家都可以接受的区块。这就涉及到很多核心问题:1.\t一个参与者满足什么样的条件才可以生成下一个区块?2.\t一个参与者在公布他有权生成下一个区块之前,有多少人知道他的身份?3.\t拜占庭协议是如何进行的?4.\t等等。在不同的威胁模型中,对上述各个问题的解决方案是不同的。我们上面已经提到,联盟链采用的是半信任的威胁模型,而公链采用的是拜占庭威胁模型。因为在半信任的威胁模型里安全可靠的应用场景不一定在拜占庭威胁模型里安全可靠,所以不是所有的联盟链的应用场景都可以有对应的公链应用场景。一般来讲,开发者在开发应用场景的时候,必须考虑这些应用场景在什么威胁模型里是安全的。此外,我们还需特别考虑我们的应用场景可不可以在一个具体的联盟链或公链上运行?虽然前面讲了,联盟链的假定是半信任的威胁模型,这不意味着所有的联盟链都在半信任的威胁模型里安全可靠。同样的,我们讲了公链需要在拜占庭威胁模型里安全可靠,但并不意味市场上所有的公链都在拜占庭威胁模型里安全可靠。读到这里,大家可能会问:目前市场上有多少公链能否做到在拜占庭威胁模型中完全安全?当然大家还会问:我们目前的公链是否有足够的技术支持,来保证其在拜占庭威胁模型中完全安全?我们在这篇文章以及以后的系列文章里尝试回答这些问题。当你能猜出下一个块谁来出的时候,那就可怕了!

吴忌寒:BCH的关键是建立生态 欢迎Tether在BCH网络上发行USDT:BCH第一次减半后,比特大陆创始人吴忌寒在BCH社区直播中表示:1.疫情对加密货币影响不一,政府开闸放水,热钱会涌入加密货币行业。但金融建立在实体经济之上,如果疫情持续,实体经济不振,工厂与交通无法开工,也会影响包括加密货币在内的金融行业。2.BCH的最重要的关键是建立生态,有多少人能够使用BCH并且留在这个生态之中,关键要看未来3到4年后还有多少使用者,在加密货币迎来大爆发的前夜做好技术与生态储备。3.赞赏Defi的价值,但希望不要做得太激进,要专注于目前的技术路线图。4.高度认可与欢迎Tether要在BCH网络上发行USDT,会让BCH生态有更多的用户。5.再次强调BTC与BCH的异同。BTC专注在储存价值,而BCH专注在支付与应用等。(吴说区块链)[2020/4/8]

我们先用一个非常初级的例子来说明理想与现实之间的差距:在基于PoS的联盟链或公链里,如果在下一个区块生成之前,大家能够预测到下一个区块将由某一个特定的参与者A来生成,那么这个区块链系统将很容易被攻击。这种情况在EOSIO-Blockchainsoftwarearchitecture区块链上已经发生过数次,EOS系统的黑名单机制以及超级节点顺序出块机制,让黑客可以在部分黑名单遗漏节点出块期间轻松完成交易。比如,有些参与者或非参与者可能会贿赂A让其在下一个区块中不包括某些交易。此外,如果两个参与者A和B都满足下一个区块的生成条件,A可能会对B的网络发起DoS攻击,从而让B无法公布其生成的区块。其结果很可能是A的区块被大家接受。所以在理想的区块链系统里,参与者都希望在下一个区块生成之前,其生成者身份是不可预知的。但是市场上的很多区块链系统都没发实现我们的这种理想。也许在联盟链所采用的半信任的威胁模型里,这种下一个区块生成者身份的可预测性是可以「接受」的。但是在公链所采用的拜占庭模型里,这种可预测性是绝对不能接受的。在目前的一些公链里,有些系统采用了可验证的随机数生成器(VRF)来保证下一区块生成者身份的不可预测性。而另外一些公链(比如Sperax)使用了基于防篡改的硬件系统来保证下一区块生成者身份的不可预测性。所以大家在分析一个链是不是安全可靠的,首先大家应分析一下其系统的随机数来源于何处,是否安全。虽然大部分联盟链里没有使用足够的随机数,但是我们相信即使在半信任的威胁模型里,我们还是需要保证下一区块生成者身份的不可预测性。作为一个练习题,读者可以自行去分析市场上所有的区块链,看能不能满足这个基本条件。

吴忌寒:UASF实际上是一种依靠市场手段策划的51%攻击行为:比特大陆联合创始人吴忌寒做客王峰十问时表示:“部分极端的Bitcoin Core的活动家,开始极力主张所谓的UASF。UASF并没有得到Core的官方的支持。UASF没有得到所谓Core的支持,但是几乎整个Blockstream阵营都倾巢出动,在社交媒体上煽动对UASF的支持。这些支持者作为资深的开发者,不是不明白,UASF是一个非常危险的方案,在UASF期间,整个比特币网络会分叉成两个币,一个是UASF币,一个是正常的比特币。但是如果UASF的价格在后续的交易过程中变高,那么算力就会被吸引到UASF的链条上,然后UASF的链条变得更长,就会覆盖原来的比特币链条。UASF实际上是一种依靠市场手段策划的51%攻击行为。”[2018/6/16]

另一个很重要的核心问题是目前大家使用的拜占庭协议是不是在基于Internet的网络环境里仍然是安全的?拜占庭协议是一个古老的话题。在两千多年前的罗马帝国的首都拜占庭,罗马帝国的各军队之间都分隔很远,将军与将军之间只能靠信差传递消息。帝国军队的将军们必须全体一致决定是否攻击某一支敌军。但是将军中存在叛徒。叛徒可以采取任何手段不让忠诚的将军们达成一个一致的决定。为了解决分布式计算里服务器之间的协调问题,图灵奖获得者Lamport和他的合作者在1982年左右,将拜占庭协议问题引入到计算机科学中。从此以后,一系列的分布式共识协议被设计并广泛应用。这些协议主要被用于相对封闭的环境,所以他们都有比较强的假设。特别是很多拜占庭协议都使用了以下两个假设:1.\t拜占庭协议所使用的通讯网络是一个完全图。换一种说法,拜占庭协议的所有参与者之间存在安全的点多点的通讯渠道。这种假定对联盟链来说,都很难达到。对一个完全开放的公链,我们很怀疑这种假定仍然是成立的。2.\t拜占庭协议所使用的通讯网络是一个同步网络。也就是说,存在一个全局变量△。每一个协议参与者在t时刻发出的消息,一定会在t+△时刻之前到达接受节点。这两个假设对于比较封闭的环境来说,比较容易达到。但是对于一个开放的网络,这种假设显然是不现实的。比如说在我们使用的Internet上,DoS攻击是很容易展开的。所以即使基于Internet的联盟链也不使用如上的假设。一般来说,Internet是一个异步网络,常用的异步网络是用如下的模型来刻画的:存在一个GlobalStabilizationTime(GST),在GST之前,任何消息可能丢失,或被重新排序。在GST之后,网络变为同步网络GST什么时候开始,没人知道。所以说,我们区块链所需要的拜占庭协议必须在可以丢失很多信息的异步网络具有鲁棒性。目前市场上的区块链里使用最多的拜占庭协议很多是图灵奖获得者BARBARALISKOV和她的学生设计的PBFT(practicalBFT)及其变种。

比特大陆吴忌寒确认投资英雄互娱、恺英区块链项目:有知情人士称,英雄互娱将联合恺英网络,面向海外用户基于用户体验和研发启动区块链项目。比特大陆董事长吴忌寒认此次投资,并对此次投资表示:“区块链技术将给游戏行业带来影响深远的变革。作为本项目的天使投资人,我很荣幸从一开始就参与其中。”[2018/3/5]

拜占庭协议并不能保证区块链系统安全可靠

那么我们关心的问题是:这些为异步网络设计的拜占庭协议对区块链的应用来说是安全可靠的吗?特别是,这些拜占庭协议在基于Internet的网络环境里是安全的吗?如果这些拜占庭协议达不到在拜占庭威胁模型里的安全性,我们很难想象大家会对这些区块链系统提供的服务产生信任。如果我们仔细的去分析这些拜占庭协议,我们会发现他们都有一个基本的假设:拜占庭所使用的通讯网络存在一个安全的广播协议如果一个节点在时刻t广播一条消息m,所有的节点在t+△时刻之前,会收到同样的消息m但是我们知道,在Internet的网络环境里,DoS(DenialofService)攻击可以让某些节点接受不到广播者发送的消息的。特别是,在异步网络的GST时刻前,DoS是允许的。所以说广播协议在异步网络的GST时刻前是不安全的。我们的结论是:如果DoS攻击是可能的,那么我们没法保证目前很多区块链使用的拜占庭协议是安全的。带着好奇心,大家可能很想知道目前的区块链系统是如何实现广播协议的?大部分的广播协议都是基于Bracha在1987年发表的如下论文:G.Bracha."AsynchronousByzantineagreementprotocols."InformationandComputation75.2(1987):130-143.但是很遗憾,Bracha的论文有一个经常被大家忽略的假设:如果要使Bracha的广播协议安全,其通讯网络必须要有点对点可靠通讯渠道问题就出在这个假定。因为要保证可靠的点对点的通讯渠道,那么DoS攻击应该是不被允许的。此外要保证网络里可靠的点对点的通讯渠道,网络需要有足够的连接度。大家可以参阅以下文章关于可靠的点对点的通讯渠道以及网络连接度之间的关系刻画:Y.WangandY.Desmedt.Perfectlysecuremessagetransmissionrevisited.InformationTheory,IEEETran.,54(6):2582–2595,2008综合以上讨论,我们很容易得出结论:目前很多区块链系统所使用的拜占庭协议并不能保证在基于Internet的网络环境里是安全的。我们将在以后的一些列文章里逐个分析目前联盟链和公链里普遍使用的拜占庭协议是不是在基于Internet的网络环境里是安全的。如果这些区块链系统使用的拜占庭协议达不到在拜占庭威胁模型里的安全性,我们很难想象大家会对这些区块链系统提供的服务产生信任。总结一下:我们认为目前已开发的区块链系统的安全性还没有经过足够的分析。所以我们无法来确认哪些应用场景是可以在联盟链或公链上运行的。我们对区块链系统的安全性研究还处于很初级的阶段。就像上世纪八十年代我们对Internet安全性研究的理解一样。在1988年一个MIT研究生写的毛毛虫Morrisworm感染了世界上当时10%的电脑。从而让整个世界的Internet系统处于瘫痪状态。如果我们没有对区块链系统的安全性有足够的研究和准备,这种毛毛虫攻击很可能在区块链系统上会上演。我们将在下几个月的系列文章里将我们的研究逐步介绍给大家!敬请大家关注。下期文章预告:区块链广泛使用的拜占庭协议PBFT的安全性分析:PBFT被广泛使用于联盟链和一些公链。作者介绍王永革教授,Sperax首席科学家,著名华裔密码学家,北卡罗来纳大学夏洛特分校(UNC,Charlotte)计算机系终身教授,德国海德堡大学获得博士学位。王教授发表了一百多篇学术论文,研究范围包含计算复杂性理论、密码学、容错计算、分布式计算、基础设施保护、安全通信、计算机和网络安全、云安全、信息论和后量子密码学。王教授参与标准组织制定协议,如IETF、W3C、XML安全协议、IEEE1363加密技术标准化组和SAN网络安全标准ANSIT11小组。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-4:32ms