素人でもOK！？仮想通貨のマイニングをしてみる！！


#はじめに
前々から興味があった仮想通貨。なかなか手がつけられなかったの仮想通貨の勉強も含めて調査する。

今回はマイニングを実行することを目的し、次回以降に仮想通貨の値動きをディープラーニングで予測し最大限の収益化を図る。

----
[twitter](https://twitter.com/tsunaki00)始めました。フォローお願いします。

※※※ 普段は競馬予想 [siva](http://siva-ai.com/)を運用しています。
   連対的中率 ： 約 86%
      回収率 ： 約 136%

## 仮想通貨の調査

### 仮想通貨とは
仮想通貨とは、従来の通貨と違い実際には存在しない「仮想」の「通貨」となります。
その価値はインターネットなどのサービスの対価に使用できます。
また、ここ最近では実店舗でも使用が可能となってきました。

仮想通貨の種類は日本でも有名なBitcoinなど現在では1000種類を超え価値も急激に上昇し続けています。


### 仮想通貨の種類
仮想通貨の種類。

| No |ロゴ| 名前 | 概要 |主な取引所|
|:--:|:--:|:------------|:------------|:------------|
|1|![bitcoin.png](https://qiita-image-store.s3.amazonaws.com/0/52867/2bb5ff11-a53a-dbd2-1e4c-b35e029e5d0e.png "bitcoin.png")|BitcoinBTC|2009年に登場した初めての仮想通貨です。海外取引所ではビットコインを基軸通貨とした取引がメインで、現在の仮想通貨の中心的存在となっています。ビットコインから分裂、または派生した通貨も多いです。現在では最も単価が高く、最も人気のある通貨です。|coincheck,GMOコイン
|2|![bitcoin_cash.png](https://qiita-image-store.s3.amazonaws.com/0/52867/53373f40-a262-f61a-42f0-cc20a6d39112.png "bitcoin_cash.png")|Bitcoin CashBCH|2017年8月1日にビットコインから分裂して誕生した仮想通貨です。ビットコインという名前が含まれていますが、アルトコインの一種です。ビットコインを改良した特徴があると言われており、ブロック容量が1MB→8MBへと拡大されています。|bitbank.cc,QUOINEX
|3|![EthereumETH.png](https://qiita-image-store.s3.amazonaws.com/0/52867/228ee03c-9ae8-6483-6e80-234a44d40742.png "EthereumETH.png")|EthereumETH|ビットコインと並ぶほどに知名度の高い仮想通貨です。最大の特徴はユーザー独自に定義した契約（スマートコントラスト）の概念です。これによってより柔軟なプラットフォームを提供します。また、ICOプラットフォームとしても有名です。|bitbank.cc,QUOINEX
|4|![RippleXRP.png](https://qiita-image-store.s3.amazonaws.com/0/52867/5d305346-a007-9bc5-fdc0-ce14a490f5f5.png "RippleXRP.png")|RippleXRP|リップルはネットワーク上の仮想通貨やフィアットの間をつなぐブリッジ通貨の役割を持ち、将来の銀行送金技術を担う可能性を秘めている通貨です。他の通貨と比べて送金速度が頭一つ抜けています。また、SBIとの共同事業が行われていて、日本人人気が特に高い通貨です。|bitbank.cc,QUOINEX
|5|![LitecoinLTC.png](https://qiita-image-store.s3.amazonaws.com/0/52867/75ad04bc-c072-8374-64e2-8067071e4307.png "LitecoinLTC.png")|LitecoinLTC|2011年に登場した仮想通貨でビットコインが金ならライトコインは銀というイメージです。ビットコインのシステムが基礎となっているため、様々な新しいシステムをビットコインに先んじて導入し、その後ビットコインにもそのシステムが導入される、という流れが多いです。送金時間がビットコインの4倍のスピードであったりと実用性を重視している通貨です。|GMOコイン,QUOINEX
|6|![EthereumClassicETC.png](https://qiita-image-store.s3.amazonaws.com/0/52867/bd5aca4c-bee1-3dfb-d608-1a23df945657.png "EthereumClassicETC.png")|Ethereum ClassicETC|この通貨はイーサリアムから分裂した仮想通貨です。イーサリアムのハードフォークが実行される時に、非中央集権的な暗号通貨を目指すとして一部の人達がハードフォークを拒否して新しく生まれた通貨です。|coincheck
|7|![NEMXEM.png](https://qiita-image-store.s3.amazonaws.com/0/52867/1dbcde73-c67a-25f2-9872-69849bf5025c.png "NEMXEM.png")|NEMXEM|もともとNew Economy Movementの略称で、金銭的な自由、分散化、平等、および連帯感の原則に基づき、新しい経済圏の創出を目標として始まった仮想通貨です。|Zaif,coincheck
|8|![MONACoinMONA.png](https://qiita-image-store.s3.amazonaws.com/0/52867/953175fd-7948-5df7-d282-596038b33115.png "MONACoinMONA.png")|MONA Coin|モナコインは日本初の暗号通貨として2013年12月にスタートしました。発祥元は巨大掲示板の「2ちゃんねる」です。プログラムはビットコインと同様のオープンスペースになっており、管理集権団体は存在しません。また世界初のセグウィットを実行したことで注目された通貨です。|bitbank.cc,Zaif
|9|![LiskLSK.png](https://qiita-image-store.s3.amazonaws.com/0/52867/6d894af3-9856-b552-7dba-f2d9e09fbb6a.png "LiskLSK.png")|LiskLSK|Liskは、スマートコントラクト機能があり、人気のプログラミング言語「javascript」を採用していることが良く知られています。また、Microsoftとパートナーシップを結んだことも有名です。Microsoft Azure以外にはShape Shiftなどとも提携しています。|coincheck
|10|![MoneroXMR.png](https://qiita-image-store.s3.amazonaws.com/0/52867/de2b487e-b654-e137-b939-9b168d1fed01.png "MoneroXMR.png")|MoneroXMR|ビットコインに比べて匿名性の面でビットコインよりも優れているのが特徴です。ビットコインは、公開帳簿式であるのに対し、モネロは非公開なので取引を第三者に見られる心配がないというメリットがあります。|coincheck
|11|![DashDASH.png](https://qiita-image-store.s3.amazonaws.com/0/52867/840bf1b8-71cf-60a7-ead8-7a2123f25641.png "DashDASH.png")|DashDASH|Dashには2つの特徴があり、1つは送金元を匿名化できるので第三者に取引を見られる心配がないことです。もう一つは決済時間が早く、1秒間で5回の取引を処理することができます。|coincheck
|12|![ZcashZEC.png](https://qiita-image-store.s3.amazonaws.com/0/52867/4efd7946-8a13-d51b-f3ee-6fe43b1c9caa.png "ZcashZEC.png")|ZcashZEC|大手銀行JPモルガンと提携を結んだことで話題になっている仮想通貨。「ゼロ知識証明」と言われる匿名性の機能を持つ通貨で、取引時のやり取りを非公開にできる特徴があります。|coincheck
|13|![FactomFCT.png](https://qiita-image-store.s3.amazonaws.com/0/52867/e3434b49-4ba3-b2a3-ae90-a688b944a1f4.png "FactomFCT.png")|FactomFCT|Factomは仮想通貨ではなく、ビットコイン2.0の仕組みの一つです。Factomを使うことで書類や記録を分散的に管理・追跡・監査でき、中央的なシステムに比べてより安全に確実にデータ管理ができる特徴があります。|coincheck
|14|![SteemSTEEM.png](https://qiita-image-store.s3.amazonaws.com/0/52867/fb100177-b6b7-1a1d-82a2-b5e1b3e4389e.png "SteemSTEEM.png")|SteemSTEEM|まだ歴史が浅いが、メディアの新しい報酬の払い方でその報酬の高さから一気に時価総額でトップ10に入るほどまで成長した通貨。特徴はSteemitというSNSでコンテンツを投稿したり反応したりすることでSteemを報酬としてもらえるという新しいシステムを導入していることです。|coincheck
|15|![GameCreditsGAME.png](https://qiita-image-store.s3.amazonaws.com/0/52867/37778ab5-5aa1-e3bb-8f7b-ed94571445aa.png "GameCreditsGAME.png")|Game CreditsGAME|GameCredits（ゲームクレジット）は、ビットコインやその他の仮想通貨とは違い、ゲーム課金に特化した仮想通貨として取り扱われています。ゲーム提供企業との提携を進めており、超有名作である「ファイルファンタジー」もゲームクレジットを利用することができます。|
|16|![NEO.png](https://qiita-image-store.s3.amazonaws.com/0/52867/38e795c9-c660-0a44-0a52-dd956be5a07f.png "NEO.png")|NEO(旧:Antshares)NEO|イーサリアムと同じくスマートコントラクト機能を実装しているため、「中国版イーサリアム」とも呼ばれていますが、開発者にとって難しく馴染みのないSolidityという開発言語を使うことが求められるイーサリアムと違い、NEOはMicrosoft.net、Java、Kotlin、Go、Python等のプログラマーにとって馴染みのある言語が使えます。|
|17|![GnosisGNO.png](https://qiita-image-store.s3.amazonaws.com/0/52867/eef28b2b-2ad0-5217-2c3b-a9d7059cbe48.png "GnosisGNO.png")|GnosisGNO|イーサリアムブロックチェーン上で開発される分散型予測史上プラットフォームプロジェクトです。効率的な予測変換ツールを目指しており、これは保険業界のビジネスモデルを変える可能性があるとも言われています。|
|18|![StratisSTRAT.png](https://qiita-image-store.s3.amazonaws.com/0/52867/c3ead32e-df90-c2f3-7638-2e3bcaeada1f.png "StratisSTRAT.png")|StratisSTRAT|STRATISとはビジネス向け、ブロックチェーンアプリケーション（DAPPS）開発プラットフォームであり、そのコンサルタント企業です。迅速・簡単・安価でブロックチェーン開発を提供することを目指しています。|
|19|![GolemGNT.png](https://qiita-image-store.s3.amazonaws.com/0/52867/27777996-01f6-353f-b580-c5397b0613fc.png "GolemGNT.png")|GolemGNT|Golemは使われていないコンピュータの余剰計算能力を有効利用することで、インターネット上にスーパーコンピューターを作り出すことを目的としています。その計算能力を小規模からでも柔軟に提供することができることが最大のメリットです。|
|20|![SiacoinSC.png](https://qiita-image-store.s3.amazonaws.com/0/52867/ca5ee0ea-6821-59cc-9fad-f7658c4ee34b.png "SiacoinSC.png")|SiacoinSC|siacoinの特徴は「ストレージの有効活用」という点です。自分が持つストレージの空き容量をブロックチェーン技術を用いて第3者に提供することを目的としています。|
[引用元 http://coinpost.jp/?p=1308]

## マイニング（採掘）とは
仮想通貨の採掘（マイニング）とは
仮想通貨は、すべての取引記録を取引台帳に追記します。その追記の処理には、ネットワーク上に分散されて保存されている取引台帳のデータと、追記の対象期間に発生したすべての取引のデータの整合性を取りながら正確に記録しています。

その整合性を取る作業はコンピューターによる計算で実現できるのですが、膨大な計算量が必要となりますので、有志のコンピュータリソースを借りることによって、膨大な計算を行い、みんなで共有する1つの大きな取引台帳に追記を行っています。
このリソース利用に対する対価がマイニングの対価（仮想通貨）になります。

## 今回のマイニング対象
今回は実験として、最近急激に人気が上昇している仮想通貨「モナコイン(No8 MONA Coin)」のマイニングを行います。
※ 調査のため、特に選定した基準はありません。


## PCスペック

- OS :  Ubunut 16.04
- CPU : Intel core i7 7700k
- MEM : 16G
- GPU : 1080Ti 
※ ウォレット作成はWindowsで実施。

## マイニングの手順について

以下の3つの手順でマイニングを行います。
　1. ウォレット作成
　2. プールに登録
　3. マイニングソフトのインストール
　4. マイニングの実行

###1. ウォレット作成（Windowsで実施）

先ず始めに仮想通貨「モナコイン」の入れ物「ウォレット」を準備します。

下記のリンクよりモナコインのウォレットを取得。

「ウォレット」は財布という意味ですが、疑似銀行口座と呼び誰でも作成することができます。

  Qt(日本語)　http://keystore00.github.io/
            (日本語、Win,Linux対応)
  Qt(英語)　　https://monacoin.org/
            (英語、Win、Mac対応)

上記よりMonacoin クライアントをダウンロードする。

ダウンロードしたファイルを展開してインストールの実行。
![モナコインインストーラ.png](https://qiita-image-store.s3.amazonaws.com/0/52867/8ad0b08d-5d10-b3c8-42fb-035a1a4af5ab.png "モナコインインストーラ.png")


初期画面が立ち上がりますのでアドレス（※）を確認します。
※ アドレスとはユニークに振られる口座番号のようなものとなります。

![adoresu.png](https://qiita-image-store.s3.amazonaws.com/0/52867/ba4c5aba-06ad-442c-fabf-5523c0740aab.png "adoresu.png")


今回の必要なのはウォレットに必要なものは「受け取り用のアドレス」となっております。
この後も利用しますのでどこかにメモしておくと便利です。


###2.プールに登録

ウォレットの準備ができたら、プール登録を行います。
プールとは複数人でマイニングを行い収益を上げる方法です。
採掘するマシン(GPU)を大量に用意できない人はソロマイニング(個人)より、プールマイニング(複数)のほうが効率的に採掘することができます。

今回登録したプールは下記のサービスになります。

[LA Monacoin](https://lapool.me/monacoin/)


他にgoogleなどで「モナコイン　プール」で検索するといろいろなプール場所がでてきます。
「LA Monacoin Pool」を選んだ理由は、サーバの軽さおよび日本語に対応している点となります。
(また当プールは他の仮想通貨にも対応しています)。

####プールへの登録作業

#####① アカウント作成
以下のURLを開くと以下のような画面が開きますので、右上の「Guest」よりアカウントを作成します。
　https://lapool.me/monacoin/
　
![プール.png](https://qiita-image-store.s3.amazonaws.com/0/52867/13ccf86c-b484-1d3d-8d28-a013f87a65b7.png "プール.png")

##### ② ワーカ−の編集
メールでアカウントの確認を行ったあとサービスにログインし「My Account」→「ワーカーの編集」を選んでください。

以下図の赤枠の欄をを入力します。
ここの設定はあとので利用しますので覚えておくようにしてください。

![add.png](https://qiita-image-store.s3.amazonaws.com/0/52867/fe355420-90f5-d638-7d5b-05c2b4e4c3ce.png "add.png")



これでプールへの登録が完了です！


###3.マイニングソフトのインストール

####① GPUの設定
CUDA8.0をインストールする。

```terminal
# sudo add-apt-repository ppa:graphics-drivers/ppa
# sudo apt-get update
# sudo apt-get install nvidia-387
# sudo apt-get install mesa-common-dev
# sudo apt-get install freeglut3-dev
```

- [CUDA 8.0](https://developer.nvidia.com/cuda-80-ga2-download-archive) をDL(deb)し、インストールます

```terminal
# sudo dpkg -i ダウンロードしたファイル名.deb
# sudo apt-get update
# sudo apt-get install cuda
```

※※※CUDA9.0では動きませんでした。

####② cminer-lyraをダウンロード
以下のURLからcminer-lyraをダウンロードします。

    https://github.com/djm34/ccminer-lyra/releases/
  
 ![スクリーンショット 0029-12-25 午後9.25.57.png](https://qiita-image-store.s3.amazonaws.com/0/52867/3b6b82da-b1bb-a35b-c3c3-fe649cc3c64f.png "スクリーンショット 0029-12-25 午後9.25.57.png")

####③ソースコンパイル

- ccminerをコンパイルするには、CUDA ToolkitへのPATHを通す必要があります。

```terminal
# export CUDA=/usr/local/cuda
# export PATH=$PATH:$CUDA/bin
```

- コンパイル

```terminal
# tar zxvf ccminer-lyra-0.5.tar.gz 
# cd ccminer-lyra-0.5/
# chmod 755 autogen.sh
# ./configure
# make
```

こちらでコンパイルが成功すれば準備完了になります。


4.マイニング
以下のコマンドを実行してマイニングを実行させます。

```terminal
# ./ccminer -a lyra2v2 -o stratum+tcp://vippool.net:[PORT番号] -u [ウェブログインID].[ワーカー名] -p [パスワード]
```

※PORT番号については[LA Monacoin](https://lapool.me/monacoin/)のトップページに掲載されているものを使用します。

実行すると以下のような画面が表示されます。
![Screenshot from 2017-12-25 21-38-26.png](https://qiita-image-store.s3.amazonaws.com/0/52867/9d5d9763-a673-4a23-fa2e-c00eeb4bc6b6.png "Screenshot from 2017-12-25 21-38-26.png")


## さいごに

今回は算出しておりませんが、マイニングは電気代のコストが高くなります。
実際にコインを掘っていても、ランニングコストのほうが高くなるケースがほとんどなので注意しましょう。

次回は仮想通貨の月別に価格推定をして最適な仮想通貨マイニングを実施するなどを検討できたらと思います。


なお、モナコインは仮想通貨取引所で現金⇔モナコインを交換することができます。
(例:Zaif、coincheck、ビットフライヤー等)
仮想通貨取引所ではモナコインの取引や日本円に変えることも可能です。

----
[twitter](https://twitter.com/tsunaki00)始めました。フォローお願いします。

※※※ 普段は競馬予想 [siva](http://siva-ai.com/)を運用しています。
   連対的中率 ： 約 86%
      回収率 ： 約 136%