本篇文章主要给网友们分享区块链恶意节点的知识,其中更加会对区块链节点出块进行更多的解释,如果能碰巧解决你现在面临的问题,记得关注本站!
区块链笔记——PBFT
PBFT是实用拜占庭容错的简称,是解决拜占庭将军问题的一种方案。比起最开始的BFT算法,PBFT额外要求网络封闭,即节点数目确定并提前互通,但将复杂度从指数级降低到多项式级,使得BFT系列算法真正具有可行性。
与POW、POS等大家耳熟能详的共识不同,BFT系列的共识不需要“Proof”,亦即不需要节点投入算力或其他资源来确权,因此不需要代币激励便可完成共识。缺点是原始的BFT效率太低,只能存在于理论而无法应用。而改进的PBFT虽然效率大大提高,却对节点数量和状态提出了要求,导致合格的记帐节点太少,并且也只能维持在少数,过多的节点会拖慢网络速度。因此PBFT更多是用在联盟链和私链上。公链也有应用,例如NEO,便是采用了PBFT算法。
拜占庭将军问题的实质是在恶劣的通讯环境中,如何使各参与方达成一致意见。POW和POS等共识要求参与方投入成本,争夺唯一的发言权。在某一段时间内只有唯一的发言人,自然只会有一个意见,从而达成共识。PBFT采取不同的思路,要求各参与方相互发送及验证彼此的信息,最终采用多数原则达成共识。
PBFT能够以一种低成本的方式实现节点间共识,其理念其实相当贴近我们的生活习惯。例如在老师布置作业后,同学们总要互相问问确认一下,才放心地把今天的作业记到本子上。当然实现上还有很多细节,保证各节点的平等关系。在节点数目不多的时候,节点之间实现相互通信的成本并不高,节点之间可以快速发送确认。但节点数目增长却会带来整体性能的下降。PBFT可以容忍的坏节点数量不多于总数的三分之一,如果节点损坏率比较固定,提高总节点数量虽然能使系统获得更好的冗余,却会大大增加通讯量,造成效率下降。加上PBFT没有激励机制,其适合联盟链和私链场景。作为公链不可避免地节点数量太少,分布过分集中,例如NEO只有七个节点。
PBFT要求坏节点数量f=(n-1)/3,这里n是总节点数。只要f满足这个条件,共识总是可以达成。为什么f要满足这个条件?简单来说,假设网络中存在恶意节点联盟,其控制了数量为f的节点,这些节点可以故意发布错误的信息。此时网络中正常节点数量为n-f个。将这n-f个节点分为两部分,各自包含一部分节点。对于任一部分正常节点来说,只要恶意节点数f大于自身节点数,同时大于剩余的正常节点数,这部分正常节点便会与恶意节点联盟达成共识。此时只要恶意节点联盟先后向两部分正常节点发送不同的共识信息,便可造成网络分叉。因此要保证网络运行,对于每一部分正常节点来说,网络中恶意节点数量不能同时大于自身节点数和网络剩余正常节点数。代入计算便得到f=(n-1)/3。
区块链中,什么是51%算力攻击?
比特币白皮书中,有过这样的表述:诚实节点控制算力的总和,大于有合作关系的攻击者算力的总和,该系统就是安全的。
换句说,当系统中有合作关系的恶意节点所控制的算力,超过诚实节点所控制的算力,系统就是有被攻击的风险。这种由恶意节点控制超过50%算力所发起的攻击,称为51%算力攻击(51% Attack)。
那是不是所有的加密货币系统都有可能遭遇51%算力攻击的风险呢?其实并不是的,只有基于PoW(工作量证明)共识机制的加密货币,才存在51%算力攻击,比如比特币、比特现金和目前阶段的以太坊等;而非PoW共识算法的加密货币则不存在51%算力攻击,如基于DPoS(委托权益证明)共识机制的EOS、TRON等。
在了解了51%算力攻击之后,你肯定好奇,这种攻击能做哪些坏事。
1、双花(Double Spending)。双花的意思是一份"钱"花了两次甚至多次。
51%算力攻击是如何做到双花的呢?假设小黑有666BTC,他把这些币支付的大白同时,也把这些币发到自己的另一钱包地址上。换一句话说,小黑的一份钱,同时转给两个人。最终,发给大白那笔交易先被得到了确认,并打包在区块高度为N的区块内。
这时,控制了超过50%算力的小黑,发起51%算力攻击。他通过重新组装第N个区块,将发给自己那笔交易打包进区块里,并持续在这条链上延展区块,由于算力的优势,这条量将成为最长合法链。这样小黑666BTC双花成功,大白钱包里的666BTC"不翼而飞"了。
链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
徐明星认为掣肘区块链发展的因素是什么?如何解决?
区块链专家徐明星认为“去中心化”、“可扩展性”和“安全性”三者此消彼长一直是掣肘区块链大规模应用落地的难题。“去中心化”、“可扩展性”和“安全性”形成了一个“不可能三角”,追求“安全”与“去中心化”就无法兼顾“可扩展性”,追求“安全”与“可扩展性”就无法兼顾“去中心化”,追求“可扩展性”与“去中心化”就无法兼顾“安全”。从可扩展性来看,目前主流区块链平台吞吐量依然很低。从安全性来看,恶意节点会破坏区块链系统的安全稳定性,而且区块链基于公钥密码的体质可能会受到量子计算攻击。
徐明星就可扩展性和安全性提出了自己的解决方案,从链到“网”的思路,以DAG的方式,通过变革数据组织方式,以并发计算的方式极大提升区块链的处理速度。同时,分片技术可以将不同节点分配到不同的碎片中,每个节点只需对自己分片内的交易进行验证,不需要验证分片外的交易,从而减少了节点的重复计算
写到这里,本文关于区块链恶意节点和区块链节点出块的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。
标签: #区块链恶意节点
评论列表