cypher256's blog

Pleiades とか作った

ビットコインの仕組み:たった9ページで世界を変えた論文

2008年、謎の人物サトシ・ナカモトが、たった9ページの論文を発表した。 タイトルは「Bitcoin: A Peer-to-Peer Electronic Cash System」。 この論文が、世界の金融システムを揺るがすことになる。
サトシナカモト:ビットコインが残した意志と量子コンピュータの衝撃


「デジタルのお金」が不可能だった理由

現金には、ひとつだけ絶対的な強みがある。

コピーできないということ。

1万円札を誰かに渡したら、自分の手元からは消える。当たり前だ。でも、デジタルデータは違う。音楽も動画も、クリックひとつで無限にコピーできる。

じゃあ「デジタルのお金」はどうなる?

AさんとBさん、両方に同じ1万円を送れてしまう。これが「二重支払い問題」。デジタル通貨の最大の壁だった。

従来の解決策は単純——銀行に任せる。銀行が「Aさんの残高を減らして、Bさんに足す」と記録すればいい。でも、それって結局「銀行を信用しろ」という話だ。

サトシは、銀行なしでこの問題を解いた。


コインの正体:「署名のリレー」

ビットコインには、実は「コイン」という実体がない。

あるのは「誰が誰に送った」という署名の連鎖だけ。

Aの署名 → Bの署名 → Cの署名 → ...

AがBに送るとき、Aは「Bに送る」と書いて自分の秘密鍵で署名する。Bはその署名を検証できる。Bが次にCに送るときも同じ。

つまりビットコインとは、「この権利は私のものだ」という署名が連なったもの。コインを「持っている」のではなく、「次に署名する権利を持っている」。


誰が正しい記録を持っているのか?

署名のリレーだけでは、まだ問題がある。

Aが「Bに送った」と署名した直後に、「Cに送った」とも署名したらどうなる?どちらが本物?

銀行なら「先に届いた方」と判定できる。でもビットコインには銀行がいない。世界中のコンピュータが、バラバラに記録を持っている。

全員が「同じ順序」で合意する仕組みが必要だった。

サトシの答えは「ブロックチェーン」。取引をブロックにまとめ、チェーンのように繋げる。

ブロック1 → ブロック2 → ブロック3 → ...

各ブロックには、前のブロックの「指紋」(ハッシュ)が刻まれている。過去を改ざんするには、それ以降のすべてのブロックを作り直す必要がある。

でも、誰がブロックを作るのか?


「計算した者が記録する」というルール

ここからが、サトシの天才的な発想。

ブロックを作る権利を、計算競争で決める。

具体的には、ブロックのハッシュ値が特定の条件を満たすまで、ひたすら計算を繰り返す。条件は「ハッシュの先頭にゼロが並ぶこと」。

ブロックデータ + ナンス値 → ハッシュ関数 → 0000000abc123...
                                              ↑
                                     先頭のゼロが条件を満たすまで
                                     何兆回も計算を繰り返す

この計算には膨大な電力と時間がかかる。だから「計算した」こと自体が「労働の証明」になる。これがProof of Work(PoW)。

最初に条件を満たしたノードが、ブロックを作る権利を得る。そして全員がそのブロックを採用する。

悪意ある改ざんをするには、正規のチェーンより速く計算し続けなければならない。ネットワーク全体の過半数を超える計算力がない限り、事実上不可能。


なぜ「正直」がいちばん得なのか

でも、そもそもなぜ人々は正直に計算するのか?

報酬があるからだ。

ブロックを最初に作ったノードには、新規発行されるビットコインが与えられる。最初は1ブロックあたり50BTC。約4年ごとに半分になり、最終的には2100万BTCで打ち止め。

さらに、ブロックに含まれる取引の手数料ももらえる。

計算してみよう。もし悪意ある攻撃者が、ネットワークの過半数の計算力を手に入れたとする。その力で何をする?

  • 選択肢A:過去の取引を改ざんして、自分に有利にする
  • 選択肢B:正直にマイニングして、報酬をもらい続ける

Aを選ぶと、ビットコインの信頼が崩壊し、価値がゼロになる。

Bを選べば、莫大な計算力で大量のビットコインを正当に獲得できる。

どちらが得か?答えは明らかだ。

システムは「正直が最も儲かる」ように設計されている。


全取引を保存しなくていい理由

ビットコインブロックチェーンは、2024年時点で約600GB以上ある。全部保存するのは大変だ。

でも実は、すべてを保存する必要はない。

マークルツリーという構造を使えば、ブロックヘッダ(約80バイト)だけで、任意の取引の存在を証明できる。

        ルートハッシュ(ブロックヘッダに含まれる)
           /          \
      Hash01          Hash23
       /   \           /   \
   Hash0  Hash1   Hash2  Hash3
     |      |       |      |
   取引0  取引1   取引2  取引3

自分の取引が本当にブロックに含まれているか確認したい?ルートまでの経路(数個のハッシュ)があれば十分。だからスマートフォンでもビットコインを使える。


プライバシーの逆転

銀行は、取引記録を秘密にすることでプライバシーを守る。

ビットコインは逆だ。すべての取引が公開されている。

じゃあプライバシーはどこにある?

「誰が」の部分が匿名なのだ。

取引は公開。でも、その公開鍵が誰のものかは分からない。新しい取引ごとに新しいアドレスを使えば、追跡はさらに困難になる。

従来の銀行: 本人 ←→ 取引(非公開)←→ 銀行が管理
ビットコイン: 匿名の公開鍵 ←→ 取引(公開)←→ 誰でも検証可能

「6承認」の数学的根拠

ビットコインの送金は6承認待て」という話を聞いたことがあるかもしれない。なぜ6なのか?

論文には、攻撃者が正規チェーンに追いつく確率の計算が載っている。

承認ブロック数 攻撃者の計算力30%の場合
1 45%
5 10%
6 2.4%
10 0.14%

6承認で、攻撃成功率は約2%まで下がる。これが「6承認」の根拠。


たった9ページで何を成し遂げたのか

ビットコイン論文の本質を5行でまとめる:

  1. 電子署名で「誰が誰に送ったか」を証明
  2. ブロックチェーンで取引の順序を全員で共有
  3. Proof of Workで改ざんを計算的に不可能に
  4. 経済的インセンティブで正直な行動が最も得になる設計
  5. P2Pネットワークで銀行という中央管理者を不要に

銀行への「信頼」ではなく、数学と経済合理性で動く通貨システム。

これが、サトシ・ナカモトがたった9ページで設計したものだ。


関連リンク