区块链技术及应用
上QQ阅读APP看书,第一时间看更新

1.4 区块链体系结构

从系统设计的角度来看,区块链网络从下至上可抽象为4层,分别是数据与网络组织协议层、分布式共识协议层、智能合约层和人机交互层。类比国际标准化组织(International Organization for Standardization,ISO)制定的OSI模型,区块链网络层级和相关技术划分如图1-10所示。

图1-10 区块链4层体系结构

1.数据与网络组织协议层

该层为区块链网络中各种独立并维持高安全性的节点提供了多种加密功能,协议同时还定义了节点为防止篡改而对账本信息进行本地存储时,如在交易和账户余额等记录间建立关联性加密的方法。从数据表示的角度来看,术语“区块链”的命名多取决于历史原因。在区块链1.0中,以比特币为代表,辅以数字签名的交易记录被随机打包存储为一种防篡改的加密数据结构,这种结构被称为“区块”。这些区块按照时间顺序组装为区块链,更确切地说,区块间通过哈希指针形成了难以被篡改的线性结构。然而,为了提高网络的处理效率、延展性和安全性,线性的数据结构在不同的应用和场景中被扩展为非线性形式,如树或图,甚至无实际区块。尽管区块的组织形式不同,加密形式的数据还是为区块链提供了隐私和数据完整性的基础保护功能。对比传统的数据库,它提供了更为高效的链式存储,而不会损害数据的完整性。网络协议确定了区块链网络的 P2P 形式,进行路由发现、维持和加密数据的传输/同步。

2.分布式共识协议层

除了建立在P2P连接上的可靠数据传输外,分布式共识协议层为维护区块链网络中数据的排序与其本身的一致性和原创性提供了核心功能。从分布式系统设计的角度上看,分布式共识协议层也为网络提供了拜占庭容错协议。在点对点网络中,节点间希望就网络区块链的状态信息达成同步和一致,尤其是可能存在与原始数据相冲突的新输入和某些节点的拜占庭行为的情况下,节点各自更新的本地数据仍保持相同。在选择经许可的访问控制方案时,区块链网络通常会采用经过充分研究的拜占庭容错协议,如 PBFT,以在经过验证的小组节点之间达成共识。与此相反的是,在开放访问/许可的区块链网络中,协议是基于包括零知识证明和激励机制设计在内的技术组合实现的一种协议。共识协议依赖于半集中式共识框架和更高的信息传递开销以提供网络的即时共识确认,并提高交易处理的吞吐量。然而,无权限的共识机制更适合于对节点的同步和行为进行松散控制的区块链网络。在有限延迟和多数节点为诚实节点的情况下,无权限的共识协议以较低的处理效率为代价,明显为网络的可伸缩性提供了更好的支持。

3.智能合约层

如果能够保证共识协议的健壮性,智能合约就能够在分布式虚拟机层上进行顺利部署。简单来说,分布式虚拟机层对区块链网络中的数据组织、信息传播和公式形成的细节进行了抽象。作为较低层协议和应用程序之间的互操作层,虚拟机层将必要的API公开给应用层,就像分布式计算在单个计算机的本地虚拟运行的环境中执行。当启用虚拟机的功能时,网络允许节点以自主运行的程序的形式部署到智能合约的区块链上。另外,通过控制开放的 API数量和虚拟机的状态大小,区块链上的智能合约能够调整其图灵完备的水平,从只支持脚本语言的比特币,到图灵完备的以太坊和超级账本。通过图灵完备性,区块链网络能够以分散的方式执行通用计算。也因为如此,区块链网络不仅能够提供分布式、可信数据记录和时间戳服务,还能够提供促进通用的自组织功能。

4.人机交互层

区块链网络因其独特的框架和技术体系,适合作为自组织系统的底层支撑,用于管理分布式网络节点之间数据或交易驱动的交互行为。