学ぶ

SHA-256とは?ビットコインを支えるアルゴリズム

SHA-256はビットコインの取引、ブロックヘッダー、マイニングパズルを支える暗号ハッシュ関数。仕組みと2026年も安全である理由を解説します。

Updated Jun 18, 2026
SHA-256とは?ビットコインを支えるアルゴリズム

SHA-256 は SHA-2 ファミリーに属する暗号学的ハッシュ関数で、ビットコインが任意の入力を 256 ビットの固定長出力(16 進数 64 文字)に変換するために用いています。すべてのビットコイン取引 ID、すべてのブロックヘッダー、そしてすべてのマイニングパズルの背後にある数学エンジンです。SHA-256 は 2001 年に NSA が設計し、NIST 規格として公開されて以来、20 年以上にわたり実用的な攻撃を退けてきました。

256 ビット出力、任意入力 決定論的、一方向、衝突困難性 NIST FIPS 180-4 規格
任意の入力データが SHA-256 ハッシュ関数を通り、固定長 64 文字の 16 進ダイジェストを生成する図

やさしく説明する SHA-256

暗号学的ハッシュ関数はいわば数学のミンサーです。1 文字から 4 GB の動画ファイルまで、何を入れても固定長の指紋が出てきます。SHA-256 の指紋は常にちょうど 256 ビットで、人間が読みやすいように 16 進数 64 文字として表記されます。

「256」は出力サイズをビット単位で表しています。「SHA」は Secure Hash Algorithm(安全なハッシュアルゴリズム)の略です。SHA-256 は NIST が Federal Information Processing Standard 180-4 で定めた SHA-2 ファミリーに属し、地球上のどの開発者同士でも、同じ入力から完全に同じ出力を計算できるようにする公開規格です。

実際の動作はこのようになります。文字列 hello を SHA-256 に通すと、どの言語でも、どのデバイスでも、毎回次のダイジェストが得られます。

入力

hello

SHA-256 ダイジェスト

2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

1 文字だけ変えて H を大文字にした Hello を入れると、ダイジェストはまったく無関係に見えるものへと変化します。この一貫性こそ、SHA-256 を改ざん検知用の封印として有用にする性質です。入力をたった 1 ビット変えるだけで、得られる出力は他の人が期待するものと一致しなくなります。

SHA-256 を有用にする 4 つの性質

すべてのハッシュ関数が暗号学的なわけではありません。SHA-256 がその称号を得ているのは、4 つの性質を同時に満たすからです。各性質は特定種類の攻撃を阻止しており、どれか 1 つでも失われれば、ビットコインで使うには安全ではなくなります。

1. 決定論的

同じ入力からは常に同じ出力が得られます。東京のスマートフォンでも、トロントのノートパソコンでも、hello をハッシュすれば 64 文字のダイジェストは完全に一致します。この性質がなければネットワークのコンセンサスは成立しません。

2. 一方向性(pre-image 耐性)

ダイジェストから入力を逆算することはできません。任意のダイジェストに対応するメッセージを見つける唯一知られた方法は総当たりであり、その探索空間は 2^256 ── 観測可能な宇宙の原子数を上回る数です。

3. アバランシェ効果

入力ビットを 1 つ反転させると、出力ビットの約半分がランダムに変化します。勾配もパターンもなく、入力をターゲットダイジェストに「近づける」方法はありません。これがマイナーに 1 つずつ nonce を当てさせている仕組みです。

4. 衝突困難性

同じダイジェストになる 2 つの異なる入力を見つけることは計算量的に不可能です。NIST によれば SHA-256 は約 128 ビットの衝突耐性を提供しており、20 年以上の公開検証でこの数値を狭める既知の攻撃は存在しません。

ビットコインが SHA-256 を使う 3 つの場所

SHA-256 はビットコインの中の些細な補助部品ではありません。チェーン全体がその上に成り立つ基本要素(プリミティブ)です。重要なのは 3 つの具体的な用途で、それぞれが上記 4 つの性質の異なる組み合わせに依存しています。

トランザクション ID

すべてのビットコイン取引は、シリアライズされたデータの double-SHA-256 によって識別されます。このダイジェスト(「txid」)が、支払いを追跡するためにブロックエクスプローラーへ貼り付ける一意の指紋です。

ブロックヘッダーとマークルルート

各ブロックは前のブロックを SHA-256 ダイジェストで参照することで、blockchain の「鎖」を作ります。ブロック内のトランザクションもマークルツリーに沿ってペアごとにハッシュされ、最上位のハッシュがヘッダーに埋め込まれます。

マイニングパズル

マイニングとは、結果がある目標値を下回るまで、ブロックヘッダーに対して SHA-256 を二重に何度も実行する作業です。勝ったマイナーがブロック報酬 ── 現在は 3.125 BTC ── を獲得します。

もう 1 点付け加えるべきことがあります。ビットコインはほぼ常に SHA-256 を 1 回だけ 使うことはありません。サトシはトランザクション ID とマイニングの両方に double-SHA-256 ── SHA-256(SHA-256(x)) ── を選びました。二重ハッシュには拡張攻撃の一種に対する適度な安全マージンが加わり、計算コストの増加はわずかです。ユーザー視点では、「ビットコインのハッシュ関数」とは事実上「2 回実行される SHA-256」のことです。

実働中の SHA-256 · ライブマイニングターミナル · 2 日間無料トライアル

SHA-256 が 1 秒間に何十億回も走る様子をご覧ください

理論ではすでにアルゴリズムをご覧いただきました。実際に動く様子を最も早く見る方法は、NoxHash の 2 日間 Basic Miner 無料トライアルです ── 預り金もカードも不要です。CGMiner ターミナルを開けば、本物の SHA-256 ハッシュレートが TH/s 単位で、double-hash ごとに上昇していくのが見られます。

ビットコインのマイニングパズルを示すイラスト:ブロックヘッダー、候補ハッシュ、ターゲット閾値

1 文で言うマイニングパズル

マーケティングの装飾を取り払うと、ビットコインのマイニングはひとつの算術レースに帰着します。SHA-256(SHA-256(ブロックヘッダー)) が現在の target より小さいダイジェストを生むような数(nonce)を見つける。それだけです。賢い手はありません ── 推測、ハッシュ、確認、繰り返しを、地球上の誰よりも速くこなすしかありません。

アバランシェ効果のため近道はありません。nonce を 1 ビット反転させると、前回とは無関係なまったく新しいダイジェストが得られます。唯一の戦略は、ハードウェアが許す限り 1 秒あたり多くの nonce を試すことです。この速度を ハッシュレート と呼び、単位は TH/s(毎秒 1 兆回のハッシュ)です ── 最新の Antminer S21 はおよそ 200 TH/s、消費電力は 3,500 W ほどです。

target は 256 ビットの数値で、ネットワークが 2,016 ブロック(約 2 週間)ごとに調整し、すべてのマイナー合計で平均 10 分に 1 ブロックの有効ブロックが見つかるようにします。世界全体のハッシュレートが増えれば? target は縮小し、パズルは難しくなります。マイナーが離れれば? target は広がり、パズルは易しくなります。自己調整するサーモスタットのようなものです。

候補ハッシュ(不合格 ── 大きすぎる)

8a7b3e19ff4c2a5b9e1d0c8f2a6b4e7d3f1c5a8b9e2d4f7c1a3b5e8d9f2c4a6b

勝ちハッシュ(合格 ── 先頭に十分なゼロ)

00000000000000000002a1b8c9d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1

「勝ち」のビットコインブロックハッシュは通常、16 進で約 19 個の先頭ゼロから始まります ── 正確な閾値はネットワークの target が決定します。

桁感を示す例を 1 つ。2026 年の世界全体のハッシュレートは約 800-900 EH/s、difficulty は約 110-120 T 程度です (Bitcoin Wiki のブロックハッシュ参考資料の公開データに基づきます)。 ネットワーク全体は 10 分に 1 ブロックを生み出すためだけに、1 秒あたりおよそ 10^21 回の SHA-256 計算 を行っています。これが「proof of work」の実際的な意味であり、膨大な量の SHA-256 が確かに計算されたという証拠です。

2026 年でも SHA-256 は安全ですか?

短い答えは:はい ── 20 年以上の公開暗号解析でも実用的な攻撃は登場していません。ビットコインの安全性がこれに依存しているので、もう少し長めの答えも知っておく価値があります。

SHA-256 は米国国家安全保障局が設計し、NIST が 2001 年に公開しました。何万人もの学術暗号研究者、政府機関、敵対的研究者が精査してきました。今日知られている最良の攻撃は、ラウンド数を減らした変種に対するもの(SHA-256 は内部で 64 ラウンドを実行し、約 31 ラウンドへの攻撃が存在)にとどまります。ビットコインが使用する完全なアルゴリズムに対しては、依然として総当たりが唯一の手法です。

では 量子コンピューター はどうでしょうか? グローバーのアルゴリズムは理論上、ハッシュ関数への総当たりの指数を半分にします ── SHA-256 の実効的な pre-image 耐性を 2^256 から 2^128 演算へと下げる計算です。それでも天文学的な数字であり、現行の量子ハードウェアではその規模でグローバーを動かすには程遠いのが実情です。ビットコインでは、ハッシュ処理よりも 署名(ECDSA)のほうが量子リスクにさらされやすいです。

マイナーや保有者にとっての本質的な要点は次のとおりです。ビットコインは SHA-256 のセキュリティを継承します。もし SHA-256 に実用的な攻撃 ── 例えば多項式時間で本物の衝突を見つける手法 ── が現れたら、それはビットコインだけを壊すのではありません。TLS、コード署名、現代暗号の大部分が崩れます。マイニング業界は心配の中で最も小さな部類になります。今日そのような攻撃は存在せず、差し迫ってもいません。

Antminer S21 · 200 TH/s · 産業用電力 $0.035/kWh

ハードウェアを買わずに SHA-256 のハッシュレートを稼働させる

ASIC を所有していてもレンタルしても、計算は同じです。NoxHash はカザフスタンのデータセンターで産業用電力を用いて Antminer S21 シリーズを 12-17.5 J/TH で稼働させています ── 月額 $20 からハッシュレートをレンタルしていただき、マイニングされた BTC はお客様のウォレットに入ります。

よくある質問

SHA-256 は何の略ですか?

SHA-256 は Secure Hash Algorithm, 256-bit の略です。米国国家安全保障局が設計し、NIST が 2001 年に FIPS PUB 180-4 規格として公開した SHA-2 ファミリーに属します。256 はビット単位の固定出力サイズ、すなわち 16 進数 64 文字を意味します。

なぜビットコインは SHA-256 を 1 回ではなく 2 回ハッシュするのですか?

二重ハッシュ ── SHA-256(SHA-256(x)) ── は、単一ハッシュ構造を脅かす length-extension 攻撃を防ぎます。サトシは 2008 年に保守的な選択としてこれを採用しました。1 回追加することで計算コストは 2 倍になりますが、強固な安全マージンが得られるため、トランザクション ID とマイニングの両方で double-SHA-256 が使われます。

SHA-256 を逆算することは可能ですか?

実用的にはできません。SHA-256 は一方向関数です ── 256 ビットのダイジェストが与えられたとき、それを生み出す入力を見つけるにはおよそ 2^256 通りを探索する必要があり、これは観測可能な宇宙の原子数を超えます。20 年に及ぶ解析でも、これを逆算する数学的近道は公的に知られていません。

量子コンピューターは SHA-256 とビットコインを破りますか?

SHA-256 を直接破るわけではありません。グローバーのアルゴリズムは実効安全指数を 2^256 から 2^128 へと半減させますが、それでも到達は遠い数字です。ビットコインの署名(ECDSA)はより差し迫った量子リスクを抱えていますが、現行ハードウェアはその閾値からほど遠く、ポスト量子へのアップグレードは活発に研究されている分野です。

SHA-256 はビットコインが使う唯一のハッシュ関数ですか?

いいえ。SHA-256 はブロックハッシュ、トランザクション ID、マイニングパズルを担います。ビットコインアドレスはこれに加えて SHA-256 ダイジェストの上に RIPEMD-160 を適用し、より短い 160 ビットの指紋を作ります。署名は secp256k1 曲線上の ECDSA で行われており、これはハッシュとは完全に別の暗号原始関数です。

最新のマイニング機材で SHA-256 はどのくらい速いですか?

非常に高速です。Antminer S21 ASIC 1 台は、17.5 J/TH の効率で 1 秒あたり約 200 兆回の double-SHA-256 ハッシュを計算します。2026 年時点でビットコインネットワーク全体は約 800-900 EH/s ── 桁感としては毎秒 10^21 回のハッシュを生み出しており、たった 1 つのアルゴリズムを動かす専用シリコンが集まった結果です。

教育コンテンツであり投資助言ではありません

この記事は SHA-256 を暗号学的概念として、またビットコインにおける役割として説明するものです。財務、法律、セキュリティに関する助言ではありません。本文中のネットワーク統計(ハッシュレート、difficulty、ブロック報酬)は 2026 年 4 月頃の状況を反映しており、変動します。ビットコインのマイニング収益は BTC 価格、ネットワーク難易度、ハードウェア効率に依存し ── すべて個人の制御外です。失っても困らない範囲の資金のみを投じ、投資や税務の判断を行う前には資格のある専門家にご相談ください。