Coinhive(コインハイブ)について。
6月14日頃から逮捕者16人とか報道されており興味を持った人が多いと予想し、Coinhiveを実際に登録して使ってみたので解説。昨年も少しいじった感想としては、かなり改良され進化しております。
但し一部セキュリティソフトではウィルス扱い。
ウェブマイニングや仮想通貨の事をご存知なら2段目からどうぞ。
Coinhiveとマイニングとモネロ(XMR)の関係
簡単に。
- Coinhive・・・ウェブ上でマイニングを行えるプログラム
- マイニング・・・仮想通貨を採掘する行為
- モネロ(XMR)・・・仮想通貨の1つの名前、XMRは単位
文章にすると、モネロをマイニングするためCoinhiveを使う。
通常のマイニングはビデオカードを使うGPUマイニングが主流だけれども、仮想通貨の仕組により向き不向きがあり、モネロの場合はGPUではなくCPUマイニングの方が向いている。
逆にいえば、ウェブページへアクセスする場合はGPUではなくCPUマイニングの方が効率が良いため、CoinhiveはCPUで採掘するモネロを選んでいるのでしょう。ちなみに3割の手数料分がCoinhiveに取られるので取り分は7割。本当かは不明。
通常の気合の入ったマイニングは、個人や企業が1つのパソコンに何枚も高性能ビデオカードを搭載してビットコインを採掘しまくるところ、ウェブマイニングはネット上で公開したページにスクリプトを貼り付け、それを複数の人やPCが実行するというもので、ドラゴンボールでいう元気玉を作っている感じ。
もちろん自分1人で1台のパソコンでやっても構わないけれど、ウェブに関する知識、htmlやJavascriptが少しわからなければハードルは高め。
CoinHiveへのアクセスと登録方法
なぜか公式サイトが検索しても出てこない。ウィルス扱いされてGoogleから除外されているのだろうか。ならば職場や学校からはアクセスしない方が良いやも知れず。
Coinhive – Monero JavaScript Mining
https://coinhive.com/
右上のSignupか下の水色のボタンを押せば登録画面へ行ける。
しかし、アドブロックを入れていた場合は解除が必要。
おそらくAdblock側でCoinhiveがブロックされているのだろうと思われ、解除してみたものの進めない。それどころかブラウザをFirefoxやIEへ変更しても改善されず。
仕方ないので拡張やアドオンを何も入れていない別のパソコンで登録。
成功すると上のような画面になり、登録したメールアドレスへお便りが届くため、24時間以内に認証すればログインできるようになる。
ログインした直後のダッシュボードがこちら。
下にスクロールして行くと5項目の情報欄がございます。
- Sites・・・サイトやページ別設定
- Hashes/s (One Hour Average)・・・1時間平均ハッシュレート/秒
- Payment History・・・支払履歴
- New Users・・・登録ユーザ別
- Last Tokens・・・最後に稼働したサイトのトークン(?)
最後が不明にて失礼。これらは見るだけ情報であり、初期設定は上の横長に表示されているメニュー。左から。
- Coinhive・・・トップページ
- Documentation・・・設置の方法とオプションの説明
- Dashboard・・・ダッシュボード ※上の画像の画面
- Shortlinks・・・ショートカット作成(短縮URL)
- Settings・・・設置前にAPIキーなどを発行したり
- Logout・・・ログアウト
初期設定に必要な箇所は太字にした項目で、これらの設定が終われば後はダッシュボードを見るだけに。そしてXRMを引き出したい時だけSettingsへ行く程度。
APIキーの発行とJavaScriptの設置
Coinhiveのスクリプトを自分専用にするためにはAPIキーの発行が必要なので、Settingsへ行き、Sites & Keysへ行く。
右のPaumentはまた後で。Accountはメールアドレスやパスワード変更なので特に触れない。
APIキーを発行すると2種類の文字列が出る。
上段は公開キー、下は今のところ何に使うかわからない秘密鍵。SAVEボタンを押すと保存完了。とりあえずSite Key(Public)の方が必要なので全体をコピー。
次に横長メニューのDcumentationへ行くとこの画面になる。
一応説明しておきましょう。
- Simple Miner UI・・・グラフィカルに状況を表示
- JavaScript Miner・・・標準
- WordPress Plugins・・・WPのプラグイン ※サポートはしない
- Captcha・・・「ロボットではありません」のチェックのようなやつ
- HTTP API・・・PHPを使用した場合(?)
- Non-Adblocked Version・・・アドブロック対応版
ここでは一般的と思われる太字の2種類、まずはJavascript~から。
Synopsisという見出しがある、その下のコードが標準の形式。
丸ごとここに書くと警察が見て勘違いして家宅捜索に来ても嫌なので重要な部分のみ。左の数字は行番号。
- 3:'YOUR_SITE_KEY'・・・上で発行した公開キーに書き換える
- 3:throttle: 0.3・・・CPU性能を30%使わない(70%使う)という意味
- 7:didOptOut(14400))・・・14400秒(4時間)オプトアウトしない
サイトキーは自分の公開キーを入れ、スロットルはCPUどのくらい使うようにするかの逆で使わない残す割合で指定し、最後のオプトアウトとはマイニングしてOKの了解を取った後、何秒後まで再びオプトアウトを表示しないか。
この画像の右のオプトアウトがオーバーレイ表示される。
日本語のブラウザでアクセスすると自動的に日本語化される仕様。
上に無かった設定を追加で説明。
- 3:{throttle: 0.3}の後に{threads: 2}・・・CPUを2スレッド使う
- 1:https://coinhive.com/lib/coinhive.min.js・・・※後述
スロットル(CPU使わない率)の後にスレッド数の指定が可能。1行目のJavascriptを上のようにするとオプトアウトが出なくなるのでページにアクセスしたユーザの許可を得ずにマイニング可能。
これは旧バージョンらしく、おそらく逮捕された人はその旧バージョン、オプトアウトが無い頃に試したのだろうと予想。
設定が終わったならページへ貼り付けて保存しアクセスすれば動く。ここでは実演できないけれど動作確認はしております。
シンプルUIによる直感的インターフェイス版
Simple UIという方も見てみましょう。こちらの方がわかりやすい。
サンプルがあったので動作させてみたものが右の小さな枠で、4スレッド100%でマイニングしているイメージ。左はWindows 10のタスクマネージャからプロセスへ切り替えてCPU使用率を表示しており、本当に100%になっております。
設定を半分の2スレッド50%へ変更。
素直に指定通りの負荷まで落ちており、マイニングではないソフトを起動したりでCPUの使用率を上げてみたところ、Coinhive側が調整して50%になるように、超えてしまった場合はマイニングがほぼ止まる感じに。
Embedding(埋め込み)なのでJavascriptよりもシンプル。
4行目のYOUR_SITE_KEYを公開キーへ書き換えるだけ。その1行上で幅と高さが調整できる。他は特にいじらなくて良さそう。
こちらは明らかにユーザの操作により自分の意思で動作する仕様なので最後で実演用のURLを貼ることに。
XMRの払い出しはPayment ID無し限定
マイニングができたなら引き出したくなるもの。但し、0.5XMR貯めねばならず、それ以下は0.005XMRの手数料を取られる仕組で、最低0.2XMRから。
この画面見て「ああ」と分からないなら仮想通貨の取引所に慣れつつ使い方を検索しまくるのが先。なぜなら仮想通貨は送金をミスると消滅してしまうため。
国内でモネロを扱う業者はCoincheckしかないので海外のBINANCEへ。
ところが見ての通り、BINANCEはアドレス以外にPayment IDが必要。CoinhiveではIDの方には対応しておらず、消えるからやめろと警告がございました。
Paymentの上部、赤文字を引用。
If your wallet provider requires a separate Payment ID, the payments will not arrive in your wallet. We can not recover payments made to wallet services that require a Payment ID.
ウォレットや取引所への送金にIDが必要な場合、その支払いはウォレットには届きません。IDが必要なウォレットに対する支払いは回収できません。※消滅します、こちらではどうにもなりません、的な意味だと思う。
仕方なくコインチェックを見ると、まだ息をしていない模様。
設定するところまでやってみたかったけれど、他にXMRを扱っている取引所に登録していないのでここまで。
Coinhiveの使用は自己責任に限る矛盾
Coinhiveは自分の運営するサイトやページへアクセスした人に対し、マイニングに使って良いかを聞き、OKなら自分にモネロが入るという新たな画期的収益システム。
ところがこんなのがバンバン出る。Windows Defenderの場合。
ESETの場合。
セキュリティソフトにより挙動は変わるものの、現在6~7割のセキュリティソフトで引っかかるようで、こんな表示が出てしまうと思えば管理サイトの信頼性に関わってしまう。
なぜ各社が警告を出しまくるかはウィルス扱いしているためで、なぜそうなるかはCoinhiveがJavascriptという手軽な形式なので広告にぶち込んでみたり、了解取らず勝手に100%フル稼働マイニングするクズが多いためだと思う。
広まれば広まるほど放っておくだけで3割のモネロが入って来るCoinhiveに悪意があるとは思えず、どちらかといえば被害者と見ております。
使い方次第ではユニセフのような使い方も
マイニングしてみるならこちらのURLをコピペでどうぞ。
https://coinhive.com/media/miner.html?key=PR3ZhyaDS1r8Xv2EEE0LBdRL1Lapmfv1&user=coinhive_article&whitelabel=0&autostart=0&throttle=0.9&threads=1&background=000000&text=eeeeee&action=00ff00&ref=&graph=555555&start=Start%20Now!#
CPU使用率10%、1スレッドに設定しているため、プラスを押して行くとハッシュレートとトータルの数値が上がって行く様子がわかるはず。
公開キーの変更はkey=の後「PR3ZhyaDS1r8Xv2EEE0LBdRL1Lapmfv1」を自分のキーへ変更すればOK。ダッシュボード見ながらマイニングするとリアルタイムで数値を拾っていることがわかる。
このような感じで悪意なく使うならば、ユニセフがやっているように寄付を集めたり、最近流行っているのか不明ながらVALUやCounterpartyのようなややこしいことをしなくともマイニングに協力してもらえばOK。
例として何らかの災害で私がXMRを募るとして、ダッシュボードの中身をリアルタイムで公開しつつ、「寝ている間のCPU性能を貸して欲しい」と偽善活動を行えば、割と多めな人が参加してくれそう。
また、地下アイドルで金持ちオタクなファンが数人居るなら、投資してもらう用としてファンサイトへURLを書いたり、名刺にQRコードを印刷してタニマチ化もできそう。
但しCPUマイニングは採掘量が厳しい
簡単にいうと電気代で赤字になるレベルに掘れない。数分ほど私のメインPCで試してみた結果がこちら。4コア4スレッド、クロックは2GHz固定のアンダークロック。
この時点で約7分なので1分あたり0.0000001XMR。
難易度や相場が変わる点は置いておき、1日あたりにすると0.000144XMRとなり、Coinhiveで手数料なしの最低0.5XMR到達までは3,472日なので9年半かかってしまう。
現在の1XMRは13,700円くらいなので0.5XMRは6,850円。9年半で35万円の電気代を支払い7千円の収益はさすがに意味がわからない。
私と同じ性能のパソコンで1日あたり1万人が各8時間100%フル稼働のマイニングをしてくれて7千円とか、さすがにこれでは大手メディアでさえ広告収入の代替えにはならない、悪用するなら話は別になるのもわかる。
こういう計算をせずにマイニングに協力している気分になり自己満足できる人用でしょうな。仕組は面白いけれど実用的とは思えない。
>なぜ各社が警告を出しまくるかはウィルス扱いしているためで、なぜそうなるかはCoinhiveがJavascriptという手軽な形式なので広告にぶち込んでみたり、了解取らず勝手に100%フル稼働マイニングするクズが多いためだと思う。
聞いた話ではいろんなサイトにこれを埋め込んで利益にしている攻撃者がいるとかなんとか。
(クリプトジャッキングというやつです)
詐欺に非常に使いやすいから規制されて、その作成者が損をしているってことですね。
なのでcoinhiveが被害者というのは私も同意見です。
ただcoinhiveにまずかった点があるとすれば最初に隠れて採掘できる設定を用意してしまったことでしょうか。
隠れてできる設定が公式になかったらそこは攻撃者が改変したといえる部分になるわけですが、公式設定があったから違法ツールと判断されても仕方なかったといえてしまうので。
捕まってしまった人たちも、おそらくはただ利用者にストレスを与えないようにと思って明示しない設定にしただけなんでしょうけども、結果的に詐欺と同じことをしてしまったわけです。
本当に運が悪いという他ない話ではありますが、飲酒運転して「知らなかったんだ」って言ってるようにも考えられてしまう状態なのです。
>簡単にいうと電気代で赤字になるレベルに掘れない。
機能的な問題はこっちですね。
個人的にはこんなことするくらいなら普通にサブスクリプションモデルか、投げ銭でもしておいた方が健全じゃないかとは思ってしまいます。
(成り立つかどうかは知らないながら、日経電子版などは有料会員が60万超えたとかいう話ですし)
現在はブラウザで表示されなくなってますね。クローム、火狐、IEすべてでダメです。Edgeは知らんw
設置までと通貨の払い出しには結構ハードルが高いんですねw
>現在6~7割のセキュリティソフトで引っかかるようで、こんな表示が出てしまうと思えば管理サイトの信頼性に関わってしまう
>なぜ各社が警告を出しまくるかはウィルス扱いしているため
逆に言えばセキュリティソフト会社がウィルスだと認定したらそれを根拠に逮捕できてしまうってことになってしまいますねw
いじくるつくーるがウイルスバスターによりダウンロードブロックされる件 - INASOFT 管理人のふたこと
https://www.inasoft.org/talk/h201205c.html
以前いじくるツールがウイルスバスターにダウンロードブロックされるという件がありましたw
結果的には誤検知であることを認めましたがw
いじくるツール作者もそれだけ根拠に逮捕されていたかもしれませんw
>マイニングしてみるならこちらのURLをコピペでどうぞ。
ChromeやIEではマイニングできず、Kinzaではできましたw
>CPU使用率10%、1スレッドに設定しているため、プラスを押して行くとハッシュレートとトータルの数値が上がって行く様子がわかるはず。
CPU使用率100%、40スレッドに設定するとさすがに私のパソコンでも重くなりましたw
わざとそういう設定にして設置すると悪用できそうに思いましたが、今のバージョンでは埋め込むとポップアップが出るんですねw
ブラウザで仮想通貨を採掘するサービス "Coinhive" について
http://nmi.jp/2017-10-10-About-coinhive
Coinhiveの解説が載っていますw
CoinhiveならぬCoinhideですね、とかどうでも良いわけで。
>6月14日頃から逮捕者16人
見せしめにしては多いですから、何らかの団体に所属するメンバーですかね。ひとりひとり調べていたなら、この短期間で16人は多すぎる。
お前らその捜索能力を行方不明者の捜索にでも活かせと。
>なぜか公式サイトが検索しても出てこない
「coinhive」単体だと、いつ出てくるのか分からないレベルでニュースサイトばかりヒットしますね。私は「coinhive com」とか「coinhive.com」とか「coinhive site」とかでヒット。
>しかし、アドブロックを入れていた場合は解除が必要
拡張機能を無効にした状態で起動しても駄目ですかね。私はadblockを入れていないため検証不可。
無題な濃いログ|拡張機能の無効化でChromeを起動するdisable-extensionsオプションとは?
https://blogs.yahoo.co.jp/fireflyframer/32664494.html
>throttle: 0.3・・・CPU性能を30%使わない(70%使う)
もしかしてデフォルトで0.3なのでしょうか。さすがにデフォルト70%は高い。私ならそのサイトへの訪問、3回目は無いです。
>仮想通貨は送金をミスると消滅
しかも銀行振込のように、振込(送金)時に相手先の情報が出てこない不安もありますね。