有人会误把区块链和比特币混为一谈,其实不然。区块链是一种对等网络下的分布式数据库系统。
区块链是由一串使用密码学方法产生的数据块组成的,每一个区块都包含上一个区块的散列值(Hash),从创世区块(GenesisBlock)开始连接到最新区块,形成一条区块的链,其结构如图1-6所示。由于后一区块需要包含上一个区块的信息,因此一个区块在链中的时间越久,被改变的难度越大。
区块链具有以下特点:
去中心化:区块链数据的存储、传输、验证等过程均基于分布式的系统结构。整个系统中不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的。系统中的数据块由整个系统中具有维护功能的节点共同维护。
有限透明:系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开。任何人都可以通过公开的接口查询区块链数据和开发相关应用。
分布的可靠数据库:区块链系统的数据库采用分布式存储,任意参与的节点都可以拥有一份完整的数据库复制。每一方都可以直接验证交易各方的记录。
自治性:区块链采用基于协商一致的规范和协议,使整个系统中的所有节点能够在去信任的环境下自由安全地交换数据。这使对“人”的信任变成对机器和算法的信任,无须人为干预。
记录难以更改:一旦信息经过验证并添加至区块链,账户信息就会相应进行更新,记录就再难改变。因为这些信息和此前的所有交易记录相互关联。系统中采用的各种计算算法和方法用来确保数据库中的记录是永久存在的、按照时间顺序排序的。并且网络中的所有其他人都可以看到。除非能够同时控制系统中超过51%的节点,否则单个节点上对数据库的修改是无效的。参与系统的节点越多,数据库的安全性就越高。并且,区块链数据的存储还带有时间戳,从而为数据添加了时间维度,具有极高的可追溯性。因此,区块链的数据稳定性和可靠性极高。
准匿名性:区块链系统采用与用户公钥挂钩的地址不需要传统的基于公钥基础设施的第三方认证中心颁发数字证书来确认身份。通过在全网节点运行共识算法,建立网络中诚实节点对全网状态的共识,间接地建立了节点间的信任。用户只需要公开地址,不需要公开真实身份,而且同一个用户可以不断变换地址。因此,在区块链上的交易不和用户真实身份挂钩,只和用户的地址挂钩,具有交易的准匿名性。