本文根据当前网络上大家熟知的公链和联盟链,介绍下区块链的整体架构。
一、基础原理架构
技术层面,区块链的结构如下图所示。一条区块链上有多个区块,每个区块包括区块头与区块体。区块头中主要包括版本号、前一区块哈希值、时间戳、随机数、目标哈希、默克尔根;区块体中是通过默克尔树记录的账本信息。
这个主要是展示的区块链原理的技术架构,接下来,主要介绍组织架构及层级。
二、早期的区块链架构
区块链技术刚提出的时候,在架构上通常被分为6层或者4层,6层的概念即数据层、网络层、共识层、激励层、合约层和应用层,下图为区块链技术早期架构图,某些情况也可将共识层、记录层、合约层统称为协议层。代表链有以太坊链、波场链等。
下面,对各个层级进行解释。
(1)数据层: 该层通过块存储数据,并且所有数据都包含在每个数据节点之间。数据层主要解决这些数据如何组合形成有意义的块的形式。每个块包括块的大小、块头、块中包含的事务数,以及最近一些或所有的新事务。levelDB就是数据层的一个重要使用工具。
(2)网络层: 该层扮演着区块链网络中节点和节点之间信息交换的角色,负责用户点对点信息交换,它主要包括P2P( Peer-To-Peer network)网络机制、数据传播和验证机制。正是由于块的P2P特性,数据传输在节点之间进行,因此即使某些节点或网络被破坏,也不会对其他部分的传输产生影响。目前很多区块链数据传输都采用RPC或者GRPC.
(3)共识层: 该层允许高度分散的节点在P2P网络中对于区块数据的有效性达成一致,确定谁可以向主链中添加新的区块。目前,共识机制算法有十多种,其中最著名的是工作量证明机制(PoW) 、权益证明机制(PoS) 、股份授权证明机制(DPoS) 等。
(4)激励层: 该层提供了一些激励方法,鼓励节点参与记账并确保整个网络的安全运行。通过共识机制,赢得记账权的节点可以获得一定的奖励。目前最熟悉的比特币和以太坊有两个主要的激励因素,一是产生新区块的系统奖励,二是每次的交易手续费。
(5)合约层: 该层封装了各种脚本、程序和合约,使区块链可编程。例如,智能合约是区块链的一些脚本,区块链上的各种交易会触发对应的脚本。触发后,该脚本就可以从区块链读取数据或向区块链写入数据甚至去触发其他脚本协同工作。通过这种方式,就可以使用程序算法来替换人员去仲裁和执行合同,为用户节省巨大的信任成本。
(6)应用层: 该层封装了区块链的各种应用和场景,比如3种可编程应用类型,即可编程货币、可编程金融及可编程社会。例如,之前制作以太网的以太猫已部署在应用层。
三、区块链+数据管理架构
基于区块链的数据资产管理平台链系统的架构体系如下图所示,这个架构类似于早期的区块链架构。
下面,对各个层级进行解释。
(1)数据层:数据层主要包括数据类别等的数字资产所有相关信息、系统节点账户信息等,使用链式区块进行存储。
(2)网络层:网络层包括点对点网络在内的数据传播机制与数据验证机制等,目的是维持不同节点之间区块数据的同步并进行验证。
(3)共识层:区块链系统本质上是一种多个节点同时运行,共同维护的去中心化应用,单节点生成的结果需与全网节点达成共识经确认后才可被打包入链。其中,较多采用的PoW(工作量证明)机制需要耗费大量的时间与算力来争取记账权以达成共识,而DPoS(委任权益证明)机制采用所有节点投票选取超级节点直接获得记账权的方式,仅需极少的计算时间和消耗就能够保证区块链系统的正常运转。考虑到数据资产管理系统为联盟链,节点可信度高,采用DPoS共识算法更为简洁、高效,更适合作为系统的共识算法。
(4)合约层:合约层主要是在管理制度的约束下利用由自动化脚本代码组成的智能合约来实现各类功能如匹配交易双方等。
(5)应用层:应用层能对外提供多种基于区块链的系统的应用,如节点注册、账户管理、数字资产的确权和流转交易等。
四、区块链+大数据治理
区块链+大数据治理的应用场景主要包含数据层、网络层、共识层、激励层、合约层和应用层,各层相互衔接、互为关联,以求达到智慧治理、精准治理、系统治理、科学治理的目标。
下面,对各个层级进行解释。
(1)数据层:数据层是基础层,功能在于采集、记录和存储城市公共安全大数据。区块头封装时间戳、根哈希值、版本号、工作量证明等信息,区块体则包含利用哈希算法、Merkle 树、非对称加密等技术计算的公共安全交易记录,这一层的密码学技术和运作规则能够保证公共安全大数据的安全性和完整性。
(2)网络层:网络层作为工作机制层,可使治理主体共同参与数据区块的传播、验证及记账,保持公共安全大数据的更新与维护。
(3)共识层:共识层主要包括各类共识算法,旨在让政府部门、私人单位、社会公众等治理主体在分布式系统中达成共识并建立信任网络,从而维护公共安全大数据的有效性。
(4)激励层:激励层功能在于各共识主体在集体维护区块链系统的过程中能够得到相应激励,使得各主体既能维护自身利益,又可以保证区块链数据的有效性和时序性。
(5)合约层:合约层则需要在国家制度环境下进行设计,其智能合约是各主体一致遵循的计算机数字协议,可以根据治理的逻辑和流程制定合约规则,自发进行公共安全的数据记录、存储、共享,从而有效降低治理成本,提高治理效率。
(6)应用层:应用层则可以根据去中心化程度和治理主体设计公有链和联盟链网络面向政府普通系统和非政府系统,私有链面向政府机密系统,用户根据网络访问入口获得多元化服务,真正实现数据的共建共享。
(7)目标层:目标层便是我们治理的目标任务。
五、“趣链科技”区块链架构
“趣链科技”提出了全球首个完善区块链3.0全栈全生态支持:区块链基础共识网络、链上链下协同、跨链协同、芯片级上链支持与企业级服务平台。
六、阿里蚂蚁区块链溯源架构
蚂蚁区块链提出的溯源架构如下图所示,主要包括BaaS层、平台层、交互层、物理层。
七、工业区块链架构
工业区块链应用指南中,介绍了工业区块链的架构,如下图所示。
下面,对各个层级进行解释。
(1)物理层:在基础网络、服务器、存储、虚拟机等基础组件之外,物理层还包括传感器、智能设备、视频监控、边缘设备、成套设备、成像设备等。该层提供了基本的互联网基础信息服务,主要是为上层架构组件提供基础设施,保证上层服务可靠运行,物联网IoT设备决定了数据来源的可靠性,区块链保证了数据的真实性,最后将数据安全的存储、分析和计算,提供高效、精准的数据服务。此外,为了更快处理延迟,减少无效数据传到云端账本,降低网络的带宽压力以及存储压力,往往会在边缘侧进行计算。在边缘侧的计算资源的环境下,和云端的计算形成共识,产生可信事件。该事件可以直接触发交易流程,比如支付、派工等。
(2)核心层:核心层是区块链系统最重要的组成部分,将会影响整个系统的安全性和可靠性。共识机制与P2P网络传输是区块链的核心技术,保证了网络的安全性和分布式一致性。为了实现物理设备的数字孪生,除了传统设备标识之外,对于一些高价值的设备,需要额外为每一个设备配备一个物理级别的嵌入式的身份证书一次写入到设备中。数据的使用方可以通过统一的工业CA中心来验证设备数据的身份。在工业场景中,有许多企业商业数据,所以隐私保护也是溯源架构中必不可少的一环。针对于工业应用特点的分布式账本,除了具有传统的难以篡改、共识、受限访问、智能合约等特点以外,还需要具备适应工业数据的账本查询能力,满足资产转移状态迁移的快速读写能力等,以达到快速溯源和资产交易的目的。
(3)接口层:接口层主要用于完成功能模块的封装,为应用层提供简洁的调用方式。应用层通过调用RPC接口与其他节点进行通信,通过调用SDK工具包对本地账本数据进行访问、写入等操作。数据从设备端发送上来以后,经过网关,数据处理,存放在云端的账本里面。在这个过程中,数据可能被有意无意的篡改,这里需要有技术协议保障数据在进入账本前不会被篡改或者删除。
(4)应用层:基于可信数据,相关参与方的数据、过程和规则通过智能合约入链后,默认就达到相关参与方的链上共享。通过拖拽的方式,让区块链联盟成员可以非常方便的设计相关参与者(人、机、机构)的身份权限和规则,并且自动转化为相应的智能合约部署在区块链网络上,快速生成应用APP。区块链技术在应用层通过在生产端、流通端、产融协同端共享数据、流程和规则,实现数据要素的可信互联,促进参与主体之间的可信协作,服务于实体经济,服务于产业转型优化。生产端,实现企业内部与企业之间的数据共享。流通端,由生产企业延伸至消费者,包括物流商、销售商等中间环节,涉及多主体的供应链、贸易链的确权、协同、管理。产融协同,主要在企业与金融机构之间根据多主体可信产业数据,进行金融赋能和支持。
(5)监管层:监管层涉及工业区块链整体架构自上而下的网管、监控以及相关认证、鉴权等服务。监管机构以区块链节点的身份参与到基于联盟区块链的工业互联网基础设施中,合规科技监管机制以智能合约的软件程序形式介入到产业联盟的区块链系统中,负责获取企业的可信生产和交易数据并进行合规性审查,通过大数据分析技术进行分析以把握整体工业行业的动态。
总结:除了以上列出的区块链,目前常用的还有腾讯的至信链、百度超级链、文昌链、京东的智臻链等。主要核心的还是包括:网络层、共识层、合约层,这都是区块链技术本身附带的一些功能。另外,根据不同的应用场景及底层设施,再附加上一些应用层、基础层等。
总体而言区块链架构已经有了较为公认的模型,但技术总是不断升级的,区块链4.0、5.0…以后,架构还会有更多的升级,区块链实现的场景还会源源不断丰富。
本文内容借鉴于:https://blog.csdn.net/XYlittlework/article/details/117818091