Coinhiveとは何か?ブラウザ採掘の仕組み・正当利用・対策・終焉の要因と教訓
Coinhive とは
Coinhive(コインハイブ)は、ウェブサイトの訪問者のブラウザ上で仮想通貨(主にモネロ:Monero)を採掘するためのJavaScriptライブラリ/サービスでした。2017年9月頃に公開され、サイト運営者が広告に代わる収益化手段として導入したり、Malvertisingやサイト改ざんによって利用者の同意なく埋め込まれたりして広く知られるようになりました。2019年3月にCoinhiveはサービス終了を発表し、公式に運用を停止しました。
技術的な仕組み(簡潔に)
Coinhiveはブラウザ上で動作するJavaScript(後に高性能化のためにWebAssemblyも活用)を配布し、ウェブページに埋め込むことで訪問者のCPUリソースを用いてMoneroのProof-of-Work演算(CryptoNightアルゴリズム)を行いました。基本的な導入方法はサイトに専用のスクリプトを読み込み、サイト用のサイトキー(APIキー)を指定してマイナーを生成・起動します。運営者は指定したサイトキーに紐づく収益(採掘で得たMoneroの報酬)を受け取る仕組みでした。
- 実行環境:JavaScript + WebAssembly(高速化のため)
- 対象通貨:Monero(CryptoNightを採用していた時期)
- API例:サイトに coinhive.min.js を読み込み、CoinHive.Anonymous('SITE_KEY') のように初期化する方式が一般に使われていた
- リソース制御:CPU使用率のスロットリング(負荷比率指定)を行えるオプションがあった
正当な利用ケースとCoinhiveの提供機能
Coinhiveは当初、広告に代わる収益化手段として紹介されました。広告ブロッカー問題やプライバシー意識の高まりを受け、訪問者がCPU資源を提供する代わりにサイトを無料で利用できるモデルを提示しました。これに対応するために、後に「AuthedMine」と呼ばれるオプトイン(明示的同意)を前提とする実装も提供されました。
- AuthedMine:ユーザーに採掘への参加を求め、明示的に同意を得ることで正当性を高める仕組み
- 短期リンク(短縮URL)機能:リンクをクリックした訪問者に対して短時間計算させることで収益化する試みなど
- スロットリングでCPU負荷を制御し、ユーザー体験の悪化を抑える設定が可能
悪用(cryptojacking)と被害事例
Coinhiveが広まるにつれ、同意のない埋め込み(cryptojacking)が多発しました。手口は多岐にわたり、改ざんされたウェブサイト、乗っ取られた広告ネットワーク、マルウェア化したブラウザ拡張、脆弱なサーバやCMS(WordPressなど)のプラグインを悪用する事例などが報告されました。被害は個人のPCや企業のサーバ設備の負荷増大、モバイル端末のバッテリー消耗、応答遅延などを引き起こします。
- 改ざんサイトへの埋め込み:管理者権限を奪われたサイトにcoinhiveスクリプトが埋め込まれる
- 広告経由の感染:広告配信ネットワークが悪用され、多数のサイトで一斉にマイナーが配信される事例
- 悪意ある拡張機能:一度インストールすると常時採掘が行われるブラウザ拡張が発見された
- 大手サイトでのテスト導入:例えばThe Pirate Bayなどが一時的にマイナーを試験導入し議論が巻き起こった(同意の有無が争点)
検出方法と対策
Coinhiveや同種のブラウザマイナーは比較的検出しやすい部類です。一般ユーザー・サイト運営者双方が取れる対策を紹介します。
- ユーザー側
- CPU使用率の急上昇をタスクマネージャ(またはアクティビティモニタ)で確認する。
- ブラウザの開発者ツールでネットワークリクエストを調べ、coinhiveやcoinhive.min.jsなどの読み込みを確認する。
- 広告ブロッカー(uBlock Originなど)や専用のNoCoinブロックリストを導入する。
- 怪しい拡張機能を無効化・削除する。
- サイト運営者/管理者側
- サーバやCMSのファイル改ざんを検出するためにファイル整合性チェックを行う。
- 外部スクリプトの読み込みを最小限にし、Content Security Policy(CSP)を導入する。
- アクセスログやプロセス監視で異常な計算負荷やリクエストを監視する。
- 広告ネットワークや第三者提供スクリプトの監査を定期的に行う。
法的・倫理的観点
ユーザーの同意なく端末を採掘に利用する行為は多くの国・地域で不正アクセスや不正指令電磁的記録供用等の問題を引き起こす可能性があり、倫理的にも強く批判されました。明示的に同意を得ずに行うと信頼を損ない、企業イメージの毀損や法的リスクにつながります。一方で、ユーザーに透明性をもって選択肢を提供する形(事前の説明と明示的な同意)は一部で受け入れられるモデルでしたが、実際には同意取得の仕組みや通知方法が適切かどうかが問題となることが多かったです。
Coinhive の終焉(サービス終了)と要因
Coinhiveは2019年3月にサービス終了を発表し、以降公式サービスは停止しました。終了の背景としては以下のような要因が指摘されています。
- 収益性の低下:Moneroの価格変動や採掘の難易度、総合的な報酬の減少。
- 検出・ブロックの強化:ブラウザ拡張ストアや広告ブロッカー、アンチウイルス製品などがマイナーを積極的にブロックするようになり、正当な導入でも収益が落ちる。
- エコシステムの変化:Moneroのプロトコル更新などで一時的に採掘に影響が出る場合があり、運用コストとリスクが増大した面。
Coinhive側の公式発表では、経済性の悪化と運営継続の困難さが理由として述べられています(詳細は公式アナウンスを参照ください)。
教訓と現在の代替案
Coinhiveの一連の事例は、ウェブ上での収益化手段における透明性とユーザー同意の重要性を示しました。代替手段としては以下が挙げられます。
- 従来の広告(ただしプライバシー配慮や過度なトラッキングを避ける)
- サブスクリプションや会員制(paywall)
- 寄付やチップ(暗号通貨のチップボタンやPatreonなど)
- サイト内でのオンデバイス処理を活かした機能提供(ただしリソース使用は明示)
いずれの場合も、ユーザーに選択肢を提示し、リソース使用やデータ利用について明確に説明することが信頼維持には不可欠です。
まとめ
Coinhiveはブラウザ上での採掘という革新的な発想で一時注目を集めましたが、同意のない大量埋め込み(cryptojacking)や検出・ブロックの激化、経済性の低下など複合的な要因で短期間で終息しました。この事例は、ウェブサービス運営における透明性、ユーザーの同意取得、セキュリティ対策の重要性を改めて示しています。今後ウェブ上で新たな収益化スキームを採る際は、技術的な実装だけでなく倫理・法的側面を慎重に検討することが求められます。
参考文献
- Ars Technica — Coinhive shuts down in-browser Monero mining service
- TorrentFreak — Pirate Bay tests cryptominer as ad alternative
- Malwarebytes Labs — Coinhive miners and cryptojacking explained
- BleepingComputer — Coinhive shuts down cryptojacking service
- Coinhive — Official shutdown announcement


