
先明确分布式挖矿的含义
“分布式比特币挖矿”可用于描述多台设备共同参与哈希计算,也可能指不同参与者通过矿池协作。讨论适用条件时,需要先明确任务由谁分配、区块由谁构建,以及计算结果由谁验证。
NIST《区块链技术概述》将区块链解释为以分布式方式实现、具有篡改可察觉和抗篡改特性的数字账本。这说明账本的分布式属性,但不能据此认定某个矿池或挖矿系统没有中心化管理。

条件一:工作任务能够并行分配
比特币开发者指南介绍了独立挖矿和矿池挖矿:前者自行构建并提交候选区块,后者由多个参与者贡献计算工作。挖矿软件为硬件提供区块头相关任务,硬件寻找满足目标要求的哈希结果。

这种工作适合多设备并行尝试。协作系统需要组织不同设备的搜索任务,并随着候选区块变化更新工作内容。设备数量增加本身不能替代任务管理;如果多台设备反复尝试相同内容,就不能充分发挥并行计算的作用。
条件二:设备、软件与网络能够配合
适用前提包括具备执行哈希计算的硬件,以及能够构建、分发和更新任务的软件。独立挖矿还需要取得网络中的交易和区块信息;矿池参与者则需要与矿池的任务接口兼容。
网络连接的关键作用是及时接收新任务并提交结果。当链上出现新区块时,相关工作需要随之更新。因此,判断系统是否适用,不能只看计算能力,还应看信息同步是否及时、任务更新是否正常。
条件三:协作贡献能够验证
开发者指南还说明,矿池通过难度低于网络出块要求的份额证明来计量工作,部分份额也会满足网络要求。份额用于核验计算贡献,并不代表每次提交都产生有效区块。
多方协作需要明确份额接收、验证和记录的规则。设备分散运行,并不会自动消除对任务组织者和记录系统的依赖;评估适用性时,应把计算分工与管理权限分别考虑。
常见问题
分布式挖矿必须加入矿池吗?不必须。多设备可以服务于同一独立挖矿主体,也可以分别参与矿池。设备部署方式与协作组织方式是两个问题。
更多设备是否意味着一定出块?不是。增加计算尝试不等于保证找到满足网络目标的结果。矿池协作也不改变有效区块必须满足网络验证规则这一前提。
是否存在通用的最低设备数量或网络带宽?上述原理不能推出统一数值。具体要求取决于任务分发方式、设备能力和系统实现,不能将某一配置当作所有分布式挖矿系统的适用门槛。