仮想通貨のマイニングについては皆さん耳にしたことがあるかと思います。GMOやDMMがマイニングファームを立ち上げることを2017年9月に発表しました。
今回はビットコインではなく、イーサリアムに焦点を当ててマイニングを説明します。
マイニングって何?
マイニングとはproof of workと呼ばれる合意形成メカニズムの元、ブロックを生成するために計算を行うことです。そして最も早く計算が完了した者には報酬としてコインが与えられます。
これにより新しいブロックが生成され、ブロック内の取引が承認されます。そして新たな取引が開始され、次ブロック生成のための計算がスタートします。つまり、ブロックチェーンを作るための計算をした人に仕事に対する対価が支払われることです。このマイニングには高性能なパソコンと大量の電気が必要になります。
ビットコインとイーサリアムの違い
最大の違いはブロックの生成時間です。ビットコインでのブロック生成時間が平均10分であるのに対して、イーサリアムでは平均15秒になっています。これによってビットコインの問題であった取引承認の時間は大幅に短縮されています。しかし、これによってフォークが発生する割合が増加します。この問題をどう解決しているのでしょうか?
まずフォークが一つ発生した場合についてみてみます。この場合、長くなったチェーンAの方が採用されます。チェーンBは非メインチェーンなので破棄されます。ビットコインと異なる点は、チェーンBはメインチェーンにはならずに”Uncle”としてチェーンAに記録されることです。この部分は後に続くチェーンで意味を持ちます。
さらにCというチェーンが発生した場合を考えましょう。ビットコインではCがメインチェーンになりますよね。しかしイーサリアムではチェーンAがメインチェーンになります。なぜでしょうか?ブロック高ではCの方がAよりも高いですが、AにはUncle分も加えられるためにブロック数が多くなりAのチェーンがメインになる仕組みなのです。
Ghostプロトコル
このイーサリアムの仕組みはGhostプロトコルと呼ばれ、Uncleのマイナーにも報酬が与えられます。ポイントは以下です。
- メインチェーン以外のブロックを生成したとしても報酬が与えられるため、マイナーが参加しやすい。
- uncleの採掘に費やしたエネルギーが認められメインチェーンに組み込まれる
- 攻撃者はuncleを含む全てのブロックを改ざんする必要があるため、攻撃難易度が高くなる。
ビットコインよりもマイニングの敷居が低く、取引が高速化されている点は優れた仕組みだと言えるでしょう。しかしイーサリアムは現在のproof of workからproof of stakeに移行を目指しており、こちらで説明した合意形成のメカニズムが変化していくかもしれません。