仮想通貨を支える技術としてはブロックチェーンが注目されていますが、「暗号化技術」も非常に重要な要素です。
特に暗号化は、ビットコイン等の仮想通貨における、口座番号、ウォレットと非常に結びつきが強いため、セキュリティ意識を高めるためにも、仕組みを理解しておくことが非常に重要です。
本記事では、仮想通貨を取引している人の目線で、最低限知っておくべき暗号化の仕組みをシンプルに解説します。
仮想通貨と暗号通貨
ビットコインやアルトコインなどの仮想通貨は英語にすると、”Cryptocurrency(クリプトカレンシー)”と訳します。
Crypto(暗号文の)
+
Currency(通貨)
という意味からもわかるように、Cryptocurrencyは直訳すると、”仮想通貨”ではなく”暗号通貨”が正しい訳と言えます。
日本では分かりやすさを優先してか、”仮想通貨”と呼ばれるようになりました。
ちなみに、仮想通貨を英訳すると、
Virtual(仮想の)
+
Currency(通貨)
になりますが、Virtual Currencyは、一般的には電子マネーなどの、デジタルマネーをあらわす用語です。
海外と日本で用語の使われ方が異なるので、まとめると以下の図のようなイメージで、日本では、暗号通貨=仮想通貨と理解しておけばよいかと思います。
ビットコインやアルトコインなどの仮想通貨とは、暗号通貨のことであることが分かったところで、Wikipediaの仮想通貨の定義を見てみましょう。
A cryptocurrency (or crypto currency) is a digital asset designed to work as a medium of exchange that uses cryptography to secure its transactions, to control the creation of additional units, and to verify the transfer of assets. Cryptocurrencies are a type of digital currencies, alternative currencies and virtual currencies.
(簡易訳)
暗号通貨(クリプトカレンシー)とは、取引の安全確保、通貨発行のコントロール、資産の移転の検証をするために暗号技術を用いた、交換手段として機能するデジタル資産のことである。暗号通貨(クリプトカレンシー)は、デジタル通貨、代替通貨、仮想通貨の一種である。
とあるように、仮想通貨(=暗号通貨)とは、暗号技術をベースとした通貨であり、暗号化が非常に重要な要素です。
暗号化技術は、軍事技術との関連が深いことから、その歴史は数千年前にさかのぼり、非常に奥が深いですが、この記事では、仮想通貨の暗号化技術でこれだけは知っておいてほしい事にしぼって説明していきたいと思います。
具体的に知りたい方は、「サイモン・シン著の暗号解読」などを読んでみるといでしょう。
2種類の特殊な鍵がペアになっている
仮想通貨で使われる暗号化技術は、
公開鍵暗号方式(Public Key Cryptography)
で、インターネットの通信の暗号化や電子署名などで昔から幅広く使われている技術です。
なんだか難しそうな技術ですが、最低限、以下の2つの特徴だけ知っておくとよいでしょう。
(こんなことを言うと技術者の人に怒られてしまう気もしますが、分かりやすさ優先で重要なポイントに絞ります。)
2種類の鍵がペアになっている
公開鍵暗号方式は、2つの鍵がペアで1セットの鍵となっており、それぞれ以下のように呼びます
・1つ目の鍵A:公開鍵(Public Key)
・2つ目の鍵B:秘密鍵(Private Key)
重要なのは2つの鍵がペアになっていることです。
鍵のかけ方と開け方
2つの鍵Aと鍵Bにはとても重要な特徴があります。それは、
鍵Aで鍵をかけた(暗号化した)場合は、鍵Bでしか鍵を開ける(複合する)ことができない。(鍵Aでも開けられない)
ということです。
また、その逆も同様、
鍵Bで鍵をかけた(暗号化した)場合は、鍵Aでしか鍵を開ける(複合する)ことができない。(鍵Bでも開けられない)
が成り立ります。
まずは、この2点を抑えた上で、それぞれの鍵が仮想通貨でどのような役割を果たしているかを見てみましょう。
1つ目の鍵A(公開鍵)は口座番号
1つ目の鍵A(公開鍵)は、その名から分かるように、第三者に公開する鍵です。
ビットコインではこの公開鍵をビットコインアドレスとして利用しています。
正確には、公開鍵は256桁のゼロとイチを並べた形で表現されますが、それではあまりにも利便性が悪いので、27~34桁の文字に変換したものを使っています。
公開鍵
01010001・・・(省略)・・・101(256桁でとても扱いづらい・・・!)
↓
ビットコインアドレス
1E3Abwqtoq6jT2Q1jBG1vJvC8eNYgTFGcL(27~34桁に変換して利便性が向上)
ビットコインを受け取るときには、このビットコインアドレスを相手に教えることで振り込んでもらう仕組みになっています。
つまり、
ビットコインアドレスは、銀行の口座番号のようなものと考えればよいでしょう。
2つ目の鍵B(秘密鍵)はパスワード
2つ目の鍵B(秘密鍵)は、その名から分かるように、自分だけが秘密に持っておく鍵です。
この秘密鍵を自分だけが知らないことによって、世界中に公開されているビットコインアドレスが自分の所有であることがわかるのです。
簡単に言うと、
秘密鍵はビットコインアドレスの口座番号を証明するためのパスワードのようなものです。
ご参考までに、ビットコインアドレスが自分のものであると証明するのは以下の手順です。
1)取引データを準備する
2)秘密鍵Bをつかって、取引データを暗号化する(Bで鍵をかける)
3)取引データ+暗号化された取引データを公開する
4)暗号化された取引データを、公開鍵Aで複合(Aで鍵を開けた)結果が、取引データと一致すれば、そのビットコインアドレスが正当な所有者であることがわかる
ちなみに、仮想通貨の保管などに使われるウォレットの本質的な機能は、上記の秘密鍵Bを安全に保管することです。
ウォレットと聞くと、中にお金のデータが入っているように誤解されがちですが、実はウォレットの中身には、鍵(パスワード)が入っているのです。
まとめ
本記事では仮想通貨(=暗号通貨)を支える暗号化技術についてポイントを紹介しました。
仮想通貨ではセキュリティ意識を高めておくことが重要ですが、その根源のひとつでもある暗号化について正しく理解しましょう。
この記事が参考になりましたら、ぜひTwitterのフォローをお願いします。記事作成の励みになります。
人気記事もあわせてどうぞ
-
【完全版】図解!わかりやすいブロックチェーン技術の仕組み〜仮想通貨を支える技術
ビットコインや仮想通貨を支える技術のブロックチェーン(Blockchain)、聞いたことはあるけど正しく理解できていない人も多いのではないでしょうか。 この記事では、ブロックチェーンの仕組みについて図 ...