【第1回】「Umbrel」で素人でも簡単にBTCフルノード&Lightningノードを構築する
※2023年6月12日追記
この記事を書いてから結構時間が経ち、Umbrelもいろいろと進化しました。
ラズパイだけでなく古くて用途が無くなったノートPCをUmbrel用に再利用する方法、更にはUmbrel公式が専用の端末(電源とLANケーブルを差すだけで以下の記事の手間を省ける仕様)が発売されたりと。
また、これまでの期間に多くの方々がUmbrelに挑戦して積み上げられたノウハウ・トラブルシューティングの日本語情報が集約されたDiamond Hands Wikiの公開など、本記事は相当化石化してしまったので上記のサイトや記事を参考にお前もビットコインになっていただけると幸いです。
・https://umbrel.com/ ←Umbrel公式サイト
・Diamond Hands Wiki ←日本語情報のビットコイン/Lightning/Umbrel日本語情報ポータルサイト
・Spotlight内のUmbrelトラブルシューティング記事まとめ(By赤かぶと🥦✊)
以下は公開当時の記事内容になります。
今年の1月にSpotlightを始めてからというもの、お陰様でビットコインやライトニングネットワークへの興味が非常に強くなりましてね、えぇ
ビットコイナーの方々をTwitterで拝見しているうちに自分のような素人でもビットコインやライトニングネットワークのノードを構築できるっぽいと知り、「Umbrel」という物を使ってビットコインのフルノードおよびライトニングネットワークのノードを構築してみました!(ほぼ同じのMyNodeというものもあるそうです)
せっかくなのでその過程や注意点等を備忘録として残そうと思ったのですが、いかんせん内容が多いので複数回に分けて投稿しようと思います。
※まだまだ自分自身理解が浅い点があるので間違ってたらコメント等で教えてください!
今回のお品書き
- ラズパイとUmbrelで簡単にノード構築ができる
- ノードを構築するメリットは?
- セットアップと注意点
1.ラズパイとUmbrelで簡単にノードが構築できる
ノード構築とか言うとパソコンでプログラミングしてカタカタカタッターン!!的な難しそうなイメージがあったのだが、今回のノード構築ではコードとかを書いたりする必要は無し!(そもそもコードとかプログラミングはさっぱり)
小型のコンピューターである「ラズパイ4(Raspberry Pi)」にUmbrelOSをコピーしたmicroSDカードを差し込み、電源とLANケーブルとSSDをぶっ挿せばミッションコンプリート!!という簡単なものなのだ!
面倒な設定などは全てUmbrelというOS?がやってくれるので、こちらは材料を用意して繋ぐだけで簡単にビットコインのフルノード&ライトニングネットワークノードの構築が可能というわけだ。
必要な機器はUmbrelのサイトに書いてある通り、予算的には2万円~2.5万円程でノード構築が可能となる。
以下のリンク先は自分が使った物、ラズパイのケースやSSDエンクロージャーはお好みの物を選ぶと楽しそう(サイズや規格違いには要注意)
・ラズパイ4(電源やケースなどが揃ったスターターセットがおすすめ)
・容量1TB以上のSSD(HDDでも可能だが同期までの時間が非常に長いらしいのでSSD推奨)
・SSDエンクロージャー(SSDのケース&電源の役割、USBで給電&データのやり取りができる)
後はLANケーブルがあればOK!ラズパイ周りはスターターセットを買えばヒートシンクやファン・LANケーブルに専用電源など一通り付いてくるので迷ったらセット買いが安定
2.ノードを構築するメリットは?
なんとなく2万円程で簡単にビットコインのフルノードを構築できるのは分かった。
しかしノードを構築するメリットは一体何なのだろうか?
マイニングをしているわけではないので収入などは無し、2万円程の出費&毎月の電気代を払ってまでなぜやるのか?
これは実際にノードを構築した今になっても「これがメリットだ!」と断言はできないのだが、挙げるとすれば以下になるのかなぁ
- フルノード=ビットコインが誕生してから現在に至るまでの取引記録を自分の保有端末で検証、保存しているので今自分が保有しているビットコインが本物であると証明できる
- 検証保存している記録を他のノードと共有することで分散型台帳の1つとしてビットコインネットワークに貢献できる(ビットコインネットワークに参加する)
- モバイルウォレットなどの接続先に第三者のノードではなく、自分が構築したノードを使用することで信頼性が上がる
- ライトニングノードでルーティングに参加することで多少の利回りを狙える
- 自分でノードを構築することでビットコインに対する理解が深まる
- 「俺がビットコイン(ネットワークの一部)だ!!」と言える
- 「ビットコイン?あぁ、俺ん家で寝てるよ。」と言える
などなど、基本的には【Don't Trust Verify(信用すんな、検証しろや)】を実行できるほか、ビットコインネットワークの一部になれるといった感じ。
(Umbreのサイト、「ビットコインになれ!」とのこと)
己が投資している物を理解し知識を取り入れることは大切なのだが、自分の性分としては実際に触ってみないと理解が深まらない残念な仕様なので…
その点からは今回ノードを構築することで少なからず知識をや理解を深めることができたのは良かったと思う。
HODL握力を鍛えたり勉強としての費用対効果は高いと思うし、ノードの維持を辞めてもラズパイやSSDは再利用ができるので少しでも興味がある人はぜひトライしてみよう!
3.セットアップと注意点
ってなわけでここからはUmbrelを使ったノード構築のセットアップ!
上記の機器が揃ったらUmbre公式サイトへアクセス!
右上の「GET STARTED」→「HOW TO INSTALL」をクリックすると10ステップに渡ってセットアップ手順を教えてくれるのでこの手順通りにすればOKだ!
※ステップ2~5はUmbrelOSをmicroSDカードに書き込む手順になるのだが、手順5に関しては書き込みを開始したら完了するまで一切パソコンを操作しないのが吉!
「解凍」→「書き込み」→「検証」→「完了」という流れになるのだが、書き込み段階に移行した際にGoogleドライブなどが「SDカードのバックアップを開始しますか?」と聞いてきたため「いいえ」の操作をしたところ書き込みエラーが発生…
流石に不安になったので別のmicroSDカードに書き込みをしたのだが似たような状況になったので書き込みを開始したら完了するまではパソコンを一切操作しないほうが良いと思われる。
手順6以降は接続していくだけなので問題ないはず、SSDはSSDエンクロージャーにセットするとUSBケーブル一本で給電とデータのやり取りが可能になる(透明じゃなくて色物にすればよかったかなぁ)
SSDやLANケーブル・ラズパイの電源コードを繋いだら後は起動するだけなのだが、電源を入れる前に設置場所や配線の取り回しは確定しておこう!
自分は起動後に配線の取り回しをした結果、電源が抜けてしまい再起動→挙動がおかしくなったためOSから焼き直したりSSDをフォーマットしたりとかなりの沼に嵌ってしまった…
先程のOS書き込み失敗と合わせて3枚のmicroSDカードを使用するという体たらく、同じ轍は踏んでほしくないが不安な人はSDカードを多めに調達しておくと安心かも
(仮置き時の写真、この後沼に嵌る...)
無事に立ち上げが完了したら5分程時間を置き、同じネットワークに接続した端末から http://umbrel.local/ にアクセスするとUmbrelのダッシュボードが表示されるはず。
(どうでもいいけどこのロゴはどう見てもおちんry…)
自分は有線接続のデスクトップPCで問題なく接続できたのだがWi-Fi経由のAndroidスマホでは接続できなかった。
そんな場合はラズパイのIPアドレスを調べて接続してみよう。(ラズパイのIPアドレスの調べるにはルーター設定を確認するか、Angry IP Scannerで調べる)
例:ラズパイのIPアドレスが192.168.1.3の場合はアドレス欄に「192.168.1.3」と入力しアクセスする
無事にUmbrelのダッシュボードに接続できれば後は画面の手順通りに進めていけばOK!
ログインパスワードの設定後、同時に作成されるウォレット秘密鍵のパスフレーズが表示されるのだが個人的にはブロックの同期が完了してから保存したほうが良いかなぁと
(余ってたパスフレーズ用カードに書き写したんだけど先述の電源抜けた騒動で再インストールしたため無駄になったので…)
確認事項、「Umbrelはベータ版なので多額の資金を入れないように気を付けてね!」「クレイグライトは詐欺師」との事、草生える
Umbrelはベータ版とのことで実際使っていても時々フリーズすることがあるので多額の資金投入はNG!
同期が完了後はパスフレーズやライトニングチャネルのバックアップなど対策は万全に!
このあたりは今後のアップデートや発展に期待(更新は頻繁に行われている)
以上でUmbrel&ラズパイの設定は完了!先程設定したログインパスワードでダッシュボードにアクセスするとこんな感じ
中央の「Bitcoin Core」が0%だが、しばらくすると他のノードと接続してビットコインが誕生したジェネシスブロックからの取引データを同期・検証が開始される。
同期する過去12年分のデータはこの記事を書いている現在 671,927ブロック時点での総容量が約374GBになる(余談だがBCHはブロックサイズが大きいため2テラ程になるらしい)
この膨大なデータを検証・保存していくので同期が完了するまで自分の場合4日程かかった…(回線速度が遅いと更に時間が必要だったり、HDDを使用した場合は1カ月かかったという情報も)
これに関しては大人しく同期が完了するのを待つか、事前にスペックの高いパソコンでデータをSSDに移せば6時間程で完了するらしい
(ビットバンクのCBOジョナサンが教えてくれた、さらに自身の端末で検証までしてくれました!ありがとう!ちなみに僕はやり方が分からなかったので大人しく同期を待つことにしました!)
ってなわけで少し長くなったけどこれにて第1回は終了!大人しく同期が完了するのを待ちましょう!
同期の状態を眺めていると12年前はトランザクション数もブロックサイズが少ない為か最初の数十万ブロックまではすぐに検証が終わるんだけど進捗は10%程度
そこから利用者が増えていき、検証するデータ量も増えるためにブロックの進みはどんどん遅くなっていく。
12年前からのビットコインの歴史というか歩みを辿っていくのはなかなか不思議な感覚だけど、それもフルノードを構築する楽しみなのかも。
ブロック毎に、トランザクション毎にいろんなドラマがあるんだろうなぁと思いながら眺めるのも乙なものですぞ。
次回は同期完了後の利用法やUmbrelの拡張機能などをレポートしていこうと思います!