工作量证明(Proof of Work,简称PoW)是当前流通中大多数加密货币所选用的共识机制。该算法用于验证交易并在区块链上创建新区块。PoW的概念最早由 Cynthia Dwork 和 Moni Naor 于1993年提出,并在2008年被中本聪(Satoshi Nakamoto)应用于比特币白皮书。“工作量证明”这一术语则是由Markus Jakobsson和Ari Juels在1999年的一篇出版物中首次使用。
目前,像莱特币(Litecoin)和比特币(Bitcoin)等加密货币正在使用PoW机制。以太坊(Ethereum)曾采用PoW,但现已转向权益证明(PoS)机制。
核心原则: 求解困难,但验证容易。
PoW 的核心目标
共识机制的主要目的是在一个节点互不信任的环境中,使所有节点达成一致并建立互信。
- 新区块中的所有交易经过验证后,该区块会被添加到区块链中。
- 系统会选择区块高度最长的链进行添加(可通过区块链分叉了解某一时刻多链并存的情况)。
- 矿工(网络中的特殊计算机)通过解决复杂数学问题来完成计算工作,从而将区块添加到网络,因此得名“工作量证明”。
- 随着时间的推移,数学问题的难度会逐渐增加。
PoW 的主要特点
该共识协议之所以广受欢迎,主要得益于以下两大特点:
- 数学问题的求解过程非常困难。
- 验证解的正确性却非常容易。
PoW 的工作原理
PoW共识算法通过挖矿过程来验证交易。本节重点讨论挖矿过程及其中涉及的资源消耗。
挖矿过程
PoW共识算法要求解决一个计算上具有挑战性的难题,才能在比特币区块链上创建新区块。这一过程被称为“挖矿”,而参与挖矿的网络节点则被称为“矿工”。
- 挖矿交易的经济激励在于竞争成功的矿工会获得6.25个比特币及少量交易手续费作为奖励。
- 该奖励会随时间推移减半。
挖矿的能耗与时间
验证待添加区块中的交易、按时间顺序组织这些交易并向全网广播新挖出的区块,这些过程并不消耗太多能源和时间。
- 耗能的部分在于解决“困难数学问题”,以将新区块与有效区块链上的最后一个区块连接起来。
- 当某个矿工最终找到正确解时,该节点会同时向全网广播,并获得PoW协议提供的加密货币奖励。
挖矿奖励
- 目前,在比特币网络中成功挖出一个区块的矿工可获得6.25个比特币。
- 比特币奖励金额每四年减半一次。按当前速度和增长情况估算,下一次减半预计发生在2024年左右。
- 矿工数量的增加必然导致挖出新区块所需时间缩短。
- 这意味着新区块被发现得更快。为了保持平均每10分钟产出一个新区块(比特币开发者认为这是确保新币稳定且逐减产出直至达到2100万枚上限的必要速度——按当前速率预计约在2140年达成),比特币网络会定期调整挖矿难度。
比特币的 PoW 系统
比特币使用哈希现金(Hashcash)工作量证明系统作为挖矿基础。其“困难数学问题”可以抽象地表述如下:
给定数据 A,寻找一个数 x,使得将 x 附加到 A 后的哈希值结果小于目标值 B。
- 矿工将一组交易打包进一个区块并尝试挖掘。要成功挖矿,必须解决一个困难数学问题。
- 该问题被称为工作量证明问题,矿工必须求解以证明自己付出了计算工作,从而证明所挖出的区块是有效的。
- 问题的解必须是一个低于该区块哈希值的数字,才能被接受,这个值被称为“目标哈希”。
目标哈希是一个数值,新区块的哈希值必须等于或小于该值,矿工才能获得奖励。
目标值越低,生成区块的难度就越大。
- 矿工会持续测试不同的唯一值(称为“随机数nonce”),直到产生符合条件的值。
- 成功解决问题的矿工将获得比特币奖励,并通过向全网广播该区块已被挖出,从而将其添加到区块链中。
注意: 目标哈希值每2016个区块(大约每两周)调整一次。所有矿工会立即停止当前区块的挖掘,开始挖掘下一个区块。
PoW中常用的加密协议: 最广泛使用的工作量证明共识基于SHA-256,并随比特币引入。其他还包括Scrypt、SHA-3、scrypt-jane、scrypt-n等。
PoW 面临的挑战
工作量证明共识机制也存在一些问题:
- 51%攻击风险: 如果某个控制实体拥有网络中51%或以上的节点,该实体就能通过掌控网络多数来破坏区块链。
- 耗时过程: 矿工必须检查大量随机数(nonce)以找到解决难题的正确方案,从而挖出区块,这是一个耗时的过程。
- 资源消耗: 矿工为求解困难数学难题消耗大量计算能力。这导致宝贵资源(资金、能源、空间、硬件)的浪费。预计到2028年底,全球0.3%的电力将用于交易验证。
- 非即时交易: 交易确认大约需要10-60分钟。因此,它并非即时交易;因为需要时间挖矿并将交易添加到区块链中,交易才能最终被确认。
常见问题
问:什么是工作量证明(PoW)?
答:工作量证明是一种区块链共识机制,要求矿工通过解决复杂的计算数学问题来验证交易和创建新区块。求解过程困难,但一旦解决,其他网络参与者可以轻松验证解的正确性。
问:为什么PoW耗能?
答:PoW耗能主要是因为矿工需要运行强大的计算机持续进行哈希计算,以竞赛方式解决数学难题。计算能力越强,获得记账权和奖励的概率越大,这导致了巨大的能源消耗。
问:比特币挖矿奖励会一直存在吗?
答:不会。比特币挖矿奖励会定期减半,最终在约2140年当比特币总量达到2100万枚上限后,矿工奖励将完全依赖于交易手续费。
问:除了比特币,还有哪些加密货币使用PoW?
答:除了比特币,莱特币(Litecoin)、比特币现金(Bitcoin Cash)、门罗币(Monero)等众多加密货币也使用PoW共识机制,尽管它们可能采用不同的哈希算法(如Scrypt)。
问:PoW的主要优点是什么?
答:PoW的主要优点是其经过实践检验的高安全性。要攻击一个成熟的PoW区块链(如比特币),需要掌控全网绝大部分的计算能力,成本极高,难以实现。
问:个人还可以参与比特币挖矿吗?
答:如今,比特币挖矿已高度专业化和机构化,需要昂贵的专用硬件(ASIC矿机)和低廉的电力成本。个人单独挖矿难度极大,通常通过加入矿池来参与。