Bitcoinの技術書として世界的に知られる『マスタリング・ビットコイン』の第3版日本語版が、オライリー・ジャパンより刊行されました。
『マスタリング・ビットコイン』は主に技術者向けの技術書で、Bitcoinの仕組みを深く理解したい開発者、ウォレットや取引所のシステムを構築するエンジニア、暗号通貨の技術的な側面に興味のある方に最適です。最初の数章は非技術者でも読めるよう配慮されており、Bitcoinの内部動作を理解したい方にとっても有益な内容となっています。
第3版では、原著者のAndreas M. Antonopoulosに加え、Bitcoin Optechの主要執筆者であり、Bitcoinのドキュメンテーションに長年貢献してきたDavid A. Hardingが共著者として参加しています。日本では第2版が出版されなかったため、2016年にNTT出版から刊行された初版から第3版への変更は非常に大きなものになっており、この10年間でBitcoinプロトコルに導入された重要なアップグレードがすべて網羅されています。
本記事では、初版からどのような変更が加わったのか、第3版の見どころを紹介します。
Segregated Witness(Segwit)
2017年にアクティベートされたSegwitは、Bitcoinの歴史上最も重要なアップグレードの一つです。witness versionとwitness programという概念を導入することで、従来のBitcoin Scriptに縛られない自由な拡張が行える素地が導入されました(理論上、従来のBitcoin Scriptと全く異なる検証ロジックを導入することが可能です)。
初版では存在しなかったこの技術について、第3版では以下の内容を中心に詳しく解説されています:
- トランザクションIDの展性(malleability)問題の修正: ライトニングネットワークを導入するために解決する必要があるトランザクションIDの展性とは何か?
- Segwitの仕組み: Segwitではどのようにして展性問題を解決しているのか?
- P2WPKH / P2WSH: Segwitを利用するために導入された新しいアドレス形式の仕組みを解説
- bech32 アドレス:
bc1で始まる新しいアドレス形式用に導入されたbase58checkエンコードに変わる新しいアドレスエンコード方式について解説 - ブロック容量の実質的な拡大: (署名データなどの)witnessデータを分離したことでブロック容量がどうして拡大できるのか?
TaprootとSchnorr署名
2021年にアクティベートされたTaprootは、Segwit以来の最大のアップグレードです。第3版では新たに以下の内容が追加されています:
- Schnorr署名: ECDSAに代わる新しい署名方式。署名の効率的な集約が可能になり、マルチシグのプライバシーと効率が向上します。署名スキームの具体的な説明から、暗号技術だけでどうやってマルチシグが構成できるのか詳細に説明しています
- Taproot(P2TR): 複雑なスクリプト条件を持つトランザクションでも、オンチェーン上は通常の支払いと見分けがつかない形で実行可能にします
- Tapscript: Taproot用に更新された新しいBitcoin Scriptで、従来のScriptからの主な変更点をまとめています
- MAST(Merklized Alternative Script Tree): スクリプト内の複数の支払い条件を効率的に表現し、よりプライバシーを高めるための仕組みを解説
- bech32m アドレス: Segwitで導入されたbech32の脆弱性と、それを修正するためにTaproot用に改良されたアドレス形式について解説
トランザクション手数料の詳細
初版では簡単な説明にとどまっていた手数料について、第3版では実践的な内容が大幅に拡充されています:
- RBF(Replace-By-Fee): 手数料の引き上げによる既にブロードキャストしたトランザクションを置き換える仕組み
- CPFP(Child-Pays-For-Parent): 子トランザクションで親の手数料を補う方法で間接的にトランザクションの手数料を引き上げる仕組み
- トランザクションピンニング: 悪意ある手数料操作によりトランザクションの置換を妨害する攻撃とその対策について
- CPFP carve-out: ライトニングネットワークなどの二者間のコントラクトプロトコルのための特別ルール
- パッケージリレー: 親子トランザクションの手数料をまとめて評価する新機能
これらはライトニングネットワークなどのマルチパーティプロトコル(特に事前署名などトランザクションを作成してブロードキャストするまで時間があくようなプロトコル)を設計、構築、運用する上で欠かせない知識になります。
セカンドレイヤーアプリケーション
ファーストレイヤーとしてBitcoinが提供するプリミティブを活用するセカンドレイヤーアプリケーションも新たに取り上げられています。特に第3版では、現代的なプロトコルについても解説されています:
- シングルユースシール: カラードコインなど新しいアセットの転送を安全に行うための基盤となる構成要素
- P2C(Pay to Contract): 実際の契約に基づく支払いであることをBitcoinトランザクションに紐付ける仕組み
- クライアントサイドバリデーション: 新しいアセットの取引やその取引におけるBitcoin Script以外のロジックの検証を行うアプローチ
- RGBプロトコル: クライアントサイドバリデーションを活用した現代的なカラードコインプロトコル
- Taproot Assets: Taprootを活用し、ライトニングネットワークとの統合も視野に入れたカラードコインプロトコル
また、ライトニングネットワークのようなオフチェーンスケーリングを可能にする構成要素についても取り上げています。
- ペイメントチャネルの仕組み
- HTLC(Hash Time-Locked Contracts)
- オニオンルーティング
- チャネルの開閉とセキュリティ
ライトニングネットワークについてもっとディープに学びたい方はぜひマスタリング・ライトニングネットワークもご覧ください。
章構成の大幅な再編
第3版では、より体系的な学習ができるよう章構成が見直されています。特に旧版の「トランザクション」に関する章は、以下の4つの章に分割・拡張されました:
- トランザクション: トランザクションの構造(ほぼ全面書き換え)
- 認可と認証: トランザクション内のスクリプトの仕組みとコントラクトでよく使われるスクリプトを紹介
- デジタル署名: ECDSA、Schnorr署名の各方式の解説と、スクリプトレスなマルチシグやしきい値署名について解説
- トランザクション手数料: 手数料の仕組みと引き上げや課題
その他の更新
- 鍵とアドレス: P2PKからP2PKH、P2SH、Segwit、Taproot まで歴史順に再構成
- Signet: 開発者向けの新しいテストネットワーク
- コンパクトブロックリレー / フィルター: ネットワーク効率と軽量クライアントの改善のために導入されたプロトコルについて解説
- BIP8とSpeedy Trial: ソフトフォークのアクティベーション方法の進化
- ホワイトペーパーとの差異: Bitcoin の実装が Satoshi のホワイトペーパーからどう発展したかを解説する新付録
日本語版での補足
また、英語版の刊行から少し時間が経っているため、2025年時点での状況に即したものになるよう、新しいCMakeベースのビルド方法やポリシーの変更などアップデートがあったものに関して、訳注で補足しています。
おわりに
Bitcoinプロトコルは、初版が出版された2014年から大きく進化しました。Segwitをきっかけにしたスケーラビリティの改善、Taprootによるプライバシーと柔軟性の向上、そしてライトニングネットワークによる即時決済の実現など、この10年間の技術的発展は目覚ましいものがあります。
第3版は、これらの進化を網羅した、現時点で最も包括的なBitcoinの技術書です。初版をお持ちの方も、これからBitcoinを学び始める方も、ぜひ手に取っていただければ幸いです。