区块链 · 数字资产知识 · 行业资讯
文章库关于本站

政策资料

人民日报比特币挖矿机入门需要了解什么:原理、流程与矿池

摘要

从区块链和工作量证明入手,说明比特币挖矿机如何与挖矿软件、节点或矿池配合,并解释区块头、目标阈值、share及独立挖矿和矿池模式的区别。本文介绍通用技术概念,不声称人民日报发布过相关教程或推荐具体设备。

玻璃文档与棱镜的原创资料研究概念插画

适用范围:关键词与技术主题

这里所说的比特币挖矿机,是参与比特币工作量证明计算的硬件。本文不据关键词中的“人民日报”声称该媒体发布了教程或推荐具体设备。NIST IR 8202《区块链技术概览》将区块链概括为分布式数字账本,并说明在网络正常运行时,已发布的交易记录难以被改写;Bitcoin Developer Guide 的挖矿章节则介绍了挖矿如何通过添加新区块,使交易历史更难被修改。

挖矿机如何工作

挖矿软件先取得下一候选区块所需的交易和参数,再整理交易、计算默克尔树的根,并将其写入区块头。Bitcoin Developer Guide 描述的区块头为80字节,包含前一区块哈希、时间、版本、目标相关字段、默克尔根和nonce等信息。ASIC硬件反复尝试不同的nonce并计算哈希;只有结果低于网络目标阈值,才符合新区块的工作量条件。

如果nonce需要扩展,挖矿软件可以更新coinbase交易中的extra nonce,并重新计算默克尔根,形成新的区块头继续尝试。找到符合网络目标的结果后,软件将完整区块交给节点广播,供网络处理。

硬件、软件与节点如何配合

矿机并不独立完成全部流程。独立挖矿时,软件可以向Bitcoin Core节点请求getblocktemplate,取得建议纳入区块的交易和相关参数,再构造候选区块;加入矿池时,软件连接矿池并接收当前任务信息。硬件负责计算,软件负责准备区块头并跟踪任务变化,节点或矿池则提供数据、接收提交结果。

独立挖矿与矿池挖矿的区别

独立挖矿由矿工自行寻找达到全网目标的区块。若区块被网络接收,区块奖励和交易手续费归该矿工;但找到区块的时间可能较长,等待间隔也有较大波动。

矿池把多个参与者的算力汇集起来,并设置比全网目标更宽松的share阈值。矿机提交符合该阈值的结果,作为已完成一定计算工作的证明。多数share不符合全网目标,不能作为链上区块;少数share也可能达到全网目标,矿池会将相应区块提交给网络。矿池依据工作份额分配所得奖励和手续费,但具体分配方式因矿池而异。

常见通信方式与能力差异

getblocktemplate会提供交易列表以及版本、前一区块哈希、目标相关字段等信息。使用这种方式时,挖矿软件可以检查交易,并按规则增添或移除非必需交易。Stratum提供构造coinbase、默克尔根和区块头所需的精简信息;使用Stratum的矿工不能查看或添加当前正在挖掘区块中的交易。较早的getwork方式已被开发指南标注为弃用。

常见问题与入门边界

share是不是正式区块?不是。share是达到矿池较宽松目标的工作证明;只有同时满足全网目标的结果,才有机会成为提交给网络的区块候选,之后还需经过网络处理。

有了矿机就能完成整个流程吗?不能简单这样理解。通常还需要挖矿软件构造区块头,并通过节点或矿池取得任务、提交结果。选择独立挖矿还是加入矿池,以及使用哪种通信协议,会影响软件取得和处理区块信息的方式。

share是否对应固定金额?不能一概而论。它记录的是工作份额,矿池的分配制度各不相同;了解具体结算方式,应查看相应矿池的规则。本文讨论的是比特币挖矿的一般技术流程,不用于判断设备收益或作出购买建议。

← 返回全部文章

延伸阅读 · 相关栏目

行业资讯研究与报告政策资料交易平台观察