ビットコイン相場で話題の「マイニング(採掘)」って何?
4――「マイニング」のメリット
さて、最後に「不正をどのように防いでいるのだろうか」という疑問について考えていきたい。
(図表6)ビットコインのハッシュレートとマイニング報酬不正にはいくつか種類がある。例えば、「自分のものではない電子財布を盗んで使う」「データ上不備のある取引をする(例えば、原資より大きな金額を送金するなど、図表1参照)」といったことが考えられる。
このうち「電子財布を盗んでしまう」という疑問は、前述の「Aの財布にあるビットコインは持ち主でなければ使えないのはなぜだろうか」という疑問と同じであるため、本コラムでの解説は省略したい。次の「データ上不備のある取引をする」という疑問については、マイニングからやや離れることになるが、重要な点でもあるため少し解説しておきたい。
ビットコインにおいて「データ上不備のある取引」を防止させているのは、その「分散性」にあると言える。ビットコインでは、前述の通りネットワーク参加者が同じデータ(ブロックチェーンおよびブロックに取り込まれる前の取引)を持ち、同じルールでデータを更新している。そして、ルール外のデータについては取り除くようになっている。つまり、ネットワーク参加者全員がデータを管理している。したがって、例えば、原資より大きな取引を許可できるように、自分のシステムを変更したとしても、他のネットワーク参加者にそのデータが共有されたときに、他のネットワーク参加者により破棄されてしまうのである。管理者は不在だが、各参加者が管理の一環としてデータチェックを行っており、データ構造上の不備のある取引が共有されないようになっているのである。(ブロック」の作成が「取引」の承認(confirmations)と呼ばれるのに対し、他の参加者から伝送されてきた「取引」の正当性確認は検証(verification)と呼ばれる。検証は承認の前工程のとも言える。取引がネットワーク参加者から検証されているように、ブロックも各参加者同士でその正当性(データ上の不備がないか)が検証されている。)
では、「マイニング」によりブロックをチェーンとしてつなげていくメリットは何かというと、それは(過去の)データの書き換えを防ぐ、という点にある。つまり、データの書き換えという不正に対してブロックチェーンが有効に機能するのである(「耐改ざん性」「不変性」という)。
例えば、不正な取引(データ構造上の不備)が受け付けられなくても、取引を後から修正することができれば、参加者にとってメリットになることがある。例えばAからBにビットコインを送金(取引を作成)し、代わりになにかの商品や通貨を受け取った後でその取引とは違う取引で上書きできれば、Aは不正に得をする(その分、Bは損をすることになる)。ビットコインのブロックチェーンはこういった種類の攻撃(不正)に強い。
この改ざんに強い理由は、いままで述べてきた「マイニング」の大変さにある。ビットコインでは(たまたま同じ時間に異なる参加者によって異なる"当たり"の「ナンス」が発掘されるなどして)ブロックチェーンが2つ作成されてしまった(分岐してしまった)場合、長い方のブロックチェーンを正当なブロックチェーンとみなし、短いブロックチェーンは破棄されるようになっている。