公開鍵は、安全性が非常に高い暗号技術
公開鍵は、暗号を作るために必要な情報です。ビットコインを匿名かつ安全に取引できるのは、公開鍵暗号方式という暗号技術を採用しているからです。公開鍵暗号は、公開鍵と秘密鍵という、対になった2つの情報から成り立っています。公開鍵は秘密鍵から作られますが、公開鍵から秘密鍵を特定することはできません。
公開鍵を使って何らかの情報を暗号化すると、元の情報に戻すには秘密鍵が必要になります。また、秘密鍵を使って暗号化したものは、公開鍵で元に戻すことができます。公開鍵はその名の通り、誰にでも公開できるものですが、秘密鍵は本人のみが管理します。秘密鍵を持っていることで、本人であることを証明します。本人証明の詳しい仕組みはデジタル署名(電子署名)の項をご覧ください。
なぜ暗号が必要なのかというと、取引を偽造したり、不正送金をされたりするのを防ぐためです。取引は世界中に公開されるため、誰かがこのような悪事を企んでいるかもしれません。
公開鍵はビットコインでどのように使われ、管理されているか
例えば、「AさんからBさんに1BTC送金した」という取引があったとします。その内容は、Aさんの秘密鍵から作られた公開鍵で暗号化されます。暗号と公開鍵は、電子署名とともに世界中の採掘者(マイナー)と呼ばれる人たちのコンピューターに送信されます。マイナーは公開鍵と電子署名を突き合わせて、この取引はAさん本人が行ったこと(なりすましがないこと)を確認します。この確認作業が終わると、Bさんは送金された1BTCが使えるようになり、マイナーは報酬を得ることができます。
ビットコインは貨幣のような実物がなく、ブロックチェーンという取引履歴しかありません。その取引履歴には、送信者の公開鍵が公開されています。
ちなみに、公開鍵暗号の仕組みはどういうものか
一般的な公開鍵について簡単に説明します。暗号はもともと戦争での情報戦に使われたものなので、メールで機密情報を送ることを想定します。まず、受信する側の人が公開鍵と秘密鍵のペアを持っている必要があります。秘密鍵は誰にも教えませんが、公開鍵は機密情報送信元に教えておきます。送信元は、公開鍵を使ってメール文章を暗号化し、受信側に送ります。この暗号化された文章は、秘密鍵を使ってのみ元の文章に戻すことができます。
もし送信したメールを誰かが傍受したとしても、ただの無意味な英数字の羅列にしか見えません。この暗号化した文字列は、秘密鍵を持っている人にとってのみ、利用価値のある情報となるわけです。「秘密鍵を持っている」ことで、同時に「その秘密鍵と対になっている『公開鍵』の持ち主である」ことを証明できます。公開鍵で作った暗号を元のメール文章に復元できるのは、秘密鍵の持ち主だけだからです。
ビットコインに使われるのは、この公開鍵を利用した「デジタル署名(電子署名)」という仕組みです。