区块链与民生服务
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

一、技术解读:区块链的概念、类型与技术架构

(一)区块链的概念

关于区块链的概念界定,目前可谓“仁者见仁,智者见智”,但无论是专家智库、学院派还是企业界,其界定基本都围绕工业和信息化部在2016年指导发布的《中国区块链技术和应用发展白皮书(2016)》(以下简称《白皮书》)中提出的区块链概念而展开,或者说没有脱离此次概念界定的核心思想。《白皮书》指出,从广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式来保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。而从狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并且是以密码学方式保证的不可篡改和不可伪造的分布式账本。

从区块链的概念界定来看,我们应该如何理解其内涵?从广义层面来看,区块链本身是一种链状数据结构,在特定的情形下可以理解为环环相扣的链子,但与现实中的链子不同的是,如果你要改动它其中的任意一个链环(数据区块),那么就意味着需要同时改动整条链子。当然,这种改动是非常困难的,因为对于这种以块链式的数据结构存储的数据区块,前一个区块与后一个区块之间以包含256位随机数的哈希值作为连接方式,任何数据的输入与输出都需要相应的密码验证,而且相较于其他加密技术系统,它采用的是非对称加密的方式,数据的存储与访问都将牵涉公钥和私钥。在数据区块累积到一定的长度之后,要想对它进行篡改和窃取,在理论上是很难实现的。这也说明该数据系统具有极高的安全性和可靠性。

值得一提的是,区块链的分布式数据系统具有极高的开放性,尤其是公有链。由于公有链的整个数据系统具有开源特征,几乎每个稍微懂一点儿区块链常识的人,都能够利用系统平台提供的自动化脚本代码和智能合约建立一个全新的合约规则,就像人们使用微信、抖音与微博这般简单。而在这个规则体系中的任何人都是以技术自动执行合约的忠实信奉者,或者是被信奉者,一旦智能合约被建立起来,就会在相应的触发机制下自动执行约定的奖励或惩罚,将智能合约所约定的内容变为现实。这应该就是人们习惯将区块链称为“创造信任的机器”的缘由。

如果从狭义的维度来理解区块链的概念,则可以简单地将各数据区块解释为一个个独立的账本,而且每个账本是完全公开的,自其产生之时就已经向全网广播,接收到广播的所有系统参与者都将自动备份该账本数据。既然已经全网广播且被众人备份,那么该账本自然就无法再被某个人篡改。当下公众所理解的区块链,大多就是从这个角度认知的。

举一个简单的例子,区块链系统中的每个数据区块(账本),都是全体成员在某10分钟之内的聊天记录,在聊天之后这些数据都将被保存到所有群成员的手机客户端,并且每个聊天数据区块(账本)都已经被打上时间戳。某个独立的个体输出的数据,自然就会成为全体成员的共识,一旦该个体想变卦,就会遭到集体的对抗与质疑。如此看来,可从狭义的维度将区块链技术理解成不同时间戳条件下的公共数据账本,这个账本的存在本身已成为所有系统参与者的共识(共识机制),加之以密码学的方式进行加密、存储与备份,人们在这个分布式账本环境下的所有言行只能是“一口唾沫一颗钉”,真正实现了“言行合一”。

(二)区块链的类型

目前来看,根据参与方来分类,区块链主要包括公有链、联盟链、私有链三种基本类型(见表1-1);根据区块链与区块链之间的关系来分类,区块链主要包括主链与侧链两种类型。

表1-1 区块链的三种类型对比

(续表)

从总的覆盖范围来看,公有链、联盟链和私有链分别对应价值互联网(智能互联网)、广域网和局域网。公有链的覆盖范围最广,是一种全球性、开放性与多元性的区块链类型,适用于价值互联网;而联盟链如Hyperledger R3等,主要适用于广域网,这与跨区域和多类型的参与主体直接相关,如果将之直接限定在某个特定的狭窄范围,它就会丧失联盟链的优势;私有链主要适用于局域网,如区块链校园、区块链公司等。

从表1-1可以看出,联盟链和私有链的加入及退出,都与公有链存在极大的差别,它们都需要经过特定的授权程序,而公有链中的参与者可以自由地加入及退出。因此,联盟链和私有链又被称为许可链(Permissioned Blockchain)。凡是成为区块链网络节点的组织、单位和个人,都要依赖于特定的授权机制的许可;而那些未能得到许可、认证与授权的组织、单位和个人,并不具备加入该区块链系统的权限,也就不可能成为其网络节点之一了。

从区块链与区块链之间的关系来看,主链(Main Chain)与侧链(Side Chain)具有不同的属性。主链,有时又被称为母链,是指独立正式上线的区块链网络,能够得到区块链各网络节点的信任和支持,其账本和交易数据能够得到全体参与者的认可。

侧链是在2013年12月从比特币社区演化出来的概念,它的出现主要是为了解决区块链技术中存在的局限性问题,带有非常强烈的技术使命,但它自身缺乏独立性,需要依傍主链,并且是以严格遵循相关侧链协议而存在的。侧链是相较于主链而言的,它自身不是一个完整的区块链,而是一种可以在两区块链之间进行移动的协议和机制,它的使命就是保证相关的数据资产能够在两条或多条区块链之间进行移动和转换,进而降低主链的运行压力。

侧链的一大便利之处就是,如果区块链的各网络节点中出现Bug(问题、缺陷),人们就可以借助侧链对其进行修正,此做法能够保证在主链不停止运行且不受影响的前提下对主链进行完善。只要符合侧链协议,所有现存的区块链都可以成为侧链。

因此,从主链与侧链之间的关系来看,区块链侧链可巩固主链的地位,以及对主链进行补充,它在促进主链良性运行的同时,还拉近了不同区块链的主链之间的关系。在区块链侧链的支持下,主链将赢得更广阔的发展空间。只要是以“主链+侧链”模式运行的区块链,都能同时保证不同区块链核心网络之间的货币等价交换。

因此,在区块链主链上嵌入侧链,意味着该区块链的所有用户都能灵活管控自己的数据资产,还能将这些数据资产用于访问新的区块链系统。但是,如果只有主链没有侧链,区块链主链的用户将会被禁锢在其中,活动范围非常有限,就像用户在某娱乐场所购买了游戏币,这些游戏币只能用于该娱乐场所相关娱乐设施的支出,超出该娱乐场所便不再生效。

换言之,如果只有区块链主链,用户将被限定在非常狭窄的空间,所受的限制非常大。而借助侧链技术,能够实现仅凭主链不能实现的相关操作,实现基于主链与侧链的双向锚定、多向传输与全网共识协议。因此,侧链技术为区块链的发展与普及立下了汗马功劳。

(三)区块链的技术架构

通过对区块链的概念与类型进行分析,想必大家对区块链技术已经有了比较宏观的了解。那么,区块链的具体技术架构又包括哪些要素呢?已有研究显示,区块链的技术架构大致可概括为六层,分别是数据层、网络层、共识层、激励层、合约层和应用层,如图1-1所示,它们的对比如表1-2所示。

图1-1 区块链技术架构

表1-2 区块链技术层级对比

(续表)

(1)数据层。区块链的数据层是区块链技术中最核心的层级,主要具备数据输入、数据存储、数据交易等功能,且具有不可篡改、所有数据全网备份、记录的各网络节点数据一律平等、数据存储以Merkle树为依托呈现链式结构等特征。从本质上来说,区块链的数据层就是一个数据库。

(2)网络层。区块链的网络层在本质上是一个点对点(P2P)网络系统,这个网络系统体现了区块链技术去中心化的特征,每个节点都是一种公认的中心,且与其他网络节点在权限、资格与身份等方面完全平等。每个节点与其他节点的链接与互动,以及资源、服务等的往来都不需要围绕某个中心进行,而是直接点对点实现。

(3)共识层。在区块链的共识层,整个区块链网络系统的所有节点都遵循相同的规则与活动秩序,所有用户都一致同意和维护该条区块链的总账本。由于得到全网的共识,散列在不同角落的网络节点都将围绕这个总账本开展记账活动,这就促进了该区块链社区的和谐与有序。与此同时,为了使分布式系统的各部分一致,共识层还引进委托权益证明(DPOS)、工作量证明(POW)、权益证明(POS)、实用拜占庭容错算法(PBFT)等共识机制,从而时刻保证区块链记账系统的安全性和可靠性。

(4)激励层。区块链的激励层其实是在共识层的基础上建立的奖励制度,凡是按照共识层的相关要求参与区块链记账与维护的网络节点,都会得到与之贡献相匹配的奖励。这种奖励是自动实现的,不需要人工计算和发放。当然,需要注意的是,激励层多用于公有链,由于公有链缺乏相应的管理员,相关的混乱与无序全都靠这一套激励机制来维护,以达到全网共治的目的。

(5)合约层。相较于数据层、网络层、共识层与激励层,区块链的合约层表现出智能优越性。区块链的合约层一般包括各种脚本、代码、算法机制与智能合约,它保证了区块链技术的可编程性。合约层使全网用户能够轻松签订合约,并且通过技术手段构建了智能合约的“触发式自动执行命令”机制,以智能化的技术保证了全网的高信用环境。

(6)应用层。区块链的应用层是指基于区块链其他层级的技术手段,将区块链技术应用于具体的实际场景,体现区块链技术从概念逻辑、技术构想到落地实施的过程。从目前来看,各种“区块链+”的尝试都是区块链应用层的具体表现。

对区块链概念、类型与技术架构的分析,有助于进一步理解区块链技术的相关基础知识,以便为促进区块链全场景、宽领域、多层次的应用全面爆发做好准备。尤其是区块链技术在民生服务领域的应用直接关系到国计民生,关系到人民幸福生活的现实福祉,因此,全社会都应积极关注“区块链是什么”的问题,以便为今后使用区块链实现民生福祉的最大化奠定基础。