区块链技术协议有哪些?
通过学习区块链基础概念和生态架构等内容,相信大家已经对区块链有了初步的认识。本文将展开介绍区块链生态架构中技术协议内容。
01、区块链技术协议
在区块链生态架构的赋能体系结构中,有一层被命名为技术协议,包含比特币、以太坊、EOS 等内容,尽管这些系统实现的技术协议略有差异,但笔者将它们抽象为统一的分层架构,如图 1 所示。
■ 图 1 区块链技术协议架构
技术协议是区块链的内核和主体,主要包括以下 5 层。
(1) 数据层。
数据层是区块链最基础的技术协议,定义区块链基础数据结构和算法。主要包括由哈希函数、加密算法、默克尔树、时间戳组成的区块链基础数据和算法,以及由账号体系、交易结构、区块结构和链式结构组成的区块链特色结构和算法。
(2) 网络层。
网络层是区块链数据传输和价值互联的基础,基于 P2P 模型构建而成,描述交易、区块等数据如何交互、同步并验证。网络层和其上层共识层决定区块链中心化程度,决定区块链网络节点类型和物理部署方式。例如,根据共识层的特性,将节点全部划分为共识节点进行部署,或引入非共识节点,仅同步来自共识节点的数据而不参与共识,分担服务交互压力,如图 2 所示;当然,不同的区块链系统也可以基于共识和非共识节点,定义其他类型的节点,采用不同方式部署。
■ 图 2 区块链网络部署架构
(3) 共识层。
共识层是区块链分布式技术的引擎,定义各类共识算法。共识算法描述区块链节点如何在分布式网络环境中,周期性地就区块上链的提案达成一致。共识算法视应用场景而定,决定区块链生态落地形式(公有链、联盟链、私有链),影响区块链性能(吞吐量/TPS 等)、安全性及可靠性,且与奖励机制(激励机制)息息相关,例如,公有链必须通过数字货币或其他奖励机制督促各节点竞争创建区块,联盟链可选择性使用奖励机制,私有链不需要使用奖励机制。在这里补充一下,在有些论文和资料中,往往将奖励机制作为单独一层,而我们考虑奖励属于经济和管理手段,并非实际技术,因此不在技术协议中定义该层。
(4) 合约层。
合约层是区块链可编程性的基础和应用赋能的核心,能够将代码执行流程嵌入区块链共识上链流程,保证达到预定条件后,代码在分布式节点自动执行、结果一致。涉及的技术包括早期简单的脚本系统及新兴的智能合约、虚拟机技术。
(5) 拓展层。
拓展层是为了提高区块链安全性、吞吐量、存储容量或满足特殊场景需求而衍生的技术协议。
版权声明: 本文为 InfoQ 作者【TiAmo】的原创文章。
原文链接:【http://xie.infoq.cn/article/807c652cbf6f00f7671fbab4e】。文章转载请联系作者。
评论