Proof of Work は、Bitcoin のブロックを作るには費用がかかり、検証は簡単にできるようにする仕組みです。マイナーは、結果を予測できない計算を繰り返して競います。探すのはブロックヘッダーのデジタル指紋に当たるハッシュで、その数値が target と呼ばれる上限以下になる必要があります。条件を満たす結果は、他の人もすぐ検証できます。Bitcoin の規則を自ら確認するコンピューターである Full Node は、トランザクションも別に調べます。作業の証明だけでは、ブロックが有効とは限りません。
当たり券を賢い式で事前に計算できない抽選を想像してください。マイナーは候補ブロックのデータを何度も変えて ハッシュ を計算します。ほとんどの結果は不合格です。数値が現在の 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 を ヘッダー に圧縮して保存します。Difficulty は目標の厳しさを相対的に示すだけです。ゼロの数、ジュール量、特定マイナーの計算力割合ではありません。ブロックはすぐ見つかることも長く待つこともあり、規則が指定するのは結果であって実際の試行回数ではありません。 [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]
単独マイナーは有効ブロックを長く待つことがあるため、多くの機器が mining pool を使います。Pool はより簡単な内部 share target を設け、提出 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.