白書(whitepaper)仮想通貨の用語集CoinNaviブロックチェーンブロックチェーンではどうして不正を行うことが限りなく不可能なのか?ブロックチェーンではどうして不正を行うことが限りなく不可能なのか?2017年12月25日2017年12月26日ビットコインが誕生したことでブロックチェーンという技術に注目が集まっています。実は、ブロックチェーンという技術は仮想通貨の世界に限られた技術ではありません。私たちの生活を大きく変える可能性を持っているとまで言われています。ブロックチェーンという技術がそこまで注目を集めているのでしょうか。ブロックチェーンとはブロックチェーンとはそもそも分散型のシステムのことです。従来、インターネット上で用いられていた中央集権型のシステムとは全く異なるものです。世界中の膨大な数のパソコンを暗号通信で接続することで、強固なシステムを構築することができます。情報が膨大のパソコンに点在していることで一部のパソコンが攻撃を受けても、システムは安全に動き続けます。このシステムを壊すためにはシステムに参加している全てのパソコンを同時に攻撃する必要があります。このような事態が起こる可能性は限りなく低いので、システム障がいなどの問題が起きる可能性も極めて低いと言われています。P2P(ピアツーピア)ネットワークの管理役としてサーバーが存在する一般的な中央集権型のネットワークでは、パソコンの役割はサーバーとクライアントの2つに大きく分類されます。サーバー側のパソコンがデータを管理し提供する役割を担う一方で、クライアント側のパソコンはサーバーに対してデータを要求する役割になります。この関係が固定されており、変わることはありません。クライアント側からサーバー側の情報を修正することは難しいです。状況に応じて関係を変更することができます。ネットワークに参加するそれぞれのパソコンがデータを管理し提供することもあれば、他のパソコンにデータを要求することもあります。このように、パソコン同士の関係が対等であるため、一部のパソコンの情報が改ざんされたとしても他のパソコンの情報を用いて修正させるようなプログラムを作ることもできます。ハッシュ関数ハッシュ関数とは、あるデータを入力すると、そのデータに対応した一意のハッシュ値を出力してくれる関数。ハッシュ関数に入力するデータが全く同じであれば、出力されるハッシュ値は同じです。入力するデータが少しでも異なっていると、全く違うハッシュ値が出力されます。ハッシュ値はランダムに出力されるため、ハッシュ値から元のデータを推測することは極めて困難とされています。鍵が2つ公開鍵暗号方式とは、暗号化と復号化に別々の鍵(秘密鍵と公開鍵)を用いる方式。重要なデータを送信する側が秘密鍵と公開鍵の両方を作成し、データの受信側に公開鍵のみあらかじめ送信しておくことで、安全に重要なデータを送信することができる仕組みとなっている。共通鍵暗号方式では鍵が1つ共通鍵暗号方式では暗号化と復号化に同じ鍵を用いるため、鍵の扱いに細心の注意を払う必要があり、安全面で大きな問題を抱えていた。公開鍵暗号方式を用いて、ハッシュ値が正しいものかを判断していく仕組みとなっています。正しいと判断されたブロックが1つずつつなぎ合わさり、チェーンのようになっていくことから「ブロックチェーン」と呼ばれています。ブロックチェーンではどうして不正ができないのかブロックチェーンでは、これまで説明してきた技術を用いて、強固なセキュリティーを構築しているのが一つの特徴です。ブロックチェーンではどうして不正が行われにくいのでしょうか。管理の中心となるサーバーが不在ブロックチェーンではサーバーが存在しないブロックチェーンでは、P2P(ピアツーピア)ネットワークを採用しているので、システムの構築に参加しているパソコン同士は相互にデータの送受信を行えます。そのため、一部のパソコンを攻撃されたとしても、他のパソコンのデータを用いて正しいデータを再生することができます。ブロック同士がハッシュ値でつながれているブロックチェーンの各ブロックにはブロックのハッシュ値が含まれています。そのハッシュ値を用いて正しいブロック同士が鎖状につなぎ合わさっています。どこでブロックのデータの一部を書き換えたとしても、出力されるハッシュ値が異なるので、そのブロックは正しいブロックだと判断されることはありません。ハッシュ値の計算に労力がかかるブロックチェーンにおいてはハッシュ値によって各ブロックが正しいか判断しています。新たに追加されるブロックのハッシュ値はどのように求められているのでしょうか。work(PoW)という認証方法を採用しており、条件を満たすハッシュ値が見つかるまでひたすら単純計算を繰り返すことになっています。鉱山などで鉱石を発見する作業に似ていることから、「採掘」や「マイニング」と呼ばれています。金があるとわかっている場所でも金を見つけるのには相当な労力がかかるのを同じように、正しいハッシュ値を見つけるのには大変な労力を必要とします。そのため、不正を行おうとしても、圧倒的な数のパソコンの処理能力には勝てないので、不正は行われにくいとされています。長いブロックが正しいというプログラム一番長いブロックが正しいブロックとして認証ブロックチェーンではブロックの認証過程においてブロックが複数に分離することがあります。そのときに、どのチェーンが正しいチェーンなのか判断する根拠として、最も長くつながったチェーンが正しいものだと判断し、その他のチェーンについては破棄されるようなプログラムになっています。一般的にはブロックが6以上つながっていると、正しいチェーンとして認識されるとされています。