ビットコインノード2023:how to

cryptographile
Jan 20, 2023

今回はノンテクニカルなビットコイナーにオススメできる高性能なビットコインノードのセットアップを紹介する。技術的な知識はあまりないが、多少の試行錯誤をしながらでもハイスペックなノードを構築したい僕のような人に向けた備忘録に近い記事だ。参考になれば嬉しい。
cryptographile 2023年1月

— — — — — — — — — — — — — — — — — — — — —

・個人がビットコインノードを走らせる意義を理解していても、テクニカルな知識/スキルがない為諦めている。

・ネットに書かれた情報を頼りにRaspberry Piを購入しビットコインノードを立てたが、イマイチパフォーマンスに満足していない。

こういった人は決して少なくないと思う。僕がまさにそうだったからだ。

僕自身、最初はビットコイン革命に参加するべく、Ministry of NodesBTCSessions等から情報を漁り試行錯誤をしながらビットコインノードを立てた。2020年頃まではRaspberry PiにSSDを繋いだノードが主流であり、殆どのビットコイナーやノードソフトウェアを提供する会社はそういったニーズに応えるプロダクトを提供していた。

コロナショック以降、物流環境が悪化した結果RaspberryPiの実売価格が大幅に上がった(8000円→20000円、 2022年末)。その頃から価格の優位性を失ったRaspberry Piではなく、一般的なPCを使ったノードを推奨するビットコイナーが増えた。

Jack Dorsey氏のTwitter投稿より

ビットコインノードとは、ビットコインブロックチェーンを個人で保有し、それをビットコインネットワークに繋げ、真に検閲不能で第三者を必要としない決済(送受金)を行うためのツールである。ノードを用いることで自分が受け取ったビットコインの真贋判定が可能となり、第三者を信用せずとも自分のビットコインの所在が確認できる。

それ以外にも、ビットコインノードを立てることでビットコインネットワークに関係する様々なプロダクト(Lightning, Whirlpool, Mempool等)に繋げることができ、結果ビットコインの理解が深まるのだが、それらはあくまでプラスαだと個人的には思っている。

技術的な知識を有する人はBitcoin Coreを自身で管理するが、正直一般人にはハードルが高い。特にElectrum ServerやTorの設定に苦労するだろう。2023年1月現在、ビットコイナーの多くが勧めるビットコインノードのセットアップは下記になる:

・OS: Umbrel
・ハードウォレット(署名デバイス):Coldcard MK4
・ソフトウォレット(管理ソフト):Sparrow Wallet

OSとはビットコインコアやElectrum Server等を一括管理する為のプラットフォームを指すが、ここ数年で種類が増えた。Umbrel、MyNodeStart9RaspiBlitzなどがサポートなどもしっかりしており、Raspberry Piで問題なく使用できる。Raspberry Piでビットコインノードを立てる場合は上記セットアップが最適解だと僕自身も思っている。しかし、ある程度ビットコインを理解し、資産の一部をbitcoinで保有すると、いずれノードの信頼性(安定性や速度)を重要視するようになる。そうなると一般的なPCに比べてスペックが著しく劣るRaspberry Piを使ったノードに不安を覚えるようになるのだ。実際、外出先でSparrow Walletを使ってTorネットワーク経由で自宅にあるRaspberry Piのノードに繋ごうとすると、しばしばエラーが出たり、レスポンスが遅くなる。自宅でローカルネットワークから繋げる場合そういったトラブルは少ないのだが、それではビットコインの魅力をフルに楽しめない。

個人的にはまずBitcoin Core+Electrum Server専用のノードを構築することをお勧めする。Electrum ServerとはBitcoin Core(≒ビットコインブロックチェーン)とウォレットを繋ぐためのソフトだと思って良い。LightningウォレットやWhirlpoolも同じノードで運用可能だが、Bitcoin Coreと違い脆弱性が度々発見されている為、頻繁なアップデートが必要であり、そういったプラスアルファの機能はリスク分散という観点からも別のノードを準備するべきだと個人的には思っている。

普段使っているメインのPCを使ってVirtual Machine内でノードOSを起動する選択肢もあるのだが、今回はBitcoin Core+Electrum Server専用のノードPCを構築することを目的とした記事とする。正解はひとつではないが、僕自身が一番簡単で安定していると感じた組み合わせを紹介する。再現性は高いと思う。

予算:5−10万円
必要条件:安定したネット環境とLANケーブル直挿し可能なルーター
OS:MyNode PCディスクイメージ無料)
購入品:
・PC (小型デスクトップ、SSD搭載可能、LANコネクター、USBコネクター)
・SSD (1TB以上、Windows等のOSがインストールされていないもの)*1
・メモリ (16GB以上推奨)
・USBメモリスティック (32GB、小型のもの)
・LANケーブル

参考までに僕が購入した品を共有する:
・中古の2020 Lenovo ThinkCentre M70q Tiny (Core i5–10400T@2.0GHz、メモリ16GB)
・2TB SSD (M.2 2280 NVMe)
・小型USBメモリスティック32GB

MyNodeの特徴として、DebianベースのOSをUSBメモリスティックに収め、SSDはストレージのみに使う構成を取っている。従ってPC(SSD)にOSをインストールする必要はない。

  1. BalenaEtcherを使ってUSBメモリにOSを書き込んでブートディスクを作成。
  2. PCにまっさらなSSDを挿入。*2
  3. (1)で作成したブートディスク(USBメモリ)をPCのUSBコネクタに挿入し、LANケーブルをルーターに接続し、電源を入れる。*3
  4. 数分待った後、同じネットワーク内にあるスマホやPCのウェブブラウザからhttp://mynode.localにアクセスし、セットアップを行う。

以上のステップを踏むだけで、非常に高性能なビットコインノードを構築することができる。およそ12時間でビットコインブロックチェーンが同期され、Electrum Serverも数時間で同期された。Sparrow WalletなどのソフトウォレットにElectrum Serverの.onionアドレスを入力することで誰でもプライバシー重視の自己主権型ビットコイナーになれる。

MyNodeの操作画面。有料バージョンもある。

MyNodeではなく、Umbrelを利用したい人は、PCにLinuxベースのUbuntuをまずインストールし、コマンドcurl -L https://umbrel.sh | bashを実行することでノードOSがインストールされる。Start9(Embassy OS)にもx86_64verがある。

真の自己主権型ビットコイナーとはこのようなOSを使用せず、自らBitcoin Coreをセットアップして使う人たちを指す。なぜならこういったOSを利用する以上、OSの開発陣をトラスト(信用)する必要があるからだ。彼らがマルウェアを混入した場合、ビットコインの検閲や誤送金につながる可能性もある。そういったリスクを減らすために僕はColdcardのように大きなスクリーンを備えたハードウォレット(署名デバイス)を用いてトランザクションを確認することをお勧めしている。

いずれBitcoin CoreのHow Toも書こうと思う。

*1 2023年1月現在、Bitcoin Core+Electrum serverのディスク使用量はおよそ700GB。
*2 外付けSSDも可能だが内蔵することをお勧めする。
*3 USBメモリからOSをブート(起動)するためには、BIOSで設定が必要な場合がある。Lenovoの場合起動時にF12を長押しし、Securityタブ内にある「Secure Boot」を「Off」にし、保存+再起動することでUSBブート可能となる。BIOS設定を行うためにはPCにモニターとキーボードを接続する必要があるので自宅にノートパソコンしかない人は要注意である。

謝辞:
tanakeiさん、ドラフトのレビューにご協力いただき誠にありがとうございました。

https://bitnodes.io/

--

--

cryptographile

Bitcoin Standard Advocate. ビットコイン信者。Twitter: @cryptographile