【初心者向け】ブロックチェーンの超簡単基礎知識2〜公開鍵暗号ってなに?〜
はろーブロックチェーン。
りえへいです。
今日はブロックチェーンの大事なポイント、暗号化のなかの公開鍵暗号方式について説明してみたいと思います。
どうやってなりすましを防ぐのか?
ブロックチェーン技術は、みんなで情報を共有して、分散してデータを持っておく仕組みというのを、前回お話ししました。
なので誰かのデータがなくなっても、復元可能で安心です。
ただ、みんなで情報を共有するということは、隠し事ができない、すべての情報が筒抜けということになります。
例えば、私がお母さんに10万円送金しようとする場合、この「私がお母さんに10万円送金」したというデータをみんなが見ることができます。
そうすると、今私のお母さんのもとには10万円があるはずだから盗みにいこうぜとか、お母さんになりすましてこのお金を使ってやろうぜ、と考える人が出てきてもおかしくないですよね。
そんな悪い奴らから守ってくれるのが、暗号化技術なんです。
暗号化でどうやって情報を守るの?
暗号と聞くとスパイっぽくってかっこいいですよね。
よく推理小説とかである一定のルールに従って文字を読み替えると、犯人の手掛かりになったりしますよね。
でもこれではルールを見破られると、一気に暗号の威力が無効化されてしまいます。
ブロックチェーンでは、そんな心配がないように「公開鍵暗号」が使われています。
この技術では、公開鍵と秘密鍵のペアを持つことで、安全かつ強固な暗号化が可能なんです。
公開鍵暗号の仕組み
これは、公開鍵を使って暗号化したものは、ペアの秘密鍵でしか復元できないという仕組みです。
暗号化する鍵とそれを復元する鍵が分かれているのがとても重要なポイントです!
一度公開鍵を使って暗号化してしまうと、暗号化に使用した公開鍵では、これを復元することができないんです。
家の鍵を閉めるのには使えるけど、開けるのには別の鍵が必要と考えてもらえると分かりやすいかと。
一般的な感覚では、閉めるのに使えた鍵は開けるのにも使えるはずと考えるので、なかなか最初はすんなり納得できないかもしれません。
暗号化に使った公開鍵に、復元するための手掛かりが残っているんじゃないのかな・・・・と私も心配しました。
ただ、これは数学的な難問を応用して作られていて、実際には膨大な時間がかかり不可能とされています。
また、秘密鍵で暗号化したものは、ペアの公開鍵でのみ復元できるという性質も持っています。
公開鍵暗号の使い方
この仕組みを利用すると、みんなで共有しているネットワーク上でも安全に情報のやり取りをすることができます。
先ほどの例のように、私がお母さんに10万円を送金したいとします。
この時に、まずお母さんは私に、お母さんの公開鍵を教えます。
そして私は、お母さんの公開鍵を使用して、私がお母さんに10万円送金するという取引を暗号化します。
お母さんは、お母さんの秘密鍵を使用してこの取引を復元して、無事に10万円を使用することができます。
なお、ここで注意してほしいのは「私がお母さんに10万円送る」という取引自体は、ネットワークのみんなで共有されています。※ビットコインの場合
ただ、この送られた10万円を使用できるのが、秘密鍵を持ったお母さんにしか不可能という仕組みになっていると考えてください。
そうすると、この秘密鍵を守ることがとってもとっても重要だと分かっていただけるかと思います。
決して悪意あるひとに盗まれてはいけないので、管理には細心の注意が必要です。
公開鍵暗号は署名にも使えます
また、この公開鍵暗号は、署名としての機能も果たしてくれます。
私がお母さんに10万円送金するとき、お母さんは本当にこれが私からの連絡なのかということの確証が持てません。
誰かが私になりすまして嘘の連絡をしている可能性もあるからです。
そんな時には、私が自分の秘密鍵を使って暗号化した署名を取引データにつけておきます。
そしてお母さんには、私の公開鍵を渡しておきます。
取引データを受け取ったお母さんは、暗号化された署名を私の公開鍵で復元できることを確認することで、間違いなく私からの連絡だということが分かります。
暗号化と復元の鍵を分けておくという一見単純な仕組みですが、とても強力で便利な暗号パワーですね!
まとめ
暗号化するための鍵と復元するための鍵をペアで使用することで、とても強力な暗号に守られて安全に取引をすることができるよ!
鍵のペアのうち一つは、だれとでも共有して問題ないので公開鍵と呼ばれるよ。
でももう一つの鍵は秘密鍵と言って、絶対にだれにも言ってはだめ。
自分でちゃんと守ることが大切!