区块链基础

PoW 工作量证明

PoW 是通过计算难题和算力竞争来决定谁能打包新区块的共识机制。

矿工收集交易 计算哈希 找到符合难度的结果 广播新区块
图解: 矿工收集交易 → 计算哈希 → 找到符合难度的结果 → 广播新区块

关键事实

英文全称
Proof of Work
早期思想
Cynthia Dwork 和 Moni Naor 在 1992 年提出用计算成本对抗垃圾信息的思想
重要前身
Adam Back 在 1997 年提出 Hashcash
区块链应用
Satoshi Nakamoto 在 2008 年比特币白皮书中把 PoW 用作开放网络的共识基础
典型使用链
Bitcoin、Litecoin、Dogecoin、Bitcoin Cash、Monero 等

历史沿革

  1. Dwork 和 Naor 提出用计算成本抵抗滥用的思想。
  2. Adam Back 提出 Hashcash,用于反垃圾邮件场景。
  3. Satoshi Nakamoto 发布比特币白皮书,把 PoW 用于去中心化账本共识。
  4. 比特币网络启动,PoW 成为第一个大规模运行的公链共识机制。

PoW 的核心原理

PoW 的核心是让出块者必须先付出可验证的计算成本。网络给出一个难度目标,矿工需要反复尝试不同输入,直到找到一个哈希结果满足条件。其他节点验证这个结果很快,但寻找结果很难。

为什么能防止作恶

如果攻击者想改写历史,就必须重新计算被修改区块以及之后所有区块的工作量,并且还要追上诚实网络继续增长的链。算力越分散、总算力越高,攻击成本越大。

挖矿到底在算什么

矿工不是在解传统数学题,而是在做大量哈希尝试。哈希函数像一个不可预测的压缩器,输入稍微变化,输出就完全不同。矿工只能不断试,直到结果碰巧满足难度。

目前哪些链还在使用

Bitcoin 仍使用 PoW。Litecoin 使用 Scrypt PoW,Dogecoin 与 Litecoin 有合并挖矿关系,Monero 使用 RandomX 试图减少专用矿机优势。Ethereum 曾经使用 PoW,但在 2022 年 The Merge 后转为 PoS。

生活化例子

比特币矿工不断改变区块中的随机数 nonce,计算区块哈希。如果哈希结果小于网络当前要求的目标值,这个区块就满足难度要求,可以广播给其他节点验证。

实际应用场景

  • 比特币矿工通过 PoW 竞争记账权,成功出块后获得区块奖励和交易手续费。
  • 交易所等待多个区块确认,是因为 PoW 链需要用后续工作量降低重组风险。
  • 用户发送 BTC 后,交易先进入内存池,矿工按手续费和策略选择交易打包。

常见误区和风险提醒

PoW 不是无意义地浪费电。它用真实世界的计算成本提高攻击成本。但这也带来能耗、硬件集中和矿池集中等争议。

相关概念

继续阅读同一主题下的概念,把知识点连起来。