イーサリアムの「Ethash」とは <初心者向け>

本ページはプロモーションが含まれています

f:id:jyutakugyoseiku:20180108173412p:plain

 

イーサリアムで利用されるプルーフ・オブ・ワーク(PoW)は「Ethash」と呼ばれるアルゴリズムが採用されています。ビットコインと同様にPoWが採用されていますが少し異なっています。Ethashについて初心者の方にも分かりやすく解説をしていきます。

 

 

bitFlyer ビットコインを始めるなら安心・安全な取引所で

 

PoWとは

Ethashについて理解する為にまずはプルーフ・オブ・ワークというビットコインやその他仮想通貨で多く採用されているアルゴリズム(ルールのようなもの)について知っておきましょう。

PoWとは簡単に言えば仮想通貨の取引処理作業である「マイニング」において「最も計算処理を行った人のブロックを有効とする」というルールです。このルールの元マイニングをする事で不特定多数の参加者(マイニングをする人=マイナー)が不正を起こさないようになっています。

なぜならこのルールがあるおかげで不正な取引処理をしようとする時にも一定以上の計算が必要になる為、コスト(設備費や電力消費)のかかる計算をしてまで不正を行おうとする悪意のある参加者を増やさない事の抑止力になるからです。

 

PoWについてはこちらプルーフ・オブ・ワークとはもご参照ください。

 

Ethashとは

そんなPoWをイーサリアムは現在採用していますが、ビットコインのPoWマイニングとは少し仕様が異なっています。

Ethashはイーサリアムで独自に設定されるPoWマイニングのアルゴリズム(ルール)です。

 

最も大きな特徴の一つに「ASIC耐性」というものがあります。

 

ASIC耐性とは

ASICとは特定用途の集積回路の事で、ある特定の計算処理に特化した集積回路の事を言います。これを利用すると普通のコンピューターのように様々な用途が想定されてできた計算機よりも専用特化型なので、とても計算パワーが上がります。(参考:ビットコインの「ASIC」とは

 

ビットコインマイニングでは既にビットコインマイニングASICが開発されており、現在では普通のコンピューターを利用してもPoWというルールの中では計算能力で勝つことができずASICを利用する人が有利な状態になっています。

 

しかしASICは特定用途のものである為、高価な事や開発が困難である事などの理由から全ての人が簡単に利用できるものではなくなっています。その為ASICをマイニングで利用できてしまうとマイニングの集中化が生じてしまい、管理者不在であるはずのビットコインなどの仮想通貨において一つの場所(や団体)に権力が集中してしまう事になってしまう為問題視されています。

 

このような集中化を避ける為に「ASICをマイニングで利用できない(又は利用しても意味が無い)アルゴリズム(ルール)を持つ仮想通貨」=「ASIC耐性のある仮想通貨」が求められており、EthashではASIC耐性が備わっているのです。(参考:ASIC耐性とは

 

EthathのおかげでイーサリアムはGPUというASICよりも手に入りやすい機械でもマイニングを効率的に行う事ができるのでビットコインよりもマイニングをする人の集中化が避けられています。(参考:ビットコインマイニングの簡単な歴史「CPU~ASICまで」

スポンサー

 

 

その他の主な仕様

また、Ethashを利用する事で軽量クライアントと呼ばれる全てのブロックチェーンを検証しないようなソフトウェアを使用したとしてもすぐにブロックや取引データが正しいかどうかを検証する事ができるとしております。

全てのブロックチェーンを保存するクライアントを使用していれば新しいブロックや取引データが不正かどうかを見分ける事ができますが、一部のみ保管する軽量クライアントでは検証ができない場合などが他の仮想通貨では起り得ます。

 

他にも独自のセキュリティの高いハッシュ関数を利用する等もしており、ビットコインのようなSHA256は使用されていません。(参考:SHA-256とビットコイン<初心者向け>

 

関連記事

イーサリアム(Ethereum)初心者入門ページ

プルーフ・オブ・ステーク(PoS)のデメリットは何か <初心者向け>

イーサリアムの4段階ハードフォークの概要 <初心者向け>

プルーフ・オブ・ステークの問題点「Nothing at Stake」とは <初心者向け>

 

bitFlyer ビットコインを始めるなら安心・安全な取引所で

スポンサー

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です