
适用范围:通用原理与项目实现
围绕“狗币”“莱特”理解挖矿,首先要区分通用术语与具体网络规则。下文讨论工作量证明挖矿的基础概念;涉及区块构造和矿池通信的例子以比特币机制为背景,不能直接据此确认其他项目的算法、协议支持或奖励安排。
哈希与算力:计算结果和计算速度
NIST的哈希函数说明将固定长度哈希描述为:把不同长度的输入映射为固定长度的摘要。抗原像性意味着,从一个摘要反向寻找对应输入在计算上应当不可行。

理解挖矿时,可以把哈希看作每次尝试产生的计算结果,把算力看作单位时间内完成尝试的能力。算力描述速度,不代表每次计算都会成功;不同算法下的算力数值也不能脱离计算任务直接比较。

目标值与难度:合格条件有多严格
目标值是判断计算结果是否合格的门槛。在这类工作量证明机制中,哈希结果需要满足规定的数值条件。目标值越小,合格范围越窄,找到符合条件结果的难度越高。
因此,“目标值更高”通常对应更宽松的条件,不能理解为难度更高。难度表达条件的严格程度,并不表示某台设备已经完成了多少计算。
矿池与份额:提交工作不等于产生区块
比特币开发指南介绍了独立挖矿与矿池挖矿:前者自行尝试生成区块,后者汇集参与者的计算工作。矿池用share,即份额,记录满足矿池门槛的提交;只有同时满足网络门槛的结果,才可能用于生成网络接受的区块。
份额可以理解为统计工作贡献的凭据。常见问题是“提交了很多份额,为什么没有对应数量的区块?”原因在于份额门槛通常更宽松,普通份额并不等同于有效区块,也不代表确定的结算金额。
区块头、nonce与协议:各自负责什么
区块头包含用于识别和验证区块的关键摘要信息;nonce是改变计算输入的字段之一。默克尔根用于汇总区块中的交易信息,交易内容变化时,相关摘要也会变化。调整nonce不是修改账户余额,而是在规则允许的范围内构造新的计算尝试。
getblocktemplate与Stratum属于获取或传递挖矿任务信息的接口、协议概念,不是哈希算法。阅读具体项目文档时,应分别核对计算算法、任务通信方式及网络验证规则;仅看到相同术语,不能推断实现完全一致。