
先分清术语描述的对象
区块链 应用技术相关术语如何理解,关键是先判断一个词在回答什么问题:区块描述数据怎样组织,节点描述谁在运行网络,共识描述如何形成一致记录,智能合约描述应用规则怎样执行。把这些层次分开,能避免将数据结构、参与者和程序混为一谈。
区块、哈希与默克尔树
区块汇集交易,并通过密码学引用与前一区块连接。哈希相当于依据数据计算出的摘要;修改数据会影响摘要及后续引用。在比特币中,交易哈希逐层汇总形成默克尔根,写入区块头。默克尔证明用于核验交易是否包含在某个区块中。

这些概念对应不同的核验范围:验证某条交易被收录,不等于已经验证该交易的所有规则,也不等于证明交易所描述的现实事件真实发生。理解技术保证时,需要明确它究竟证明了什么。

节点、共识与分叉
节点运行协议软件,验证和传播网络数据。比特币采用工作量证明,在有效的候选链之间依据累计工作量选择链;以太坊采用权益证明,由质押ETH的验证者参与提议和确认区块。节点与区块生产者并非完全相同的角色。
分叉可以指网络暂时出现不同的区块历史。因此,区块高度只表示位置,不能总是唯一识别区块。“难以篡改”也有适用条件:它依赖密码学、验证规则及共识机制共同发挥作用,不能仅由链式排列推出。
EVM、状态与智能合约
在以太坊语境下,EVM是执行程序的虚拟机,状态包括账户余额和合约数据等。智能合约是部署在链上的程序,交易可以触发程序执行及状态更新,ETH用于支付相关计算资源费用。
可以用一个链上游戏理解这些关系:合约规定操作规则,状态保存当前结果,交易提出一次操作请求,EVM按规则执行。智能合约并不意味着程序能够自行判断现实世界中的事实,也不意味着代码天然没有错误。
账户与UTXO为何不能混用
以太坊以账户及其状态描述余额等信息;比特币使用未花费交易输出,即UTXO。普通比特币交易消耗已有输出并创建新输出,同一输出不能重复花费。这两种模型都能记录价值变化,但组织记录的方式不同。
常见问题是把“交易”只理解为转账。在以太坊中,部署或调用合约也可以通过交易完成。阅读应用文档时,应先确认所讨论的链与数据模型,再理解交易、余额和程序执行之间的关系。