区块链基础架构分为6层,包括数据层、网络层、共识层、激励层、合约层、应用层。每层分别完成一项核心功能,各层之间互相配合,实现一个去中心化的信任机制。
一、数据层
数据层主要描述区块链技术的物理形式。区块链系统设计的技术人员们首先建立的一个起始节点是“创世区块”,之后在同样规则下创建的规格相同的区块通过一个链式的结构依次相连组成一条主链条。随着运行时间越来越长,新的区块通过验证后不断被添加到主链上,主链也会不断地延长。
每个区块中也包含了许多技术,比如时间戳技术,它可以确保每一个区块按时间顺序相连接;再比如哈希函数,它能够确保交易信息不被篡改。
二、网络层
网络层的主要目的是实现区块链网络中节点之间的信息交流。区块链网络本质上是一个P2P
(点对点)网络。每一个节点既接收信息,也产生信息。节点之间通过维护一个共同的区块链来保持通信。
区块链的网络中,每一个节点都可以创造新的区块,在新区块被创造后会以广播的形式通知其他节点,其他节点会对这个区块进行验证,当全区块链网络中超过51%
的用户验证通过后,这个新区块就可以被添加到主链上了。
三、共识层
共识层能让高度分散的节点在去中心化的系统中高效地针对区块数据的有效性达成共识。
区块链中比较常用的共识机制主要有
- 工作量证明(Proof of Work)
- 权益证明(Proof of Stake)
- 股份授权证明(Delegated Proof of Stake)
还有投注共识、瑞波共识机制、Pool验证池、实用拜占庭容错、授权拜占庭容错、帕克索斯算法等。
四、激励层
激励层的主要功能是提供一定的激励措施,鼓励节点参与区块链的安全验证工作。我们以比特币为例,它的奖励机制有两种。在比特币总量达到2100万枚之前,奖励机制有两种,新区块产生后系统奖励的比特币和每笔交易扣除的比特币(手续费)。而当比特币总量达到2100万时,新产生的区块将不再生成比特币,这时奖励机制主要是每笔交易扣除的手续费。
五、合约层
合约层主要是指各种脚本代码、算法机制以及智能合约等。我们以比特币为例,比特币是一种可编程的货币,合约层封装的脚本中规定了比特币的交易方式和过程中涉及的种种细节。
六、应用层
应用层封装了区块链的各种应用场景和案例,比如基于区块链的跨境支付平台OKLink
,以及在“应用篇”中我们将讲到的五花八门的应用。