暗号化技術

仮想通貨における暗号技術

ビットコインをはじめとする仮想通貨は,法律的には暗号資産という名称で定義されるとおり暗号化技術をベースとしています。

仮想通貨において暗号化技術は非常に重要な要素であるといえます。

仮想通貨で使われている暗号化技術は公開鍵暗号といい,仮想通貨に限らずインターネット通信や電子署名などで幅広く使われている技術です。

公開鍵暗号

ビットコイン等仮想通貨は暗号技術を利用した「電子署名」により,送金処理が行われます。

暗号化技術にはいくつかの方法がありますが,電子署名では公開鍵暗号という暗号化技術が使われています。

暗号とはつまり,元の文章を特定の相手だけに知らせて他人に分からないようにする方法です。

暗号によって文章をやりとりする場合には,「元の文章を暗号文章にする」過程と「暗号になった文章を元の文章に戻す」という2つの段階があることになります。

前者が「暗号化」で後者を「複合化」と呼びます。

公開鍵暗号で「鍵」というのは,この「暗号化」「複合化」のルールのことです。

通常の暗号の場合,この鍵は文章の発信者と受信者の両方が同じものをもちます。

同じルールによって,文章を暗号化して相手に送り,送られた相手は同じルールで暗号を文章に複合化して読めるようにするわけです。

このような暗号処理技術を「共通鍵暗号方式」といいます。

これに対して仮想通貨で用いられる「公開鍵暗号」では,自分が暗号化・複合化に使う鍵(秘密鍵)と相手に知らせる鍵(公開鍵)が別になっています。

そして,特定の秘密鍵には特定の公開鍵が対応します。

ある秘密鍵で暗号化された文章は,それに対応する公開鍵でしか複合化できません。

また逆に,ある公開鍵で暗号化された文章は,それに対応する秘密鍵で複合化します。

公開鍵は世界中に公開してしまっても,秘密鍵さえしっかりと管理していれば,自分宛の暗号(自分の秘密鍵に対応する公開鍵で暗号化された情報)は,自分だけが読めますし,逆に秘密鍵で暗号化できるのは秘密鍵を管理している人だけですから,それを公開鍵で複合化することによって「これは間違いなく本人(つまり秘密鍵を管理している人)が書いたもの」という保障を得ることができるのです。

電子署名による改変防止

仮想通貨では,その送金に際して電子署名によって本人確認がなされます。

この電子署名の実態は上で説明した公開鍵暗号方式による暗号化です。

具体例で考えてみましょう。

あなたが誰かにある情報を伝えたいとします。

では,その情報を伝えられた相手はどうやって「それがあなたから来た情報だ」と確認できるのでしょうか。

極端な話,あなたを装った他人が,勝手に文章を書いた上で,あなたの住所や名前を勝手に書いて情報を送ったのかもしれません。

この問題を解決するのが電子署名です。

既に述べた通り,公開鍵暗号では「ある秘密鍵で暗号化された情報は,それに対応する公開鍵でのみ複合化できる」という特性があります。

そこであなたが,公開鍵を相手に知らせつつ,それに対応する秘密鍵(これはあなただけが管理していて,誰にも知らせません)で情報を暗号化すれば,公開鍵を知っている相手は「これは間違いなく秘密鍵を知っている人(=あなた)が書いたもの」と確認することができるのです。

仮想通貨における電子署名の使われ方

上記のとおり電子署名は,データ上で本人確認ができる公開鍵暗号方式を利用した仕組みです。

仮想通貨取引の処理はこのデジタル署名を使って行われており,この署名により,ビットコインの送金が秘密鍵の持ち主本人によってされたものであり,偽造や改ざんがされていないことを証明することができます。

公開鍵暗号の場合,秘密鍵さえ秘密にしておけば公開鍵は誰に知られても問題ありません。

公開鍵の名前のとおり広く「公開」して誰でも知ることができる状態にすることにより,誰でも「公開鍵と秘密鍵の対応」を調べることができるのです。

これを仮想通貨の取引に当てはめて考えてみます。

まず,仮想通貨の送金には送金者の秘密鍵と,送金先の情報が必要です。

次に「誰が誰に何BTCを送金した」という取引情報を,秘密鍵を使って暗号に変換します。

秘密鍵を知っているのはあなただけですので,この暗号を作れるのはあなただけです。

そして,変換した情報と公開鍵をネットワーク上のコンピュータ(ネットワークにおいて取引をブロックチェーンに書き込む役割のコンピューター達)に公開します。

公開された取引データが本当にあなたが公開したものであるか否かは,公開鍵によって検証し確認することができます。

秘密鍵を知っているのはあなただけですので,暗号を作れるのは世界であなただけですが,その暗号を解く(複合化)ことは公開鍵を知っている世界中の人が行えます。

ネットワークの各コンピューターが検証を完了することで,その送金は不正のない有効な取引であるということが証明できます。

このように,仮想通貨のネットワーク上で「あなたの行った取引」と認められるのは,あなただけが使える秘密鍵を使っているためです。

暗号を解くことは誰もができますが,その暗号を作れるのはあなただけなので,「この情報は,第三者の偽造ではなく,あなた自身のもの」と確認ができるわけです。

ですので,秘密鍵を誰かに知られてしまった場合には,その人があなたを装うことが可能になり,あなたとして取引を行うことができてしまいます。

そのため,ビットコイン等仮想通貨を取り扱う上では,このデジタル署名の性質上,秘密鍵は厳重に管理する必要があります。

上部へスクロール