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 timestamp는 그 기간 첫 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 뒤 invalid가 된다. 같은 64 byte를 Merkle tree 내부 node의 두 hash로 해석할 수도 있어 안전한 단순 proof를 복잡하게 만든다. [1]
Coinbase는 nLockTime이 block height 빼기 1이어야 하고 nSequence는 0xffffffff와 달라야 한다. 미래의 모든 coinbase가 과거 예외와 구별되므로 activation 뒤 가장 가까운 위험 height 1 983 702 이전에 BIP 30 검사를 영구히 생략할 수 있다. [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를 적용할 계획이지만 자체 status도 아직 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의 유일성을 강제한다.