最近、新たなビットコイン改善提案(BIP)は、その非常に物議を醸す性質のため、コミュニティから幅広い注目を集めています。これはBIP 148 (Forced Activation of Segregated Witness Deployment) であり、新しいソフトフォーク方式である UASF (User Activated Soft Fork) が含まれます。提案の説明によると、既存の Segregated Witness デプロイメントが 2017 年 8 月 1 日までにアクティブ化できない場合、BIP は 2017 年 8 月 1 日から 2017 年 11 月 15 日の深夜までの間の時点でアクティブ化されます。ただし、既存の SegWit デプロイメントがアクティブ化されると、この BIP はアクティブ化されなくなります。 この点に関して、コミュニティの一部の人々は次のように解釈しました: CORE は 95% のコンピューティング パワーの投票コンセンサスを放棄し、8 月 1 日に無条件に分離検証の有効化を強制します。 ここに誤解があります。ドラフト段階の提案を、最終(実装)段階である CORE のコンセンサスとして理解する人もいるかもしれません。 不必要な誤解を避けるために、王思図は、BIP が提案から実施までに経る必要がある手順と、現在利用可能な BIP について説明する必要があります。 1. BIP の提出とレビューのプロセスとは何ですか? BIP を提出するには、まずアイデアまたはドキュメントをメーリング リストに投稿する必要があります。議論の後、発起者は電子メール < [email protected] > で Luke Dashjr に連絡する必要があります。 BIP は、Luke Dashjr によって編集および承認されると、https://github.com/bitcoin/bips で公開されます。 ルールによれば、誰でも BIP を提出できます。 https://github.com/bitcoin/bips ページで BIP を公開しても、それが正式に承認されたことを意味するわけではないことに注意してください。ステータスが「アクティブ」に変更された場合にのみ正式に承認されます。 BIP を正式に有効化するには、開発者コミュニティとの協議と合意が必要です。 現在の BIP ステータスは、 Proposed 、 Draft 、 Active 、 Final 、 Replaced 、 Withdrawn 、 Deferred 、 BIP number allocated 、 Rejected の 9 種類に分類できます。 バビット フォーラムのモデレーターである Maya は、自身の理解に基づいてこのプロセスを 7 つのステップに分けました。 ステップ 1: アイデア。誰でも、フォーラムや Twitter などのあらゆるチャネルを通じて、改善のための独自の予備的なアイデアを提案し、より多くのサポートと認識を得ることができます。 ステップ 2: 提案。コミュニティの議論からの提案を要約し、より標準化された形式で計画を詳細に説明し、BIP 提案文書として提出します。 ステップ 3: 正式な提案。より重要または承認の多い BIP 提案にシリアル番号を割り当てます。議論を容易にし、この提案を区別するために、シリアル番号の付いた提案は正式な提案とみなされます。 ステップ 4: コードを実装します。一部の開発者は、正式な BIP 提案のアイデアを特定のコードに実装します。そして、テストネットワーク上で厳格なテストが実行されます。コードに可能な限りバグがないことを確認します。 ステップ 5: アクティベーション設定。コードに問題がなければ、BIP9 アップグレード仕様に従って、アクティベーションしきい値を設定し、アクティベーション マーク ビット、バッファ時間などを割り当てます。 ステップ 6: バージョンをリリースします。十分な数の人々が署名して同意した場合、BIP コードは最新バージョンに吸収されリリースされますが、非アクティブな状態になります。 ステップ 7: アクティベーション。 BIP9 で設定された有効化しきい値に達すると、計画は正式に有効化され、有効になります。ソリューションが成功するかどうかをテストします。問題が発生した場合は、以前のバージョンに戻すことができます。
現在議論を呼んでいるBIP 148はまだ草案段階であり、多くの開発者の反応によると、この草案が有効化される可能性は非常に低いとのことです。 現在確定している BIP は何ですか?実装された BIP のリスト (最終版) を添付します。 BIP サポート ソフトウェア バージョン タイトル 9 v0.12.1 タイムアウトと遅延付きバージョンビット 著者: (ピーター・ウイール、ピーター・トッド、グレッグ・マクスウェル、ラスティ・ラッセル) 11 v0.6.0 M-of-N 標準トランザクション 著者: (ギャビン・アンドレセン) 13 v0.6.0 ペイ・トゥ・スクリプト・ハッシュのアドレス形式 著者: (ギャビン・アンドレセン) 14 v0.6.0 プロトコルバージョンとユーザーエージェント 著者: (アミール・ターキ、パトリック・ストラテマン) 16 v0.6.0 スクリプトハッシュへの支払い 著者: (ギャビン・アンドレセン) 21 v0.6.0 URIスキーム 著者: (Nils Schneider、Matt Corallo) 22 v0.7.0 ブロックテンプレートを取得する 著者: (ルーク・ダッシュジュニア) 23 v0.10.0 getblocktemplate – プールマイニング 著者: (ルーク・ダッシュジュニア) 30 v0.6.0 重複トランザクション 著者: (ピーター・ウイール) 31 v0.6.1 ポンメッセージ 著者: マイク・ハーン 34 v0.7.0 v2 バージョン ブロック、コインベースの高さ (ブロック v2、コインベースの高さ) 著者: (ギャビン・アンドレセン) 35 v0.7.0 メモリプールメッセージ 著者: (ジェフ・ガージック) 37 v0.8.0 ブルームフィルタリング 著者: (マイク・ハーン、マット・コラロ) 42 v0.9.2 ビットコインの通貨供給量は有限 著者: ピーター・ウイール 61 v0.9.0 「拒否」P2Pメッセージ 著者: (ギャビン・アンドレセン) 65 v0.10.4 OP_CHECKLOCKTIMEVERIFY 著者: (ピーター・トッド) 68 v0.12.1 合意強制シーケンス番号を使用した相対ロック時間 著者: (Mark Friedenbach、BtcDrak、Nicolas Dorier、kinoshitajona) 66 v0.10.0 厳格なDER署名 著者: ピーター・ウイール 70 v0.9.0 支払いプロトコル 著者: (ギャビン・アンドレセン、マイク・ハーン) 71 v0.9.0 支払いプロトコル MIME タイプ 著者: (ギャビン・アンドレセン) 支払いプロトコルの 72 v0.9.0 URI 拡張 著者: (ギャビン・アンドレセン) 111 v0.12.0 NODE_BLOOM サービスビット 著者: マット・コラロ、ピーター・トッド 112 v0.12.1 OP_CHECKSEQUENCEVERIFY 著者: (BtcDrak、Mark Friedenbach、Eric Lombrozo) 113 v0.12.1 過去の平均時間 著者: (トーマス・ケリン、マーク・フリーデンバッハ) 125 v0.12.0 オプトイン完全手数料による置換シグナリング 著者: (David A. Harding、Peter Todd) 130 v0.12.0 Sendheadersメッセージ 著者: (Suhas Daftuar) 141 v0.13.0 分離された証人(コンセンサス層) 著者: (Eric Lombrozo、Johnson Lau、Pieter Wuille) 143 v0.13.0 バージョン 0 証人プログラムのトランザクション署名検証 著者: (ジョンソン・ラウ、ピーター・ウイール) 144 v0.13.0 分離された証人(ピアサービス) 著者: (Eric Lombrozo、Pieter Wuille) 145 v0.13.0 getblocktemplate Segregated Witness の更新 著者: (ルーク・ダッシュジュニア) 147 v0.13.1 ダミースタック要素の柔軟性への対応 著者: (ジョンソン・ラウ) BIP が最終ステージに進出した回数で開発者を並べると、上位 5 人は Gavin Andresen (8 回)、Pieter Wuille (7 回)、Peter Todd (4 回)、Luke Dashjr (3 回)、Johnson Lau (3 回) です。 現在の BIP は何ですか?現在のすべての BIP のリストが添付されています。 BIP番号 | 層 | タイトル | 著者 | タイプ | 州 | 1 | | BIPの目的とガイドライン | アミール・ターキ | プロセス | 交換 | 2 | | BIPプロセス、改訂版 | ルーク・ダッシュジュニア | プロセス | アクティブ | 9 | | タイムアウトと遅延付きバージョンビット | ピーター・ウイール、ピーター・トッド、グレッグ・マクスウェル、ラスティ・ラッセル | 情報提供 | ファイナル | 10 | アプリケーション | マルチシグトランザクション分散 | アラン・ライナー | 情報提供 | 撤回 | 11 | アプリケーション | M-of-N 標準トランザクション | ギャビン・アンドレセン | 標準 | ファイナル | 12 | コンセンサス(ソフトフォーク) | OP_EVAL | ギャビン・アンドレセン | 標準 | 撤回 | 13 | アプリケーション | ペイ・トゥ・スクリプト・ハッシュのアドレス形式 | ギャビン・アンドレセン | 標準 | ファイナル | 14 | ピアサービス | プロトコルバージョンとユーザーエージェント | アミール・ターキ、パトリック・ストラテマン | 標準 | ファイナル | 15 | アプリケーション | エイリアス | アミール・ターキ | 標準 | 延期 | 16 | コンセンサス(ソフトフォーク) | スクリプトハッシュに支払う | ギャビン・アンドレセン | 標準 | ファイナル | 17 | コンセンサス(ソフトフォーク) | OP_CHECKHASHVERIFY (CHV) | ルーク・ダッシュジュニア | 標準 | 撤回 | 18 | コンセンサス(ソフトフォーク) | ハッシュスクリプトチェック | ルーク・ダッシュジュニア | 標準 | 提案 | 19 | アプリケーション | M-of-N 標準トランザクション (低 SigOp) | ルーク・ダッシュジュニア | 標準 | 下書き | 20 | アプリケーション | URI スキーム | ルーク・ダッシュジュニア | 標準 | 交換 | 21 | アプリケーション | URI スキーム | ニルス・シュナイダー、マット・コラロ | 標準 | ファイナル | 22 | API/RPC | getblocktemplate – 基礎 | ルーク・ダッシュジュニア | 標準 | ファイナル | 23 | API/RPC | getblocktemplate – プールマイニング | ルーク・ダッシュジュニア | 標準 | ファイナル | 30 | コンセンサス(ソフトフォーク) | 重複取引 | ピーター・ウイール | 標準 | ファイナル | 31 | ピアサービス | ポンメッセージ | マイク・ハーン | 標準 | ファイナル | 32 | アプリケーション | 階層的決定論的ウォレット | ピーター・ウイール | 情報提供 | ファイナル | 33 | ピアサービス | 階層化されたノード | アミール・ターキ | 標準 | 下書き | 34 | コンセンサス(ソフトフォーク) | ブロック v2、Coinbase での高さ | ギャビン・アンドレセン | 標準 | ファイナル | 35 | ピアサービス | メモリプールメッセージ | ジェフ・ガージック | 標準 | ファイナル | 36 | ピアサービス | カスタムサービス | ステファン・トーマス | 標準 | 下書き | 37 | ピアサービス | 接続ブルームフィルタリング | マイク・ハーン、マット・コラロ | 標準 | ファイナル | 38 | アプリケーション | パスフレーズで保護された秘密鍵 | マイク・コールドウェル、アーロン・ヴォワシン | 標準 | 下書き | 39 | アプリケーション | 決定論的キーを生成するためのニーモニックコード | マレク・パラティヌス、パヴォル・ルスナック、アーロン・ヴォワシン、ショーン・ボウ | 標準 | 提案 | 40 | API/RPC | ストラタムワイヤプロトコル | マレク・パラティヌス | 標準 | 割り当てられたBIP番号 | 41 | API/RPC | ストラタムマイニングプロトコル | マレク・パラティヌス | 標準 | 割り当てられたBIP番号 | 42 | コンセンサス(ソフトフォーク) | ビットコインの通貨供給量は限られている | ピーター・ウイール | 標準 | 下書き | 43 | アプリケーション | 決定論的ウォレットの目的フィールド | マレク・パラティヌス、パヴォル・ルスナック | 情報提供 | 下書き | 44 | アプリケーション | 決定論的ウォレットのマルチアカウント階層 | マレク・パラティヌス、パヴォル・ルスナック | 標準 | 提案 | 45 | アプリケーション | 決定論的P2SHマルチ署名ウォレットの構造 | マヌエル・アラオス、ライアン・X・チャールズ、マティアス・アレホ・ガルシア | 標準 | 提案 | 47 | アプリケーション | 階層的決定論的ウォレットの再利用可能な支払いコード | ジャストゥス・ランヴィエ | 情報提供 | 下書き | 49 | アプリケーション | P2WPKHネスト型P2SHベースのアカウントの導出スキーム | ダニエル・ヴァイグル | 情報提供 | 下書き | 50 | | 2013 年 3 月 チェーンフォークの事後分析 | ギャビン・アンドレセン | 情報提供 | ファイナル | 60 | ピアサービス | 固定長「バージョン」メッセージ (リレートランザクション フィールド) | アミール・ターキ | 標準 | 下書き | 61 | ピアサービス | P2Pメッセージを拒否 | ギャビン・アンドレセン | 標準 | ファイナル | 62 | コンセンサス(ソフトフォーク) | 柔軟性への対処 | ピーター・ウイール | 標準 | 撤回 | 63 | アプリケーション | ステルスアドレス | ピーター・トッド | 標準 | 割り当てられたBIP番号 | 64 | ピアサービス | getutxo メッセージ | マイク・ハーン | 標準 | 下書き | 65 | コンセンサス(ソフトフォーク) | OP_CHECKLOCKTIMEVERIFY | ピーター・トッド | 標準 | ファイナル | 66 | コンセンサス(ソフトフォーク) | 厳格なDER署名 | ピーター・ウイール | 標準 | ファイナル | 67 | アプリケーション | 公開鍵ソートによる決定論的Pay-to-script-hashマルチ署名アドレス | トーマス・ケリン、ジャン=ピエール・ルップ、ルーベン・デ・フリース | 標準 | 提案 | 68 | コンセンサス(ソフトフォーク) | 合意に基づくシーケンス番号を使用した相対ロック時間 | マーク・フリーデンバッハ、BtcDrak、ニコラス・ドリエ、kinoshitajona | 標準 | ファイナル | 69 | アプリケーション | トランザクションの入力と出力の辞書式索引 | クリストフアトラス | 情報提供 | 提案 | 70 | アプリケーション | 支払いプロトコル | ギャビン・アンドレセン、マイク・ハーン | 標準 | ファイナル | 71 | アプリケーション | 支払いプロトコル MIME タイプ | ギャビン・アンドレセン | 標準 | ファイナル | 72 | アプリケーション | ビットコイン: 支払いプロトコルの URI 拡張 | ギャビン・アンドレセン | 標準 | ファイナル | 73 | アプリケーション | 支払いリクエストURLでの応答タイプのネゴシエーションに「Accept」ヘッダーを使用する | スティーブン・ペア | 標準 | ファイナル | 74 | アプリケーション | 支払いプロトコルでゼロ値の OP_RETURN を許可する | トビー・パディーヤ | 標準 | 下書き | 75 | アプリケーション | 支払いプロトコル暗号化を使用した帯域外アドレス交換 | ジャスティン・ニュートン、マット・デイビッド、アーロン・ヴォワシン、ジェームズ・マクワイト | 標準 | 下書き | 80 | | 非色付き投票プールの階層構造 決定論的マルチシグウォレット | ジャストゥス・ランヴィエ、ジミー・ソング | 情報提供 | 延期 | 81 | | カラー投票プールの階層構造 決定論的マルチシグウォレット | ジャストゥス・ランヴィエ、ジミー・ソング | 情報提供 | 延期 | 83 | アプリケーション | 動的階層決定論的キーツリー | エリック・ロンブロゾ | 標準 | 下書き | 90 | コンセンサス(ハードフォーク) | 埋もれた配備 | スハス・ダフトゥアル | 情報提供 | 下書き | 99 | | コンセンサスルール変更の動機と展開([ソフト/ハード]フォーク) | ホルヘ・ティモン | 情報提供 | 下書き | 101 | コンセンサス(ハードフォーク) | 最大ブロックサイズを増やす | ギャビン・アンドレセン | 標準 | 撤回 | 102 | コンセンサス(ハードフォーク) | ブロックサイズが2MBに増加 | ジェフ・ガージック | 標準 | 下書き | 103 | コンセンサス(ハードフォーク) | 技術の進歩に伴うブロックサイズ | ピーター・ウイール | 標準 | 下書き | 104 | コンセンサス(ハードフォーク) | 「Block75」 – 難易度のような最大ブロックサイズ | t.カーン | 標準 | 下書き | 105 | コンセンサス(ハードフォーク) | コンセンサスベースのブロックサイズ再ターゲットアルゴリズム | BtcDrak | 標準 | 下書き | 106 | コンセンサス(ハードフォーク) | 動的に制御されるビットコインブロックサイズの最大上限 | ウパル・チャクラボルティ | 標準 | 下書き | 107 | コンセンサス(ハードフォーク) | ブロックサイズの動的制限 | ワシントン・Y・サンチェス | 標準 | 下書き | 109 | コンセンサス(ハードフォーク) | sigop と sighash の制限による 200 万バイトのサイズ制限 | ギャビン・アンドレセン | 標準 | 拒否 | 111 | ピアサービス | NODE_BLOOM サービスビット | マット・コラロ、ピーター・トッド | 標準 | 提案 | 112 | コンセンサス(ソフトフォーク) | チェックシーケンス検証 | BtcDrak、マーク・フリーデンバッハ、エリック・ロンブロゾ | 標準 | ファイナル | 113 | コンセンサス(ソフトフォーク) | ロックタイム計算のエンドポイントとしての過去時間の中央値 | トーマス・ケリン、マーク・フリーデンバッハ | 標準 | ファイナル | 114 | コンセンサス(ソフトフォーク) | メルケル化された抽象構文木 | ジョンソン・ラウ | 標準 | 下書き | 120 | アプリケーション | 支払い証明 | カレ・ローゼンバウム | 標準 | 下書き | 121 | アプリケーション | 支払い証明 URI スキーム | カレ・ローゼンバウム | 標準 | 下書き | 122 | アプリケーション | ブロックチェーン参照/探索のためのURIスキーム | マルコ・ポンテッロ | 標準 | 下書き | 123 | | BIP分類 | エリック・ロンブロゾ | プロセス | アクティブ | 124 | アプリケーション | 階層的決定論的スクリプトテンプレート | エリック・ロンブロゾ、ウィリアム・スワンソン | 情報提供 | 下書き | 125 | アプリケーション | オプトインの完全な手数料による交換シグナリング | デビッド・A・ハーディング、ピーター・トッド | 標準 | 提案 | 126 | | 異種入力スクリプト トランザクションのベスト プラクティス | クリストフアトラス | 情報提供 | 下書き | 130 | ピアサービス | 送信ヘッダーメッセージ | スハス・ダフトゥアル | 標準 | 提案 | 131 | コンセンサス(ハードフォーク) | 「Coalescing Transaction」仕様(ワイルドカード入力) | クリス・プリースト | 標準 | 下書き | 132 | | 委員会ベースのBIP承認プロセス | アンディ・チェイス | プロセス | 撤回 | 133 | ピアサービス | 料金フィルターメッセージ | アレックス・モルコス | 標準 | 下書き | 134 | コンセンサス(ハードフォーク) | 柔軟な取引 | トム・ザンダー | 標準 | 下書き | 140 | コンセンサス(ソフトフォーク) | 正規化されたTXID | クリスチャン・デッカー | 標準 | 下書き | 141 | コンセンサス(ソフトフォーク) | 分離された証人(コンセンサス層) | エリック・ロンブロゾ、ジョンソン・ラウ、ピーター・ウイール | 標準 | 下書き | 142 | アプリケーション | 分離証人の住所形式 | ジョンソン・ラウ | 標準 | 延期 | 143 | コンセンサス(ソフトフォーク) | バージョン 0 証人プログラムのトランザクション署名検証 | ジョンソン・ラウ、ピーター・ウイール | 標準 | 下書き | 144 | ピアサービス | 隔離された証人(ピアサービス) | エリック・ロンブロゾ、ピーター・ウイール | 標準 | 下書き | 145 | API/RPC | getblocktemplate Segregated Witness の更新 | ルーク・ダッシュジュニア | 標準 | 下書き | 146 | コンセンサス(ソフトフォーク) | 署名エンコーディングの柔軟性への対処 | ジョンソン・ラウ、ピーター・ウイール | 標準 | 下書き | 147 | コンセンサス(ソフトフォーク) | ダミースタック要素の柔軟性への対処 | ジョンソン・ラウ | 標準 | 下書き | 148 | コンセンサス(ソフトフォーク) | Segwit導入の強制有効化 | 少林フライ | 標準 | 下書き | 150 | ピアサービス | ピア認証 | ジョナス・シュネリ | 標準 | 下書き | 151 | ピアサービス | ピアツーピア通信の暗号化 | ジョナス・シュネリ | 標準 | 下書き | 152 | ピアサービス | コンパクトブロックリレー | マット・コラロ | 標準 | 下書き | 171 | アプリケーション | 通貨/為替レート情報API | ルーク・ダッシュジュニア | 標準 | 下書き | 180 | ピアサービス | ブロックサイズ/重量の不正防止 | ルーク・ダッシュジュニア | 標準 | 下書き | 199 | アプリケーション | ハッシュ化されたタイムロック契約トランザクション | ショーン・ボウ、ダイラ・ホップウッド | 標準 | 下書き |
興味深いことに、すべての BIP の中で、拒否状態にあるのは Gavin Andresen が提案した BIP109 だけです。 この時点で、読者は BIP についてある程度理解しているはずです。 BIP を合理的に扱う必要があります。 Active 状態になった場合にのみ、Core によって受け入れられたとみなされます。 (この記事は純粋に科学普及のためのものであり、私の個人的な意見を表明するものではありません) |