
先理解比特币挖矿在做什么
比特币挖矿是工作量证明机制中的一个过程:挖矿软件整理候选区块所需的信息,矿机反复计算区块头的哈希,并比较结果是否达到网络设定的目标。找到符合目标的结果后,候选区块会被提交到网络,由网络依照规则处理。被接受的区块会接入区块链,挖矿所得与区块奖励、交易费用有关。
挖矿使新增区块的产生与可验证的计算工作相关联,但它不是整个区块链系统的全部。记录交易、传播区块以及依照共同规则判断区块是否有效,也都是理解区块链运行时需要区分的环节。

误区一:挖矿是在解一道复杂数学题
矿机不是在寻找某个有实际用途的数学答案,而是在尝试不同输入,计算哈希并检验结果是否低于目标值。单次尝试不能保证成功,找到合格结果具有概率性;矿机可以通过更换区块头中的随机数等信息继续尝试。

因此,把挖矿说成“破解密码”或“解开谜题”容易造成误解。它的关键是反复进行哈希尝试,并让其他参与者能够检查结果是否符合要求。
误区二:矿池份额就是一个新区块
矿池通常会采用比全网出块目标更容易达到的份额目标。矿工提交符合矿池目标的结果,可以用来证明自己完成了一部分计算工作;这种份额本身并不等于满足全网目标,也不一定会成为新区块。
只有偶然达到网络目标的结果,才可能作为候选区块提交给网络。矿池依据份额等记录分配相应收益,具体分配办法可能不同。加入矿池会改变参与和分配工作成果的方式,但不能把份额误认为区块,也不能据此推断每次计算都会获得区块奖励。
误区三:矿工可以单方面决定账本内容
矿工会构造候选区块,其中可以包含交易,但构造区块不等于拥有任意改写账本的权力。区块仍需符合网络规则,并由网络参与者处理和验证。挖矿帮助新区块接入链上记录,使已经写入的历史更难修改;这不应被理解为历史绝对不可能改变。
也要区分“把交易放进候选区块”和“网络接受该区块”。前者是构造过程的一部分,后者取决于区块是否符合共同规则及网络的运行情况。
误区四:所有区块链都靠挖矿运行
挖矿通常指工作量证明机制中的计算竞争,不是区块链的通用名称。区块链可以采用不同的共识机制;因此,讨论其他区块链时,不能仅凭“区块链”三个字就断定它也有比特币式挖矿。
概括来说,判断一段说明是否准确,可以先问三个问题:它说的是哈希尝试、矿池份额,还是区块验证?它描述的是比特币的工作量证明,还是另一种共识机制?把这些概念分开,能避免把计算工作、账本记录和网络共识混为一谈。