先日、コインチェック株式会社が運営する仮想通貨取引所「coincheck」で発生した、仮想通貨「NEM」の流出問題が話題になったかと思います。
(実際に取引をされていた方で泣いている方もいるかもしれません・・・。)
以前からビットコインなど「仮想通貨」については度々ニュースで取り上げられていたこともあり、名前は聞いたことはありました。
しかし、どういった技術で何をしているかもまったく知りません。
そんなこともありいろいろと調べていくと、仮想通貨は「ブロックチェーン」という技術を使っていることが分かりました。
今回は「仮想通貨を支える技術 ブロックチェーン」についてご紹介します。
仮想通貨と法定通貨
ではまず「仮想通貨」という言葉について調べてみたいと思います。
米ドルやユーロ、日本円などの法定通貨に対して、特定の国家による価値の保証を持たない通貨のこと
引用 – 「仮想通貨」『フリー百科事典 ウィキペディア日本語版』より
2018年2月13日 (火) 13:44 UTC
URL: https://ja.wikipedia.org/wiki/仮想通貨
さて、ここで「法定通貨」という文言が出てきました。
法定通貨とは何でしょうか?
「強制通用力(金銭債務の弁済手段として用いることができる法的効力)を有する通貨のこと。つまり、法定通貨による債務弁済を拒否することは一般にはできない。
現在の日本では、日本銀行が発行する日本銀行券、および造幣局が製造し政府が発行する貨幣(硬貨)のみが法定通貨である。」引用 – 「法定通貨」『フリー百科事典 ウィキペディア日本語版』より
2017年1月24日 (火) 07:17 UTC
URL: https://ja.wikipedia.org/wiki/仮想通貨
「仮想通貨」と「法定通貨」の2つの対極となる言葉が出てきました。
それではこの2つ言葉を対比させながら、仮想通貨について理解を深めたいと思います。
法定通貨と仮想通貨の違い
「仮想通貨」と「法定通貨」のちがいについて簡単にまとめてみました。
法定通貨 | 仮想通貨 | |
---|---|---|
実体 | ある(紙幣や硬貨) | ない |
信用 | 高い(国が保証しているため) | 低い(国が保証していないため) |
※この場合の仮想通貨は「ビットコイン等の暗号通貨」を指します。
他にも細かい違いはありますが、大きな違いといえば「実体」と「信用」の2点です。
法定通貨は法的効力を持っていることからも、「国」が価値を保証しているため信頼があります。
しかし、仮想通貨の場合は「国」は一切関与していません。
ではなぜ信用度が低い仮想通貨を、投機目的や飲食店等における支払いなどで利用されているのでしょうか?
それは「ブロックチェーン」と呼ばれるデータベースシステムを活用することで、国の信用がなくても、高度なセキュリティ性を保っているからです。
それでは、高度なセキュリティを実現する「ブロックチェーン」の技術について詳しく見ていきたいと思います。
P2Pネットワークと暗号化
ブロックチェーンは下記2つの技術を組み合わせた「データベースシステム」です。
・「P2Pネットワーク」
・「暗号化」
まずP2Pネットワークというは、サーバーを介さずクライアント同士でやり取りを可能にした技術のことです。
ひと昔前に話題となったファイル共有ソフト「Winny」や「Skype」(現在はMicrosoftのクラウドシステム「Azure」によって実装されてます。)にこの技術が使われてます。
現在のインターネットの仕組みと対比させながら、P2Pネットワークについて詳しく見ていきたいと思います。
【インターネットの仕組み】
例えば、みなさんが当ブログにアクセスする時、以下のような仕組みとなってます。
①ユーザーのPCから「ブリッジブログβ」を閲覧しにブラウザを通じてアクセスする。
②その要求にWebサーバーが応答し、要求があったWebサイトを検索する。
③そのWebサイトを見つけたらユーザーのPCへブラウザを通して、そのWebサイトのURLを返す。
※一般的にこの仕組みのことを「クライアント・サーバー方式」と呼びます。
【P2Pネットワークの仕組み】
先に少し触れましたが、P2Pネットワークの場合はサーバーがありません!
サーバーを使わず、コンピューター同士を直接つなげた接続方式のことをP2Pネットワークと呼びます。
クライアント・サーバー方式だと、ネットワーク通信の際はサーバーを介する必要があるのに対して、P2Pネットワークの場合は、クライアントPC同士が直接接続し合いデータのやり取りを行います。
ではP2Pネットワークは、ブロックチェーンにどのように活用されているのでしょうか。
ブロックチェーンとP2P
ブロックチェーンとはその名前の通り、「ブロック」と呼ばれる取引履歴などのデータが書き込まれたものを、鎖(チェーン)のように繋いでいくのでそのように呼ばれています。
P2Pの技術によって、ブロックチェーンネットワーク内のデータを勝手に改ざんできないようになっています。
どういうことかというと、P2Pネットワークによって繋がっている不特定多数のコンピューターに対して、「ブロック」の情報が常に共有されています。
そのような状態にすることで誰かが勝手に改ざんできないよう、相互にチェックし合うことで安全性を担保しているのです。
しかし本当にそれだけでセキュリティ対策は万全と言えるのでしょうか?
ブロックチェーンと暗号化
ブロックチェーンの暗号化について見ていきたいと思います。
ブロックチェーンでは「ハッシュ」という技術を使って取引データを暗号化しています。
「ブロック」は、一定時間(約10分)が過ぎると新しいブロックが生成され、また記録する、という作業を延々と繰り返しています。
新しいブロックには「直前のブロックのデータを暗号化した値」が含まれており、最新のブロックには「過去から現在までの取引情報すべての値」が含まれています。
この「暗号化した値」が「ハッシュ技術によって生成された値」のことです。
ハッシュとは「ハッシュ関数」にデータを入力すると一定の桁数の値(ハッシュ)が出力される仕組みのことです。
ハッシュには主に2つの特徴があります。
①「ハッシュ値」そのものには規則性はないため、ハッシュ値のデータを読み取ることは困難である。
②ハッシュ関数にデータを入れた場合必ず同じデータが得られるが、少しでもそのデータが変わるとハッシュ値が全く異なるものになる。
ブロック内のデータを解読することは①の特徴によってそもそも困難に近いのです。
もし特定のブロックの内容を改ざんしたとしても、②の特徴によってハッシュ値が今まで渡ってきた値と異なるものとなり、その差分から改ざんが判明します。
取引の際に「ハッシュ」技術を使うことで、入力されたデータが元データと同じであること、改ざんされていないことを保証できるのです。
取引情報の含まれるブロックチェーンは、P2P方式によりネットワーク上のすべての人がアクセスすることができるため、常に取引情報や履歴などは世界中の人々に公開された形となっています。
しかしこのままでは情報が野ざらしにされ非常に危険です。
「ハッシュ」技術を活用することで、取引情報は暗号化され第3者によってブロックチェーン上から取引情報を読み取ることができない仕組みになっています。
以上のことから国の信用がなくても、ブロックチェーン上のデータのやり取りを相互に監視し合い、かつデータは暗号化技術により改ざんされることも低いため通貨として認められているのです。
最後に
いかがだったでしょうか?
ブロックチェーンの技術については今回ご紹介した内容以外にも、まだまだ奥が深く非常に興味深いものとなっています。
個人的にも暗号化については興味があるので、またの機会に詳しくご紹介できたらと思います。