
先明确“最开始”的适用范围
入门理解挖矿术语,需要分清三个问题:谁组织计算、计算在寻找什么、任务如何传递。独立挖矿和矿池挖矿属于组织模式;哈希和目标值属于计算规则;接口与协议负责传递任务。这些概念处在不同层次,可以同时出现在同一套挖矿流程中。
若“最开始”指历史起点,早期接口的介绍不足以证明最初矿工的全部实践。Bitcoin Developer Guides 的挖矿章节涉及不同阶段的技术,不能将其中的专用硬件流程直接套用到比特币诞生时。

哈希、目标值与难度
NIST 的《安全哈希标准》说明,哈希算法可将消息转换为摘要,用于检测消息是否发生变化。在挖矿语境中,可以把摘要理解为根据候选数据计算出的结果;它不是加密后等待解密的交易内容。

矿工反复改变允许调整的数据,计算区块头的哈希,并检查结果是否满足网络目标。目标值越小,符合条件的结果范围越窄,寻找合格结果就越困难。难度表达的是这种约束程度,不是某笔交易本身有多复杂。
独立挖矿、矿池与 share
Bitcoin Developer Guides 区分了独立挖矿和矿池挖矿:前者自行尝试产生区块,后者汇集参与者的计算资源,并依据工作贡献及分配规则分配所得。协作方式改变了工作组织与结算方式,网络对有效区块的要求仍然适用。
share 是提交给矿池的工作份额证明。矿池使用比网络要求更宽松的目标来计量贡献,因此合格 share 通常不等于有效区块。理解目标方向尤其重要:数值更大的目标更容易满足,不能把“大目标”误读成“高难度”。
nonce 与 extra nonce
nonce 是区块头内可调整的字段,矿工改变它来尝试不同哈希结果。extra nonce 则是放在 coinbase 交易中的额外可变数据;改变它会影响交易树的默克尔根,进而改变区块头,提供新的搜索空间。
这里的 coinbase 指区块中的特殊交易,不是同名交易平台。默克尔根可理解为交易集合的摘要入口,它把交易数据与区块头联系起来。
接口名称不等于挖矿模式
getwork 是较早且已弃用的工作获取接口;getblocktemplate 提供构造候选区块所需的模板信息;Stratum 用于矿工与矿池之间的任务通信。阅读这些名称时,应关注它们传递什么信息,以及矿工能控制哪些内容。
常见误解是把使用某种协议等同于采用某种硬件,或认为提交 share 就代表已经出块。判断术语含义时,分别确认组织方式、计算对象和验收标准,便能避免把通信流程与网络共识混为一谈。