[BIP Proposal] Limit ScriptPubkey Size >= 520 Bytes Consensus.

Posted by Greg Tonoski

Oct 8, 2025/15:03 UTC

The correspondence delves into proposals aimed at refining consensus mechanisms within the Bitcoin protocol, focusing on specific technical adjustments to enhance security and maintain compatibility with older software. One key suggestion involves capping the maximum size of the scriptPubKey in a transaction at 67 bytes. This limit is intended to support Pay-to-PubKey (P2PK) transactions without adversely affecting the functionality of legacy systems or introducing unforeseen complications that could arise from larger sizes. The rationale behind this proposition emphasizes the importance of preserving the operability of older, potentially deprecated software which might not handle changes gracefully, alongside mitigating risks associated with edge cases.

Another aspect of the proposals addresses limitations on the size of script data pushes, proposing a maximum of 73 bytes. This constraint is similarly rooted in the desire to maintain support for P2PK inputs, factoring in the signature and its encoding overhead, as well as Pay-to-PubKeyHash (P2PKH) transactions. An exception is noted for BIP16 redeem scripts, which are allowed to embed multiple public keys for multisignature setups, reflecting an accommodation for more complex transaction types within the specified size limits.

Further, the communication outlines a move to eliminate certain script patterns, specifically mentioning the prohibition of "OP_FALSE OP_IF" due to security vulnerabilities identified as CVE-2023-50428. Additionally, it advocates for the discontinuation of P2SPAM, a practice associated with repurposing the mnemonic OP_RETURN for spam-like transactions, referencing a specific commit in the Bitcoin Knots repository as the standardization point for this undesired usage.

Lastly, the discussion suggests considering a consensus-level restriction on the maximum size of the Witness field, citing a policy limit of 3600 bytes, alongside setting boundaries on both the maximum size (80 bytes) and count (100 items) of elements within the Witness field. These proposed measures aim to further refine the transaction validation process, ensuring that it remains robust against potential abuses while accommodating existing transaction forms.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiDecoding BitcoinWarnet
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project.

Give Feedback