MTDK1

ブロックチェーンで使われる秘密鍵

ブロックチェーンで使われる秘密鍵

ブロックチェーンについて調べ始めるとコンセンサスアルゴリズムとか暗号化、P2P といった用語が出てきてよくわからなくなってしまうかもしれません。 ブロックチェーンは宇宙ロケットのように枯れている技術の集まりだと思います。分解して小さくしていけば理解できるかもしれません。

今回は秘密鍵について自分なりに理解したことを書きます。

データを暗号化して情報を盗み見られないようにする。ということについては下記ページがわかりやすいと思います。

秘密鍵

クレジットカードや住所のような個人情報をサーバーに送信する際に盗み見られたら困る。だから個人情報を暗号化してデータが盗み見られても読むことができないようにしよう。 という使われ方が身近にある例だと思います。

トランザクション

ブロックチェーンでは情報を秘密にすることはありません。公開ネットワークでは全てのデータが公開されています。 ブロックチェーンには見られて困るような情報は登録してはいけません。 暗号化したデータをブロックチェーンに登録することはあるかもしれませんが、特定の人だけが閲覧できるというデータであるならばブロックチェーンではなく普通のDBを使用すればいいのではないでしょうか。 暗号化技術が必要となるのはアカウントの証明だと思っています。 アリスがボブに50コイン送信する。というトランザクションを作成した場合、アリスがトランザクションを作ったことを証明する必要があります。 アリスの資産を操作できるのはアリスだけとブロックチェーンネットワークのルールとして決めているからです。(マルチシグの話はいずれ)

ブロックチェーンで利用される秘密鍵

アカウント(個人)を証明するために秘密鍵は使用されています。 トランザクションを作成したのがアリスであるということを証明するために秘密鍵を使用します。

トランザクションにアリスの秘密鍵を使用して署名します。公開鍵で署名を検証することでトランザクションを作成したのがアリスだとわかります。 アリスがトランザクションを作ったということがわかれば、あとはアリスが50コイン以上持っているということがわかればよく、ブロックチェーンに取り込まれている過去のトランザクションを調べればわかります。 全て問題なければトランザクションはブロックに取り込まれ、ネットワーク全体に送信されることになりブロックチェーンに取り込まれます。

アドレス

ブロックチェーンでコインを送信する場合、送信相手のアドレスを指定します。アドレスは秘密鍵から作成されます。 秘密鍵から公開鍵が生成され、公開鍵からアドレスが生成されます。ここで暗号化技術が利用されています。

暗号化技術

秘密鍵と公開鍵は無関係に作成されたものではなく、暗号化技術によって計算によって作成されます。 秘密鍵から公開鍵を計算で求めることは簡単です。また、秘密鍵を使った署名を公開鍵で検証することも簡単にできます。 しかし、公開鍵から秘密鍵を計算で求めようとするとスーパーコンピュータを使っても数十年、数百年かかり、計算が終わった頃には意味がないものになります。 また、量子コンピュータを使用すれば簡単に秘密鍵を計算できてしまうと言われていますが、そんな計算ができる量子コンピュータがしよう出来るようになる未来はまだまだ先です。 それまでに量子コンピュータでも計算が困難な暗号化技術ができているでしょう。現時点で心配する必要はありません。

comments powered by Disqus

Related Posts