跳转到内容

区块链图解

来自BitcoinWiki
展示相互连接的区块和网络节点的区块链结构示意图。
典型区块链系统中区块与节点连接方式的示意图。

区块链图解是对区块链的数据结构、网络、软件组件或交易处理流程的简化表示。图中对象和符号的含义取决于绘图目的。同一个方框在一幅图中可能表示区块,在另一幅图中则可能表示网络参与者;箭头可能表示密码学引用、消息或流程的下一步。因此,必须结合具体协议、标签和图例来解读图示。[1]

本页插图所表示的内容

本页插图把简单的链式视图与网络视图结合在一起。中央的三个方框表示区块。每个方框标有数据、哈希和前一区块哈希字段;前一区块哈希表示将该区块与其前身连接起来的密码学引用。周围的计算机图标表示网络参与者。

这是一幅示意图。连接线并不表示特定的点对点消息,计算机图标也没有被赋予具体角色。图中没有说明由哪个参与者提出区块、哪些参与者验证区块、如何处理相互竞争的历史记录,也没有说明交易何时达到最终确定状态。此类细节需要针对具体协议的图示或配套文字来说明。

常见图示类型

没有任何一幅图能够解释区块链系统的全部组成部分。可以按照图示所回答的问题作实用分类:

  • 链式或数据结构图展示区块、区块头、交易数据以及区块之间的密码学引用。
  • 交易或流程图展示一笔交易或一个提议依次经历提交、传播、验证、排序、纳入和确认等阶段。
  • 网络或拓扑图展示对等节点,以及用来转发交易、区块、投票或同步数据的连接。
  • 组件或角色图区分软件组件和参与者职责,例如客户端、验证者、背书节点或排序服务。

这些分类只是阅读辅助方法,并不是标准化的区块链制图符号。一幅图可以合并多种视图,但如果没有使用不同的符号或标签,箭头的含义就可能不明确。例如,当前的以太坊节点文档区分执行客户端、共识客户端和可选的验证者客户端,也区分客户端之间的本地API和彼此独立的点对点网络。[2]

区块链结构

基础链式图按顺序排列区块。一个区块通常包含对前一区块的密码学引用,因此,修改较早的数据也会改变后续区块所引用的值,从而使篡改可以被发现。但这种链接本身并不意味着账本不可能被重写;抗篡改能力还取决于网络的验证规则和共识规则。[1]

图中通常用方框和箭头表示这种关系。这里的箭头表示通过密码学哈希函数得到的引用,并不表示消息从一个区块直接传向下一个区块。有些协议还可能出现相互竞争的分支,因此直线只是对已接受历史记录的简化表示。[3]

区块中的信息

区块内容因协议而异。有用的结构图应说明所对应的协议,而不应把一种字段布局描绘成通用格式。例如,比特币区块头包含版本号、前一区块头哈希、根据区块内交易得出的默克尔根、时间字段、编码后的工作量证明目标值和随机数。[4]

默克尔根使图示能够用区块头中的一个值概括多笔交易。详细图示可以把这个值展开为交易哈希树,而入门图示可能只显示树根和区块主体。

交易、网络与共识流程

流程图应区分数据发送、检查、选择或排序、纳入区块,以及接受或最终确定所得历史记录等步骤。不同协议不一定采用相同阶段,也不一定把这些阶段交给相同类型的参与者。

在比特币中,对等节点通告交易和区块,其他节点请求自己尚未拥有的数据,完整节点则独立验证接收到的信息。矿工组装候选区块,并寻找满足工作量证明目标的区块头哈希。挖出的区块会传播给其他节点,但传播和验证是两个不同事件。[5][3]

以太坊目前采用权益证明。其架构把负责交易和状态的执行客户端与遵循权益证明协议的共识客户端分开;节点承担验证者职责时还会使用验证者客户端。被选中的验证者提出区块,其他验证者对其进行验证,分叉选择规则和最终确定性规则决定被接受的历史记录。[6][2]

许可型系统可以采用不同流程。在Hyperledger Fabric中,客户端向背书节点发送提案,背书节点对其进行模拟并返回背书,而不更新账本。客户端随后把已背书的交易提交给排序服务;节点稍后验证所接收区块中的交易、追加区块,并应用有效的状态更新。因此,Fabric流程图需要标明角色和顺序,而这些标签并不适用于比特币挖矿图。[7]

阅读与评估

使用区块链图示前,应当:

  1. 确认主要视图是数据结构、交易流程、网络拓扑还是组件角色。
  2. 检查所标明的协议、网络和软件版本。没有标签的通用图示应被视为概念模型。
  3. 确认每种形状代表什么。重复出现的计算机图标并不一定意味着所有参与者承担相同角色。
  4. 判断每条箭头的方向和含义。箭头可能表示哈希引用、协议消息、本地软件连接或流程顺序。
  5. 区分持久数据与传输中的消息,并区分交易验证与区块提议、排序、共识和最终确定。
  6. 查找图例和明确列出的省略内容。图示合并多种视图时,应使用不同线型或标签说明各种关系。

这份清单是实用的阅读指南,并非正式的制图标准。

局限性

图示会有意省略实现细节,以突出某种特定关系。它不能证明系统具有去中心化、安全、不可篡改或最终确定等性质。这些性质取决于完整协议、参与者、威胁假设和实际运行方式。需要了解精确行为时,应将图示与相应规范或最新技术文档结合阅读。

参考资料

  1. 1.0 1.1 Blockchain Technology Overview, National Institute of Standards and Technology, NISTIR 8202, 2018.
  2. 2.0 2.1 Node architecture, ethereum.org, accessed 3 September 2026.
  3. 3.0 3.1 Bitcoin: A Peer-to-Peer Electronic Cash System, Satoshi Nakamoto, 2008.
  4. Block Chain reference, Bitcoin Developer Documentation, accessed 3 September 2026.
  5. P2P Network, Bitcoin Developer Guide, accessed 3 September 2026.
  6. Blocks, ethereum.org, accessed 3 September 2026.
  7. Transaction Flow, Hyperledger Fabric documentation, accessed 3 September 2026.