Public Keyとは何ですか?
Public Keyはウォレットの暗号技術の共有できる片方の部分です。人はこれを使ってあなたを見つけたり署名を確認したりできますが、秘密は隠されたままです。郵便受けのラベルのように、誰でも見られますが箱を開けられるのはあなただけです。
「誰かが私の Public Keyを知っていたらコインを奪われる」いいえ。送金するのはあなたの秘密鍵です。公開側は他人があなたの署名を確認したり資金の送り先を指定したりするためだけに使われます。
Public Keyの仕組み
簡潔な手順です。ブランチの後に友人へ暗号通貨を送る場面を想像してください。
- Step 1: ウォレットは秘密鍵を作り、その裏で対応するPublic Keyを計算します。
- Step 2: 送信ボタンを押すと、ウォレットは秘密鍵でトランザクションに署名し、ネットワークは公開側でそれを確認できます。
- Step 3: 友人が自分のアドレスの一つを共有します。アドレスはPublic Keyから派生した短い形式で、あなたはそのアドレスに支払います。
- Step 4: ノードは署名が公開情報と一致するか数学的に確認します。
- Step 5: 同じ仕組みはアプリへのログインやメッセージ認証などにも使えます。
これが流れです。明快で予測可能です。
Public Keyが重要な理由
暗号に興味があるだけでも知っておくと役立つ点を挙げます:
- 利点: オープンな信頼: 誰でも取引の検証ができ、秘密情報を見る必要はありません。
- 視点: ウォレットでのサインインやメッセージ検証の基盤になりますが、意味のない承認を求める偽物には注意してください。
- 関連性: オンチェーンの識別やDAOでの投票は同じ暗号鍵に依存することが多いです。
チェーンがアドレスを使う場合は、生のPublic Keyの代わりにアドレスを共有してください。同じ送り先で、プライバシーが高まり、コピーのミスも減ります。
Public Keyの主な特徴
これらの特性が仕組みを成しています:
- 共有可能: 投稿や送信しても安全です; それだけで資金を移動することはできません。
- 派生元: 秘密から難しい数学で導かれます; 逆算は現実的ではありません。
- 非対称: 一方の鍵で署名し、もう一方で検証する仕組みです。これにより公開検証が可能になります。
- フォーマット: ウォレットによって圧縮形式、非圧縮形式、xonly形式などがあります。
- 移植性: 同じチェーンと曲線をサポートするアプリ間で使えます。
Public Keyはどのように計算されますか?
ビットコインや多くのチェーンでは、公開点Kは秘密の数kと、secp256k1という楕円曲線上の既知の基準点Gの掛け算で計算されます。
K = k × G ここでkはあなたの秘密の整数、Gは合意された出発点で、すべての計算は有限体上で行われるためこのプロセスを逆にするのは極めて困難です。
表記の違い
よく見かける表現の違い:
- Compressed: x座標とyに関する小さな手がかりだけを残す短い形式。
- Uncompressed: xとyの両方の座標を含む長い形式。
- Xonly: Schnorrスタイルの署名でxだけが必要な場合に使われます。
共有しても問題ありませんが恒久性はあります。Public Keyを投稿して後でそれをあなたの身元と結びつけると、その関係は残ります。
例
友人のQRをスキャンしてUSDCを送るとします。QRはその友人のPublic Keyから作られたアドレスをエンコードしているため、資金は正しい場所に届きます。
豆知識
公開鍵暗号はDiffieやHellman、Rivest、Shamir、Adlemanらのおかげで広まりました; ビットコインはsecp256k1上の楕円曲線版を普及させ、この選択は今でもフォーラムで議論を呼んでいます。
まとめ
暗号の公開バッジのように考えてください: 共有しやすく、検証もしやすい。初対面の相手でもあなたの操作を信頼できるようにします。
