光电 · 技术与产业
文章库关于本站

研究资料

区块链的架构技术相关术语如何理解:从节点到共识

摘要

理解区块链架构,可以沿着数据如何组织、节点如何验证、网络如何达成一致这条主线。以比特币和以太坊为例,区分区块、哈希、默克尔树、客户端、执行层、共识层及不同节点类型,并说明这些术语的适用范围与常见误区。

区块链供应链溯源的科技主题配图

一、先建立架构理解框架

区块链不是单一数据库或软件。理解其架构,可依次问:数据怎样组织,规则由谁执行,不同参与者怎样认可同一份记录?这分别对应数据结构、节点软件和共识机制。这样的分类用于辅助理解,并不代表所有区块链都采用相同的分层设计。

二、区块、哈希与默克尔树

比特币将交易组织进区块,区块头引用前一区块头的哈希,形成链式关联。哈希是数据的摘要,不是加密后的原文。交易哈希逐层组合得到默克尔根,使区块头能够承诺一组交易的内容。

区块链数字身份的科技主题配图

默克尔证明用于核对某笔交易是否被包含在指定区块中,但“被包含”不等于“交易和区块的全部规则都已验证”。阅读技术说明时,应区分包含性证明与完整有效性验证。

比特币挖矿散热的科技主题配图

三、节点与客户端不是同一概念

以太坊中的客户端是实现协议规则的软件;节点则是运行相关软件、连接网络的实例。完整节点架构通常由执行客户端和共识客户端配合:前者处理交易执行与状态,后者处理权益证明共识。验证者软件承担额外的共识参与职责,运行节点不等于成为验证者。

四、共识、区块高度与分叉

比特币使用工作量证明,在有效候选链之间依据累计工作量选择链;以太坊采用权益证明。两种机制不能简单视为同一套规则的不同名称。

区块高度表示区块在链中的位置。同一高度可能出现竞争区块,因此高度不是全局唯一标识。遇到“最长链”一词,应核对具体协议的选择规则,不能一律理解为区块数量最多。

五、UTXO与状态表达什么

UTXO是未花费交易输出。比特币普通交易引用已有输出作为输入,并创建新的输出;同一输出不能被重复花费。以太坊执行客户端维护的状态,则用于表示账户及合约等当前数据。

两者提示了不同的数据理解方式:查看一笔记录时,既要理解记录本身,也要理解它如何改变系统认可的数据。不要把某条链的账户或输出模型直接套用到另一条链。

六、全节点、归档节点和轻节点如何区分

全节点重点在于按协议验证数据;归档节点进一步保存历史状态,便于查询过去的状态;轻节点借助区块头及相关证明减少本地处理负担。具体能力取决于协议和实现,不能笼统承诺轻节点与全节点在所有条件下都等价。

常见误区是把“全节点”理解为“永久保留所有历史状态”,或把“归档”理解为更高的共识权限。判断节点类型时,应分别看验证范围、数据保留范围和对外查询能力。

七、进一步核对的文档入口

以太坊官方开发文档“Nodes and clients”用于理解节点软件分工;比特币开发者指南“Block Chain”用于理解区块组织、交易输出及链选择规则。它们描述的是各自网络,适合对照阅读,不宜拼接成适用于所有区块链的统一规格。

← 返回全部文章

延伸阅读 · 相关栏目

光电技术产业观察研究资料资料与核验