こんにちは、ぼくです。マイニング用につくったPCでCPUマイニングをやってみたレポートです。
暗号通貨のマイニングというと一般的にはGPU(ビデオードカード)を何枚も使って行うイメージですが、アルゴリズムによってはCPUをつかってマイニングできるコインもあります。
ぼくがCPUマイニングに興味をもったのは、自作PCのCPU選びのときに
“RyzenはCPUマイニングに向いている!”
みたいな記事を見かけたためです。24時間つけっぱなしにしておくわけですから、余っているCPUの計算能力もフルに使ってやろうという下心がありましたw
CPUでマイニングできるわけ
ビットコインなどのメジャーな暗号通貨に使われているハッシュ関数は比較的の単純な計算で求められます。あらかじめ決められている答えを求めるために値を変えながら大量の計算を繰り返すことがマイニングです(それによって送金の検証を行います)。単純計算にはGPUやASIC(専用の演算回路)が向いており、コスパ的にもCPUでは太刀打ちできませんでした。一方、CPUマイニングに向いているコインで利用されるアルゴリズムでは専用の演算回路(ASIC)をつくりにくくわざと設計されているようです。(ふわっとした説明しかできませんw もう少し詳しくなったら追記しますね。。。)
↑を読んだだけですが。。。たとえば Cryptonight というアルゴリズムではメモリにランダムアクセスする必要があるようで、GPUに使われているGDDR5というメモリは高速だがランダムなアクセスに弱く(時間がかかる)、CPUに載っているL3キャッシュメモリのほうが性能が出るということのようです。また、ASICを作る場合多くのメモリが必要となり高価になるため優位性が保ちにくいということらしいです。
monero (XMR, モネロ)
https://ja.wikipedia.org/wiki/Monero
現在、日本の取引所で取り扱っているコインのうち、CPUマイニングできるのは monero だけです。monero を取り扱っているのは、今のところ CoinCheck という取引所だけです。手に入れたコインは簡単に円にできたほうが安心ですし、今回は monero を掘ってみたいと思います。
(2018/1/30追記) CoinCheckはハッキング被害の影響で取引ができない状態です。NiceHash Minerを使って、Cryptonight をCPUマイニングして BTC を得る、という方法もあります。
https://bokunonote.com/2018/02/02/post-379/
実際どれくらい掘れるのか
CPUごとのハッシュレート一覧はこちらを参考にしました。
PCの構成違いや、オーバークロックの有無、OSやマイニングソフトの違う結果が混ざっているので分かりにくいですが、手持ちの Ryzen 7 1700 の場合、300~500 H/s くらい出るそうです。
こちらでハッシュレートから得られる報酬が見積もれます。
いまのレート(1XMR = 45000円)だと、300~500H/s は 88~146円 くらいです。
さっそく自分のPCでもやってみたいと思います。
ウォレットの準備
今回はスマホアプリを使ってみました。Monero Wallet というアプリです。AndroidもiOSでも提供されているようです。
- Google Play : https://play.google.com/store/apps/details?id=xmr.org.freewallet.app&hl=ja
- App Store : https://itunes.apple.com/jp/app/monero-wallet-by-freewallet/id1126426159?mt=8
画面はandroid版です。
無事インストールできたら、+ボタンをおして、Receive をタップすると wallet のアドレス が表示されますよ。
マイニングソフトの設定
マイニングに使うソフトはこちらからダウンロードしてきました。
実行ファイル(xmr-stak-win64.zip)をダウンロードして、zipを展開すると以下のとおり。
config.txt にマイニングプールのアドレス、自分のwalletアドレス、マイニングの設定を記入します。
マイニングプールに monerohash.com を使う例はこんな感じ。
"pool_address" : "monerohash.com:5555", "wallet_address" : "自分のwalletのアドレス", "pool_password" : "",
上記設定をしたあと、xmr-stak-cpu.exe を実行してみると、CPUに応じた設定がコマンドプロンプト上表示されます。
これをconfig.txtの “cpu_threads_conf” のところにコピペして置き換えればOK。
Ryzen 7 1700 の場合は以下の通り。
"cpu_threads_conf" : [ { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 0 }, { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 2 }, { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 4 }, { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 6 }, { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 8 }, { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 10 }, { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 12 }, { "low_power_mode" : false, "no_prefetch" : true, "affine_to_cpu" : 14 }, ],
ここまできたら、あとは xmr-stak-cpu.exe を実行するだけ。タスクマネージャのCPU使用率が上がっているのが確認できると思います。
24時間放置して掘った結果
ぼくがメインで使っているマイニングPCの構成はこちら。
https://bokunonote.com/2017/12/28/post-67/
このPCを使って24時間 monero を掘ってみました。
。
。
。
0.00173038605XMR になっていました。
円に換算すると、77.86円ほどです。ハッシュレートから見積もった値が 300~500H/s は 88~146円 でしたので、下回っていましたが、大きくは外れていませんでした。
わずかな収入とはいえ、77.86 × 365= 28418.9 円 ですので、1年以上回せばCPU代くらいは回収できそうです!
※ちなみに、CPUはオーバークロックしていません。”cpu_threads_conf”の設定も見直せばもう少し効率良く掘れるかもしれません。伸びしろはまだある、ってことで。暇なときに追試したいと思います。
AMD CPU Ryzen7 1700 with WraithSpire 65W cooler AM4 YD1700BBAEBOX
単独で電気代を常に記録してくれます。PCに繋ぐとエクセルで読める形式で保存できます。収益を計算するのに便利、1コンセントに1台w