This article has been translated from English to Japanese.

デジタル署名とは何だろうか?

ビットコインを送金する際、ウォレットが「取引」を作成し、ビットコインネットワーク上のノードに送信すると、他のノードにブロードキャストされる。

ビットコインの取引を開始する際には、ビットコインネットワーク上のすべてのノードに対して、その資金を使用する権限があることを証明しなければならない。

ビットコインの取引とは?

取引とは、単に送金者と受取人、および送金されるBTCの量(取引手数料を含む)に関する情報を含むメッセージである。

そのため、メッセージ(「取引」)を送信する前に、そのメッセージに「署名」する必要がある。すべての取引は、ネットワークに送信する前に「署名」する必要がある。

Magic math with privatey key

この署名を行うために、ウォレットソフトウェアはトランザクションメッセージに対して高度な数学的処理を行い、その後、「秘密鍵」と呼ばれるものに対してさらに高度な数学的処理を行う。

この一連の計算の結果が「デジタル署名」と呼ばれる特別な情報となる。

Digital Signature Math Matgic

この「デジタル署名」によって、あなたが送金したいビットコインの真の所有者である ことがビットコインネットワークに証明される

取引の「署名」や「デジタル署名」について語る場合、主流の金融メディアは通常、ここで話を止める。

しかし、この説明では、あまり多くのことがわからない。この漠然とした「数学マジック」とはいったい何なのか?

取引に「署名する」とは、具体的に何を意味するのか?「署名」や「デジタル署名」とは何を意味するのか?

デジタル署名が暗号通貨において非常に重要な要素であることを踏まえ、デジタル署名とは実際何なのか、なぜ必要なのか、そして実際にどのように機能するのかを学ばなければならない。

デジタル署名とは何だろうか?

ビットコインでは、ビットコインへのアクセスを制御する 「キーペア」(キーのペア を作成するために公開鍵暗号方式が使用されている

キーペアは秘密鍵 公開鍵で構成される。

  • 秘密鍵は公開鍵を生成する。
  • この2つの鍵は数学的にリンクされており、実際には非常に大きな数字である。
  • 公開鍵は、ビットコインを受け取れるように他の人と共有するアドレスを生成し、文字と数字の文字列として表される。

「秘密鍵」と「公開鍵」の概念に詳しくない場合は、暗号学の学校で先走りしすぎて、コースを順番通りに修了していないということだ。まずはこのレッスンに戻って読み直す必要がある!😑

つまり、「ビットコインをいくらか持っている」と言うとき、実際には次のように言っていることになる。

  • 特定のアドレスに紐づけられたビットコインがある。
  • そして、このアドレスと保有するビットコインの量は、ブロックチェーンとして知られるビットコインの台帳に記録されている。
  • このアドレスの所有者はあなたであることを数学的に証明する秘密鍵をあなたは持っている。
  • つまり、このアドレスに保管されているビットコインはすべてあなたの管理下にある
  • そして、これらのビットコインを「移動」させ、別のアドレスに送ることができるのはあなただけである。

新しいアドレスの秘密鍵を持っていなければ、ビットコインの管理権限は失われる。ビットコインは新しい所有者に送られたことになる(新しいアドレスにリンクされた秘密鍵を持つ人)。

ご覧の通り、ビットコインの所有権はアドレスと結びついている

そして、すべてのアドレスに関連付けられたビットコインの数は、ビットコインのブロックチェーンに記録されている。

そのため、ビットコインを異なるアドレスに送信したい場合は、まず、ビットコインを保有している現在のアドレスの実際の所有者であることを証明しなければならない。

では、どのようにしてこれを証明するのか?

アドレスは公開鍵を変更した表現にすぎないことを覚えておいてほしい。

そして、公開鍵は特定の秘密鍵から作成される。

つまり、各アドレスは公開鍵に関連しており、公開鍵は秘密鍵に関連している。

Relationship between keys and address

公開鍵はアドレスとして知られるより読みやすい形式で表され、所有者の「ID」と考えることができる。

つまり、公開鍵(アドレスとして表示される)は、ビットコインのブロックチェーン上で「本人確認」の役割を果たす。

また、秘密鍵は、所有者が公開鍵の所有権を証明できる情報であると考えることができる。

したがって、あるアドレス(および公開鍵)の所有者であることを証明する簡単な方法のひとつは、取引メッセージの一部として秘密鍵を提供することである

そうすれば、高度な数学的マジックを使って、秘密鍵が公開鍵を作成し、それがアドレスを作成したことが誰にでも簡単にわかる。

しかし、これは安全ではない!あなたの秘密鍵が公開されてしまうと、誰でもあなたのビットコインが存在するアドレスにアクセスできるようになり、つまり、誰でもあなたのビットコインを盗むことができるようになるのだ!

「盗む」とは、つまり、誰でもビットコインを現在のアドレスから、自分の選んだ別のアドレス(例えば、自分のアドレスの一つ)に移動させることができるようになるということだ。

だから、もっと良い方法があるはずだ!

アドレス(および公開鍵)の実際の所有者が、アドレス(および公開鍵)に関連付けられた秘密鍵を明らかにすることなく、それを証明するにはどうすればよいのか?

これは「デジタル署名」と呼ばれるものを提供することで可能となる。

デジタル署名とは、メッセージに添付することで、メッセージの送信者が実際の送信者であることを証明するものである

ビットコインでは、実際の秘密鍵をビットコインネットワークに提示することなく、アドレスに関連する秘密鍵を知っていることを示すためにデジタル署名が使用される。

デジタル署名の目的は何だろうか?

特定のビットコインアドレスからビットコインを使用するには、そのアドレスに関連付けられた公開鍵とペアになっている秘密鍵の「所有権」(または知識)を証明しなければならない。

デジタル署名は、実際の秘密鍵を公開することなく、公開鍵と関連付けられた秘密鍵を知っていることを証明するために使用できる。

デジタル署名の目的は、あなたがアドレスの所有者であることを証明することである。

そして、アドレスの所有者であることを証明するには、アドレスにリンクされた秘密鍵の所有者であることを証明する必要がある。

デジタル署名とは何か、また、何のために使用されるのかについて、大まかな理解が得られたところで、実際にその仕組みを学んでみよう!