あっかぎのページ

Raspberry Piで仮想通貨をマイニングしてみました

Raspberry Pi 3とシリアルコンソール

ビットコインに代表される仮想通貨が流行っていますね。今回はRaspberry Piを使って仮想通貨のマイニングをしてみました。

Raspberry Piで仮想通貨のマイニング

ビットコインに代表される仮想通貨の入手手段は、主に取引所で購入することですが、マイニングというコンピューター計算によっても入手することができます。そこで、「Raspberry Piでマイニングできるのかどうか?」「マイニングで儲かるのか?」という検証も兼ねて実験してみました。

目次

  1. 前置き・実験環境
  2. Raspberry Piでマイニングできる? 儲かる?
  3. Raspberry Piでマイニングの手順
  4. 日本ではマイニングで儲からないの?

前置きが長いので、やり方を手っ取り早く知りたいときは3のRaspberry Piでマイニングの手順へジャンプしてください。

前置き・実験環境

今回の実験に使った環境は次の通りです。

  1. Raspberry Pi 2B
  2. OS: RASPBIAN STRETCH LITE(Ver.Sep 2017)
  3. マイニング通貨: Monero
  4. マイニングソフト: cpuminer-multi
  5. マイナープール: MINER GATE

それぞれについて少し補足しておきます。

8月にOSがJessieからStretchへ新しくなったので、NASに使っていたRaspberry Pi 2Bをクリーンインストールしました。「せっかくなので何か新しいことを実験しよう」というのがきっかけで、仮想通貨のマイニングを試してみました。今回使ったのはRasbperry Pi 2Bなので、最新の3Bなら処理速度が2倍くらいになるかもしれません(ひょっとすると64bit化の恩恵でマイニングならそれ以上?)。ただ、Raspberry Pi 2Bでもマイニングである程度の感触はつかめたので、それを記事にしています。

3~5の補足です。マイニングする通貨はMoneroという通貨です。Moneroは匿名性を特徴とした仮想通貨です。「なぜBitcoinをマイニングしないの?」の答えは、Bitcoinは競争がすさまじく、ASICという専用計算機を部屋に敷き詰めたマイナー同士が世界中で競争しているため、並みのコンピューター資源ではとうてい太刀打ちできないからです(イメージ動画)。

仮想通貨はビットコイン以外にもありますので、まだ過当競争になっていない他の通貨がマイニング対象になってきます。主だってはEthereumやZcash、Moneroなどです。今回はMoneroを対象としました。

現状はマイニングの世界ではコンピューター計算と空調・冷却の電気代が多くを占めるので、電気代の安い中国や気温の低い北欧(アイスランドなど)が中心です。日本は電気代が高いということで、マイニングは儲からないと言われています。次の地図は各国の1kWhあたりの電気料金です。日本は22.1円に対して中国は9.1円、ロシアは5.6円、スウェーデン5.3円と、日本の半額以下の国がたくさんあるのがわかります。

マイニングにあたっては、cpuminer-multiというソフトを使います。仮想通貨はブロックチェーンという技術に基づいて設計されていますが、そのブロックチェーンを構築するにあたってコンピューター計算資源が必要です。基本は暗号処理をひたすら計算するのですが、Raspberry Pi上でcpuminer-multiというソフトを使ってこの計算を実行します。

マイナープールというのは、マイニングするにあたってコンピューターをたくさん集めたチームだと思ってください。マイニングで報酬をもらえるのは暗号を解いたコンピューターただ1つですが、この計算競争を勝ち抜くのはただ事ではありません。勝った場合は報酬を独り占めできますが、現状は世界中の専用コンピューターやGPU群の群雄割拠の勝負なので、まず競争に勝てません。そこで、マイナープールというチームを組んで、コンピューター資源に応じて報酬を山分けする仕組みができました。マイナープールに計算資源(ここではRaspberry Pi)を提供することで、計算量に応じて報酬をもらいます。簡単に言うと、単独のマイニングはハイリスクハイリターン、マイナープールはローリスクローリターンという感じですね。

次からは「Raspberry Piのマイニングは儲かるか?」「Raspberry Piでマイニングをする手順」という感じで紹介していきます。

Raspberry Piでマイニングできる? 儲かる?

先に結論です。

Raspberry Piのマイニングは可能ですが、儲かりません

Raspberry Piでマイニングは可能です。ただ、計算資源が貧弱すぎて、ほとんどマイニングできません。実際に動作させてみると1円/日くらいの稼ぎです。1カ月でも30円くらいという報酬なので、Raspberry Piの電気代(1カ月50円くらい)を考えると、ほとんど儲からないか赤字になるラインです。

仮に、マイニング用にRaspberry Pi 3Bで処理速度が2倍となっても1カ月に60円の収益です。電気代を引いて1カ月で10円利益が出たとしても、Raspberry Pi本体やSDカードなどの機材の料金を8000円とすると、もとをとるのに800カ月かかる計算です。仮に複数構成にして効率を上げることができたとしても、これではビジネスモデル的には難しいところです。

実際の報酬画面


(クリックで拡大)

画面上側の「Account status」の右側にある

0.00000712 BTC

がマイニングで得た報酬です(Moneroという通貨でマイニングしていてもビットコインに換算されます)。2017/09/17時点でのビットコイン価格は393743なので、2.8円です。稼働して3日程度なので、1日約1円の報酬です。

2段目の「Monero」にMoneroでマイニングした結果が出ています。「Unconfirmed」にある0.000275570949というのがマイニングしたMoneroに相当します。今回マイニングに協力したマイニングプールのMINER GATEは

Pool    29.46MH/s
Miners: 47,389

というコンピューター資源とマイナー数で表示されています。その下にWorld 249.0 MH/sとありますので、MINER GATEはMoneroにおいて世界の12%の計算資源を持っていることがわかります。このH/sというのがコンピューターの計算能力を表す単位となり、大きいほどより効率よくマイニングできることを示します。

で、気になるRaspberry PiのH/sですが6~7H/s程度です。ちなみに、ぼくが普段使っているSurface Proで20~30H/sでした。実はこの程度の数字では全然お話にならず、時間とお金の無駄という感じが正直なところです。この記事の最後に少し触れるGPU(グラフィックボード)を使うとこのH/sが100~1000くらいになってきます。このくらいの数字になってきて初めて費用対効果を考えるステージになってきます。

結論としては、Raspberry Piのマイニングはあくまで勉強要素や仕組みの理解程度で、残念ながら儲けは度外視というのが現状です。

Raspberry Piでマイニングの手順

Raspberry Piでマイニングの手順です。参考にしたのは次のサイト。

8月に登場したRASPBIAN STRECH LITEをRaspberry Piに新規インストールして行いました。旧版のJessieや使用中のRaspberry Piでも問題ないと思います。

マイニングソフトの導入

まず必要なパッケージを導入し、マイニングソフトをコンパイルします。

$ sudo apt-get install autoconf libcurl4-openssl-dev libjansson-dev openssl libssl-dev gcc gawk
$ sudo apt-get install git
$ git clone https://github.com/lucasjones/cpuminer-multi.git
$ cd cpuminer-multi
$ ./autogen.sh
$ ./configure
$ make
$ ./minerd --help

最後のコマンドでhelpが表示されればマイニングソフトの準備はokです。

MINER GATEのアカウント取得

マイニングの計算資源を提供するMINER GATEのアカウントを取得します。

Sign Upからメールアドレスを登録するだけでアカウントが取得できると思います。アカウントが取得できたら、自分用のアクセス先を次のページで確認します。

アクセスできたら次の画面になると思います。


(クリックで拡大)

この画面では自分がマイニングするときのコマンドが紹介されています。

BCN minerd -a cryptonight -o stratum+tcp://bcn.pool.minergate.com:45550 -u foo@example.com -p x
XMR minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u foo@example.com -p x
QCN minerd -a cryptonight -o stratum+tcp://qcn.pool.minergate.com:45570 -u foo@example.com -p x
...

これらはcpuminer-multiでマイニングするときの接続先と自分の情報(メールアドレス)になります。各行がマイニングできる通貨となり、記事ではMonero(XMR)をマイニングしましたが、他の通貨でもOKです。それでは、自分のRaspberry Piに上のコマンドを入力します。

$ ./minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u foo@example.com -p x

[2017-09-17 13:26:59] Using JSON-RPC 2.0
[2017-09-17 13:26:59] CPU Supports AES-NI: NO
[2017-09-17 13:26:59] Starting Stratum on stratum+tcp://xmr.pool.minergate.com:45560
[2017-09-17 13:26:59] 3 miner threads started, using 'cryptonight' algorithm.
[2017-09-17 13:26:59] Pool set diff to 1063
[2017-09-17 13:26:59] Stratum detected new block
[2017-09-17 13:26:59] thread 0: 23007376 hashes, 0.00 H/s
[2017-09-17 13:26:59] thread 2: 23007392 hashes, 0.00 H/s
[2017-09-17 13:26:59] thread 1: 23007384 hashes, 0.00 H/s
[2017-09-17 13:27:00] accepted: 535/540 (99.07%), 6.34 H/s at diff 1063 (yay!!!)

実行すると上のように処理が開始されます。あとは放置しておくと勝手にマイニングが始まって、コンピューター資源に応じて報酬が受け取れます。コンピュータのハッシュレート(H/s)も表示されますので、自分のRaspberry Piがどれくらいの処理速度が出ているかがわかります。上の例では最終行に6.34 H/sと出ています。

Raspberry Piの消費電力は5V * 1A = 5W程度なので、1日放置すると120Whです。電気代は1kWhで25円程度なので、1日約3円の出費となります。対して、7H/s程度の計算資源では稼げて1日1円くらいなので、電気代を考えると赤字かがんばってもトントンのラインです。ぼくはRaspberry Pi 2Bですが、仮に3Bで計算能力が2倍になったとしても機材代を考えるとビジネス的には苦しい状況ですね。

動作監視

まれにcpuminer-multiが落ちるのと、Raspberry PiのCPU温度が気になるので監視するスクリプトを作りました。

#!/bin/sh
temp=`cat /sys/class/thermal/thermal_zone0/temp`
echo `date +"%Y-%m-%d %H:%M:%S"`,$temp >> /home/pi/cpu.log

result=`ps ux | grep cpuminer | grep -v grep | wc -l`
if [ $result = 1 ]; then
        # running(do nothing)
        :
else
        /home/pi/cpuminer-multi/minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u YOUR_EMAIL -p x -t 4
        echo '# dead & restart' >> /home/pi/cpu.log
fi

最初のところでCPU温度を/home/pi/cpu.logに出力します。後半部分でcpuminer-multiのプロセスが生きているかどうかをチェックしています。もしプロセスが落ちていたら再起動します。9行目の「YOUR_EMAIL」はMINER GATEに登録したメールアドレスに書き換えてください。

このスクリプトをcronに登録しておけば、CPU温度のチェックとプロセス監視 & 再起動ができます。ぼくは5分の頻度で実行するようにしています。cpuminer-multiが動作しているとCPU温度が60~65度くらいになりますので、温度状況だけでもある程度動作状況は把握できるかもしれません。

MINER GATEについて

マイニングプールとしてのMINER GATEはお手軽で有名です。今回はRaspberry Piでマイニングしましたが、お使いのデスクトップやノートPCでもマイニングができます。MINER GATEのアカウントが取得できれば、「Downloads」のページからWindowsやMac用の専用ツールがダウンロードできます。

これを使えば普段のPCでもマイニングできます。最近のCPUはマルチコアなので、半分くらいをマイニング作業に割いても動作するかもしれません。ただ、実際には普通のパソコンのCPUでマイニングできる量はたいしたことはないので、電気代を考えるとRaspberry Piと同じように赤字になるのと思います。

また、MINER GATEは手数料(4%程度)が高いことでも有名です。他のマイニングプールでは1%や2%というところもあります。MINER GATEは初心者でもお手軽にマイニングが始められるのが利点ですが、手数料が高いの欠点になります。これを機会にマイニングに興味が出れば、いろいろと調べてみるといいかもしれません。

日本ではマイニングで儲からないの?

マイニングの本場は電気代の安い中国や北欧と言われています。では、「日本ではマイニングが儲からないか」というと、実はそうでもないようです。

上のサイトはGPU(グラフィックボード)と電気代を入力すると利益を計算してくれるサイトです。試しに次の条件で入力してみます。

  • NVIDIA GTX 1060 6GB
  • 25 JPY/kWh

出てきた計算結果が次の画面です(2017/09/17)。※仮想通貨の相場や計算競争の状況で計算結果が変わります。


(クリックで拡大)

最終行の「Profit」がマイニング量と電気代を差し引きした最終的な利益を示します。「1 MONTH」を見ると「0.00495758 BTC (2,016.12 JPY)」となっています。つまり、NVIDIA GTX 1060 6GBのGPUを使うと1か月で2000円くらいの利益が出る計算です。電気代が高いと言われる日本でも、高性能なGPUを使ってマイニングをすると儲けが出ることになります。

価格.comあたりでNVIDIA GTX 1060 6GBの価格を調べると32,000円くらいで売っています。上の利益が続いたとすると16カ月で元がとれて、それ以降はずっと毎月2000円の不労所得が入ることになります。ということで、「実は日本でもマイニングで稼げる」と、ぼくのようなコンピュータオタクや仮想通貨界隈で注目されています。

ぼくもRaspberry Piでマイニングをするためにいろいろ調べてわかったのですが、日本でも精力的にマイニングの情報を発信していらっしゃる方がいます。

マイナー太郎さんは日本のマイニング創始者的な存在で、GPUを使えば日本でもマイニングで儲けられることを発見し、いろいろな情報提供をしています。イーサ先輩はマイニングやethOSの情報を整理していろいろと役に立つ情報が満載です。hyperbananaさんのところでは、マイニングGPUの構成方法が写真付きでとても参考になります。

今後もマイニングで儲かるかは疑問符

実はつい最近、モルガンスタンレーのCEOの発言や、中国でICOに規制がかかるということでビットコインを代表とする仮想通貨が暴落しました。それにつられてマイニング報酬も大きく下落しました(先ほどの例では1カ月に2000円の利益が1500円くらいに低下)。仮想通貨の相場はまだ未成熟なので、今回のような暴落や暴騰が非常に激しい世界です。今はバブルと言われていて、成熟されるまでにはまだまだ時間がかかりそうです。そうなると、今は儲かる計算でも、相場によってはいつ赤字になってもおかしくない状況です。

また、計算競争も日増しに激しくなっていて、同じ計算資源でも1月で2割程度報酬がダウンしている状況です。今までと同じ水準で利益を稼ごうとすると、その下落率以上に設備投資(GPUの増強やコンピュータの追加)が必要です。そして、その状況が続けば設備投資した資金が回収できるかに疑問符が残ります。2017年9月時点では設備投資の回収に1~2年という状況ですが、今のペースで計算競争が進んでいけば、半年後には報酬が半減するような世界です。これは日本に限った話ではなく、世界共通で激しい競争が起こっている証拠でもあります。

昔アメリカでゴールドラッシュが起こったときに設けたのは、金を掘る人(マイナー)ではなく、マイナーにツルハシやジーパンを売った人でした。今の仮想通貨のマイニングでも同じことが言えるかもしれません。マイニングをする中国人やマイナープールも儲かるかもしれませんが、当時と同じようにツルハシやジーパンに相当する人が儲かると思いませんか? 仮想通貨のマイニングでツルハシ商店に相当するのが、GPUを商売しているNVIDIAです。下の画像はNVIDIAのここ半年の株価です。

2017年4月頃は100くらいだった株価が2017年9月には180近くになり、半年のうちに80%も上昇しています。実は春先にGPUでマイニングで稼げるという状況が世間に知れ渡り、PCパーツショップからGPUが売り切れて姿を消した時期がありました。ちょうどその頃から株価が右肩上がりに上昇しています。この流れに拍車をかけるように、この頃はビットコインをはじめとした仮想通貨が大きく値上がりしたこともあります。知らない人からするとパソコンのグラフィックボードを販売するNVIDIAと仮想通貨は無関係に思えます。ところが、仮想通貨のマイニングという世界を通じてNVIDIAはゴールドラッシュのツルハシを売っていたんですね。

儲けることを考えるとマイニングでひと稼ぎするのも面白そうですが、NVIDIAのように当時のゴールドラッシュにならってツルハシやジーパン商店を探す方がより儲けることができるかもしれません。NVIDIA以外の例では、コインチェックやZaifとかの仮想通貨取引所とかもそうですね。自社は取引所を提供して手数料で稼ぐという感じです(ZaifはNEMやCOMSAとかの仮想通貨関連の仕組み作りにも関わっていますが)。こんな感じで仮想通貨を調べていくと第2のGoogleやAmazonのような次の時代を担う企業が見つかるかもしれないですね。

おわりに

Raspberry Piのマイニングからかなり横道にそれたお話になってしまいました。Raspberry Piでマイニングは不向きですが、マイニングのやり方や仮想通貨に関する理解を深めるために試してみるのもよさそうです。

本文でも触れましたが、日本でも上手に設備投資すると仮想通貨のマイニングでも儲けを出すことができるかもしれません。また、たとえ今は儲けが少なかったとしても仮想通貨の相場が今後も上昇すると思えるなら、今のうちから仮想通貨を仕込むためにマイニングをするのも1つの手段かもしれません。

ぼく個人の見解は『儲ける』を考えた場合、マイニングよりもゴールドラッシュで例えたツルハシやジーパンを売る商売を探したり、仮想通貨そのものの市場に賭ける方が稼げるのではないかと思っています。ただ、技術的興味からGPUのコンピュータを1組くらい作って(20万円くらいかかりますが…)、いろいろと試してみようかなと考えている今日この頃です。