仮想通貨(暗号資産)の秘密鍵と公開鍵について
仮想通貨(暗号資産)のウォレットには2つのキー(鍵)が存在します。
これらは、データを暗号化したり解読したりするためのパスワードのようなものです。
仮想通貨(暗号資産)のウォレットで、この2つの鍵、「秘密鍵」と「公開鍵」を使用して仮想通貨(暗号資産)の送受信をしていきます。
今回は、この「秘密鍵」と「公開鍵」について解説していきたいと思います。
秘密鍵とは
秘密鍵とは仮想通貨(暗号資産)の取引を始める時に設定される文字列で、デジタル空間中での自己証明書のようなものです。
もっと簡単に言えば、ネット銀行で送金する際のパスワードと言ったところです。
仮想通貨(暗号資産)を送る時には、自分の秘密鍵を使う必要があり、自分の金庫を開けるための鍵とも言えます。
銀行のパスワードは、再発行が出来ますが、仮想通貨(暗号資産)秘密鍵の場合、忘れてしまう、または他の誰かに知られてしまうと、管理者がいないために、全て自己責任ということになります。
他人に知られてしまえば、勝手に仮想通貨(暗号資産)を送金されてしまいます。
公開鍵とは
公開鍵とは、ウォレットを通じて仮想通貨(暗号資産)を受け取るための必要な鍵です。
秘密鍵から作成されて、署名データが本当に正しいかを検証するために使用します。
仮想通貨(暗号資産)を送るためには、公開鍵を使って作られたウォレットアドレスというものを受け取り側から教えてもらい、そのアドレスを指定して送金します。
ウォレットアドレスは、銀行の口座番号のようなものです。
反対に仮想通貨(暗号資産)を受け取るためには、ウォレットアドレスを伝えて送金してもらいます。
秘密鍵から公開鍵を作ることは簡単ですが、逆に、公開鍵から元の秘密鍵を知ることは原則不可能です。
この一方向性が非常に重要で、昔は理論はあったものの実用化されていませんでした。
現在は、このアルゴリズムが発見されたことで、秘密鍵と公開鍵を用いた暗号方式が可能になっています。
送金の流れ
具体的に例で秘密鍵と公開鍵を使った送金の流れを挙げていきます。
AからBに0.01BTC送金するとします。
- Aの秘密鍵を元に公開鍵を作成
- AがBに0.01BTC送るという取引データ(トランザクション)とトランザクションを自分の秘密鍵を使用して暗号化したもの(電子署名)を作成
- ネットワーク上に、公開鍵・トランザクション・電子署名を公開
- 第三者(マイナー)は、公開されたトランザクションに添付された公開鍵を使用して、トランザクションに付いている電子署名が一緒であるかどうか検証
- 検証終了で送信完了
このように、公開鍵を使用してマイナーによる確認作業があるので、送金の信用や安全性の担保になっているというわけです。
秘密鍵の管理が非常に大切
仮想通貨(暗号資産)を送金する際には、電子署名が必要で、その署名データに送信者の秘密鍵を使用します。
つまり、送信者の秘密鍵が判明してしまえば、誰でも自由に送付出来てしまうということです。
秘密鍵を知られる=仮想通貨(暗号資産)が盗難される
ということですから、秘密鍵は厳重に保管する必要があります。
通常、秘密鍵は、業者(仮想通貨の取引所)が保管していますので、利用者は秘密鍵を管理することは出来ません。
ですので、取引所がハッキングに遭い、秘密鍵が盗み見されれば、自分の資産を奪われることとなります。
現在は取引所のセキュリティーも厳重にはなりましたが、リスク分散のために、ウォレットを使用して資産を分けておくことを考えておいたほうがいいでしょう。