ちょBitだけ仮想通貨に興味を持った話(マイニング実践編)

<font color="Red">※読み進める前に</font>
今回は**第二部目**をお届けいたします！
前回：第一部「そもそも仮想通貨って何？」⇒https://qiita.com/OMOIKANESAN/items/6813d4b23accb854c320
**今回：第二部「実際にマイニングしてみた」**

#**前回からの続き**
###<font color="Green">**マイニング（採掘）で報酬として手に入れる**</font></a>
![s_つるはし.jpg](https://qiita-image-store.s3.amazonaws.com/0/153290/d4543907-aea3-1500-c969-ded3c05354fe.jpeg)

前回の記事にて、**「仮想通貨の入手方法はいくつかあります」**とお伝えしたかと思います。
その中でも、**「マイニング」**と呼ばれているものに関して、今回はじっくりお話できればと思います。



***
#**マイニングとは**
ここでは代表的な仮想通貨として、ビットコインを例に話を進めていきます。

ビットコインは**参加者みんなで運用**する仕組みとなっています。
日々いろいろなところで取引されている全ての記録を数珠繋ぎのように順に繋げていくのです。

この仕組みを**ブロックチェーン**と言います。(前記事参照)

しかしこれがまたものすごい量の計算が必要となるわけでして･･･

そこでビットコインは考えました。
**「世界中から計算手伝ってくれる人(コンピュータ)を募ろう！
見事成果を上げてくれた人には報酬としてビットコインあげるぜ！」**

そのお手伝い(**マイニング**)に参加したのが今回のお話です。

**※マイニング参加者のことを「マイナー」と呼びます**

***
#**マイニングの種類**
さて、では実際にどうやってお手伝いをするのか。

マイニングにはいくつか種類があります。
ざっくり説明しますと、、、

**１．ソロマイニング：誰の手も借りず、一人でマイニング作業を行います**
**２．プールマイニング：複数人で力を合わせてマイニングをし、成果物を分配します**
**３．クラウドマイニング：マイニング団体に投資をすることによって参加します**

この中でも、今回は
<font color=red>**２．プールマイニング**</font>
を行ってみました。

では実際に**マイニングを行うための準備～結果**までを順を追ってお話いたします。


***
#**Minergate**
**急に出てきたけど、Minergateってなんぞや･･･？**
![s_はてな.JPG](https://qiita-image-store.s3.amazonaws.com/0/153290/91d9de62-f946-7a7b-2fc3-fbf902d79637.jpeg)

Minergateとは今回私が**プールマイニング**をするに当たって利用させていただいたフリーソフトです。
仮想通貨のマイニングは面倒な設定が多く、始めるのは難しそう･･･。そんな人にぴったりなソフトです。

～導入手順～

１．まずはMinergateをダウンロードしましょう
サイト内の「Download&Start Mining」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/153290/99ad8dee-60bb-6636-5d66-fcb92d02728b.png)
<br><br>

２．インストール後(1分かからずインストールできました)、ファイルを開くと下図の画面になります
　　右上の「Create Account」から、アカウントを作成しましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/153290/856934cc-dd8a-cb4b-fe08-f2e8675f96ab.png)
<br><br>

３．登録は至ってシンプル！メールアドレスとパスワードを設定してあげるだけです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/153290/ebfc7816-c926-1097-1d32-e348181af97f.png)
<br><br>

４．登録したメールアドレスとパスワードでログイン
　　すると下図のような画面に遷移します。
　　**実はもうこれ掘り(マイニング)始めてます！**
　　　　┗(現在のタブはSMART MINERが選択されています)
![image.png](https://qiita-image-store.s3.amazonaws.com/0/153290/5fc42f35-1143-29dc-13a5-dd3ea3bfd3fe.png)


**これであなたもプールマイナーだ！！！**

･･･
･･････

設定自体は本当にこれだけで完了なのですが、もう少し詳細を見ていきます。

先ほど、「SMART MINER」タブが選択されているといいましたが、このタブは**換金効率が良い通貨**を自動的に選択してマイニングしてくれる画面です。どうしてもこれが掘りたい!といった希望がなければ、自動的に選ばれたものをマイニングしてしまうのもありかもしれませんね。

ちなみに、今回はXMR(Monero)と言う仮想通貨が選択されていましたので、知識に乏しい私はこのままXMRを掘り進めていきます。

･･･
･･････

本当にこれで終わりなの？後は起動しっぱなしにしておけばいいの？
答えは**「YES」**であり、**「NO」**でもあります。

自分なりに細かくカスタマイズが可能です。少しでも効率よくマイニングするには、自分の環境に合った設定をしてあげることが大切です。
では、詳細設定に移りましょう！

***

ここをチェックしましょう。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/153290/0d7285d4-6a1c-200f-2287-4dc44df3c7a2.png)

左から順に
**CURRENCY BALANCE** : 通貨残高
**CPU MINING** : CPUを用いたマイニングの速度(ハッシュレート)
**CPU CORES** : 割り当てているCPUのCore数
**GPU MINING** : GPUを用いたマイニングの速度
**INTENSITY** : GPUを割り当てる強さ
**SHARES GOOD BAD/LAST** : 総採掘量 失敗した採掘量/採掘時間
**SHARES DIFFICULTY** : 採掘の難易度
**UNCONFIRMED BALANCE** : 未確定報酬額
**REWARD METHOD** : 採掘方式
**MERGED MINING** : 合併鉱業(複数同時マイニング)

･･･いや多すぎでしょ

この中で設定が可能な項目は

**CPU CORES** : 割り当てているCPUのCore数
**INTENSITY** : GPUを割り当てる強さ
**REWARD METHOD** : 採掘方式

この三つです

私の環境では(一般的なノートPC)、GPUを用いての採掘が不可であったため、
**CPU CORES**と**REWARD METHOD**を調整することにしました。
***

**CPU CORES**
私：「なんかよく分からないけど、初期値でいいっかー」
～数分後～
私：「あれ･･･PCちゃん苦しそう･･･？？」

![image.png](https://qiita-image-store.s3.amazonaws.com/0/153290/69efb0d4-872c-b5a3-5a08-3d3c51dc7b29.png)

**コア数をちゃんと確認して設定しましょう**
ほかに作業をしなければ最大値まで引き上げていいと思いますが、同時に何か実施したい場合は調整しましょう。
***

**REWARD METHOD**
私：「謎。なんだこいつぁ･･･」
調べてみると、「PPS」と「PPLNS」の二種類が存在する模様。
結論から言いますと
・ずっとマイニングし続ける人は**PPLNS**
・時々中断する人、合間にマイニングする人は**PPS**

PPLNSはブロックの採掘を途中でやめると報酬が入らない反面、PPSより5%程度多くもらえます。
手数料も0.5%安い。
PPSはマイニングした分(時間)だけ報酬が入ります。PPLNSよりは報酬は少ないかもしれませんが、作業の合間にマイニングを行う人向き。
手数料が0.5％高い。

手数料とはマイニングプールに取られる手数料です。誤差レベル。

**ちなみに、PPLNSの存在に気付かず、200時間ほどPPSで採掘し続けました。
ただ、どちらが自分にあっていたかというと･･･続きは後ほど**

***
# **マイニング&リザルト**
とりあえず結果はどうだったのよ？
焦らないでください。順を追って書きます。

2018/1/12～少しずつ採掘を進め、計**456時間分**計測してみました。

基本的には、起床後Minergate起動⇒出勤⇒帰宅⇒私用でPC使いたくなったらマイニング停止
上記サイクルで進めてみました。
1日約15時間弱動かしっぱなしにしてました。

結果(XMR/h)
時間内訳
**PPS:346h**
**⇒<font color=red>0.000014036161 XMR/h</font>**
**PPLNS:110h**
**⇒<font color=red>0.000013735734 XMR/h</font>**

残念ながらPPSとPPLNSの違いを大きく感じることは出来ませんでした。
PPSに関しては、稼働総時間で計算は良いと思うのですが、PPLNSに関しては途中で止めてしまったがために一部報酬が得られなかった可能性があるため、単純比較はできていない気がします。(110時間動かしっぱなしではないので…)
PPLNSを選択する人は、数日単位で連続起動させておく必要があるのかもしれませんね。

それにしても分かりにくいですね？
円換算しましょう。

**2018/4/12 11:52 現在
1XMR=18,175円**

PPS：0.000014036161 XMR ≒ **0.25円**
PPLNS：0.000013735734　XMR ≒ **0.25円**
(有効数字の関係上、0.0･･･140と0.0･･･137で計算していますが、値が小さすぎて同じような感じになります)

**つまり、1時間あたり0.25円分マイニングできたということですね！！！**

あれあれ・・・？
まぁ少ないけど動かしてるだけで儲けt・・・ちょっと待って？
あれ忘れてますね？
###**<font color = red>電気代</font>**
<br>

消費電力【W】×利用時間【ｈ】）／1000 × 電力料金【円／kWh】
"消費電力はノートパソコンの場合は30Wほどです。ちなみに、デスクトップ型パソコンの場合は120Wほどです。また、電力料金は電力会社や加入しているプランによって違います。"
今回は、最も標準的な料金プランの26【円／kWh】を計算に使ってみます。
そうすると、例えばノートパソコンを1日10時間程度利用する場合にかかっている電気代は、
(30×10)/1000×26=**<font color = red>7.8円</font>**

XMRマイニング･･･10h･･･2.5円･･･


<font color = red>**赤字だ！！！**</font>
(XMR掘り始めたときは! 1XMR=45,000とかだったんですよ。。。あっ、それでも10hで6.2円･･･)

･････････
･･････
･･･

# **終わりに**
結果としては惨敗だったわけですが、得たものもたくさんあります。
主に知識ですけど！

敗因
・下調べ不足
・機材不足
・そもそもマイニングで簡単に儲けを出そうという浅い考え

仮想通貨なので、持っておけば輝く日が来る可能性もあります。
そんな未来に希望を膨らませて･･･

***
･････････
･･････
･･･

これだけじゃあれなので、学んだ知識(技術)の共有
#**プルーフ・オブ・ワーク（Proof of Work：PoW）**
「成果をだして報酬をもらう！」と話しましたが、具体的にどのような技術が用いられているか紹介します。
**プルーフ・オブ・ワーク（Proof of Work：PoW）**
   ┗**仕事を多くして生成したものを正しいとする**アルゴリズムです

なんのこっちゃ？実際の手順に沿って説明いたします。(以下引用)
**1.ある一定期間の取引を一つにまとめたブロックと呼ばれるものを作る
2.マイナーたちは、すでに承認されているブロックに、1.で作成した未承認のブロックをチェーンで繋げるためにハッシュ値を検索
3.ハッシュ値の検索は、例えるなら暗証番号を連打して解読するようなものなので大量のマシンパワーを消費して行う
4.マイナーの中で、いち早く暗号を解いた人が未承認ブロックをネットワークノードに提示する
5.提示されたブロックが正しいかどうかを、ぶつけたハッシュ量（暗証番号の連打量）を投票券として投票する
6.51%以上の承認が得られれば正式なブロックとして承認される
7.承認を得たマイナーは報酬を得る**
引用：http://vicryptopix.com/proofofwork/

一見、多人数で管理するすばらしい技術のように見えますが、落とし穴もあります。

**51%を超える計算力を持つ集団が現れたら･･･？**

そのような集団が現れた場合、この技術はまったく機能しなくなってしまいますね。。。

***

二部構成で書かせて頂きましたが、技術を用いる！と言うところまでなかなか詰められなかったので、
別の題材でまた書かせていただければなと思います！