今さら聞けない!?ブロックチェーンとは?
はじめに
- ブロックチェーン(仮想通貨)の始まり
- 仮想通貨
ブロックチェーンは、2008年に正体不明のサトシ・ナカモトにより、公開された一つの論文から始まりました。
その論文には、仮想通貨という新しい概念と、
その中核を担うブロックチェーン技術
について書かれていました。
ブロックチェーンで使われている考え方自体は、元からあったものです。
また、サトシ・ナカモトについては、現在も正体がわかっていません。
この論文に興味を持ったエンジニアたちが、論文をもとに開発を進め、2009年に
仮想通貨(ビットコイン)とブロックチェーンが誕生しました。
2018年1月28日、仮想通貨取引所のCoincheckから、
仮想通貨NEM(ネム)が大量に不正流出(被害総額580億円
)しました。
仮想通貨と聞いて、この事件が思い浮かぶ方も多いことでしょう。
「仮想通貨が安全でないから、ブロックチェーンも安全じゃない。」と考えるのは、尚早と言えます。
仮想通貨の送金には、「秘密鍵」と呼ばれる英数字の羅列が必要になります。
これは、仮想通貨取引口座毎に割り振られ、文字通り、他者に知られてはいけないものになります。
「秘密鍵」を使うことで、別の口座に仮想通貨を移動させることができます。
つまり、仮想通貨の流出は、「秘密鍵」が流出したと言い換えられます。
取引所では、「秘密鍵」を、ネットワークから切り離して管理します(コールドウォレット)。
この流出事件では、コールドウォレットの対策が取られていなかったことが、原因と言えます。
つまり、ブロックチェーン自体の安全性は高いが、セキュリティ対策が脆弱だと安全性は著しく低下するということです。
ブロックチェーンとは
- ブロックチェーンの特徴 ブロックチェーンの特徴は、2つあります。
- 取引データ
- ハッシュ値
- ナンス値
- ブロックチェーンの型
「非中央集権」
「データの改ざん不可」
・非中央集権
データ通信は、クライアントサーバ方式とP2Pネットワーク方式に大別されます。 これまでのインターネットサービス(Google検索等)は、クライアントサーバ方式ですが、ブロックチェーンはP2Pネットワーク方式を取っています。
クライアントサーバ方式とP2Pの違いは以下の表になります。
《データの改ざん不可》
「取引データ」、「ハッシュ値」、「ナンス値」 を1つの箱にまとめたものを「ブロック」といい、この「ブロック」が「チェーン」のように連なっていることから、「ブロックチェーン」と呼ばれています。 下記の図は、ビットコインの例になります。 ブロックチェーンのバリエーションは、様々ですが、このような「データ構造」をブロックチェーンと呼びます。
取引データとは、ある特定の取引に関する情報(いつ、誰が、どのくらい取引したか等)の集まりのことです。
ハッシュ値とは、ハッシュ関数により取引データを不規則な文字列に変化した値のことです。
ハッシュ値は、同じ意味のデータでも1文字違えば、全く別の文字列になります。
また、一方向にしか変換できないため、生成された文字列から元のデータを復元することは不可能です。
ビットコインの場合、(N - 1)ブロックのハッシュ値がNブロックに記録されるため、過去全ての取引データがハッシュ値化され、記録されているということになります。
ナンス値とは、ビットコインにおけるハッシュ値のルール(文字列の先頭が「000・・・」となるようにいくつも0が並ばなければならない)を満たすために、使われる値のことです。 「マイニング」という言葉を聞いたことがあるかもしれません。 この「マイニング」こそ、正しいナンス値を探し当てる作業のこと言います。 正しいナンス値を一番初めに見つけた人には、ビットコインが報酬として支払われます。 したがって、マイニングは、計算速度が命なので、高性能なコンピュータや電力コストで高額なコストが必要になります。
もしデータの改ざんが起こるとどのようなことが起きるのか下の図で確認していきます。
Nブロックと(N + 1)ブロックの間でデータ改ざんが起こったとします。 データの改ざんにより、(N + 1)ブロックのハッシュ値は変化します。 ハッシュ値でも述べましたが、ビットコイン過去全ての取引データがハッシュ値化され、記録されています。 ハッシュ値が変わるので、ナンス値も変える必要があります。 (N + 1)ブロック以降の全てのナンス値を変更する必要もあるため、膨大な量の計算を行う高速に行うコンピュータが必要となり、莫大な費用が必要になります。 また、P2Pネットワーク方式により、世界中のノードがお互いに監視している状況なので、不正ができないという仕組みになっています。
一言にブロックチェーンと言っても、様々な種類があります。 また、分類方法も複数の観点があるため、「ネットワークの公開範囲」に着目して分類していきます。
パブリックチェーン
パブリックチェーンとは、誰でも参加可能なネットワークで、管理者が存在しないブロックチェーンです。 また、取引が全て公開されていることから、透明性が高いのも特徴と言えます。 ビットコイン含め、仮想通貨のほとんどが、パブリックチェーンとです。
プライベートチェーン
プライベートチェーンとは、管理者が存在し、管理者の許可なくネットワークに参加できないブロックチェーンです。 社内での利用等、特定の用途で使われる方式です。 パブリックチェーンに比べると、透明性・公共性が低く、中央集権的な部分が含まれています。
コンソーシアムチェーン
コンソーシアムチェーンとは、管理主体が複数から成り立ち、 パブリックチェーンとプライベートチェーン中間に位置します。
まとめ
現時点では、ブロックチェーンと言えば、仮想通貨のイメージが強いです。 今後、ブロックチェーンが発展していくためには、ブロックチェーンを取り巻く環境(法律、社会環境等)が変わっていく必要があると感じます。