区块链的六层架构,你真的懂了吗?

作者: 小波有话说 | 来源:发表于2018-03-08 09:30 被阅读238次

    从上文《区块链到底是个啥?》中,我们知道区块链技术就是一个去中心化的分布式账本,可以实现价值和信任的传递。

    日常生活中,我们的账本是在一页一页子账中逐笔记录,最后汇聚成册,形成一个账本。一个账本记满了,再在一个新账本上开始一页一页地记录,最终所有账本按时间顺序组合在一起形成一个总账本,结构非常简单清晰。

    既然区块链本质上是一个账本,那它又是什么样的架构呢?实际上,有关区块链的架构问题,已经被广泛讨论过了,基本上已达成了共识。区块链的架构自下而上分为六层,分别是数据层、网络层、共识层、激励层、合约层和应用层,每一层都有其对应的核心功能。

    区块链的架构

    1、数据层

    区块链是通过区块(block)存储数据,每个数据节点之间都包含所有数据。数据层主要是解决这些数据以什么样的形式组合在一起,形成一个有意义的区块。就像下图中的现金日记账一样,一页账本每一个账目都由相应的时间、凭证编号、摘要、借贷金额、余额等数据构成一个完成的账目。


    现金日记账结构

    和现金日记账类似,每一个区块的结构如下:


    一个区块的区块结构

    每个区块都包括了区块的大小、区块头、区块所包含的交易数量及部分或所有的近期新交易。在每个区块中,对整个区块链起决定作用的是区块头。数据的生成运用了诸多技术,如时间戳技术,它可以确保每一个区块按时间先后顺序相连接;非对称加密技术使得数据不能被篡改等等。

    2、网络层

    数据按序组合好之后,怎么让网络中的其他节点知晓呢?区块链技术没有中心化服务器,依靠用户点对点交换信息,这就需要网络层来实现。

    其功能是实现区块链网络中节点与节点之间的信息交流,主要包括P2P组网机制、数据传播和验证机制。正是由于区块的P2P特性,数据传输是分散在各个节点之间进行的,部分节点或网络遭到破坏对其他部分影响很小。

    这一点很好理解,我们熟悉的BT下载也采用了P2P的技术,用户在下载的同时,也在上传内容,即使某个点关闭了软件,只要网络中还有人在下载上传,也就不影响整个流程。

    3、共识层

    由于区块链中每个节点都可以生成新的区块完成记账,那要是所有节点同时都在记账,整个网络不就乱套了么?

    共识层的功能是让高度分散的节点在P2P网络中,针对区块数据的有效性达成共识,决定了谁可以将新的区块添加到主链中。

    目前已经出现了十余种共识机制算法,其中最为知名的有工作量证明机制(PoW)、权益证明机制(PoS)、股份授权证明机制(DPoS)等。

    4、激励层

    激励层的功能主要是提供一些激励措施,鼓励节点参与记账,保证整个网络的安全运行。通过共识机制胜出取得记账权的节点能获得一定的奖励。我们最熟悉的比特币的激励措施主要有两种,一种是新区块产生时系统奖励的比特币,另一种是每笔交易扣除的手续费。当比特币数量达到2100万枚的上限后,激励就全靠交易的手续费了。

    5、合约层

    区块链具有可编程的特性,其基础是其合约层封装了各类脚本、算法和智能合约。比特币的脚本中就规定了比特币的交易方式和过程中的种种细节。

    智能合约是存储在区块链上的一段代码,它们可以被区块链上的交易所触发,触发后,这段代码可以从区块链上读取数据或者向区块链上写入数据。这样就可以利用程序算法,替代人去仲裁和执行合约,将来将为我们节省巨额的信任成本。

    6、应用层

    应用层则封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用,如前一段时间让以太网络瘫痪的以太猫,就是部署在应用层。


    以上模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识机制的激励机制和灵活可编程的智能合约是区块链技术最具代表性的创新点。其中数据层、网络层和共识层是构建区块链应用的必要因素,否则将不能称之为真正意义上的区块链。

    相关文章

      网友评论

        本文标题:区块链的六层架构,你真的懂了吗?

        本文链接:https://www.haomeiwen.com/subject/etndfftx.html