ブロックチェーン/レベル III · ネットワーク/3.3 コンセンサスとガバナンス/レッスン 4
BIPプロセス
誰も縛らない文書、そしてすべてを変えるプロセス
用意するものGitHubリポジトリgithub.com/bitcoin/bipsBIPヘッダをコピーして比較するためのテキストエディタ
問い
- もしBIPが単なる文書に過ぎないのであれば、どうやって何百万台ものコンピュータの動作を変えることができるのか?
- なぜ編集者は、提案の是非について一切投票することなく番号を割り当てるのか?
- 単一の開発者がネットワーク全体に対してルール変更を強制するのを防ぐものは何か?
探究
- アミール・ターキは2011年8月、PythonのPEPを直接のモデルとして、ビットコイン改善提案(BIP)を導入した。BIP1は、プロトコルの変更や一般的な情報を文書化するための枠組みを確立した。2016年にはルーク・ダッシュジュニアがBIP2でこれを改訂し、2025年にはマーク・エアハートによるBIP3「Updated BIP Process」がBIP2に取って代わった。BIPは当初ウィキ上で管理されていたが、現在はGitHub上のバージョン管理されたリポジトリに置かれており、すべての変更が追跡・レビュー可能になっている。
- BIP3では、BIPは3つのタイプに分かれる。Specification BIPは、新しいトランザクションルール、ウォレットの標準、ネットワークメッセージなど、プロトコルや相互運用可能なソフトウェアへの変更を記述する。Informational BIPは、何かを要求することなく指針や背景情報を提供する。Process BIPは、BIPプロセスを含め、開発そのものの進め方を記述する。古いBIPは作成時の「Standards Track」というラベルをそのまま保持しており、これは現在のSpecificationタイプに相当する。
- 各提案は、その著者たちによって推進される。著者は提案を書き、メーリングリストやレビューでそれを擁護し、批判に応じて修正する。著者であることには、採用を強制する力は伴わない。BIPは、ノードやウォレットのソフトウェアがそれを実装し、人々がそのソフトウェアを実行することを選ぶまでは、文書にすぎない。投票は存在せず、コンセンサスの変更は、ネットワークの十分な部分がアップグレードした場合にのみ起こる。
- 議論はbitcoin-devメーリングリスト、コードレビューのプルリクエスト、カンファレンスで行われる。正式な権威も拘束力のある投票も存在しない。エディターは番号を割り当てて形式を確認するが、採用を決めることはない。BIP3では、提案のステータスはまず「Draft」、著者が完成したと判断すると「Complete」、実際に使われるようになると「Deployed」と進む。放棄された提案や置き換えられた提案は「Closed」とされる。リポジトリ内のステータス欄は、このライフサイクルを反映している。
- よく知られたBIPは、このプロセスの影響力を示している。BIP16は2012年にPay-to-Script-Hash(P2SH)を導入した。BIP32は階層的決定性ウォレットを定義し、BIP39は復元用のシードフレーズを標準化した。BIP141はSegregated Witness(SegWit)を実現し、SegWitは2017年8月にブロック481,824で有効化された。BIP340〜342はシュノア署名とTaprootを導入し、2021年11月に有効化された。いずれも、後方互換性やクリーンなフォークを確保するために、開発者、マイナー、ユーザーの間で綿密な調整を必要とした。
- GitHub上のBIPリポジトリを開いてください。Standards Track(例:BIP141)、Informational(例:BIP50)、Process(例:BIP3)のBIPを1つずつ、計3つ探してください。それぞれのステータス欄を読み、いつ作成され、ステータスがどのように変化したかを記録してください。この演習から、技術的な優位性だけでは不十分であり、社会的な合意と経済的な利害の一致こそがビットコインの進化の真の門番であることがわかる。
重要な事実
- アミール・ターキは2011年8月、PythonのPEPをモデルにBIPを導入した。
- BIP3(2025年)はBIP2に取って代わり、Specification、Informational、Processの3つのタイプを定義している。
- エディターは番号を割り当てて形式を確認するが、採用を決めることはない。
- BIP39は、ウォレット復元用のシードフレーズを標準化した。
- SegWit(BIP141)は2017年8月、ブロック481,824で有効化された。
- Taproot(BIP340〜342)は2021年11月に有効化された。
演習 九・六・三・一
9集めるリポジトリからBIPを9つ挙げてください。そのタイプ(Standards Track、Informational、Process)と現在のステータスについても記載してください。
6まとめるノードの動作への影響に基づいて、9つを6つのグループに分類してください(プロトコル変更、情報提供のみ、プロセス変更、必要に応じてその他のカテゴリー)。
3絞り込む6つのグループを、BIPが何年も「Draft」や「Proposed」のステータスにとどまることがある3つの理由に絞り込んでください。
1結晶化するBIPと、実際に適用されているコンセンサスルールとを区別するものは何かを1文で書いてください。
事実確認
日付、数字、主張は、下記に記載された公表資料と照合して確認しました。