
一、先区分数据、规则与执行
理解区块链内部结构,可以围绕三个问题展开:记录怎样组织,节点怎样认可记录,记录怎样改变系统状态。区块与哈希解决数据关联问题,验证与共识约束历史的接受条件,交易执行则决定状态如何更新。这些概念相互配合,不能只用“分布式数据库”概括全部机制。
二、比特币中的区块与交易结构
比特币开发者指南描述了区块头、交易数据和默克尔树的关系:交易哈希逐层汇总为默克尔根,写入区块头;区块头还引用前一区块的哈希。交易使用未花费交易输出,即UTXO,作为可支出的输入,已经花费的输出不能再次使用。节点验证规则,并在有效分支中依据累计工作量选择历史。

这里有两种不同的关联:区块之间的引用组织历史顺序,交易输入对已有输出的引用约束资金支出。默克尔证明用于核验交易是否被某个区块收录,但收录证明本身不等于对全部交易规则的验证。

三、以太坊中的状态与程序执行
以太坊技术介绍侧重账户、交易、EVM和智能合约。账户余额与合约数据属于状态,交易可以请求转账、部署程序或调用程序,由EVM按照规则执行。节点传播和验证相关信息,权益证明机制协调区块提议与认可;计算费用用于约束资源消耗。
智能合约是链上执行的程序,不是独立于区块链的可信保证。理解其结果,需要同时看调用参数、程序条件与执行前的状态。可编程执行属于以太坊的关键特征,不能据此推断所有区块链都采用相同虚拟机或账户结构。
四、哈希、签名与共识各管什么
哈希用于形成数据摘要和关联关系,不负责隐藏公开内容。数字签名用于验证授权,不保证请求一定符合余额等其他规则。共识则让遵循协议的节点协调接受哪段有效历史,不意味着每个节点必须同时在线或逐一表态。
因此,防篡改不是单靠哈希实现的。修改数据会破坏原有摘要关系,而让修改后的历史被网络接受,还受验证规则、共识机制及其安全条件约束。
五、常见问题与适用边界
区块高度能唯一标识区块吗?不能,竞争分支可能出现相同高度的不同区块。交易广播后就完成了吗?也不能这样理解,广播只是传播请求,后续还涉及验证、收录及相应的确认过程。
阅读具体系统时,应分别核对数据模型、有效性规则、分支选择和执行环境。比特币的UTXO与以太坊的账户状态可以用来对照理解,但不能混成一套通用的内部字段设计。