谁说区块链不可篡改?

现在的人们谈到区块链往往就说只要系统上了区块链,那么数据就有保障,就可信了,究其原因就是区块链不可被篡改。

这句话错了么?你要说它错,那么就有人马上跳出来反驳道,你看比特币不就是没法篡改么?你要说它没错,但实实际际上区块链的数据是可以被篡改的。

那为什么比特币就没法被篡改呢?其实这里有人偷换了概念。比特币并不100%等于区块链。再说比特币也不是100%不可以被篡改,那是因为现在计算机的算力还达不到篡改比特币的能力,也就是说,只要计算机的速度快到一定程度,比特币就可以篡改了。

那我们现在着重讨论下在目前的算力情况下,区块链到底是什么及如何篡改区块链数据。

学过计算机的同学肯定知道数据结构的基础--链表。

首先,区块链就是一个链表结构。如图,

下一个区块记录上一个区块的地址,并通过这个地址找到上一个区块。

其次,每个区块都有个hash值,用来唯一标识区块的数据。也就是说,hash值与区块数据是一一对应的,不同的区块数据会计算出不同的hash值。它的作用就在于,用hash值就可以校验数据又没有被修改过。

再次,下一个区块都记录上一个区块的hash值,这样就形成了一个锁链的结构,只要任意一个区块的内容变了,那它后面的区块的hash值就对不上了。

聪明的你肯定想到了,如果后面的hash值变的话,重新算一遍hash值不就可以了。对的,重算一遍hash值也能保证hash值校验通过。

那为什么比特币目前就无法被修改呢?这是因为中本聪天才地发明了挖矿。挖矿的本质就是构筑算力屏障。每一个区块都要计算出一个随机数,然后与上一个区块进行hash运算,得到的hash值必须是有一定的特征的hash值。这就为修改区块链增加了难度。试想一下,如果有人要修改中间的某个区块,那么他就得重新算后面每个区块的那个随机数。这就是算力屏障的本质。

但是,注意但是,如果计算那个随机数的难度很小,也就是说需要耗费的时间很短,那么整个区块链的修改还是相对容易。比特币没法修改就在于计算那个随机数的难度很大。举个例子,就好比让你现在去登陆火星,以后出现的量子计算机就好比是登陆火星的技术,但是现在目前还没有人类登陆火星的技术。

通过以上说明,我们可以得出结论,如果没有算力屏障的区块链,那是可以被修改的。尤其是私有链与联盟链,大众是很难知道到底数据到底修改没修改过。公有链的那些空气币,由于算力屏障小,也相对较容易被修改,这也是山空气币没价值的根本原因。

说只要系统上了区块链没法修改的人,他可能要么是无知,或者是骗子。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180507G1TT2200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券