
“构建模式”不是单一技术分类
讨论区块链构建模式时,首先要明确讨论对象:是账本如何组织数据、系统如何表示状态、节点如何达成一致,还是应用如何连接链上程序。这些问题处于不同层次,不能把UTXO、共识机制和智能合约当成互斥的同类选项。
数据结构:区块、哈希与默克尔树
比特币开发指南描述了区块的连接方式:区块头引用前一区块头的哈希,交易通过默克尔树汇总为根哈希。前者建立历史关联,后者支持交易包含证明。区块高度表示位置,但分叉期间同一高度可能存在不同区块,因此高度不是全局唯一标识。

理解时应区分“数据关联”和“有效性判断”:哈希关系用于发现数据变化,不单独证明交易符合规则;交易被包含在某个区块中,也不等于该区块必然属于最终保留的历史。

状态模型:UTXO与账户
比特币中的UTXO是尚未花费的交易输出,普通交易消耗已有输出并创建新输出。以太坊开发文档则从账户与交易介绍状态变化,并将智能合约描述为位于地址上的程序。
这组术语适合用于理解业务状态如何表达。UTXO关注哪些输出仍可使用;账户视角关注地址关联的状态如何变化。两者不是共识机制名称,也不能单凭模型名称判断系统性能或安全性。
网络与执行:节点、共识、EVM
节点与客户端涉及参与网络的实例及其运行的软件;共识机制处理分布式节点如何就系统状态达成一致。比特币采用工作量证明,并在有效候选链之间依据累计工作量选择历史。以太坊的EVM承担合约执行,Gas用于计量执行所需资源。
“执行规则”和“选择历史”需要分开理解。前者回答计算结果是否符合协议,后者处理网络对哪段历史取得一致;智能合约不能替代共识机制。
应用构建:适用条件与常见问题
构建以太坊应用时,开发框架、客户端API和本地开发网络分别服务于开发流程、链上交互与测试。它们属于开发工具层,不是新的账本模型。
常见问题是把dapp等同于智能合约。更准确的理解是,合约承担链上逻辑,应用还需要交互入口及相应的数据访问方式。另一个误区是把测试通过视为安全保证:测试环境用于检查行为,不能据此直接推断真实部署条件下的全部风险。理解一个架构时,逐层追问数据、状态、共识与应用职责,比仅记住术语更有效。