₿ ビットコインが偽造できない理由
ハッシュ関数を図解で理解する

もふねこ

もふねこだよ。🐾 「ビットコインってデジタルなのに、なんでコピーされないの?」って思うよね。実は3つの技術が組み合わさって「偽造不能」を実現しているんだ。今日はこれを図解でわかりやすく説明するよ!

1. なぜ普通のデジタルデータはコピーできるのか?

まず根本的な疑問から。普通の画像ファイルや音楽ファイルはコピーし放題だよね。「コピーしたら元のデータが消える」なんてことはない。では、なぜビットコインはコピーできないんだろう?

📋

デジタルデータは本来「完璧なコピーが無限に作れる」性質を持っている。JPEGファイルを100個コピーしても品質は落ちない。だから「デジタルなお金」を実現するには、この「何度でもコピーできる」という問題を根本的に解決する技術が必要だったんだ。

ビットコインの発明者・サトシ・ナカモトは、この「二重払い問題(Double Spending)」を解決するために3つの技術を組み合わせたんだよ。


2. 「偽造不能」を支える3つの技術の柱

🔐
ハッシュ関数
データの「指紋」を生成。1文字でも変えると全く別の出力になるため改ざんが即バレ
🆔
デジタル署名
秘密鍵を持つ本人しか取引に「サイン」できない。偽の送金は検証で弾かれる
🌐
分散型台帳
世界中にある何万台ものコンピューターが同じ取引履歴を持つ。1か所書き換えても無意味

3. ハッシュ関数が「改ざんを即バレ」にする仕組み

ハッシュ関数は「どんなデータでも決まった長さのハッシュ値(指紋)に変換する」一方通行の関数だよ。詳しくはハッシュ関数の記事で解説しているけど、今回は「改ざん防止」の役割に絞って説明するね。

// ビットコインのブロックのイメージ(実際はもっと複雑)

ブロック#820000:
前のブロックのハッシュ: 0000000a3f2b...
取引データ: Alice→Bob 0.01BTC, Carol→Dave 0.5BTC...
このブロックのハッシュ: 000000071c9a...

ブロック#820001:
前のブロックのハッシュ: 000000071c9a... ← 前のブロックの値を記録
取引データ: Eve→Frank 1.2BTC...
このブロックのハッシュ: 00000008ab3c...

ここで「ブロック#820000」のAliceからBobへの送金額を書き換えようとすると何が起きるか?

  1. ブロック#820000のデータが変わる → ハッシュ値が全く別の値に変わる
  2. ブロック#820001に記録されている「前のブロックのハッシュ:000000071c9a...」と一致しなくなる
  3. ブロック#820001以降のすべてのブロックが芋づる式に無効化される
  4. 過去に遡って全ブロックを計算し直すには、全世界のコンピューターの総計算力の51%以上が必要(現実的に不可能)

4. デジタル署名が「なりすまし送金」を防ぐ仕組み

「ハッシュ関数でブロックは守れた。でも、誰かがAさんのふりをして、Aさんの残高から勝手に送金することはできないの?」という疑問が出てくるよね。

これを防ぐのがデジタル署名だよ。ビットコインを送金するには、送り主の「秘密鍵」で取引データに署名しないといけないんだ。

🖊️

手書きのサインと同じ仕組みをデジタルで実現したイメージだよ。あなたの「秘密鍵」は世界に1つしかない。その秘密鍵で作られた署名は、対応する「公開鍵」を使ってネットワーク全体が検証できる。秘密鍵なしで本人の署名を偽造することは、計算上不可能なんだ。

ビットコインの送金が発生するたびに、ネットワーク参加者全員が署名を検証するよ。署名がないor無効な取引は、全員からプロトコル違反として拒否されるんだ。


5. 分散型台帳が「一斉書き換え」を不可能にする

最後の砦が「分散型台帳」だよ。ビットコインの取引履歴は、世界中の1万台以上のノード(コンピューター)がそれぞれコピーを持っているんだ。

📚

「図書館が全国に1万館あって、全員が同じ本の同じページを持っている」とイメージしよう。自分の近所の1館の本を書き換えても、他の9,999館が正しい本を持っているから、「その書き換えた本は偽物」と即座にわかるんだ。

もし攻撃者が取引履歴を書き換えたいなら、世界中のノードの半数以上(51%)を同時にコントロールする必要がある。これは現実的に不可能なんだよ(「51%攻撃」と呼ばれる理論上の攻撃はあるけど、ビットコインのような大きなネットワークでは実現不可能に近い)。

📝 まとめ:ビットコインが偽造できない3つの理由

  1. ハッシュ関数:データのわずかな変更でもハッシュ値が変わり、改ざんが即座にバレる
  2. デジタル署名:秘密鍵を持つ本人しか送金できない。なりすましは計算上不可能
  3. 分散型台帳:世界中のコンピューターが同じ台帳を持ち、一部の改ざんは多数決で即却下

この3つが組み合わさることで、「コピーし放題のデジタルデータ」という壁を乗り越え、銀行なしで世界規模の決済が実現したんだよ🐾

もふねこ

仕組みを理解すると「なんで銀行がなくても成立するのか」がスッと腑に落ちるよね。技術的な信頼性があるから、ボクは2022年から積み立てを続けているんだ。価格の上下より仕組みへの信頼が一番の根拠だよ🐾

🐾

仕組みを学んだら、次は実践してみよう!

技術的に信頼できると分かったら、まずは少額の積み立てから。ボクが3年続けている設定手順を全部まとめたよ🐾

🔰 スマホで5分!Coincheck積立設定ガイドを読む
← 技術と仕組みに戻る