
区块、哈希与默克尔树
区块是组织交易记录的数据单位。比特币区块头包含前一区块头的哈希和本区块交易的默克尔根:前者把区块连接起来,后者通过逐层汇总交易哈希,把交易集合关联到区块头。哈希可以理解为数据的摘要,数据变化通常会导致摘要变化。
这解释了修改历史为何会留下连锁痕迹:交易改变会影响默克尔根及区块头哈希,后续区块原有的引用也随之失配。不过,识别变化与阻止改写是两个问题,后者还依靠验证规则和共识机制。
交易、UTXO与双重支付
在比特币中,UTXO指尚未花费的交易输出。普通交易引用此前的未花费输出作为输入,并生成新的输出;同一个输出不能在有效链上被重复花费,重复使用就是双重支付。
可以把这一过程理解为消耗旧记录并建立新记录。钱包展示的余额是便于使用的汇总视图。UTXO是特定的记账模型,解释其他区块链时,应先确认其采用的状态与交易结构,不能直接套用。
共识规则、PoW与PoS
共识规则规定哪些交易和区块有效;共识机制还要解决参与者如何协调、如何产生区块,以及出现不同链头时如何选择。全节点独立验证,意味着收到一个区块之后仍要检查它是否符合规则。
工作量证明(PoW)通过计算投入增加参与竞争的成本,权益证明(PoS)则以质押及奖惩形成经济约束。以太坊共识文档强调,这些机制承担抗女巫攻击和区块作者选择等作用,完整共识还需要其他协议组件。女巫攻击指通过制造大量身份试图扩大影响力,因此身份数量本身不能直接等同于共识权重。
分叉、链选择与区块高度
当网络中出现竞争区块时,不同节点可能暂时看到不同链头。链选择规则用于在有效候选分支之间作出选择。比特币比较累计工作量;以太坊的相关选择机制使用按质押权重计算的验证者证明。两者的权重不能混为一谈。
区块高度表示区块所在的位置。分叉期间,同一高度可能有多个区块,所以高度不能唯一标识区块,也不能仅凭区块数量判断比特币哪条链应被采用。
常见问题:记录上链后就绝对不变吗
哈希链接使修改能够被察觉,共识机制提高重写历史的难度,但“上链”不等于无条件、绝对不可改变。判断记录的稳定性,需要结合具体网络的链选择与确认规则。默克尔证明也有明确边界:它用于证明某笔交易被包含在特定区块中,不能单独证明整个区块满足全部有效性规则。