矿工收集交易
计算哈希
找到符合难度的结果
广播新区块
关键事实
- 英文全称
- Proof of Work
- 早期思想
- Cynthia Dwork 和 Moni Naor 在 1992 年提出用计算成本对抗垃圾信息的思想
- 重要前身
- Adam Back 在 1997 年提出 Hashcash
- 区块链应用
- Satoshi Nakamoto 在 2008 年比特币白皮书中把 PoW 用作开放网络的共识基础
- 典型使用链
- Bitcoin、Litecoin、Dogecoin、Bitcoin Cash、Monero 等
历史沿革
- Dwork 和 Naor 提出用计算成本抵抗滥用的思想。
- Adam Back 提出 Hashcash,用于反垃圾邮件场景。
- Satoshi Nakamoto 发布比特币白皮书,把 PoW 用于去中心化账本共识。
- 比特币网络启动,PoW 成为第一个大规模运行的公链共识机制。
PoW 的核心原理
PoW 的核心是让出块者必须先付出可验证的计算成本。网络给出一个难度目标,矿工需要反复尝试不同输入,直到找到一个哈希结果满足条件。其他节点验证这个结果很快,但寻找结果很难。
为什么能防止作恶
如果攻击者想改写历史,就必须重新计算被修改区块以及之后所有区块的工作量,并且还要追上诚实网络继续增长的链。算力越分散、总算力越高,攻击成本越大。
挖矿到底在算什么
矿工不是在解传统数学题,而是在做大量哈希尝试。哈希函数像一个不可预测的压缩器,输入稍微变化,输出就完全不同。矿工只能不断试,直到结果碰巧满足难度。
目前哪些链还在使用
Bitcoin 仍使用 PoW。Litecoin 使用 Scrypt PoW,Dogecoin 与 Litecoin 有合并挖矿关系,Monero 使用 RandomX 试图减少专用矿机优势。Ethereum 曾经使用 PoW,但在 2022 年 The Merge 后转为 PoS。
生活化例子
比特币矿工不断改变区块中的随机数 nonce,计算区块哈希。如果哈希结果小于网络当前要求的目标值,这个区块就满足难度要求,可以广播给其他节点验证。
实际应用场景
- 比特币矿工通过 PoW 竞争记账权,成功出块后获得区块奖励和交易手续费。
- 交易所等待多个区块确认,是因为 PoW 链需要用后续工作量降低重组风险。
- 用户发送 BTC 后,交易先进入内存池,矿工按手续费和策略选择交易打包。
常见误区和风险提醒
PoW 不是无意义地浪费电。它用真实世界的计算成本提高攻击成本。但这也带来能耗、硬件集中和矿池集中等争议。