パスワードも銀行もなく、ビットコインはどうやって「あなたのもの」になるのか
ビットコインにはIDも、パスワードも、銀行もありません。所有権はただ一つの数字 - 秘密鍵 - を知っていることで証明されます。ビットコイン全体を支える公開鍵暗号の原理を整理します。
ビットコインにはアカウントも、パスワードも、登録手続きもありません。誰がビットコインを所有しているかは、どのサーバーのデータベースにも記録されていません。所有権はただ一つ、秘密鍵(private key)という数字を知っていることで証明されます。この単純な事実を可能にする技術が、公開鍵暗号です。ビットコインのアドレス、署名、ウォレット、マルチシグ - ほぼすべての技術がこの土台の上に立っています。
2種類の暗号
暗号化には大きく分けて2つの方式があります。
対称鍵暗号(symmetric) は、1つの鍵で施錠し、同じ鍵で開けます。速くて単純ですが、致命的な弱点があります。離れた2人が安全に通信するには、まず同じ秘密の鍵を共有しなければなりません。ところが、その鍵自体をどうやって安全に届けるのか。盗聴されうる経路で鍵を送れば、その瞬間にセキュリティは崩れます。これが数千年にわたり暗号学を悩ませてきた鍵配送問題です。
非対称鍵暗号(asymmetric)、すなわち公開鍵暗号は、この問題を見事に解決します。鍵が1つではなくペアになっているのです。
- 秘密鍵(private key): 決して公開せず、自分だけで保管する数字
- 公開鍵(public key): 誰にいくら教えてもよい数字
2つの鍵は数学的に対になっていますが、公開鍵から秘密鍵を逆算することは事実上不可能です。だから公開鍵は世界中にばらまいても安全なのです。
一方向関数:簡単な方向と不可能な方向
公開鍵暗号の核心には一方向関数(one-way function) があります。一方向に計算するのは簡単ですが、逆方向に戻すのは計算的に不可能な関数です。
よくある例えは絵の具混ぜです。黄色と青を混ぜて緑を作るのは一瞬です。しかし、できあがった緑を見て元がどの黄色とどの青だったかを正確に分離するのは事実上不可能です。公開鍵は混ざった緑、秘密鍵はその中の元の色に相当します。
ビットコインの一方向関数:楕円曲線
ビットコインはこの一方向性を楕円曲線暗号(Elliptic Curve Cryptography, ECC) で実装しています。ビットコインが使う曲線の名前はsecp256k1です。
秘密鍵 k は単なる256ビットの乱数です。公開鍵 K は、曲線上の決まった基準点 G(生成点)に秘密鍵を掛けて得られます。
K = k × G
ここで × は普通の掛け算ではなく、楕円曲線上で定義された特殊な「点の加算」の繰り返しです。重要なのはその性質です。
kとGがわかれば、Kを求めるのは数ミリ秒で終わります。- 逆に
KとGがわかっても、kを求めるのは現在の技術では宇宙の年齢より長くかかります。
これを離散対数問題と呼びます。秘密鍵を安全にしているのは秘密の金庫ではなく、この数学的な非対称性です。
数字の大きさがそのままセキュリティ
秘密鍵は1から約1.158 × 10^77 の間の整数です。可能な秘密鍵の数は、観測可能な宇宙の原子の数(約10^80)に匹敵する規模です。地球上のすべてのコンピュータを動員しても、特定の秘密鍵を1つ無作為に当てる確率は事実上ゼロです。ビットコインのセキュリティは秘密ではなく、天文学的な数字の大きさに支えられています。
デジタル署名:秘密を明かさずに証明する
公開鍵暗号の本当の魔法はデジタル署名にあります。デジタル署名は2つのことを同時に保証します。
- 本人確認: このメッセージはその秘密鍵の持ち主が作った。
- 完全性: メッセージが一文字も改ざんされていない。
ビットコインで取引を送るとは、まさに「このビットコインをこう使う」というメッセージに秘密鍵で署名することです。
- 送信者は取引内容に秘密鍵で署名を作ります。
- ネットワークの誰もが送信者の公開鍵でその署名を検証できます。
- 検証が通れば、秘密鍵を一度も見ることなく、その鍵の持ち主が署名したことが証明されます。
秘密鍵はネットワークに決して露出しません。露出するのは公開鍵と署名だけで、それだけで所有権の証明が完結します。銀行員も、仲介者も、信頼すべき第三者も必要ありません。検証は純粋に数学です。
ビットコインでの全体の流れ
秘密鍵から出発して取引が完成するまでの連鎖は次のとおりです。
秘密鍵(256ビットの乱数)
│ 楕円曲線の掛け算(K = k × G)
▼
公開鍵
│ ハッシュ化(SHA-256 → RIPEMD-160 など)
▼
ビットコインアドレス
- ビットコインを受け取るとき: 相手はあなたのアドレス(公開鍵から派生)でロックされた出力を作ります。
- ビットコインを使うとき: あなたは秘密鍵で署名し、そのロックを解く権利を証明します。
この構造のおかげで、ビットコインは誰にでも受取アドレスを公開しながら、秘密鍵さえ守れば資産を安全にコントロールできます。
「あなた自身が銀行」の本当の意味
公開鍵暗号は、ビットコインの中核命題を可能にします。秘密鍵をコントロールする人がビットコインを所有する。 銀行口座のように、誰かの許可を得て残高にアクセスするのではありません。秘密鍵さえあれば、世界のどこからでも、どの機関の同意もなく資産を動かせます。
これは強力な自由であると同時に、重い責任です。秘密鍵を失えばビットコインも永遠に失います。秘密鍵を奪われれば資産も奪われます。「自分の鍵でなければ自分のコインではない(Not your keys, not your coins)」という格言は、まさにこの数学的事実から来ています。だからこそ、秘密鍵をどう生成し保管するかが、ビットコインの自己保管のすべてと言っても過言ではありません。
量子コンピュータは脅威か
十分に強力な量子コンピュータは、理論上は楕円曲線の一方向性を破ることができます(ショアのアルゴリズム)。ただし、その規模の量子コンピュータはまだ存在せず、ビットコインは事前に量子耐性のある署名方式へ移行できる余地を持っています。さらに、公開鍵をまだ一度も明かしていないアドレス(受取専用のアドレス)は、ハッシュの層がもう一枚守っています。当面の脅威というより、ビットコイン開発コミュニティが長期的に備える課題です。
関連する概念
- シードフレーズとHDウォレット - 無数の秘密鍵を一つのフレーズで管理する方法
- ビットコインアドレスの仕組み - 公開鍵がアドレスに変換される過程
- シュノア署名 - ビットコインの次世代デジタル署名
- マルチシグ - 複数の鍵で権限を分ける保安モデル
- 検閲耐性 - 鍵さえあれば誰にも止められない理由