1.4.1 两大特征

1.去中心化

通过前面的介绍大家已经知道,区块链不需要依赖一个中心机构来记账,通过“全网见证”,所有交易信息会被如实记录在多个节点上。每个节点都有一份完整的副本,即使部分节点被攻击或出错,也不会影响整个网络的正常运转。这意味着,所有参与者都可以查看历史账本、追溯交易,这是传统中心化数据库无法做到的。

在中心节点数据模式下,一旦发生错误,就可能产生巨大损失。例如,《广州日报》记者胡亚平写过一篇报道,一家三口为了办理出境旅游签证,需要将一位亲人设置为紧急联络人,当事人陈先生想到了自己的母亲,可是问题来了,他需要提供“他母亲是他母亲”的书面证明。但是,陈先生的户口本上只有他和妻子、孩子的信息,而其父母在老家的户口本上早就没有了陈先生的信息,当初陈先生从父母户口本上迁出的资料也已经丢失。那么,陈先生怎么证明“他母亲是他母亲”呢?答案是没有办法证明,因为相关数据丢失了。

这个事情很荒唐,但是从户籍管理系统来看,确实没有办法找到陈先生和他母亲之间的关联。最终这件事情是如何解决的不得而知,很显然,这种中心化的数据机制的可靠性相当低。如果户籍数据是通过区块链来保存的,有多个副本,这种事情就不会发生了。

2.不可篡改

为什么区块链是不可篡改的?关键就在于区块链的链式结构。如果要篡改区块链中第k个区块的数据,那么当前区块的块头哈希值就会发生变化,无法与第k+1个区块的父哈希值匹配,篡改者需要修改第k+1个区块的父哈希值,并修改所有后续区块的哈希值。

也就是说,篡改者需要更改所有节点的历史数据,然后自己重新生成一个新的链,并且要超过当前链的进度,再将新的区块链分叉提交给网络中的其他节点,才有可能被认可,篡改区块链的过程如图1-15所示。

我们还是用小红花的案例来解释这个问题。如果大熊想让班上的同学给自己增加10朵小红花,他应该怎么办呢?他需要说服班上51%的同学,让他们修改自己的账本,以实现这个目标。那么,其他同学凭什么帮他改呢?除非他能付出足够大的代价。因此,区块链的不可篡改不是真的改不了,而是付出的代价太大,以致没有一个理性人会去做。

图1-15 篡改区块链的过程

例如,对于比特币这种PoW机制的数字货币,在很多情况下,产生一个新区块的难度不小,一个节点需要拥有至少全网51%的算力才能进行篡改,付出的代价是巨大的,这使得篡改数据在经济上完全不可行。