
先理解PoW解决什么问题
PoW是Proof of Work的缩写,中文称工作量证明。在缺少统一记账者的网络中,节点需要就交易顺序形成一致记录,避免同一笔资金被重复使用。PoW让生成候选区块需要付出计算成本,并与区块验证、分叉选择等规则共同支撑共识。
学习时可以把问题拆开:交易是否符合规则,由节点验证;出现多个有效历史时如何选择,则需要共识中的链选择规则。仅有计算结果,并不足以证明区块内所有交易都有效。
哈希、目标值与挖矿的关系
比特币开发者指南描述的核心过程,是反复调整区块头中的可变数据并计算哈希,寻找不大于目标值的结果。目标值越小,满足条件的结果越少,平均需要尝试的次数越多。其他节点检查这一结果,所需工作远少于搜索过程。
可以把它理解为反复抽取结果:每次尝试都可能成功,但不能预定哪次成功。算力表示单位时间能进行多少次尝试;难度表示成功条件有多严格。二者共同影响出块速度,难度调整用于适应算力变化。
区块相连为何增加改写成本
区块通过前一区块的哈希连接。修改历史数据会影响后续连接,因此改写历史还需要重做相应工作,并与继续增长的链竞争。比特币在符合验证规则的候选链之间,依据累计工作量选择链,不能只比较区块数量。
后续区块增加,通常意味着回退该记录需要克服更多工作量。这里提供的是概率性的确认保障,不能把某个确认次数理解为任何条件下都绝对不可逆。
适用范围与技术取舍
PoW适用于采用这套机制的区块链,各网络的具体算法与规则可能不同。以太坊官方文档介绍的是其历史PoW机制,并说明以太坊已于2022年转向权益证明。旧挖矿说明不能直接用于解释其现行共识。
理解PoW还需关注计算消耗、设备要求与算力集中问题。它通过资源成本增加攻击难度,但资源投入的规模和分布也会影响网络的安全条件。
两个常见问题
挖出合格哈希就一定能上链吗?还需要区块内容有效。即使区块有效,也可能因同时出现竞争区块而落在未被最终采用的分支上。
多数算力能随意改规则吗?算力优势可能帮助攻击者重组历史或排除交易,但不会让违反验证规则的区块自动被遵守原规则的节点接受。理解攻击能力时,应区分改变交易历史与改变节点认可的规则。