657 / 736BK41

Bitcoin and Lightning Network on Raspberry Pi

小さなコンピューターから自分の Bitcoin ノードを理解する

ビットコインの支払いを表示するアプリの裏側では、何が動いているのでしょうか。Harris Brakmić は、Bitcoin のソフトウェアが実際に動くコンピューターへ読者を案内します。Bitcoin and Lightning Network on Raspberry Pi は、システムの準備、自分のノード、Lightning のアプリをつなぐ本です。技術に興味のある読者のための実習室のように、ボタンの場所だけでなく、その裏側の仕組みも少しずつ理解していきます。

Bitcoin and Lightning Network on Raspberry Pi は、Harris Brakmić が執筆し、Apress が 2019 年に刊行した実践書です。小型コンピューター Raspberry Pi で Bitcoin Core と Lightning を扱う方法を説明します。Linux のコマンドラインの基礎が前提であり、手順は掲載ソフトウェアの古さを踏まえて読む必要があります。

ウォレットを使うことと、ノードを運用することは別の作業です。ウォレットは鍵や支払いの管理を助け、フルノードは受信した Bitcoin のデータをルールに照らして検証します。本書が扱うのは、そのソフトウェアを自分のコンピューターで動かし、ほかのプログラムと通信させる方法です。ただし、自分のノードがあるだけで鍵の保管が安全になったり、ウォレットの設定が正しくなったりするわけではありません。それぞれ理解して取り組む必要があります。 [1] [2]

Raspberry Pi は小型コンピューターであり、完成済みのビットコインウォレットではありません。OS、ストレージ、適切な設定が必要です。そのため Brakmić は、Bitcoin のプログラムをビルドして動かす前に、Linux と環境の準備を説明します。最初からすべてを知る必要はありませんが、基本的なコマンド操作には慣れておくべきです。副題の Pi3、Pi4、Pi Zero はこの版の対象を示し、現在のどの構成でもノードの全役割を担えるという保証ではありません。 [1]

目次には、三部構成で 12 章が並びます。最初に Bitcoin とコンピューターの準備、次にウォレット、ノード、自作プログラム、最後に Lightning とウェブアプリを扱います。何を動かすのかを理解し、結果を問い合わせる方法を学んでから、使いやすい画面を付けるという実用的な順序です。これは目次で確認した学習の構成であり、全章を読んだという意味ではありません。 [2]

Bitcoin Core は画面から操作できますが、bitcoind というプロセスはバックグラウンドでも動かせます。bitcoin-cli は、要求と応答のための窓口である RPC を通して文字のコマンドを送ります。手動のクリックから、ほかのアプリとの連携へ進むための仕組みです。目次には Python、JavaScript、C++ の例が挙がっています。読者の問いも「ボタンはどこか」から「ノードにどの情報や処理を求めるか」へ変わっていきます。 [2]

プログラムを手動で起動することと、サービスとして動かし続けることは別です。付属の bitcoin.service は、この役割を Linux のサービス管理機構 systemd に任せる例です。データと設定の場所、pi ユーザー、異常終了時の再起動を指定しています。PrivateTmp と NoNewPrivileges は、プロセスの一部の権限や動作範囲を制限します。具体的な運用例ではありますが、これらの設定だけでコンピューター全体の安全性が証明されるわけでも、無確認でコピーしてよいわけでもありません。 [4]

最後の部では、支払いチャネルと、複数の参加者を経由する支払い経路を扱います。簡単に言えば、Bitcoin 上に設けたチャネルで合意済みの残高を更新して支払う仕組みです。本書は Lightning の異なる実装である c-lightning と LND を取り上げ、さらに Spark Wallet と Joule による操作へ進みます。これらは当時の版で使われた名称です。画面が使いやすくなっても、ノード、チャネル、資金を管理する運用者の責任は残ります。 [2]

本書の刊行は 2019 年ですが、付属リポジトリの README はプロジェクトを 2020 年と記しています。本と付属プロジェクトについての異なる記録であり、それだけで別の版があると考える必要はありません。README は v1.0 を、修正や更新を加えていない刊行本対応のコードと説明しています。現在のメインブランチの状態までは示していません。インストール前には各ツールの現行文書と比べてください。当時の例が、そのまま現在の推奨設定とは限りません。 [3] [1]

出版社の書誌情報、目次と著者紹介を含む公開前付けの全文、README 全文、bitcoin.service を確認しました。これらから本の対象を説明し、具体的な運用例を示しています。本文の全章は読んでおらず、ソフトウェアのビルドや実行、送金も行っていません。この紹介は本に何を期待できるかを判断するためのもので、構成全体の動作や安全性を確認するものではありません。 [1] [2] [3] [4]

理解を深めるには、この項目とあわせて次もお読みください Bitcoin Core, Full Node, Lightning Network, Bitcoin Script.

01読み始める前にプログラミングが必要ですか?

Linux の基本的なコマンド操作は身につけておくべきです。後半にはプログラムのインターフェースやコード例があり、完成済みアプリをクリックするだけではありません。最初のビットコイン購入やバックアップの安全な保管が目的なら、まず一般向けのガイドから始めましょう。本書の中心は運用と開発です。

02すぐに本の通りに作り、実際の資金を扱えますか?

古い本だからといってすべての手順が間違いとは限りませんが、この紹介では現在も動くことを確認していません。まず現行文書、ハードウェア要件、選んだ構成のバックアップ方法を確認してください。付属ファイルは読んだだけで、導入や安全性のテストはしていません。実際の資金を使わない練習環境から始めるのがよいでしょう。

DOC · 001Apress — Bitcoin and Lightning Network on Raspberry Pi出版社 DOC · 002Bitcoin and Lightning Network on Raspberry Pi — front matter一次資料 DOC · 003Apress — official companion repository一次資料 DOC · 004Apress companion code — bitcoin.service一次資料
改訂日: 一次資料を優先 · 投資助言ではありません