
先理解分布式记账
分布式记账,是指账本数据由网络中的多个参与者保存、传播或核验,而不是只依赖某一台中心服务器。区块链是实现分布式记账的一种方式:交易等数据被组织成区块,区块依次连接,形成可追溯的记录。
分布式账本不一定都采用区块链结构;具体谁能读取、提交或验证数据,也取决于系统设计。谈到比特币和以太坊时,通常是在讨论公开区块链中的概念,不能直接据此推断所有分布式账本都采用相同规则。

区块、哈希与默克尔根
区块可以看作一批记录的集合,通常包含交易数据以及用于连接前后区块的信息。区块头中的哈希可以理解为数据经密码学计算得到的摘要;区块引用前一区块的哈希,因此形成“链”。若改动旧记录,相关摘要会变化,后续连接也会受到影响。

比特币还用默克尔树整理区块中的交易摘要,树顶的摘要称为默克尔根,并记录在区块头中。借助相关摘要路径,轻量客户端可以检查某笔交易是否包含在某个区块中,而不必下载和保存全部交易数据。哈希和链式引用能帮助发现改动,但账本如何确认、选择有效记录,还需要共识规则配合。
节点、交易与共识
节点是运行网络软件并与其他参与者通信的设备或程序。节点可以保存区块链数据、传播交易和区块,并按照协议规则验证信息。不同类型的节点保存和处理的数据可能不同,因此“节点”不等于每台机器都承担完全相同的工作。
交易是请求网络记录某种操作,例如转移数字资产,或调用一段程序。交易通常要经过验证、执行,并在区块被网络接受后形成账本状态变化。共识则是参与者依照共同规则,对哪些区块和记录有效、采用哪条历史达成一致;它不是简单地由某一台机器宣布结果。
共识机制因项目而异。比特币使用工作量证明,出块者需要满足与计算工作相关的条件;以太坊使用权益证明,验证者质押 ETH 并运行验证软件参与提议或检查区块。两者解决的是相近的协调问题,但参与方式和安全机制并不相同。
分叉、账户与UTXO
分叉指同一高度附近出现不同区块路径等情况。若多个有效区块接近同时产生,节点可能暂时看到不同路径;之后网络会依据各自协议的选择规则继续确认其中一条,另一条可能不再延伸。区块高度表示区块距创世区块的层级位置,在出现分叉时,高度本身不能唯一标识一个区块。
资产记录方式也有差别。以太坊资料所述的模型包含账户及其余额,并将合约执行导致的变化纳入网络状态;比特币使用UTXO模型,交易消耗先前交易产生且尚未花费的输出。理解这一点有助于避免把不同区块链的“账户”“余额”和“交易”当成完全相同的结构。
以太坊中的EVM与智能合约
EVM即以太坊虚拟机,可理解为网络参与者共同认可的一套计算环境。用户提交交易请求后,网络会按规则验证和执行相关操作,并将结果写入状态。智能合约则是部署到该环境中的可重复执行程序;用户通过交易调用它,程序会依据代码和输入执行操作。
智能合约并非能够自行判断现实世界事实的实体,也不意味着代码一定没有缺陷。它的行为取决于程序内容、调用参数和所在网络的规则。以太坊中的合约和EVM术语,也不应直接套用于所有区块链。
适用范围与常见问题
阅读区块链资料时,先确认讨论的是哪种网络、共识机制和数据模型,再理解术语。区块、节点、交易和共识是较通用的基础概念;权益证明、工作量证明、EVM、智能合约和UTXO则要结合具体系统解释。
常见问题是“区块链是否绝对不可更改”。更准确的说法是,链式引用和共识机制使事后改动需要面对相应的验证与网络规则约束,并不等同于任何情况下都无法更改或出错。另一常见误解是“所有节点都保存所有信息”:节点的职责和保存范围会因系统设计及节点类型而异。