公開鍵(パブリックキー)
別名: パブリックキー · public key
定義
公開鍵とは、秘密鍵から計算される暗号の鍵で、取引の署名が正しい秘密鍵で作られたかを誰でも検証できるようにするものです。
公開鍵の仕組み
公開鍵暗号では、秘密鍵と公開鍵がペアになります。秘密鍵から公開鍵は簡単に計算できますが、公開鍵から秘密鍵を逆算することは事実上できません。ビットコインやイーサリアムでは楕円曲線暗号が使われています。
取引を送ると、ネットワークのノードは公開鍵を使って署名を検証します。これにより、秘密鍵を公開しなくても「このアドレスの持ち主が承認した取引だ」と全員が確認できます。
ウォレットアドレスは、多くの場合、公開鍵をハッシュ関数で短く変換したものです。ふだん利用者が公開鍵を直接扱う場面は少なく、相手に伝えるのはアドレスの方です。
具体例
イーサリアムでは、秘密鍵から64バイトの公開鍵が計算され、それをハッシュ化した結果の最後の20バイトがアドレスになります。20バイトは16進数で40文字なので、先頭の0xを含めて42文字のアドレスになります。あなたが友人に伝えるのはこの42文字のアドレスで、公開鍵も秘密鍵も伝える必要はありません。
よくある失敗
- 公開鍵と秘密鍵の名前が似ているため、秘密鍵を「公開してよい鍵」と勘違いすること。
- 公開鍵とウォレットアドレスがまったく同じものだと思い込むこと。
- 拡張公開鍵(xpub)を気軽に共有し、全アドレスの残高や履歴を知られてしまうこと。
学んで試す
よくある質問
公開鍵を他人に知られても大丈夫ですか?
公開鍵から資産を動かすことはできません。ただし、拡張公開鍵などは関連する全アドレスを特定できるため、プライバシーの観点では慎重に扱いましょう。
公開鍵とアドレスの違いは何ですか?
アドレスは多くの場合、公開鍵をハッシュ化して短くし、入力ミスを防ぐ仕組みを加えたものです。送金を受け取るときに使うのはアドレスです。