P2Pool をセットアップする:ピア・ツー・ピア Bitcoin マイニングガイド

あなたのコンピュータを P2Pool を使って分散型 Bitcoin マイニングノードに変える方法を紹介します。このガイドでは、前提条件、Linux および Windows でのインストール、NAT 設定、ポート転送、さらに Litecoin 上での P2Pool 実行方法までを順を追って解説します。ノードを安全に保ち、マイニング効率を最大化するベストプラクティスも学び、すべてを実践的なチュートリアルで網羅します。

概要

P2Pool はオープンソースのピア・ツー・ピア型 Bitcoin マイニングプールで、中央集権的なマイニング権威を排除します。代わりに、各マイナーが共有のブロック生成プロセスに貢献し、ブロック報酬を比例的に得ます。このプロジェクトは主に Python で記述され、Bitcoin と Litecoin をサポートし、Linux、macOS、Windows で動作します。

なぜ P2Pool なのか?

  • より高い分散化と検閲抵抗性。
  • 単一障害点や中央の収益漏れがない。
  • 透明で監査可能なマイニングプロセス。

以下は、あなた自身のマシンで P2Pool をインストール、設定、実行する方法を示す包括的なチュートリアルです。

1. 前提条件

項目 最低バージョン 備考
Python 2.7 以降または 3.5+ プロジェクトのコア言語。
Twisted 10.0.0+ P2Pool が使用するネットワークエンジン。
python-argparse Python 2.6 のみ 古い Python 用にオプション。
python-zope.interface 4.4+ Twisted の依存。
python-twisted-web 10.0.0+ Twisted の Web コンポーネント。
python-zope.interface / python-win32api Windows 用 Win32 API のラッパー。
git 任意 リポジトリをクローン。
apt-get, yum, brew 該当なし Linux/macOS のディストリビューション固有のパッケージマネージャ。

ヒント: ほとんどの Linux ディストリビューションは Twisted と関連ライブラリをリポジトリで提供しています。Windows では Python をインストールした後、pip install twisted zope.interface を実行してください。

2. リポジトリのクローン

git clone https://github.com/p2pool/p2pool.git
cd p2pool

リポジトリは詳細にコメントされており、以下の手順に対応した README.md が付属しています。

3. Bitcoin または Litecoin ノードの準備

P2Pool はローカルの bitcoind(Bitcoin ノード)または litecoind(Litecoin ノード)が完全に同期している必要があります。

  1. ダウンロード:各 OS 用の最新バイナリを取得します。
  2. 設定:データフォルダーに bitcoin.conf(または litecoin.conf)を作成し、下記のように記述します。
    rpcuser=yourrpcuser
    rpcpassword=yourrpcpassword
    server=1
    daemon=1
    txindex=1
    
  3. 起動
    bitcoind -daemon
    
    (Litecoin は litecoind -daemon を使用)

警告: RPC 認証情報を安全に保管してください。公開ネットワークに晒さないようにしましょう。

4. P2Pool の依存パッケージをインストール

Linux 向け

sudo apt-get update
sudo apt-get install python-zope.interface python-twisted python-twisted-web python-argparse

Windows 向け

pip install twisted zope.interface

Python 2.6 を使用している場合は、pippython-argparse をインストールしてください。

5. P2Pool の実行

Linux & macOS

python run_p2pool.py

Windows

python run_p2pool.py

このコマンドは、127.0.0.1:9333(Bitcoin)または 127.0.0.1:9338(Litecoin)にバインドされた P2Pool ノードを起動します。利用可能なオプションを確認するには、

python run_p2pool.py --help

マイナーとの組み合わせ例

  1. マイナーの stratum URL をローカル P2Pool インスタンスにポイントさせます。
  2. マイナーを localhost(または 127.0.0.1)と適切なポートに設定します。
    • Bitcoin: 127.0.0.1:9332
    • Litecoin: 127.0.0.1:9327
  3. 任意のユーザー名/パスワードは機能しない(P2Pool は無視する)。

6. NAT、ポート転送、およびパブリックアクセス

さらに広域インターネットから自身の P2Pool ノードを公開したい場合は以下を実行します。

  1. TCP ポート転送を有効 にします。ルーターで外部ポート 9333(Bitcoin)を P2Pool を実行しているマシンのローカル IP に転送します。
  2. Litecoin の場合は 9338 を転送します。
  3. bitcoindlitecoind もパブリックインターフェースから到達可能であることを確認してください(複数ホストからマイニングする場合)。

セキュリティ備考: インターネットにポートを公開すると DoS 攻撃のリスクが高まります。非必須ポートはファイアウォールで遮断することを検討してください。

7. Litecoin 上で P2Pool を実行

  1. scrypt モジュールをビルド します。これは Litecoin の PoW を扱います。
    cd litecoin_scrypt
    sudo python setup.py install
    
  2. P2Pool を Litecoin フラグ付きで起動 します。
    python run_p2pool.py --net litecoin
    
  3. マイニング:マイナーを 127.0.0.1:9327 に接続します。

リポジトリには Windows インストーラが litecoin_scrypt ディレクトリに用意されており、上級者向け Windows ユーザー向けに Visual Studio ベースのビルドもサポートされています。

8. 寄付とコミュニティ

開発資金は寄付で賄われます:

  • Bitcoin アドレス:1HNeqi3pJRNvXybNX4FKzZgYJsdTSqJTbk

コミュニティは GitHub のディスカッションと Bitcoin Wiki(P2Pool Wiki)に存在します。バグ報告、機能アイデア、ドキュメント作成の手伝いを歓迎します。

9. よくある問題とトラブルシューティング

問題 対策
python: command not found PATH に Python を追加、あるいは python3 を使用
Twisted のインポートエラー pip install twisted で再インストール
Port 9333 already in use 既存の P2Pool インスタンスを停止、または --port でポートを変更
Network block height mismatch bitcoind を完全に同期させ、両方のノードを再起動
litecoin.conf に必要なエントリがない rpcuserrpcpassword などの必要設定を追加

10. 要約

P2Pool を使用すると、中央集権的なマイニングプールを信頼せずに Bitcoin(または Litecoin)のマイニングに参加できます。このチュートリアルに従うと、以下が実現できます:

  • 完全に機能する P2Pool ノード。
  • 同期されたローカルブロックチェーン。
  • NAT 対応のポート転送でピアに提供。
  • 一般的な落とし穴のトラブルシューティング知識。

今すぐマイニングを開始し、より分散化されたブロックチェーンに貢献し、ご自身のノードを運用する安心感をお楽しみください。


さらに読む