Zcashソロマイニング、プールマイニング方法(VM Ubuntu編) PART 3(最終回)

2017年2月5日

本記事ではPart1、2にて手持ちのパソコン上に環境を構築したVM上のUbuntuにてZcashのマイニングを実際にマイニング(採掘)を行う方法を紹介します。

http://blog.guttyo.jp/fintech/6233/

http://blog.guttyo.jp/fintech/6239/

すでに2017年も明け、Zcashは0.005BTC程度の値段で落ち着いたため、手持ちのパソコンでのマイニング(採掘)にて採算を合わせるのはかなり難しいと思いますが、Zcashだけではなく他の仮想通貨のマイニング(採掘)にもある程度共通している以下の事項があるため記事にしました。

  • ソロマイニング(一人でマイニング)する場合
    1. 仮想通貨のソースファイルをダウンロード
    2. コンパイル、ビルド、実行
  • プールマイニング(プールに参加しているみんなで採掘)する場合
    1. プールへの登録、workerの設定
    2. マイナー(マイニングツール)のダウンロード、設定

ではこれらの手順を順番に紹介していきます。

Zcashのソロマイニング

ソロマイニングとは自分のPCだけでZcashのブロックチェーンの新たなブロックを生成し、その際に発生する報酬(2017年1月18日現在 10 ZEC)を得ることを目的としたマイニング方法です。

ブロックが生成される140秒間程度の取引に関して、すべての計算を誰よりも早く行わなくてはいけないため、お手持ちのPCやMacで現在のZcashをソロマイニングし報酬を得ることはほぼ不可能と考えても間違いではないかと思います。※ハイエンドGPUを何十台も繋いでゴリゴリできちゃう人は採算取れるかもしれませんが!?!?

Difficulty(ディフィカルティ:採掘難易度)が低かった最初の数ブロックではソロマイニングに成功し儲かった方もいらっしゃったようです。

ソロマイニングを行うためにはZcashのプログラム本体をダウンロードし、実行することが必要です。途中に記載しているコマンドは下記の公式ユーザーガイドから適宜抜粋しています。

https://github.com/zcash/zcash/wiki/1.0-User-Guide

コンパイルに必要なパッケージの取得

Zcashをコンパイルする(実行できるようにする)ためにはコンパイルを行うために必要なパッケージをダウンロードし、ubuntuで使えるようにしなくてはなりません。Ubuntu上のターミナルにて下記のコマンドを実行しましょう。

$ sudo apt-get install \
      build-essential pkg-config libc6-dev m4 g++-multilib \
      autoconf libtool ncurses-dev unzip git python \
      zlib1g-dev wget bsdmainutils automake

sudoとは管理者権限でコマンドを実行する際に最初に記載します。その後、管理者のパスワードが求められます。入力されたパスワードが正しければ入力されたコマンドが実行されます。

Zcashのソースのダウンロード

githubからソースコードをクローン(ダウンロード)します。

$ git clone https://github.com/zcash/zcash.git
$ cd zcash/
$ git checkout v1.0.4
$ ./zcutil/fetch-params.sh

結構待ちます。

Zcashのコンパイル、実行

$ ./zcutil/build.sh -j$(nproc)

ここがとにかく長いです。私の環境(Macbook Pro Retina 2012)では20分程度かかりました。

Zcash.conf (Zcash設定ファイル)の編集

$ echo 'gen=1' >> ~/.zcash/zcash.conf
$ echo "genproclimit=$(nproc)" >> ~/.zcash/zcash.conf

gen=1とすることでマイニング(採掘)を有効にします。

Zcashのプールマイニング

さて次はプールマイニングです。プールマイニングとはそのプールに登録している人たちが力を合わせてマイニング(採掘)を行う方法です。ソロマイニングではブロックを生成した時のみ報酬が発生するのに対し、プールマイニングではそのプールへの貢献度に応じて報酬が発生する仕組みです。

プールの選択

まず、どのプールへ所属してマイニングを行うか決めましょう。所属人数が多く、ハッシュレート(計算能力)が高いところは比較的高確率で報酬を得ることができます。「Zcash プール」などで検索すると良いでしょう。私はSuprnova.ccを使っています。

https://zec.suprnova.cc

プールへのworker登録

プールへの登録が済んだ後はworkerの登録を行いましょう。workerというのはマイニングする端末に割り振るための仕組みです。名前とパスワードを自分で設定し、登録するだけです。Suprnovaでは様々な環境でマイニングできるようになっています。本記事ではUbuntu上でのマイニング方法を記載していますが、下記のオフィシャルサイトにて方法がまとめられております。

https://zec.suprnova.cc/index.php?page=gettingstarted

workerを登録するにはログイン後の画面左、My workerから設定しましょう。

Suprnova worker設定

マイナーのダウンロードとコンパイル、実行

前述した公式ページ中のGetting Startedページ内には様々なマイナー(マイニングするためのプログラム)へのリンクがあります。

マイナーの選択

私はAVX/AV2 optimized CPU Miner Sourcecodeというものを選択しました。Download HereをクリックしてGithubページへ行きましょう。

マイナーのダウンロードとビルド(インストール)

ダウンロード、そしてインストールはZcashそのものとほぼ同じ方法です。

$sudo apt-get install cmake build-essential libboost-all-dev
$git clone --recursive https://github.com/kost/nheqminer.git
$cd nheqminer/nheqminer
$mkdir build
$cd build
$cmake -DXENON=1 ..
$make

これでbuildフォルダにnheqminerの実行ファイルができました。

nheqminerの実行

ビルドが成功したらnheqminerの実行ファイルが出来上がっていることと思います。その実行ファイルにプールのサーバーあどれすと、設定したworkerの名前、パスワード、CPU割り当て数を入力するとマイニングが始まります。

./nheqminer -l zec.suprnova.cc:2142 -u Weblogin.Worker -p password -t 4

ここで私の環境ではこのように打ちます。

./nheqminer -l zec.suprnova.cc:2142 -u Guttyo.worker1 -p worker1

最後の数字はCPUスレッド割り当て数です。入力しないと全CPUを使うことになります。

※海外の報告では4コアの8スレッドCPUを使用している場合、6スレッド「-t 6」でのマイニングが最適な結果を生むとの報告があるようです。参考にしてみてください。

Note: if you have a 4-core CPU with hyper threading enabled (total 8 threads) it is best to run with only 6 threads (experimental benchmarks shows that best results are achieved with 75% threads utilized)

マイニングが始まるとこのような画面となります。

プールマイニング開始

 

また、しばらくするとSuprnovaのダッシュボードに稼働しているworkerごとのハッシュレートが表示されます。

workerごとのステータス

半端なく遅いですねw このハッシュレートで1時間あたり 0.0001 ZEC程度発掘できています。

これはMacbook Pro 2012 +その他 2台で行った結果ですが、GPUを使ったマイニングを行うとこの60倍以上の結果が出せるかと思います。※

※私のworker1は6 Sol/sですが、GTX 1070で400 Sol/sが出るようです。マイナーダウンロードのページの最下部、Cuda nicehash minerを選択してください。

番外編:ハッシュレートをレンタルしてプールマイニング

プールマイニングはなにも自分のPCを使う必要はありません。オンラインでハッシュレートをレンタルしてくることも可能です。レンタル代よりも採掘したコインの売却益が高ければ利益が出ることになりますね。

どういう仕組みかと申しますと、高性能PCの処理能力を貸している人から借りる感じです。希望するハッシュレートを時間いくらで貸しますよ、といった人がまとまっているサイトから借りてくることができます。支払いはBitcoin(ビットコイン)です。そのサイトがNicehashです。

https://www.nicehash.com

nicehashを用いてsuprnovaにてプールマイニングを行う方法に関しては、動画にされている方がいらっしゃいますので、興味のある方はチェックしてみてください。(英語のみ)

マイニングしたZcashはどうしたらよいか

2つの選択肢があります。そのまま持っておくか、売却するかです。

そのまま持っておく

ソロマイニングができる状況にしておきましょう。その状態で下記のコマンドを打ちます。

$ ./src/zcash-cli getnewaddress

そうするとZcashのアドレス(tから始まる)が生成されますので、そのアドレスをSuprnovaのSetting>ACCOUNT DETAILS>Payment Addressに入力します。

Automatic Payoutでの設定やCash outにて手動にて出金できます。ソロマイニングしているPCにZcashが貯まっていきます。

アドレスを生成するための詳細はZcashのユーザーガイドに記載されています。

https://github.com/zcash/zcash/wiki/1.0-User-Guide

売却する

Poloniex.comなどをはじめとした仮想通貨交換所にマイニング(採掘)したZcashを送信し、Bitcoin (ビットコイン)などの他の通貨に変換するなどができます。※手数料がかかります。

https://poloniex.com

ZcashのDepositからアドレスを生成し、そのアドレスをSuprnovaのPayment Addressに指定しておけばよいです。届いたZcashをBitcoinに変えるなどができます。

Poloniexへの送金(アドレス取得)

※仮想通貨交換所、取引所に多額の仮想通貨を置いておくことはやめましょう。IDとパスワードが盗まれたり解析された場合にあなたの資産を失う危険性があります。万が一、損失を受けたとしても当方は全く責任を負うことができません。自分の身はしっかり調べてしっかり守りましょう。(いずれ記事にしようと思います。)

まとめ

Zcashが出てからすでに数ヶ月経過しており、これからマイニングで収益を上げようと考えている方はあまりいらっしゃらないかもしれませんが、他の仮想通貨にも共通する項目もあり、記事にしてみました。

2017年になりBitcoin (ビットコイン)をはじめとした仮想通貨が多くの方に認知されてきたように感じます。

Zcashのマイニングも楽しかったですが、Bitcoin (ビットコイン)そのものにとても注目しています。

Bitcoin (ビットコイン)だからこそできる投資案件なども出てきており、面白い年になりそうです。

今後、仮想通貨関連の記事はBitcoin (ビットコイン)を中心に書いていこうと考えていますが、面白いアルトコイン(ビットコイン以外の仮想通貨)があれば書いていくかもしれません。

 

それではみなさま、ハッピーマイニング!