
先区分技术概念的适用范围
区块链技术涉及多个层面:数据怎样组织,交易怎样验证,节点怎样形成一致记录,以及程序怎样执行。比特币开发者指南中的区块链章节侧重账本与验证;以太坊的智能合约介绍侧重链上代码与状态。两者可以帮助理解这些层面的关系,但具体机制不能直接套用于所有区块链。
哈希与默克尔树:连接记录和验证数据
比特币区块通过前一区块头的哈希建立关联,区块内交易则通过默克尔树汇总到一个根哈希。修改交易会影响相关哈希,从而破坏原有记录之间的对应关系。

这类结构使数据变化能够被检测,也让客户端可以利用部分哈希验证某笔交易是否被区块收录。不过,“被收录”与“交易所有规则均已验证”属于不同判断,不能把包含证明当成完整验证。

UTXO与共识:判断交易和历史是否有效
比特币用未花费交易输出,即UTXO,表示可供后续交易使用的输出;已经花费的输出不能再次使用。全节点独立验证区块,工作量证明增加改写历史的成本。出现竞争分支时,节点在有效链中依据累计工作量选择历史。
这里需要区分两个问题:交易是否符合规则,以及有效交易按什么顺序进入共同账本。前者涉及防止重复花费等检查,后者涉及分支选择。“不可篡改”也应理解为受到验证规则和重写成本约束,不能理解成任何条件下都绝对无法改变。
智能合约与虚拟机:让链上状态按规则变化
以太坊智能合约是在特定地址保存的代码与状态,用户可通过交易调用其功能。Solidity、Vyper等语言编写的程序需要编译,由以太坊虚拟机执行;部署和执行涉及Gas资源计量。合约之间还可以相互调用。
理解智能合约时,可以关注输入、条件检查和状态变化这条逻辑链。自动执行能落实已写入程序的规则,但程序能否正确表达业务要求,仍是需要单独审查的问题。
预言机与多签:连接外部信息和权限控制
智能合约无法自行读取链外事件,依赖外部信息的应用需要预言机等机制提供数据。多签则要求多个有效签名满足门槛后才能执行操作,用于分配控制权。
常见疑问是:数据上链后是否就真实,多签是否就能保证程序安全?前者仍取决于数据来源和传递过程;后者主要解决授权条件,无法替代代码正确性检查。理解技术边界,才能准确判断一个系统究竟提供了哪些保障。