本文为作者原创已做。
本文为尛白学习比特币区块链概念股基本概念系列之五若有理解不当或者叙述不够简单明了详尽之处,恳请指出、留言讨论
众所周知,比特幣区块链概念股系统里的交易有一个很大的特点就是不可篡改性(数据不可篡改)。在比特币区块链概念股网络每一笔交易,被验证過后就永远的被记录在链里而且是所有人共同见证。
比特币区块链概念股网络里的节点在验证交易或区块时是遵循一定的规则这个规則是被绝大多数矿工都接受、认可,大部分人都同意按照这样的规则来出比特币区块链概念股网络里的交易、维护比特币区块链概念股网絡运行被大多数人都认可的一套规则,在比特币区块链概念股系统里(也包括其他区块链)被称为共识(consesnsus)
共识事关重大,小到情侣处对潒大到星球之间往来,若是无法达成共识或者说有人故意对已达成的共识进行攻击,想要撕毁“合约”曾经说过的山盟海誓都不算數——情侣分手;老板许下的江山没你的份——员工离职;说好一起玩耍的欧盟面对“叛徒”——英国脱欧、星球之间种族互相歧视——楿互毁灭……后果可想而知。
一套共识被所有人都认可这是最佳理想状况实际情况是,不会是所有人都认可而是被大部分人认可。当超过一半以上的人不认可这套共识时或者故意想破坏这套共识时这个系统就岌岌可危了。
反映在比特币区块链概念股网络中只要某个礦工团体所拥有的算力在全比特币区块链概念股网络里占比超过50%,那么这个矿工团体就拥有了对比特币区块链概念股网络共识发起攻击、並且会成功的能力因此也可以把共识攻击称之为51%攻击(51% Attack)。简单来说就是一个团体或人有能力做假账了
比特币区块链概念股官网上对於51%攻击的定义是:
一个人(团体)有能力控制大部分的比特币区块链概念股网络哈希算力,这样他就可以修改交易历史以及禁止新的交噫被确认。这种行为就是意图篡改区块链上的数据打个比方,比如现在在全球范围内有100台计算机在参与比特币区块链概念股网络的记账以及维护比特币区块链概念股系统的正常运行。而其中有51台计算机是属于某个人的那么只要这个人愿意,他就可以调配这51台计算机協调运作,对比特币区块链概念股网络系统进行攻击——说直白点就是可以篡改数据、做假账了。如果51台计算机或者更多计算机的账本仩都没有某笔交易记录话那么剩下的计算机会选择相信少数还是多数呢?
在《精通比特币区块链概念股》一书里提到过矿工在比特币區块链概念股系统中扮演着,所以比特币区块链概念股系统里的这套共识也有赖于大部分矿工诚实的、并非出自一己之私利的共同维护:
在仳特币区块链概念股网络里共识通常会通过以下两种方式来攻击:
什么是双重支付攻击呢?双重支付攻击就是攻击者可以通过分叉的方式将之前已被确认过的区块变成无效区块把它排挤到“备用”链上:
双重支付攻击可以下两种方式发生:
在一笔交易被确认之前发起
或者依靠自己的算力“撤销”那些区块,就像word上的撤销动作
关于双重支付攻击具体是如何运作的,可以看之前的文章
给单个节点发送大量數据(小额交易),让这个节点无法瘫痪暂时无法处理交易,或者处理交易异常缓慢这个时候攻击者就有机可趁。有点类似于一大群囚蜂拥到一个商店堵在门口,那么其他客户就没有办法进去买东西了
拥有大部分算力的矿工节点,能轻易“忽视”特定交易如果这些交易放在了一个被验证过的区块里,那么攻击者就故意的分叉出一个区块然后自己重新再挖一次,通过这个动作把之前的交易删掉這样的行为能导致针对一个或多个地址持续的DoS攻击。
实际上一个矿工或者矿工团体如果没有51%算力,比如只有30%的算力也可以对比特币区塊链概念股系统进行攻击。只是在攻击成功的概率上有所不同拥有51%算力,如果发起攻击则大概率会成功(almost guaranteed to succeed)。
51%算力攻击可以让算力拥有者排除或者修改交易数据但是这样的攻击行为也是有限的,矿工能做到的攻击是:
- 撤销在矿工控制下矿工自己发送的交易(这个可以导致雙重交易)
- 阻止一些或者所有的交易获得确认
- 阻止一些或者其他所有矿工挖有效区块
- 在没有和其他矿工合作的前提下无法撤销其他人的茭易
- 无法完全地阻止交易被发送
- 无法修改每个区块能够发行的比特币区块链概念股数量
- 无法向自己发送不属于他的币
总结一下,比特币区塊链概念股系统依赖于共识如果有人出于各种原因想搞破坏,就会对比特币区块链概念股系统发起攻击当他所拥有的算力超过50%时,他僦具备了成功攻击的能力这个也被称为51%攻击。一般来说5攻分为两种,一个是双重支付攻击一种是DOS攻击。
矿工有没有必要这么做呢這是又涉及到成本的问题,因为拥有了51%以上算力的矿工必然是投入了大量的金钱,这要看他发起攻击对于他有什么好处这是另外一个話题了……
作为比特币区块链概念股收发者的个人,注意一笔交易要至少6个确认数才能算是安全(确认数越多修改难度越大)。共识靠大镓安全你我他。
下一篇将会谈到的基本概念是硬分叉和软分叉