読者です 読者をやめる 読者になる 読者になる

金融ITニュース。時々雑ネタ。

Fintechからレガシーまで、金融IT業界のニュース

GCE(Google Compute Engine)でEthereumのマイニングをやってみた

ふと思いついて仮想通貨etherのマイニングをGoogleクラウド環境GCE(Google Compute Engine)で試してみました。

結論

最初に結論を書いておくと、GCEでEthereumのマイニングをやってもまったくペイできません。
1ヶ月のGCEの使用料金が172ドルに対して14ドル相当のetherしか採掘できません。(2016/6/4時点)
現在のマイニングはGPUが主流であり、CPUマイニングではクラウドサービスがいくら低価格でも太刀打ちできません。
なおGCEのフリートライアル期間中は仮想通貨のマイニングは禁止されているのでやっちゃだめです。

必要なスキル・環境

Linuxにログインして標準的なコマンドを実行できる、viでテキストファイルを編集できるレベルのスキルがあれば、ここで紹介するオペレーションができます。

サーバ環境はGoogleクラウド上にあるのでWebブラウザさえあれば環境構築ができます。ブラウザはChromeを使用することをおススメします。利用にはクレジットカードの登録が必要です。2016年6月時点では、初回利用者には60日間、300ドル分の無料使用枠が用意されています。

GCEもEthereumも導入、設定はとても簡単ですので、上記のスキルがあれば1~2時間くらいで実際に採掘するところまでいけると思います。

Ethereum、etherとは

Ethereum(イーサリアム)は、ブロックチェーンを利用した分散アプリケーションプラットフォームです。
オープンソースであり、世界中の有志により設計や実装が行われています。
Ethereumにはetherという仮想通貨が定められており、ビットコインのように円やドルと交換することもできます。
etherはEthereumネットワークに自身のコンピュータを参加させて採掘(マイニング)することでも得ることもできます。
ここでいう採掘とはコンピュータに計算をさせて次のetherブロックを発見することをいいます。
簡単に言えばパソコンをインターネットにつなげて計算させるだけで、仮想通貨を得ることができます。
一見働かなくてもお金がもらえるように見えますが世の中そんなに甘くはありません。

Ethereumについては以下のサイトで分かりやすく説明されています。
本書について · Ethereum入門

Google Compute Engine(GCE)とは

GoogleクラウドサービスGoogle Cloud Platform(GCP)で提供される仮想マシンです。
ようはGoogleデータセンターのマシンを借りて、自分専用の仮想サーバを立てて使うことができるサービスです。
IaasとかAWSだとAmazon EC2に相当します。

gihyo.jp

GCPへのサインアップとGCEインスタンス作成

Google Cloud Platform利用開始とGCEインスタンスの作成は以下の記事が分かりやすいです。
thinkit.co.jp
ブラウザ上からインスタンスを設定・作成して、sshもブラウザ上で提供されます。
ディスクサイズはコア数×10GBにしましょう。Ethereumはマルチプロセスで動く際には、1プロセスあたり10GBの一時ファイルを作るようで、ディスクが足らないとEthereumが落ちます。
構築・設定はこんなに簡単でいいの、と思うくらいすぐにできてしまいます。
試用期間中は最大で8コアまでしか設定できません。

Ethereumのインストールと設定

以下の手順でインストールから本番etherの採掘までできます。

インストールする
Gethをインストールする · Ethereum入門

プライベートネットでテスト起動してみる
プライベート・ネットに接続する · Ethereum入門

etherを採掘する
etherを採掘する · Ethereum入門

ライブネットに接続して本番etherを採掘する
ライブ・ネットに接続する · Ethereum入門

実際の発掘の成果

発掘のペースはhashrateという指標で確認できます。GCEの8コアハイパフォーマンス構成(n1-highcpu-8)だと1秒間に約368万回のペースで計算できます。

> miner.hashrate
3685671

EthereumにはDIFFICULTYというether発掘までの難易度を示す指標があり随時調整されています。
DIFFICULTYに見合うだけのhashrateで計算することでetherを発掘できます。
現在のDIFFICULTYやネットワーク全体のhashrateを確認できるサイトもあります。
Ethereum Network Status
f:id:memoyashi:20160604013045p:plain
現在のDIFFICULTYやhashrateから1か月にどのくらいのetherを獲得できてドルにしていくらの価値になるかを計算してくれるサイトがあります。
Ethereum Mining Profitability Calculator
f:id:memoyashi:20160604012542p:plain
それによると約368万hashrateでは1か月で13.9ドルが得られるという結果でした。GCEの1月の使用料金が172ドルなので全くペイできません。残念。

GPUなら1モジュールあたり1000万hashrateくらいでます。GPUを複数並列稼働させてやっとペイできるくらいになりますが、現時点ではGCPではGPUは公式には提供されてません。AWSだとGPUインスタンスもあるようです。

Googleに怒られた

今回試用期間中に8コア構成で採掘をしていたところ、インスタンスが強制的に停止されてGoogleからこんなメールが来ました
f:id:memoyashi:20160604013538p:plain
"Your project is being suspended for violating our Free Terms of Service by mining cryptocurrency."とあるように、Google Cloud Platform上でのフリートライアル期間中の暗号通貨の採掘は禁止されているそうです。サーバの状況やネットワークの動きを見て採掘を自動的に発見して該当処理を強制終了させたようです。

ごめんなさいGoogle先生。該当のプロジェクトはすぐに削除しました。
フリートライアルの規約にも暗号通貨の採掘は禁止と明記されていました。
300ドルの無料枠を使って暗号通貨を発掘するなんて、濡れ手で粟なことはできなくなってます。
Supplemental Terms and Conditions For Google Cloud Platform Free Trial  |  Google Cloud Platform Terms  |  Google Cloud Platform

2.2 Customer may not use the Services to engage in mining cryptocurrency;

まとめ

規約違反によりGoogle先生に怒られてしまいましたが、やってみるとすごく簡単に採掘を始めることができました。
GCP/GCEやEthereumの利用方法はとても簡単で感動的なほどでした。
GCEは採掘以外にもいろんなことに使えるので、他にもチャレンジしていきたいです。

関連記事

www.fin-itnews.com