仮想通貨のマイニングアルゴリズムの特徴と違いを徹底調査
2018.07.14
仮想通貨の話でよく「マイニング」という言葉を目にすると思いますが、仕組みをしっかり理解できている人は少ないと思います。
そこで今回は、マイニングの仕組みや、主要な仮想通貨のマイニングアルゴリズムについて解説していきます。
仮想通貨のマイニング(採掘)とは
ビットコインをはじめとした仮想通貨は、トランザクション(取引)が正しく行われているか確認し、承認する必要があります。承認されるとブロックが生成され、チェーンに繋がります。この作業をマイニングといい、報酬として仮想通貨を貰うことができます。
マイニングをしている人をマイナー(採掘者)といいます。
一般の人がマイニングに参加できない通貨もありますが、ビットコインやイーサリアムは誰でもマイニングすることができます。さらに報酬額も高額であるため、多くの企業がマイニング事業に参加し始めています。
マイニングの仕組み
マイニングの仕組みについてわかりやすく説明していきます。
取引を承認し、新しいブロックをブロックチェーンに繋げる作業がマイニングだと言いましたが、実際には、ハッシュ関数のナンスを探す計算作業です。ハッシュ関数とは、値(ナンス)を代入して新しい値を作るのは簡単なのに、新しい値から元の値を出すのが非常に困難な関数です。
これをいち早く解き、ナンスを見つけた人がマイニングに成功し、報酬を得ることができます。このナンスを見つけるには、コンピュータによる膨大な試行が必要です。そのため、多くのコンピュータを用いてマイニングを行うほど成功しやすくなります。
このような仕組みをプルーフオブワーク(Proof of Work)といいます。
ビットコイン、イーサリアム、ライトコインのアルゴリズム比較
CoinMarketCapでは、最新の仮想通貨の相場情報を知ることができますが、それぞれの通貨がPoW(プルーフオブワーク)によってマイニングできるかどうかも確認することができます。
下の「循環サプライ」の列のアスタリスクが付いている通貨はアルゴリズムにPoW以外を用いているためマイニングできないことを表しています。
2018/6/26現在は、時価総額TOP10の中でビットコイン、イーサリアム、ビットコインキャッシュ、ライトコインがマイニング可能です。
ビットコインキャッシュはもともとビットコインから生まれているためマイニング方法はほとんど同じです。そこで、ビットコイン、イーサリアム、ライトコインのマイニングについて詳しく説明していきます。
ビットコイン
SHA-256
SHA-256は「Secure Hash Algorithm 256-bit」の略であり、日本では「シャーニゴロ」と呼ばれたりします。その名が示す通り、256ビット長のハッシュ値を得ることができるハッシュ関数です。SHA-256は、SHA-2の規格であり、SHA-2はSHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SHA-512/256の6つのバリエーションがあります。後ろの数字は生成されるハッシュ値のビット長を示しています。これだけ見るとSHA-512が最も長くて安全性が高くていいじゃんと思いますが、SHA-256の方が実装のしやすさや、計算速度の面などのバランスが良く最も広く普及しているようです。
RIPMED-160
ビットコインのハッシュは、多くの場合、SHA-256を2回適用したものが使われています。ハッシュ関数を二重にすることでより複雑になり、安全性も高まります。一方で、より短いハッシュ値が必要な場合(ビットコインアドレスなど)は、SHA-256を使った後に、RIPMED-160が用いられます。
SHA-256を高速で解くASICの存在
SHA-256は当初はCPUで計算が行われていましたが、現在はASICと呼ばれるSHA-256を効率よく解くための装置が開発され、それを用いたマイニングが主流になりました。これは以前から問題視されており、本来は誰でもマイニングに参加できるのがビットコインでしたが、現在はASICを持っていないユーザーはASICを持っているマイナーに太刀打ちできないため、公平性が疑問視されています。
イーサリアム
Ethash
Ethashは、DAGと呼ばれる数ギガバイトのファイルで、30,000ブロックごとに再生成されます。これによってメモリの消費を激しくさせ、ASICに耐性を持たせています。EthashはASIC耐性を持つアルゴリズとして知られていましたが、中国のマイニング企業であるBITAMAINはEthash向けのASICの開発に成功したようです。800ドルで販売されています。
We are pleased to announce the Antminer E3, world's most powerful and efficient EtHash ASIC miner.
Ordering limit of one miner per user and not available in China.
Limited stock, order here now: https://t.co/Zfw3afjJHs#antminerE3 pic.twitter.com/SjHu2eUThp— BITMAIN [Not giving away ETH] (@BITMAINtech) April 3, 2018
(アントマイナーE3を発表できてうれしく思う。これは世界で最もパワフルで効率的なイーサッシュ向けASICマイナーです。注文は1人1台限り、中国では入手不可。在庫には限りがあり、今すぐご注文を)
イーサリアムは現在PoWからPoS(Proof of Stake)への移行を発表しています。具体的な時期は未定ですが、これによりアルゴリズの変更がありそうです。
ライトコイン
Scrypt
複数の優秀なハッシュアルゴリズムを直列に繋げた採掘アルゴリズムです。PBKDF2・SHA256・Salsa20/8の3つを用いて実装されています。計算に利用するメモリ領域が非常に大きく、ランダムアクセスを必要とすることから、ASICやGPU耐性を持つとされていました。
ライトコインは「ASIC耐性のあるコインが必要」という思想のもと開発されましたが、ライトコインと共にScryptが注目されるようになった結果、様々な人がScryptの最適化を行い、現在はその思想に反して、Scryptアルゴリズムを実装したASICが出回っています。
まとめ
主要コインのマイニングアルゴリズについて説明してきました。知っているようで知らない仮想通貨の仕組みについて、なんとなく理解して頂けたら幸いです。仮想通貨の技術は日々進歩しており、ここに書いたことも一年後には古い技術になっているかもしれません。
実際にマイニングで稼ぐのであれば、ASICは必要不可欠でしょう。ですが日本は比較的電気代が高いので、世界レベルで見るとマイニングには向かないのかもしれません。