自分でBitcoinノードを運用すれば、他人のサーバーを信頼する代わりに、ブロックチェーンを自分で検証できます。VPSは常時オンラインで高速な回線を備えているため、ノードの設置先として適しています。主な要件はディスク容量です。
必要なもの
- ディスク。フルノードはチェーン全体を保存します。サイズは600 GBをはるかに超えており、今も増え続けています。プランを選ぶ前に現在のサイズを確認してください。プルーニングノードは最近のブロックだけを保持するため、ずっと小さなディスクで動作します。
- RAM。検証のみを行うノードなら4 GBで十分です。8 GB以上あると初回同期が速くなります。
- CPU。初回同期はCPUに大きな負荷がかかります。2コア以上あると助けになります。
- 帯域。フルノードは1か月に数百GBをアップロード・ダウンロードします。転送量に余裕のあるプランを選んでください。当社の上位VPSプランは、1または2 Gbpsポートで転送量無制限です。
ステップ 1:サーバーを準備する
新しいUbuntuまたはDebianのVPSから始め、新しいVPSを守る方法に従ってください。Bitcoin用に一般ユーザーを作成し、ノードをrootで実行しないでください。
ステップ2:Bitcoin Coreをダウンロードする
公式リリースはbitcoincore.orgからダウンロードし、実行する前に必ず署名とチェックサムを検証してください。確認方法はリリースページに説明があります。
cd /tmp
wget https://bitcoincore.org/bin/bitcoin-core-VERSION/bitcoin-VERSION-x86_64-linux-gnu.tar.gz
tar xzf bitcoin-VERSION-x86_64-linux-gnu.tar.gz
sudo install -m 0755 bitcoin-VERSION/bin/* /usr/local/bin/
VERSIONを、検証したリリースに置き換えてください。
ステップ3:設定する
~/.bitcoin/bitcoin.confを作成します。
server=1
daemon=1
txindex=0
# For a smaller disk, prune to about 20 GB (value in MB):
# prune=20000
dbcache=2048
pruneは、完全な履歴が不要な場合にのみ使ってください。プルーニングノードでも、新しいブロックは完全に検証されます。
ステップ4:サービスとして実行する
ノードが起動時に開始し、障害時に再起動するようsystemdユニットを作成し、sudo systemctl enable --now bitcoindを実行します。進行状況はbitcoin-cli getblockchaininfoで確認できます。初回同期には、ハードウェアによって数時間から数日かかります。
ファイアウォール
ネットワークに貢献するには、受信ポート8333を許可します。自分のウォレット専用のプライベートノードにしたい場合は、閉じたままにして発信接続のみにすることもできます。RPCポート(8332)は決してインターネットに公開しないでください。
よくある質問
Bitcoin ノードにはどれくらいのディスクが必要ですか?
フルノードには約 700 GB 以上が必要で、今後も増え続けます。プルーンドノードは 20 〜 50 GB 程度で動かせますが、古いブロックを他のノードに提供することはできません。
VPS で Bitcoin ノードを動かせますか?
はい、プランに十分なディスク、RAM、無制限または大容量の帯域幅があれば可能です。初回の同期には数時間から数日かかることがあります。
プルーンドノードは本物のノードですか?
はい。すべてのブロックとトランザクションを検証し、その後ディスクを節約するために古いブロックデータを破棄します。