链客,专为开发者而生,有问必答!
此文章来自区块链技术社区,未经允许拒绝转载。
区块链技术是基于比特币应用提出的一个概念,他是一个融合了多种技术的一个集成式创新。目前区块链的应用早已不仅仅局限在比特币上。人们在谈论或使用“区块链”这个词时,有时候是指技术的商业应用,有时是指技术实现本身。
在《区块链的业务价值是通过数据共享降低信任成本》一文中,我论述了应用区块链技术的商业价值,有在多方参与的场景下更适合采用区块链技术,也提到了区块链的技术特征:(1)多副本、(2)可靠记录、(3)不可篡改、(4)多方透明几个特性,上述特性总结下来,采用区块链技术后,应用技术架构如下图所示,可以看出,区块链技术对应用而言,就是一个分布式数据库(估计看到我这个结论,很多砖就要拍过来了,请大家拍砖的同时继续看),我一一说来:
一、从分布式数据库的基本概念理解区块链技术
和区块链技术比,分布式数据库的概念显然更容易被理解,我就从分布式数据库的一些基本概念出发,理解区块链的技术实现,这些概念包括数据存储、点对点可靠传输、存储过程与触发器(智能合约)、数据安全:
1、分布式数据存储
区块链技术的数据共享是一个分布式的记账簿,交易记录具备多个副本,因此首先要解决分布式数据存储的问题。
1)区块链存储的基本单元是区块,区块采用链式结构,即新增的区块(类似数据库一行记录)都知道自己前一个区块(前一行记录)是什么,可以一直追溯到根,区块的标识是区块的哈希值,同时链式结构保留了业务产生的轨迹,可以在新增交易的时候根据前面的记录做校验,保证了区块的内容不容易篡改。
这种模式,我们在传统的数据库设计也会采用,例如拉链表的形式,每次对