
先建立整体认识
区块链把交易组织成区块,再通过哈希引用连接前后记录。网络中的节点按照共同规则检查数据,并通过共识机制协调认可的历史与状态。入门时需要分清三个问题:记录怎样组织、交易怎样验证、出现不同历史时怎样选择。
这些问题彼此相关,却不能互相替代。数据能够连接起来,不代表其中每笔交易都有效;交易通过检查,也不意味着它已经进入网络认可的区块。

交易与区块分别承担什么作用
比特币展示了一种具体实现:交易使用此前尚未花费的输出,节点检查它们是否满足花费条件、是否被重复使用。区块则将交易汇总,其区块头保存交易的默克尔根和前一区块头的哈希。

可以把交易理解为一次状态变更请求,把区块理解为按规则组织的一批记录。这种理解有助于把握流程,但比特币的未花费交易输出模型有特定适用范围,不能直接套用到所有区块链。
哈希连接怎样约束修改
哈希把数据映射为摘要,默克尔树将多笔交易的摘要逐层汇总。改变交易内容会影响相应摘要,进而影响区块头及后续区块的引用关系。比特币还通过工作量证明提高重写历史的成本,并在有效候选链中依据累计工作量选择历史。
因此,“不可篡改”应理解为修改容易暴露,而且让网络接受修改需要克服机制约束。单纯把记录用哈希串联起来,并不足以保证历史安全。
共识机制解决什么问题
以太坊的权益证明机制以质押、奖励和惩罚约束验证者,由协议安排区块提议与验证,并结合按质押权重计算的证明支持选择链。共识涵盖这些规则的协作,工作量证明或权益证明只是其中的组成部分。
理解两类机制时,可以分别问:参与者凭什么获得出块机会,其他节点怎样检查区块,多个候选区块之间怎样取舍?创建许多身份本身不应直接换来同等增加的影响力,这也是资源约束需要解决的问题。
常见问题与适用边界
广播交易是否等于完成记账?广播只是传播,交易仍需经过检查并被纳入区块。验证与收录属于不同步骤。
区块高度能否唯一识别区块?短暂分叉时,同一高度可能出现多个区块,因此比特币通常使用区块头哈希来指认具体区块。
所有区块链都按区块数量选择最长链吗?具体选择规则取决于协议。学习时应把交易模型、验证规则和分叉选择分开理解,再检查它们如何共同运作。