エンジニア

BitZeny 〜わいCPUマイニング始めるんだってよ〜

BitZeny 〜わいCPUマイニング始めるんだってよ〜

BitZeny 〜わいCPUマイニング始めるんだってよ〜
こんにちは、こんばんは。おはようございます。 2018年新卒社員の地福(じふく)です。 学生時代にちょっとした楽しみでマイニングしていたBitZenyについてお話しさせていただければと思います。

BitZenyってなに?

最近話題にも上がらなくなってきた暗号通貨です。
有名どころのBitCoinはGPUマイニング主でした。(近頃はASICというものが流行っているそうです。)
しかしBitZenyはCPUでのマイニング(GPUも可能になりました)に適しているため、古いマシンでも比較的簡単にマイニングができるようになっています。
知っている中では、タブレットやスマホでもできるとか・・・
以下BitZeny情報です。

  • シンボル : ZNY
  • アルゴリズム : Yescrypt
  • 最大発行枚数 : 2億5000万
  • プレマイン : 0(事前発行数)
  • ブロック生成時間 : 90秒
  • 難易度アルゴリズム : DarkGravityWave3(1ブロックごとにDifficultyを変更するアルゴリズム)
  • マイニング報酬:250(2017年12月現在62.5枚)
  • 半減周期 : 50万ブロックごと
  • 国産コイン!!!

 


ハッシュアルゴリズム、Yescryptを選んだ理由

Yescryptにした理由は、Scryptの後継になりそうなパスワードハッシュアルゴリズムだったためです。

良いパスワードハッシュアルゴリズムとは

パスワードのハッシュ化は必須ですが、どのようなハッシュアルゴリズムでも良いかというと、そうではありません。
例えば、SHA256でハッシュ化したパスワードを全探索する場合を考えます。
パスワードが仮に8文字かつ64文字種だった時、パスワードの種類は約281兆5000億個です。
これに対し、最新のASICは1秒間に1兆回、SHA256を計算することができます。
つまり、SHA256のパスワードハッシュが流出した場合、282秒あれば元のパスワードが分かってしまいます。
これではダメなので、標準化されているPBKDF2ではハッシュを2000回繰り返すことが推奨されています。繰り返しを大きくすれば、より安全になりますが、パスワード認証のためのサーバー負荷が増えることになります。
結局、普通のハッシュアルゴリズムでは、サーバー(CPU)の計算効率がASICの計算効率よりもひどく劣っていることが問題です。CPUとASICで同じような効率のハッシュアルゴリズムが良いアルゴリズムと言えます。そこで出てきたのがbcryptとscryptですが、scryptはASIC化されてしまいCPUよりずっと効率が良いのはご存知だと思います。
というわけで、より良いパスワードハッシュアルゴリズムを決めるためのコンペが開催されていて、 それがPassword Hashing Competitionになります。
現在、Password Hashing Competitionには22個のハッシュアルゴリズムがエントリーしていて、その中から良い物を選定中です。Yescryptはその中でもかなり優秀だと私は考えています。

出典 : BitZenyの総合案内所 解説より

 


マイニング方法

windowsの環境だとすぐにできるのですが、Macだとそうはいかないので今回は、 Ubuntuで行なっていきます。
以下はUbuntuのバージョン情報です。
ubuntu_version

    1. ウォレットの作成(オンラインでもローカルでも)
    2. プールに登録(ここが一番長い)
    3. マイニングソフトの取得
    4. 採掘開始!!

 

 1.ウォレットの作成

PCウォレットでも構いませんが、今回はオンラインウォレットを使用します。

BitZeny Wallet で使用するアカウントを作成します。


wallet_login

2.プールに登録

今回使用させていただくプールは、うさぎコイン発掘所 BitZeny版 さんです。

まずはアカウントの登録からです。

usagi_top

右上のGuest > Sing Up (新規登録)を押し以下を入力してください。

usagi_signup

  • user name
  • Password (マイニングしたものが取られないように強いものにしてください。)
  • Email
  • PIN(4桁数字)

以上を入力して利用規約に同意にチェックをいれ、Registerを押してください。

これでアカウントは登録できたので、右上のGuest > Loginを押し入力してください。

ログインできればダッシュボード画面が表示されます。

usagi_dashbord

あと一つやることがあるのでめげないでください!

次はワーカーの登録です。

右上の[ユーザーネーム] > Workers(ワーカー設定) を押してください。

usagi_worker

ここはなにも変更せずに  Add New Workerを押してください。

WEBでの設定は以上です。

3.マイニングソフトの取得

ようやくUbuntuを触ります。

sudo apt-get update
sudo apt-get upgrade

アプデが終わればGitをダウンロードしましょう。

sudo apt-get install git

Gitのダウンロードが終われば続いて、Gitクローンしていきましょう。

git clone https://github.com/bitzeny/cpuminer.git cpuminer

クローンし終えたら cpuminerディレクトリに移動します。

cd cpuminer

マイナーを動かすために必要なパッケージをインストールします。

sudo apt-get install libcurl4-openssl-dev gcc-mingw-w64 automake gcc make

では、マイナーをインストールしていきましょう!

./autogen.sh

autogen

./configure CFLAGS="-O3 -march=native -funroll-loops -fomit-frame-pointer"

最後にトドメの一撃!

make

エラーがでなければインストールされています。

インストールされているか確認しましょう!

./minerd --help


minerd

4.採掘開始!!

//低難易度(base diff 0.1)
./minerd -a yescrypt -o stratum+tcp://bitzeny.bunnymining.work:19332 -u [user].user -p password
//標準難易度(base diff 1)
./minerd -a yescrypt -o stratum+tcp://bitzeny.bunnymining.work:19333 -u [user].user -p password
//高難易度(base diff 2):
./minerd -a yescrypt -o stratum+tcp://bitzeny.bunnymining.work:19334 -u [user].user -p password

[user]の部分はUsernameで設定したものに変えてください。

マイニング成功の時はYay!!!!!!!と表示されます。

mining_success

止めたい時は[control + C ]で止めてください。

まとめ

今回はUbuntuでマイニングしてみました。本来Windowsならもっともっと簡単になるので、ぜひお持ちの方はやってみてください。

CPUの設定を何もしないと使用率が100%になってしまうので、設定してCPUをいたわってあげましょう。

CPUの気持ちになることも時には大事です。

 

Let’s Mining Life!

一覧に戻る