BIP 54 は新しいユーザー向け opcode を追加せず、歴史的な四つの consensus 境界条件を厳格化する。Complete は仕様完成を示し、Bitcoin mainnet での activation を意味しない。
Antoine Poinsot と Matt Corallo は BIP 54 に、timewarp、検証コストが極端に高い block、64 byte transaction に関する Merkle tree の弱点、将来の coinbase transaction 重複リスクという四つの限定的な修正をまとめた。この package は新しいユーザー向け opcode を追加しない。 [1]
各 2016 block 期間の境界で、最初の block の timestamp は直前 block の時刻から 7 200 秒を引いた値以上、最後の block は期間最初の block の時刻以上でなければならない。これにより古典的 timewarp と負の Murch–Zawy 期間を閉じる。 [1]
Coinbase 以外の各 transaction について、scriptSig、scriptPubKey、P2SH redeemScript で数える legacy signature operations を 2 500 以下にする。BIP は通常の standard transaction に影響せず、最悪時の検証時間をおよそ四十分の一にすると説明する。 [1]
Witness data を除く serialization が正確に 64 byte の transaction は activation 後に無効となる。同じ 64 byte を Merkle tree 内部 node の二つの hash と解釈できるため、安全な簡易 proof が複雑になる。 [1]
Coinbase は nLockTime を block height から 1 引いた値にし、nSequence を 0xffffffff 以外にする必要がある。将来の各 coinbase は歴史的例外と区別され、activation 後は最も近い危険 height 1 983 702 より前に BIP 30 check を恒久的に省略できる。 [1]
仕様は 2026 年五月に version 1.0.0 と Complete status に到達した。Changelog は五月 22 日を示す。Bitcoin Core には mainnet activation を含まない reference implementation があり、より互換性の高い block template も既に作るが、それだけで新ルールは有効にならない。 [3]
Testnet 5 向け Draft BIP 95 は block 1 から BIP 54 を適用する計画だが、それ自体がまだ Draft である。Test network、signet、未有効化 code は implementation 検証に役立つが、mainnet consensus の証拠ではない。 [4]
主張を確認するには、現在の BIP version、activation mechanism の状態、node の正確な release を調べる。Complete は文書完成を表すだけで、新ルールの完全な validation は別途 soft fork が activation された場合にのみ始まる。 [2]
理解を深めるには、この項目とあわせて次もお読みください コンセンサスルール, Soft Fork, Timewarp Attack, Proof of Work, Bitcoin Core, トランザクション. 次の項目からも参照されています Timewarp Attack.
01BIP 54 は Bitcoin mainnet で有効か?+
いいえ。仕様は Complete で mainnet activation を含まない implementation も存在するが、consensus 制約には独立した activation process が必要である。
02Consensus Cleanup は何を変更するのか?+
Difficulty 期間境界の timestamp を厳格化し、transaction ごとの legacy sigops を制限し、witness data を除いて正確に 64 byte の transaction を禁止し、将来の coinbase transaction の一意性を強制する。