
一、数据如何组织与验证
区块链把交易组织成区块,并通过前一区块的哈希建立关联。哈希相当于数据的校验指纹,内容改变通常会使结果改变。默克尔树则把多笔交易的哈希逐层汇总为根值,便于用部分中间哈希证明某笔交易被收录。
这里需要区分三个问题:数据是否改变、交易是否被收录、交易是否符合规则。哈希关联帮助发现改变,默克尔证明帮助验证收录情况;交易有效性仍须依据协议规则检查,不能只凭一个哈希确定。

二、节点与共识如何协作
比特币节点通过网络传播数据,全节点独立验证区块。工作量证明要求区块头哈希满足目标条件;出现竞争分支时,节点在有效链中依据累计工作量选择历史。UTXO,即未花费交易输出,用于判断某个输出是否仍可使用,避免同一输出被重复花费。

网络传播解决数据如何到达其他节点,共识规则解决哪些数据可以接受,分支选择解决暂时存在不同历史时如何收敛。区块高度表示位置,但竞争区块可能处于相同高度,因此高度不能作为全局唯一标识。
三、智能合约如何扩展功能
在以太坊中,智能合约是位于链上地址的代码与状态,交易可以调用其函数。合约语言编译后由虚拟机执行,计算资源通过Gas计量。合约之间可以相互调用;需要链外信息时,则需借助预言机。多签合约可将执行授权分配给多个签名方。
这些概念对应不同职责:代码规定处理逻辑,状态记录执行结果,虚拟机提供执行环境,预言机连接外部数据。多签处理授权条件,但不能替代对程序逻辑和数据来源的检查。
四、适用条件与常见问题
所有区块链都采用工作量证明或UTXO吗?不能这样概括。上述机制用于说明比特币的技术路径;以太坊的智能合约机制则用于说明可编程区块链,不能据此推断所有系统都具备相同功能。
区块链是否绝对不可修改?哈希关联使历史改动能够被发现,共识机制提高重写历史的难度,但这不等于绝对无法改写。智能合约是否保证外部信息真实?程序能够按规则处理输入,输入是否可靠仍取决于数据来源与预言机设计。