
顶层架构:先确定系统各部分的职责
区块链顶层架构可以理解为对系统主要组件及其关系的整体描述。阅读架构图时,可以依次追问:记录什么数据,怎样传播数据,如何判断记录有效,以及应用怎样使用这些记录。
数据、网络、共识、执行和应用可以作为理解术语的观察角度,但具体协议的组件划分可能不同。以太坊开发文档涵盖从账户、交易到合约与应用的技术栈;比特币开发指南则说明区块链记录、验证规则和工作量证明。两者能够帮助建立框架,具体机制仍需分别理解。

数据组织:交易、区块与状态
交易描述需要由网络验证的操作,区块将交易组织起来。比特币区块头包含前一区块头的哈希,并通过默克尔根关联区块中的交易;UTXO指尚未被花费的交易输出,是判断普通交易输入能否使用的重要依据。

理解状态时,可以把交易看作变化过程,把状态看作这些变化形成的结果。以太坊的账户与比特币的UTXO属于不同的数据组织方式,不能把账户余额模型直接套用到所有区块链。
网络与共识:传播和认可分别解决什么问题
节点是网络参与端,客户端是其运行的软件。网络通信使信息能够传递,共识规则则为节点判断记录是否合法提供共同标准。收到一个区块,并不等于已经认可该区块。
比特币全节点独立验证区块;出现竞争分支时,在有效链之间依据累计工作量选择链。因此,“最长链”不能简单理解为区块数量最多。区块高度表示位置,分叉时同一高度可能存在不同区块,不能作为全局唯一标识。
执行与应用:合约、EVM和接口
在以太坊中,智能合约是部署在地址上的程序,EVM提供执行环境,Gas用于计量执行所需的计算资源。客户端API及JSON-RPC则为应用与节点交互提供接口。
这组术语可以按职责区分:合约表达程序规则,虚拟机执行规则,资源计量约束执行消耗,接口连接应用与节点。阅读架构时沿着这些关系梳理,比单独记忆缩写更容易理解各组件的作用。
适用条件与常见问题
是否所有区块链都具有相同的合约层?不能这样推断。讨论EVM等组件时,应限定在采用相应执行环境的系统内;比较不同链时,应先确认其数据模型与验证机制。
默克尔证明是否等于完整验证?它能够用于核验交易是否被包含在某个区块中,但交易包含关系与整个区块是否满足全部共识规则,是不同的验证问题。
阅读跨链桥、预言机或扩容方案时,也应先确定它们连接什么系统、提供什么信息、依赖哪些验证条件。技术名词只有放回具体职责和适用范围,才能准确说明架构。