Page 119 - 《软件学报》2026年第1期
P. 119
116 软件学报 2026 年第 37 卷第 1 期
HTTPS 协议的使用最少 (2 个), 这是因为 HTTPS 相较于 P2P 和 gRPC, 其在性能上存在一定的开销, 且有一
定的中心化倾向. 此外, HTTPS 在区块链中的应用较为有限, 主要适用于需要强安全性和合规性的数据传输场景,
特别是金融领域的区块链应用. 在这些受严格监管的行业中, 法律和合规要求可能会促使更多地使用 HTTPS 来确
保数据传输的安全性和合规性.
见解 5: 当前国产区块链软件普遍采用 P2P 协议是合理选择, 因其契合区块链去中心化需求, 而 gRPC 和
HTTPS 在当前适用性较弱; 未来随着技术融合与特定领域需求, gRPC 和 HTTPS 可能在不同场景发挥更大作用,
区块链软件协议选择将更加多元化.
3.2.2 传播机制
与传统互联网的数据传播机制相比, 区块链的传播机制具有更高的去中心化程度, 并且不需要依赖第三方的
信任背书. 区块链的主要数据传播机制包括 Gossip [119] 、洪泛 [120] 、PubSub [121] 、选择性转发等. Gossip 协议是一种
分布式信息传播协议, 节点随机选择其他节点进行信息交换. 通过节点之间的定期信息交换, 信息逐渐传播到整个
网络. Gossip 协议具有简单、可扩展性强的优点, 但其传播速度相对较慢, 且可能产生消息冗余. 洪泛机制中, 源节
点将信息发送给所有邻居节点, 而这些邻居节点接收到信息后, 再转发给各自的邻居节点, 直到信息覆盖整个网络
或达到预设的传播范围. 虽然这种机制传播速度快, 但会产生大量冗余消息, 可能导致网络拥塞. PubSub 机制通过
发布者 (Publisher) 和订阅者 (Subscriber) 之间的互动来实现信息传播. 发布者将信息发布到特定的主题, 订阅了该
主题的订阅者会接收到相应的信息. 该机制能够实现信息的精准推送, 减少不必要的消息传播, 但需要一个中心化
或分布式的协调组件来管理主题和订阅关系. 选择性转发机制中, 节点不会盲目地转发所有接收到的信息, 而是根
据一定的策略 (如基于内容、目的地、网络状况等) 选择部分信息进行转发. 这种机制能够减少网络中的冗余流
量, 提高传播效率, 但也需要更复杂的决策逻辑. 不同区块链软件所使用的传播机制如表 6 所示.
表 6 国产区块链软件使用传播机制情况
机制名 区块链软件
洪泛 趣链, 百度链, PlatON, 星火链, 中移链
Gossip FISCO BCOS, Z-Ledger, 星云链, RepChain, Chain33, PlatON, Mixin, 唯链, 树图链, CKB, 泰安链, 延安链
选择性转发 趣链, FISCO BCOS, 中移链
PubSub FISCO BCOS, RepChain
现象 14: 大部分区块链软件使用 Gossip 协议进行区块传播 (12 个), 而其他传播机制的使用相对较少. Gossip
协议被广泛采用, 主要是因为它在传播效率和网络资源开销之间取得了良好的平衡. 此外, Gossip 的随机信息交换
模式提高了网络的容错性, 适合大规模去中心化网络的需求. 相比之下, 洪泛机制 (5 个) 的使用较少, 主要是因为
该机制容易导致大量消息冗余, 消耗过多的网络资源. 在大规模网络中, 洪泛机制的性能往往急剧下降, 增加了网
络拥塞的风险. 选择性转发机制 (3 个) 虽然能够减少冗余流量并提高传播效率, 但其复杂的策略设计和调整要求
导致开发和维护成本较高, 因此被较少使用. PubSub 机制 (3 个) 则由于其适用场景有限, 并且依赖特定的发布/订
阅中间件, 增加了系统的潜在故障点和复杂性, 因此也不如 Gossip 普及. 此外, 统计的区块链软件数量少于 39, 这
是因为部分区块链软件并未在官网、技术文档或开发文档中明确声明其使用的传播机制.
3.3 共识层
区块链共识层通过确保分布式网络中的所有节点对交易和区块达成一致, 从而实现去中心化的信任机制, 保
障区块链系统的安全性、完整性和一致性, 其主要内容为共识协议. 相比传统的中心化共识, 去中心化共识具备稳
定性高、参与广泛的特点、但效率较低. 当前国产区块链软件使用的共识协议大致可以分为 4 类: 证明类共识协
议 (proof of work, PoW) [122] 、投票类共识协议 (proof-of-stake, PoS) [123] 、拜占庭容错 (Byzantine fault tolerance,
BFT) 类共识协议 [124,125] , 以及混合类共识协议 [126] .
证明类共识要求节点通过完成特定的计算任务或提供某种形式的证明来达成共识, 节点需要证明自己对特定
资源的投入或对系统规则的遵守, 以此来确定交易或区块的合法性. 投票类共识则通过投票来表达对交易或区块

