区块链科普(返场)——51% 攻击和双花问题

好吧,其实群众返场的呼声也不是非常高,我自己就贱兮兮的回来返场了。

今天来讲讲 51% 攻击和双花的问题,这个在我第二篇时曾经带过一笔,当时说了,如果脑细胞还没死完的话,就写一写,到目前为止还没死完,所以就写一写。

因为现在各种虚拟货币都非常值钱了嘛,那当然就会有各路高人和黑客们打起了主意喽,这里面能干坏事的方式只有两种:

  1. 从以太坊的应用代码里找漏洞,然后攻击漏洞,获得利益,因为以太坊其实还不是太完善,而这种形式也刚出现,很多在上面写代码的人也不是太成熟,所以其实漏洞还是挺多的,有兴趣的同学可以自己去搜。所以现在有很多专门做代码审计的公司,可赚钱了,好吧,扯远了。
  2. 发起 51% 攻击。

什么叫 51% 攻击呢,其实也很好理解了,第二篇的时候我讲过挖矿的原理,挖矿的本质就是获得记账权,挖矿的过程就是算算数,没有捷径可走,反正就是不停的猜,不停的算,所以要获胜的关键就是比别人算的快。那么怎样才能保证一定能赢呢,很简单啊,你的算力超过除你以外 51% 的全网算力喽,这个也很好理解,你的算力比其他所有加起来都厉害,那你肯定能赢喽,这个就不用我多加解释了吧。你说我没有 51%,只有 33% 行不行,这个就不好说了,可能行,可能不行吧,要一定行,那就得超过 51%。

好,那假设你能超过 51% 的算力(其实这种情况几乎不太可能发生,后文会说到),那么你能干什么呢?其实也不是你们想象的,想干嘛就干嘛的,那种黑了银行,立马往自己账户上打巨款的事情不太可能在区块链领域发生(所以区块链真的还是蛮安全的,但是效率真的可以用极低来形容)。

挖矿的核心是获得记账权,但是不是你就能瞎记了,你只有选择记哪些的权利,而没有自行篡改记账的权利。什么意思呢,我来解释一下:

  1. 比特币的每一次转账都是一笔交易,比如你赚钱给谁,就是你发起的一笔交易,这个我在第二篇也说过, 那么全网都要首先验证是不是你发起的,第二也要验证你的这笔交易没有被人篡改过,怎么验证我第二篇都讲啦,这里就不重复讲啦。那么来说,既然别人不能篡改,你既然拿到了记账权自然也不能篡改,毕竟你改了,其他节点也不认啊。所以你要随意往自己账户加钱是不可以的。
  2. 那么,我辛苦拿到的记账权能干嘛呢,就是你能选择哪些记账哪些不记账喽,这个里面就有技巧了,因为第二篇我们也讲过,多个人抢到记账权的时候,是会都记上的,但是最终选择那条生效,是以长度来论的,你有 51% 的算力,意味着你能拿到记账权,并且你总能拿到,你可以不断的加长你想要的链的长度,然后神奇的事情就发生了,让我们回到第二篇我举的例子,假设西总在处理完转给我爱心的 6.18 之后,发起了 51% 的攻击,不停的开始在 tong 转给我 0.01 的那条链上挖,那么最终 tong 那条链就会胜出。
    78e59bec56cb470882a059455eb2be49-blockchain2.png
  3. 大概是这样,那么假设我在西总给我爱心的 6.18 之后(事实上那时候我看起来确实收到了 6.18),就回报以相应的服务(emmmm,什么服务你们自己随便瞎想好了,不准想歪),那么在我服务完之后一段时间,我收到的 6.18 就神奇的消失了,亏大了!!!!然鹅,西总,那 6.18 并没有花出去,又享受到了服务,意味着她可以再花一次 6.18,那就是所谓的双花喽,双花的意思并不是两朵花,而是花两次哦。

  4. 大家也不用太担心,事实上 51% 攻击是很难发生的,因为一般公链的合计算力已经非常大了,你要能超过 51%,花费的成本远比你能获得的收益要大,所以没人去干这么无聊的事情,我之前也说了,比特币之所以安全就是因为它的低效,也是很好笑了。

好了,讲完这一篇,大家吹牛的资本又可以增加了,基本上,不仅在一般普通群众中可以显得很牛逼,在那种一知半解的人面前基本上也可以充大佬了,所以我应该是可以功成身退了。

当然,你们也可以继续喊我 encore 啊,会不会返场,就看心情了,也说不定我自己又贱兮兮的自动爬上来了呢,哈哈哈哈~

上一篇: 区块链科普(四)——以太坊和 ICO,一场割韭菜的盛宴
下一篇: 区块链科普(贱兮兮又返场)——公链、私链和联盟链