公開鍵と秘密鍵:暗号資産におけるPKCの理解

| 重要なポイント: |
| — 公開鍵と秘密鍵の目的は、トランザクションが本当に資金の所有者によって署名されており、偽造されていないことを証明することにあります。 — 暗号資産を所有する際、実際に所有しているのは、所有者が関連する暗号資産を使用する権利をロック解除する“秘密鍵”です。 秘密鍵があると暗号資産が使えるようになるため、厳重に保護する必要があります。 — 秘密鍵を所有している限り、公開鍵を復元することは可能。 ただし、公開鍵だけでは秘密鍵を見つけることはできません。 |
暗号資産を少し始めてみた方は、暗号資産ウォレットが一体どのように機能しているのか疑問に思っているかもしれません。 そう思うのはあなただけではありません。暗号資産ウォレットは、理解するのが最も簡単な技術というわけではないからです。
もちろん、暗号資産ウォレットの仕組みには多くの側面があります:動作を許可する根底にあるブロックチェーン技術、トランザクションを開始するために使用するデバイス、そしてそのデバイスがネットワークとどのように相互作用するか、などです。 しかし、暗号資産ウォレットについて深く理解したいのであれば、まずはブロックチェーン上での仕組みから始めるのがよいでしょう。
すでにご存知かもしれませんが、暗号資産ウォレットは公開鍵と秘密鍵を使用して動作します。 しかし、公開鍵と秘密鍵が暗号資産よりもはるか昔から存在していたことをご存知でしょうか? これはすべて、公開鍵暗号化(PKC)または非対称暗号化と呼ばれる暗号学の概念のおかげです。
しかし、それは一体何なのでしょうか?
公開鍵と秘密鍵の起源
PKCの一般的な目的は、悪意のある者が存在する可能性のある公開チャネルにおいて、デジタル署名を用いて安全でプライベートな通信を可能にすることです。
そうすることで、PKCはプロセスの逆転をほぼ不可能にしながら、ある状態から別の状態への遷移を許可します。 このプロセスにより、シークレットを第三者に開示することなく、シークレットへのアクセス権を持っていることを証明できます。 これを成功させるために、PKCは「Trapdoor function」と呼ばれる重要な一方向の数学的概念を使用しています。 簡単に言えば、Trapdoor functionは一方向への計算は容易であるものの、逆方向の計算はほぼ不可能な数学の問題です。 本質的に、Trapdoor functionは偽造が不可能であることを意味するため、真正性の検証に最適です。
この問題を解くには、コンピューターが正解を計算するまでに膨大な時間(数千年)を必要とします。 PKCの文脈では、素因数分解のような数学的トリックは、暗号署名のリバースエンジニアリング(偽造)を不可能にするTrapdoor functionです。 本質的に、これはコンピューターに事実上解くことが不可能な数学の問題を解かせることになります。
安全を維持するため、PKCは2つの鍵モデル:公開鍵と秘密鍵に依存しています。 この2つの重要なコンポーネントが連携することで、重要な情報を安全に保護します。 しかし、それが暗号資産とどう関係しているのでしょうか?
暗号資産における公開鍵と秘密鍵
実のところ、パブリックブロックチェーンが機能するには、秘密鍵と公開鍵が不可欠です。 暗号資産において、PKCはトランザクションが偽造されたものではなく、資金の所有者によって署名されたものであることを証明するために使用されます。
では、それはすでにご存知のブロックチェーン技術とどのように結びつくのでしょうか? そして、トランザクションに「署名」するとは、一体どのようなことを意味するのでしょうか? まずは、暗号資産ウォレットにおける公開鍵と秘密鍵の仕組みをおさらいしましょう。
暗号資産ウォレットにおける公開鍵と秘密鍵
通常、暗号資産ウォレットはそれぞれ、秘密鍵と公開鍵を使用します。 明確にしておくと、公開鍵は誰とでも共有できます。 逆に、秘密鍵は、そのパブリックアドレスに保管されている資金へのアクセスを誰にでも許可するコードです。
しかし実際には、それだけではありません。
秘密鍵とは?
秘密鍵は、すべてのブロックチェーンアカウントの基盤であり、最も単純なアクションであっても必要となります。 まず、暗号資産を「所有」していると言うとき、実際に所有しているのは、それらの資産を保管するウォレットの秘密鍵です。 明確に言うと、暗号資産は常にブロックチェーンネットワーク上に保管されており、暗号資産ウォレット自体に保管されているわけではありません。 その代わりに、アカウントへのアクセスを許可する秘密鍵を所有します。
「秘密鍵」とは、所有者に暗号資産を使用する権利を与えるものです。 しかし、万が一誰かにそれを入手されてしまうと、あなたのアカウントにもアクセスされてしまいます。 だからこそ、その名の通り、秘密にしておく必要があります。 アカウントの秘密鍵は1つしか存在せず、あなただけが知るべきプライベートなパスワードとして機能します。
しかし、秘密鍵は単に資金へのアクセスを許可するだけでなく、暗号資産ウォレットが機能する仕組みや、他のアカウントとやり取りする方法の基本全体をコントロールします。 ほとんどの暗号資産ウォレットは、実際には秘密鍵を使用して公開鍵を作成します。
公開鍵とは?
公開鍵はネットワーク上のすべてのユーザーに公開され、時にはネットワーク外にまで公開されることもあります。 基本的に、公開鍵はアカウント番号のような役割を果たします。 これらにより、ネットワーク上の参加者が各ウォレットを一意に識別できるようになります。 秘密鍵と同様に、公開鍵も長い数列で構成されています。 通常、それは秘密鍵を使用して生成されますが、常にそうとは限りません。 また、それによって、おそらくより馴染みのある、ブロックチェーンアドレスを作成することも可能になります。 通常、ブロックチェーンアドレスは、その公開鍵をハッシュ化したものにすぎません。
ブロックチェーンアドレスとは?
あなたのブロックチェーンアドレスは、暗号資産を受け取るために他の人と共有できるコードです。 通常、それは公開鍵から割り出されます。 他の人に暗号資産を送金する際、相手に表示されるのがこのアドレスです。 Ethereumの場合、それは0xから始まる長い16進数です。 そしてビットコインでは、取引を行うたびにビットコインウォレットが新しいアドレスを生成することに気づくかもしれません。 どちらの方法でも問題ありません。また、明確にしておくと、このブロックチェーンアドレスは共有しても完全に安全です。
公開鍵と秘密鍵:その仕組みとは?
これで秘密鍵と公開鍵について理解できました;では、それらはどのように機能するのでしょうか? それぞれに特定の役割がありますが、トランザクションの実行や承認への署名を行う際には、どちらも同様に重要です。 とはいえ、公開鍵と秘密鍵がどのように連携するかは、暗号資産ウォレットで何を行おうとしているかによって完全に異なります。
PKCは暗号化と署名を許可しますが、暗号資産ネットワークは後者のみを使用します。 署名は、トランザクションの真正性を認証し、それが偽造または改ざんされていないことを保証するためのものです。 機能を見てみましょう。
秘密鍵によるトランザクションへの署名
例えば、Ethereumネットワークを使用して、友人のBobに1ETHを送付したいとします。 この場合、Bobのブロックチェーンアドレスを調べることになります。このアドレスは、 あなたと同じように、Bobも公開鍵と秘密鍵のセットを持っており、対応する公開鍵のアドレスをコントロールできるのは彼の秘密鍵だけです。
Etherを送付しようとする際は、トランザクションリクエストを開始する必要があります。 そのリクエスト内で、送金したい数量と送金先を指定します。この場合、Bobのアカウントに1 ETHを送金します。 そこから、暗号資産ウォレットは秘密鍵を使用してトランザクションに署名します。 署名はデジタル指紋のようなものです;添付されたメッセージにある計画を実行する意思があることを、ブロックチェーンに証明します。 また、それはあなたが本人であることを証明するものでもあります。 署名は秘密鍵によって作成され、トランザクションの詳細が含まれます。これらは最終的に、トランザクションデータの一部となります。
署名すると、署名されたトランザクションがネットワークにブロードキャストされます。 つまり、ネットワーク上のすべてのノードがそれを検証できるということです。 この例では、Ethereumのバリデーターは、署名があなたの公開鍵とマッチしていることを認証し、あなたが本人であること、そして使おうとしている資金を実際に所有していることを保証します。 また、Bobのアドレスがネットワーク上に実際に存在すること、そしてトランザクション全体に問題がないことも確認します。 条件が満たされると、トランザクションが承認されます。 1 Etherはあなたのアカウントから消え、Bobのアカウントに届きます。
秘密鍵の所有者として、資金を移動させることができるトランザクションに署名できるのはあなただけです。 秘密鍵を秘密に保つ限り、誰もブロックチェーン上であなたの資金を動かすことはできません。 はい。公開鍵、アドレス、そしてすべてのトランザクションの署名を共有していても、資金は安全に保たれます。 これこそが、Trapdoor functionの真髄です。
秘密鍵 vs 公開鍵:暗号資産ウォレットの基本
もちろん、公開鍵と秘密鍵は、暗号資産ウォレットの内部の仕組みを理解するための始まりにすぎません。 暗号資産ウォレットは、P2Pにおける価値の移転の基盤を提供する一方で、それ以上の役割を果たすように進化してきました。 現在、無数の種類のウォレットが存在し、それぞれがこの技術を少しずつ異なる方法で使用しています。
暗号資産ウォレットについてもっと詳しく知りたいですか? この先を読み進めて、1つのインターフェースから無数のアカウントを管理することを可能にする、今日のウォレットの仕組みについて詳しく見ていきましょう。
