■デジタル署名は、本人であることを確認するために使われる
電子署名は、データ上で本人確認できる仕組みです。その中で公開鍵暗号を使ったものは、デジタル署名といいます。両者が同じ意味で使われることも少なくありません。ビットコインの送金処理はデジタル署名を使って行われます。ここでは、デジタル署名について説明します。
「公開鍵」の項目で説明したとおり、秘密鍵を使って暗号化したものは、公開鍵を使って元に戻すことができます。本人であることを証明したい人は、まず意味のある適当な文章を作って、秘密鍵で暗号化します。暗号化した文章と公開鍵を証明したい相手に送ると、相手は公開鍵を使って暗号を元の文章に戻します。意味のある文章ができれば、本人確認は完了です。公開鍵で変換して元の文章にできるのは秘密鍵で暗号化した文章だけなので、この人は秘密鍵を持っている人だ、ということがわかるからです。送りたい情報を暗号化すれば、偽造や改ざんを防止することもできます。
実印や運転免許証を盗まれると悪用されてしまうのと同様に、秘密鍵を盗まれると本人になりすますことが可能になってしまいます。そのため、秘密鍵の管理は厳重にする必要があります。
■ビットコインの仕組みに応用されているデジタル署名
デジタル署名は、ビットコインの送金が秘密鍵の持ち主本人によってされたものであること、取引が偽造や改ざんされていない正当なものであることを証明します。ビットコインの送金には、送金先のビットコインアドレスと、送金元の秘密鍵が必要です。
送金元は、ハッシュ関数という計算式を使って、秘密鍵から公開鍵を作ります。次に、「〇〇というビットコインアドレスから、△△というビットコインアドレスに、いくら送金した」という情報を、秘密鍵を使って変換します。そして、変換した文書と公開鍵を不特定多数の採掘者(マイナー)と呼ばれる人たちに公開します。変換した文書は、公開鍵を使って解読することができます。マイナーが解読を完了すると、その送金は不正のない取引だということが証明できます。
■デジタル署名は、公的機関でも使われている信頼性の高い方法
日本では2001年に電子署名法が制定され、法律的にも正当性が認められました。利用シーンは、ビジネスにおける契約書や検収通知、医療における電子カルテ、公共事業の電子入札など、さまざまです。ビットコインは、このように広く一般に信頼された技術を利用しているので、同じように信頼できるものといえます。