ビットコインの「堅牢性」「確かさ」を保証している技術は「ブロックチェーン」。
そして、もう1つは、ここで紹介する「暗号技術」です。
暗号技術では、
- 本人だけが知っている「秘密鍵」
- 参加者みんなが知っている「公開鍵」
- 暗号化の「一方向性」
このあたりの性質を知っておくことがポイントになります。
ポイントを絞って、分かりやすく解説します。
ほどほどに理解していきましょう!
ビットコインの「暗号技術でできること」
具体的な場面で、
所持コイン10BTCの「Aさん」から「Bさん」に3BTCの送金
した時を考えてみます。
この場合、台帳の上では
- Aさん:「10BTC持っている」
から
- Aさん:「7BTC持っている」
- Bさん:「3BTC持っている」
という状態に、ブロックチェーン上でデータベースを書き換えることになります。
この時、暗号技術によって、
- この処理をできるのは、Aさんだけである。
- そして、処理実行後は、Aさんもその記録を書き換える(改ざんする)ことはできない。
という2点が「暗号技術」で実現していることの”ミソ”になります。
仮想通貨・ビットコインで使われている「暗号技術のポイント」5つ
以下、仮想通貨・ビットコインで使われている「暗号技術のポイント」について。
「5つのポイント」に絞って、順番に解説していきます。
- アドレス
- 「公開鍵」と「秘密鍵」
- 「アドレス」と「鍵」の関係
- 暗号化する時の「一方向性」
- 送金を実行するときの「署名」
暗号技術のポイント【1】アドレス
- ビットコインの「アドレス」とは、ビットコインを使うための「口座番号」のようなもの。
- 「1または3」から始まる「27~34文字の英数字」。
ビットコインの「アドレス」とは、ビットコインを使うための「口座番号」のようなもの。
中身は「1または3」から始まる「27~34文字の英数字」であり、「QRコード」として見ることもあります。
アドレスは、
- こちらから別口座へ送付するときや、
- 逆に自分に送付してもらう場面
で目にします。
暗号技術のポイント【2】「公開鍵」と「秘密鍵」
- 「公開鍵」と「秘密鍵」は、ペアになって使われる。
- 「公開鍵」は、ブロックチェーン参加者みんなが知っている。
- 「秘密鍵」は、コインの所有者しか知らない。
アドレスは私たちがよく目にするのに対し、実際には「鍵」という別の姿で処理されています。
鍵には「公開鍵」と「秘密鍵」の2種類があります。
アドレス・公開鍵がみんなが知っている「口座番号」であるもの。
これに対し、秘密鍵はコインの所有者しか知らないもので「暗証番号」に相当します。
自分のアドレスのコインを他のアドレスに移動する(送金する)ためには、秘密鍵が必要となります(=コインは所有者本人しか移動できない)。
暗号技術のポイント【3】「アドレス」と「鍵」の関係
「①秘密鍵」を暗号化することで、「②公開鍵」が作られる。
「②公開鍵」を暗号化することで、送付先の「③アドレス」が作られる。
「①秘密鍵⇒②公開鍵⇒③アドレス」の順番で暗号化して、作られていきます。
暗号技術のポイント【4】暗号化する時の「一方向性」
- 暗号化には順番がある(一方通行)。逆方向はムリ。
- 「①秘密鍵⇒②公開鍵」や「②公開鍵⇒③アドレス」を生成するのは、簡単。
- 「②公開鍵⇒①秘密鍵」や「③アドレス⇒②公開鍵」を作るのは、不可能。
秘密鍵(暗証番号)が知られると、アウト!
なので、
公開されている「②公開鍵」や「③アドレス」⇒「①秘密鍵」
の方向で推測できることは、あってはならないこと。
暗号技術の【3】【4】の特ちょうより、
「3つのデータには作る順番があり、大元の「①秘密鍵」は自分しか知りえない」
というのがミソですね。
まぁ、ややこしい数字の性質によって、暗号技術が「安全」になってるんだなーーぐらいの理解でOKです!
暗号技術のポイント【5】送金実行時の「署名」
- 送金時、「公開鍵」をネットワーク上に公開し、この時、コインの所有者は「署名」する。
- 「署名」は、秘密鍵を持った者しか実行できず、時間とともに記録される(タイムスタンプ)。
【まとめ】仮想通貨・ビットコインに使われている「暗号技術」
ここまで見てきた【1】〜【5】によって、「公開鍵+署名」がセットになった取引は、
- 「たしかに所有者本人が実行したこと」
- 「署名後、取引の中身が改ざんされていない」
この2点が証明されます。
これが1つの取引記録(トランザクション)となって、ブロックチェーンの中に組み込まれていく、ということですね。