挖矿这个词起源于对加密货币的比喻,而从事挖矿的也因此被称之为矿工。矿工们通过共享资源组队挖矿时,他们所拥有算力的总和则被称为矿池。挖矿是 PoW 共识机制的核心。除了挖出新币,挖矿还是一个帮助验证交易有效性,维护网络安全的机制。
以比特币(BTC)为例。比特币是一个区块链网络,所有的交易及数据都以一个个区块的形式储存。比特币网络中每隔一段时间(约 10 分钟)就会有一个包含交易的区块产生,而使区块产生的过程就是挖矿的过程。在这个过程中,矿工需要破解网络产生的复杂数学难题。
这种复杂的数学题是基于哈希函数构建的。哈希函数是密码学中的一个复杂概念。目前我们只要把哈希函数看作是一个神秘的黑匣子,无论你向其中输入什么格式的信息,它都会被处理(或者说被哈希化)成一个统一格式的值,即哈希值。
在挖矿的语境下,输入的信息被称为 nonce。由于 nonce 的取值空间是巨大的,矿工们几乎不可能在不计算的情况下“猜”出来。在会消耗大量时间、能源的迭代计算过程中“付出”最多的矿工将被认定为赢家,这种“付出”就是工作量证明(PoW)共识中的工作量(Work)。
矿工需要通过挖矿程序进行迭代计算(即反复计算),以成功完成运算并挖出一个新的区块。简单来说,矿工在这个过程中需要从海量的数据中一个一个试出满足要求的答案,以成功出块。
第一个成功完成运算的矿工(或矿池)将获得奖励。目前,成功在比特币网络中挖出一个区块的矿工会得到 6.25 个 BTC。作为奖励的比特币数量每四年减半,下一次的比特币奖励减半预计将在 2024 年左右发生。
在挖矿过程中,造价高昂的矿机等硬件、运行矿机所需的电力、矿池手续费等因素共同构成了成本。其中,为了达到算力优势、优先完成运算而投入的资源成本占据大部分。
挖矿可以提供更多的流动性,同时通过高昂的作恶成本,来支持去中心化系统中的信任建设,维护网络安全。具体来说,挖矿难度和相应的奖励机制的结合为网络提供了一种安全机制,即,通过矿工之间高效的算力竞争,使网络无需通过中心化的机构(如传统市场中的银行)的保护,就可以完成交易记录及数据的验证及接力。
就最大供应量固定的比特币而言,随着未挖出的比特币数量越来越少,参与挖矿的算力竞争也日渐激烈,现在一个拥有普通水平算力的个体已经不可能挖到比特币,这就带来了中心化相关的风险。
同时,未成功挖出区块的算力以及投入的相关硬件、资源也被视作一种“不环保的浪费”。这些因素引得许多人在以挖矿为基础的 PoW 共识之外寻求更可持续、更节能的共识协议,例如权益证明 (PoS)共识。