
1.4.1 基础协议
区块链是建立在可信存储机制、点对点网络、共识算法、安全机制、智能合约等基础技术之上的分布式系统,基础协议主要是实现区块链基础功能的组件,包括数据结构与账户体系、网络通信、共识算法、安全体系、智能合约。
1)数据结构与账户体系
根据数据类型和技术架构的不同,区块链底层的存储模型也各有所异。底层的存储涵盖区块数据结构与组织形式、账户体系及账本数据组织形式。其中,区块数据结构往往大同小异,分为包含一系列校验哈希值的区块头及包含交易的区块体,而区块数据组织形式却各不相同,从最开始的块链式逐步发展到树、图等复杂模式。除基础的区块数据结构与组织形式之外,账户体系也是区块链底层一种重要的数据结构,常见的有比特币的UTXO模型及以太坊的账户余额模型。除基础的区块数据结构与组织形式、账户体系之外,能支撑复杂业务的区块链平台往往还涉及账本数据组织形式,账本数据需要通过特殊的组织形式如默克尔树,进行组织和存储,以便快速校验数据的正确性。
2)网络通信
网络通信包含P2P网络、区块链网络模型、区块链网络协议。区块链网络是典型的P2P网络,涵盖节点验证、节点发现、数据收发等功能。随着区块链架构的复杂化,逐渐演变出验证节点、SPV节点等节点类型,形成相应的分层区块链网络模型。同时,针对网络节点自发现、大规模组网等需求,区块链网络相应适配了各种不同的网络协议,如Gossip、Whisper、Libp2p等。
3)共识算法
共识算法是用于保证分布式系统一致性的算法。区块链是典型的分布式系统,所有节点都独立完成数据计算和存储,需要共识算法来确保各节点的一致性。这里的一致性可以是交易顺序一致性、账本一致性、节点状态一致性等。共识算法往往由传统分布式一致性算法演变而来,如RAFT、PBFT等,也有针对区块链架构提出的典型共识算法,如PoW、PoS、DPoS等,随着区块链技术的不断发展,新型共识算法不断被提出,如Casper、Algorand、Hotstuff等。
4)安全体系
区块链系统有着很高的安全性要求,所涉及的身份认证、节点连接、通信传输、数据存储等方面都需要相应的核心安全技术;同时对隐私性有一定的要求,可以概括为身份隐私保护技术和数据隐私保护技术。其中,核心安全技术涵盖哈希算法、数字签名、密钥协商、对称加密及PKI证书体系,身份隐私保护技术包括盲签名、环签名、群签名等;数据隐私保护技术涉及账本隔离、账本加密、密态计算与验证等多种机制。
5)智能合约
智能合约是区块链业务逻辑的载体,完成编译部署后,可按照智能合约预设的条件和逻辑完成业务执行。智能合约包含承载区块链业务逻辑的智能合约脚本、智能合约执行引擎及分布式应用。