Proof of Work 让 Bitcoin 区块的创建需要付出成本,而验证却很简单。矿工不断计算,相互竞争,但无法提前预测结果。他们要寻找一个 hash,也就是区块头的数字指纹,使其数值不超过称为 target 的上限。其他人可以很快检查成功的结果。Full Node 是独立检查 Bitcoin 规则的计算机,它还会另行验证交易:仅有工作量证明,并不代表区块有效。
可以把它想成一种彩票,无法靠聪明的公式提前算出中奖彩票。矿工不断修改候选区块的数据并计算 哈希。绝大多数结果都不合格。只有数值小于或等于当前 target 的 哈希,才能充当一个区块的 Proof of Work。找到结果很难,任何人验证起来却很快。Bitcoin 证明的并不是通常意义上的有用计算,而是有人确实为某个特定 Block Header 进行了有成本的搜索。 [1] [2]
Block Header 保存区块的基本数据;Merkle Root 是区块内所有交易的汇总指纹。Nonce 是矿工在搜索时可以改变的数字。ASIC 是为特定计算任务设计的芯片,在这里反复使用 SHA-256 哈希函数。 矿工先组装候选区块:选择交易,创建含有区块奖励的 Coinbase Transaction,并计算交易的 Merkle Root。这些值与前一区块引用、时间、target 和 nonce 一起组成 Block Header。专用 ASIC 随后对大量 区块头 变体计算双重 SHA-256。它不是逐步解题、越来越接近答案。每次尝试都是一个看似随机的新结果,上一次失败无法说明下一次能否成功。 [3] [1]
哈希 可以看成一个很大的数字。网络 target 是规则仍允许的最大值。Target 越低,所有可能 哈希值 中合格的比例越小,预期尝试次数越多。nBits 在 区块头 中以紧凑格式保存 target。难度只是目标苛刻程度的相对表达。它不是零的数量、消耗的焦耳,也不是某个矿工的算力份额。某个区块可能立刻找到,也可能等很久;规则限制的是结果,而不是实际用了多少次尝试。 [2] [1]
Block Header 中的 nonce 只有四字节,高速 ASIC 可能遍历全部范围仍无合格结果。因此 挖矿 不是无休止地增加一个数字。软件可以修改 Coinbase Transaction 内的 extra nonce、交易选择或次序以及其他允许的数据。这会依次改变 Coinbase Transaction、Merkle Root 和整个 区块头,打开新的候选空间。Pool 也会把不同任务分给许多设备,避免它们测试相同变体。 [3]
哈希值小于或等于 target 只满足一项关键条件,并不满足 Bitcoin 的全部规则。Full Node 还检查区块大小与结构、祖先关系、Coinbase Transaction、允许的奖励、签名、脚本,以及输入所引用的资金是否存在且尚未花费。因此昂贵计算不能迫使别人接受超额 bitcoin 或双花。无效区块无论投入多少能源仍然无效。反过来,交易有效但 Proof of Work 不足的候选也不能延长当前链。 [4] [1]
两个矿工可能几乎同时在同一 height 发布不同的有效区块,网络会短暂出现两个分支。在有效候选中,节点跟随累计工作量最大的分支,Bitcoin Core 用 chainwork 表示它。因为区块可能在不同 targets 下生成,所以这不总是简单数区块。改写已确认付款,需要建立一段替代的有效历史,并追上、超过正常分支持续增加的工作量。更多确认通常会提高攻击成本,但不会立刻产生数学上的绝对不可逆。 [5] [1]
Hashrate 表示每秒进行的哈希尝试次数。 如果 target 永不改变,总 Hashrate 上升会让区块越来越快,算力下降则会使其变慢。因此 Bitcoin mainnet 每经过 2,016 个区块重新计算 target,让长期平均值回到每区块约十分钟。计算会比较实际间隔与预定的两周,并把调整限制在协议边界内。Retarget 不直接响应 BTC 价格、用户数量或矿工对新规则的投票。十分钟是目标平均值,不是下一个区块的时刻表。 [2]
单独矿工可能要等很久才能找到有效区块,所以许多设备通过 挖矿 pool 工作。Pool 设置一个更容易的内部 share target,用提交的 shares 估算每位参与者的贡献。绝大多数 shares 达不到更严格的网络 target,永远不会进入 Blockchain。如果某个结果同时达到网络 target,pool 才广播完整候选区块。是否接受并不由 pool 或其 Hashrate 大小决定,而由各个节点独立验证。 [3]
实体设备在搜索时消耗电力并释放热量,但 Bitcoin 不会在区块中保存能源收据。获胜 哈希 无法说明准确尝试次数、耗电量、电力来源或矿工位置。Proof of Work 让新的尝试在现实世界有成本,从而为历史提供经济防护;但更高耗电本身不自动等于完美安全或更清洁运行。安全评估还要考虑节点验证、Hashrate 分布和具体威胁;能源影响评估则需要来源、时段、效率和替代用途的证据。 [1] [2]
Full Node 会独立检查每个区块的前一个 哈希、nBits、推导出的 target 和 区块头 哈希。区块数据可以比较 height、difficulty 与 chainwork,但获胜 哈希 本身无法揭示矿工身份或准确耗能。“六次确认后安全”之类说法需要金额、对手能力、工作量分布和等待能力等背景。Proof of Work 不是营销标签,也不是矿工对规则的投票,而是节点在有效历史之间做选择时一个定义明确、容易检查的输入。 [2] [3] [5]
要获得更完整的理解,请将本词条与以下词条结合阅读: 挖矿, Difficulty Adjustment, Timechain / Blockchain, Full Node, Block Subsidy. 反向关联还来自: Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Timechain / Blockchain.