工作证明(Proof of Work,简称 PoW)是一种密码学机制,其目的在于确保数字交易的真实性。许多加密货币,包括比特币,都将工作证明作为其加密挖矿机制的基础。
从本质上讲,工作证明要求在新的交易数据块被生成之前,必须解决一个复杂的数学难题。解决这个难题需要耗费大量的处理能力,这直接导致了高昂的能源成本。因此,挖掘比特币和其他加密货币需要消耗大量电力和处理能力。但这并非全然是坏事,因为投入如此多的能源和资金去挖矿,也是比特币交易能够被信任为合法价值转移的原因。
像比特币这样的加密货币没有实体形态,这使得它们容易受到双重支付攻击。双重支付攻击发生在同一笔货币被重复使用两次的情况。在首次使用之后,攻击者会撤销交易或删除所有记录,从而允许他们在实际上并未放弃任何货币的情况下完成交易。
工作证明(PoW)是区块链机制中的核心部分之一,有助于防止区块链数据被篡改。生成 PoW 需要大量的处理能力,这相当于能源成本,以验证网络中的每一笔交易。由于所有交易都需要一定量的工作来进行验证,因此制造虚假交易也需要投入工作和资金。这种安全特性确保了所有交易的合法性,并且确保货币只被使用一次。
该方法已被证明是确保加密网络安全的可靠方式,但它确实创造了巨大的能源需求。因此,许多加密货币正在探索替代工作证明的选项。其中最领先的是权益证明(Proof of Stake,简称 PoS)。
数据被储存在区块链上,恰当地命名为“块”。这些区块一个接一个地串联在不断增长的链上。每个区块都包含一个独一无二的哈希值,它作为一个 ID 号,并由几个已知元素(包括交易和前一个区块的哈希)以及一个未知的随机数(称为随机数 nonce)组成。
如果对任何构成哈希的元素进行更改,区块的哈希值就会发生显著变化。这意味着改变链上的一个区块需要更改其后所有区块,因为它们的哈希值会不同。因为需要工作证明来计算每个哈希,所以需要大量的计算工作才能修改区块链中的交易数据。
解决工作证明问题更像是一场彩票而非竞赛。就像金矿工人用镐挖掘矿脉,希望找到黄金一样,比特币矿工对数据块进行尝试,希望能够解锁它。主要的区别在于,比特币矿工是在盲目地进行尝试。
组成区块的大部分元素是提前已知的。矿工的任务是找出唯一一个提前未知的变量——随机数 nonce。这是一个随机生成的数字串,只能通过不断尝试来找出。
矿工无从知晓他们距离找到随机数 nonce 有多近。他们能做的就是一次又一次地尝试,直到有人随机地做对了。这是一个无法更智能地工作,只能更辛苦地工作的系统。每一次尝试解决问题都需要一定的处理能力,而且处理能力越强,同一时间内完成的尝试次数就越多。这使得矿工成为挖掘区块并获得随之而来的奖励的可能性更大。
矿工通过交易费用和新挖掘的货币获得报酬。对于大多数加密货币来说,解决一个工作证明问题会创造一些新的货币。这些货币被奖励给解决问题的矿工。一些加密货币对挖掘出的新货币数量没有限制。其他一些,比如比特币,有固定的可能产出货币总量。
随着更多矿工竞争开采新区块,工作证明问题变得更困难。因此,矿工找到正确组合的平均时间保持不变。这个平均时间,称为区块时间,根据不同货币而有所不同——比特币是 10 分钟,莱特币是 2.5 分钟等等。
任何人都可以作为矿工加入网络(这适用于大多数,但不是所有的区块链)。然而,运行一个能够盈利挖掘知名加密货币的装置的能源成本是巨大的。早年间,比特币可以使用标准计算机来挖掘。但那些日子早已一去不复返。今天,需要使用昂贵的专用设备来解决工作证明问题。这些被称为 ASIC 的处理器在挖掘方面如此高效,以至于普通计算机根本无法与之竞争。
为了盈利地解决工作证明问题,需要在设备和技术知识上进行大量投资,这对每个人来说可能并不可行。对于有兴趣获取加密货币的个人,一个替代方案是:使用交易所购买加密货币。