超小型コンピュータ(ラズベリーパイ等)によるビットコインフルノードの運用

レポート「アルトコイン図鑑」では30種類以上のコインを解説

レポート「ビットコインの情報源決定版(26ページ)」を配信しました。レポート内容へ

IMG_20170227_160954

しばらく前にセットアップしたビットコインの小型フルノードですが、ようやくちゃんと運用可になりましたので、公開設定にしました。ラズベリーパイなどの小型のワンボードコンピュータでビットコインのフルノードを動かします。

家の棚のところにちょこっと置いてあります。みためはホントに小さい箱という感じです。

世界中のビットコインのフルノードの稼働をリアルタイムで見ることのできるサイト(bitnode.21.co)があるんですが、そこに登録しまして、ちゃんと表示されて認識されています。

Screenshot from 2017-02-27 16-05-27

今日はベトナムでは他にノードが立っていないようですので、唯一のフルノードになってます!

ベトナムは他にも2つほどしかないので、3つめのフルノードということになるんでしょうか。

しかしフルノードの数は、少ないように思えますね。世界中で5811個しかありません。もちろん、公開しているのがこれだけで、プライベートな運用をしているものは中にかくれてみえないのでしょうけれども。

<仕様>

私のフルノードですが、オレンジパイという小型コンピュータを使っています。これに、古くて使っていなかった250GBのポータブルHDDをUSBで接続してつかっています。

オレンジパイは、メモリが1GB、OSなどの領域としてオンボードに8GBのフラッシュストレージがあり、そこから起動します。

オレンジパイが中国から買って、ケース・電源・送料ふくめて40ドルくらい。HDDは余り物を流用なので、合計5000円程度という非常に安い値段で構築することができました。

OSは、ArmbianというARM用のDebian系のOSを利用。ソフトウェアは、最新のbitcoin core 0.13.2を入れています。公式よりソースを取得し、手動でビルドしました。

この他にも、Lightningdや、21.coなど、いろんなビットコイン関係の面白いものをインストールしています。

ラズベリーパイほか、ワンボードコンピュータはさまざまなものが出ていますが、多くのものでフルノードは動作可能です。

<ちゃんと動くのか?>

小型コンピュータとして有名なラズベリーパイの最新版と比べると、少しスピードも遅くメモリも小さく一世代前のスペックですが、これでも十分動くかどうかというところです。

結論からいうと、ちゃんと動いています。

ブロックチェーンの同期にはさすがに時間がかかり、テストを兼ねてやりましたが、2週間以上かかりました。

ただし、一回同期が完了すると、わりあいスムーズに動いています。

以下、メモリと、負荷の状況です。メモリはいっぱいまで使っていますが、1GBでなんとかなるもよう。マシン負荷はそれほどではありません。

Screenshot from 2017-02-27 16-23-55

もっともすごくネットワークが混んでいた数日前に比べるとメモリープールの状況も改善されていて、非承認トランザクションも2239と、通常のレベルに落ち着いています。

つまり、通常のレベルの負荷なら、いまのところこのマシンでも十分捌ききれているという感じでしょうか。Screenshot from 2017-02-27 16-33-31

<何が嬉しいのか?>

さて、フルノードを運用するとなにが嬉しいのでしょうか?

ぶっちゃけ、あんまりメリットはなくて、自己満足の領域がおおきいです。ですが、ビットコイナーであれば、いちどは自分でフルノードを運用してみることをお勧めします。

いくつか理由が有ります。

  • フルノードを立てる過程で、bitcoindなどのソフトウェアに触れることができ、よりビットコインを直接に理解することができます。これは、単にウォレットからビットコインをユーザーとして使うのとはまったく別の満足感があります。
  • ビットコインはP2Pのネットワークです。つまり自分が立てたノードはまさにビットコインネットワークそのものであるわけです。
  • とりわけビットコインの場合、ブロックチェーンの情報がすべて自分のマシンに同期されますから、この小さなマシンの中にビットコインのすべての情報と、2兆円にもなろうかという価値の記録が刻まれているのだとおもうと、感動します。
  • とりわけ小型のコンピュータで構築すると感動が増しますので、お勧めします。小型コンピュータいじりも楽しいですから、楽しみがダブルになります。

ということで、ぜひビットコイナーでしたらやってみてください。

ログをながめていると、8btcとかいう中国の取引所とつながったり、誰かのbreadwalletが接続して来たりと、けっこうおもしろいですよ。

誰かのbreadwalletが私のノードを参照してその残高を表示していると思うと、これが胸熱でないと言えないひとはいないじゃないでしょうか。

<プライバシーの確保>

それ以外のメリットとしては、プライバシーの確保が有ります。一般のウォレットはフルブロックチェーンの情報をもっていませんから、近くのノードに問い合わせることになります。この際の通信経路は暗号化されていません。現在はBLOOMフィルタという機能で、アドレスなどをわかりにくくする機能があるのですが、やはり情報が漏れることは確かです。

もし、自分の手元にフルブロックチェーンをもったノードがあれば、これに問い合わせることで、そうしたプライバシー上の問題を軽減できる可能性が有ります。

たとえば、co-payやTrezorといったウォレットの問い合わせ先を自分のノードにするという運用が考えられます。

これを行うには、Co-payやTrezorに対応したbitcoreのフルノードを構築することになります。これは別のマシンが必要なので、後日もう一台構築してこれにもトライして報告していたいとおもいます。

<最先端を味わえる>

さて、フルノードがあると、まだ実験段階のソフトウェアをいじることができます。

代表的なものは、ライトニング・ネットワークでしょう。いまのところライトニングを動かすには、フルノードが必要です。

ほかにも、ビットコインのIoTや少額支払いを目指す21.coのサービスなども、フルノードが必要です。

こうした最先端のサービスを実際に体験するための道具としても、フルノードが一台あると何かと面白いとおもいます。

<フルノードを登録するには?>

さて、自分でフルノードを構築したら、さきほどのBitnodeなどに登録してみるといいとおもいます。

登録方法は簡単で、https://bitnodes.21.co/ で、入力ボックスがあります。

下記のところにIPアドレスとポート番号をいれてあげればOK

Screenshot from 2017-02-27 16-48-08

アクティベートが確認されると、自身のノードの情報が表示されます。

Screenshot from 2017-02-27 16-09-13

こうして、ネットワークの一部になるのは本当にたのしいものです。

<参考情報>

【レポート053】ラズベリーパイによるビットコインフルノードの立て方(OSインストール及び設定、BITCOINDのビルド編)

過去配信のレポートで、フルノード構築の詳細解説があります。研究所会員のかたはぜひ参照ください。

詳細日本語マニュアル付きTrezorの購入は

初心者向け「使って勉強!ビットコイン」