上QQ阅读APP看书,第一时间看更新
1.2.1 区块链是一种分布式数据库
如果从数据的角度来看,区块链应该是一种分布式数据库。这里所说的“分布式”主要体现在数据的分布式存储,具体可以从以下两个方面进行详细说明。
第一,大家必须知道,区块链存储的基本单元是区块,在链式结构的助力下,新增的区块都知道自己的前一个区块是什么,而且可以一直追溯到根。此外,哈希值为区块链提供了标识,链式结构又将业务产生的轨迹保留了下来。所以,在有新交易增加的时候,链式结构就可以根据区块的标识和前面的记录对新交易进行校验,进而保证区块的数据不会轻易被篡改和删除。
当然,在传统的数据库设计中,与之类似的模式也经常会被采用,如拉链表模式。在拉链表模式下,数据的每一次更新都会被追加,交易历史(如起始时间、是否生效、失效时间等)也会被完整记录下来。区块链则在该模式的基础上加入了哈希、时间戳等新兴机制,以此来保证链条的准确性和完整性。
第二,既然区块链以分布式的方式来存储数据,那就必须要解决存储过程中的一致性问题。在解决这个问题时,“比特币”采用了工作量证明的方法。那么,何谓工作量证明呢?具体地说,即通过工作来获得成果,然后用成果来证明已经付出的努力。
对此,很多人可能有所不解,为什么一定要用工作量来证明?难道就没有其他办法了吗?实际上,自从区块链与“比特币”分离以后,上述问题就被归结为共识问题,而工作量证明也成了达成共识的一种方式。
除了工作量证明以外,权益证明、实用拜占庭容错也是达成共识的方式。其中,权益证明是一种通过业务规则达成共识的方式,实用拜占庭容错是一种通过技术规则达成共识的方式。
总而言之,区块链可以实现全球数据的分布式存储。也正是因为如此,它才变成了一个巨大的数据库。在这个数据库中,任何企业、机构、个人都可以完成数据存储,而且根本不需要担心自己的数据会被篡改和删除。