AITD小课堂第十六课:区块链的层级结构

如果我们将区块链想象成洋葱,各技术组件就像洋葱一层紧挨一层的组织,但在实现衔接上要更为复杂,这些相邻层次的组件需要通过接口交互和支撑。

总体上来看,区块链的基础架构可以分为六层,包括数据层、网络层、共识层、激励层、合约层、应用层。每一层分别完成不同核心的功能,各层之间互相配合,从而实现了一个去中心化的信任机制。

数据层

数据层我们可以理解成数据库,只不过对于区块链来讲,这个数据库是不可篡改的、分布式的数据库,也就是我们所谓的”分布式账本”,主要可实现两大功能:数据存储、账户和交易的安全。

数据层主要描述区块链的物理形式,是区块链上从创世区块起始的链式结构,包含了区块链的区块数据、链式结构以及区块上的随机数、时间戳、公私钥数据等,是整个区块链技术中最底层的数据结构。

网络层

数据按序组合好之后,怎么让网络中其他节点知晓呢?这就需要网络层来实现区块链节点之间的信息交流。

网络层主要通过P2P技术实现分布式网络的机制,网络层包括P2P组网机制、数据传播机制和数据验证机制,因此区块链本质上是一个P2P的网络,具备自动组网的机制,节点之间通过维护一个共同的区块链结构来保持通信。

其实可以类比于线上办公,虽然我们都处在不同地点,但通过互联网大家可以保持协作共同完成。

共识层

共识层主要包含共识算法以及共识机制,能让高度分散的节点在去中心化的区块链网络中高效地针对区块数据的有效性达成共识,是区块链的核心技术之一,也是区块链社群的治理机制。目前至少有数十种共识机制算法,包含工作量证明(POW)、权益证明(POS)、权益授权证明(DPOS)、燃烧证明、重要性证明等。

激励层

激励层就是大家常说的挖矿机制,它将经济因素集成到区块链技术体系中来并设计出一套经济激励模型,鼓励节点来参与区块链的安全验证工作,包括经济激励的发行机制和分配机制等,其功能是提供一定的激励措施,鼓励节点参与区块链中安全验证工作,并将经济因素纳入到区块链技术体系中,激励遵守规则参与记账的节点,并惩罚不遵守规则的节点。这样才能让整个系统朝着良性循环的方向发展。

所以激励机制往往也是一种博弈机制,让更多遵守规则的节点愿意进行记账。而在私有链中,则不一定需要进行激励,因为参与记账的节点往往是在链外完成了博弈,也就是可能有强制力或者有其他需求来要求参与记账。

合约层

合约层主要封装各类脚本、算法和智能合约,是区块链可编程性的基础。以以太坊为首的区块链系统试图完善比特币的合约层。

比特币尽管也包含了脚本代码,但并不是图灵完备的,即不支持循环语句;以太坊在比特币结构基础上,内置了编程语言协议,从而在理论上可以实现任何应用功能。

如果把比特币看成是全球账本的话,那么就可以被以太坊看作是一台”全球计算机”,任何人都可以上传和执行任意的应用程序,并且程序的有效执行能够得到保证。

应用层

区块链的应用层封装了各种应用场景和案例,类似于电脑操作系统上的应用程序、互联网浏览器上的门户网站、搜索引擎、电子商城或是手机端上的APP,将区块链技术应用部署在如以太坊、EOS、QTUM上并在现实生活场景中落地。未来的可编程金融和可编程社会也将会是搭建在应用层上。

该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识机制的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。

所以,数据层、网络层、共识层是构建区块链技术的必要元素,缺少任何一层都不能称之为真正意义上的区块链技术。激励层、合约层和应用层不是每个区块链应用的必要因素,一些区块链应用并不完全包含这三层结构。