1.7 区块链的层级结构
一般来说,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,共识层主要封装各类共识算法;激励层将激励机制集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链应用于各种应用场景的应用程序。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算法的激励机制和灵活可编程的智能合约是区块链技术最具代表性的创新点。
数据层、网络层、共识层是构建区块链应用的必要元素,而激励层、合约层和应用层则不是每个区块链应用的必要因素,一些区块链应用并不完整包含此三层结构。
区块链的层级结构如图1-15所示。
图1-15 区块链的层级结构
1.数据层/Data Layer
数据层是整个区块链技术中最底层的数据结构,描述了区块链从创世区块起始的链式结构,它包含了区块链的区块数据、链式结构以及区块上的随机数、时间戳、公私钥数据等信息。
2.网络层(对接层)/Network Layer
网络层包括分布式组网机制、数据传播机制和数据验证机制等,网络层主要通过P2P技术实现,因此区块链本质上可以说是一个P2P网络(对于P2P网络在后边内容会有详细介绍)。
3.共识层/Consensus Layer
共识层主要包含共识算法以及共识机制,能让高度分散的节点在去中心化的区块链系统中高效地针对区块数据的有效性达成共识,是区块链的核心技术之一,也是区块链社群的治理机制。目前已经出现了十余种共识机制算法,其中最为知名的有工作量证明机制、权益证明机制、股份授权证明机制。
4.激励层/Actuator Layer
激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制,其功能是提供一定的激励措施,鼓励节点参与区块链的安全验证工作。
激励层主要出现在公有链中,因为在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。所以激励机制往往也是一种博弈机制,让更多遵守规则的节点愿意进行记账。而在私有链中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,也就是可能有强制力或者有其他需求来要求参与者记账。
5.合约层/Contract Layer
合约层主要包括各种脚本、代码、算法机制及智能合约,是区块链可编程的基础。通过合约层将代码嵌入区块链或是令牌中,实现可以自定义的智能合约,并在达到某个确定的约束条件的情况下,无须经由第三方就能够自动执行,是区块链实现机器信任的基础。
6.应用层/Application Layer
区块链的应用层封装了区块链面向各种应用场景的应用程序,比如搭建在以太坊上的各类区块链应用就部署在应用层。应用层类似于Windows操作系统上的应用程序、互联网浏览器上的门户网站、搜索引擎、电子商城或是手机端上的APP,开发者将区块链技术应用部署在如以太坊、EOS、QTUM上并在现实生活场景中落地。