Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions bip-0110.mediawiki
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,26 @@ Blocks during a temporary, one-year deployment are checked with these additional
Inputs spending UTXOs that were created before the activation height are exempt from the new rules.
Once the softfork expires, UTXOs of all heights are once again unrestricted.

== Exemptions and Adjusted Limits ==

To preserve key developments like Miniscript, covenants, BitVM, Taproot Assets, quantum-resistant signatures (BIP-360), and L2 anchors (Lightning/Ark), the following exemptions and adjustments are introduced during the temporary period, without compromising anti-arbitrary-data restrictions:

=== Modified Taproot Limits ===
* Control blocks: Maximum 1024 bytes (~512 Merkle leaves), instead of 257 bytes. Enables recursive verification in BitVM and covenants (CTV/CSFS).
* Taproot annexes: Exempt up to 128 bytes if containing metadata for Taproot Assets (tokens/NFTs) or quantum-resistant scripts (P2TSH post-BIP-360).

=== Specific Exemptions ===
* Tapscripts with OP_IF/OP_NOTIF: Allowed up to depth 8 in Taproot leaves for Miniscript policies (e.g., Liana/Nunchuk multisig with timelocks). Excludes non-standard OP_SUCCESS*.
* L2 anchors: Exempt if output scripts < 34 bytes (P2WPKH/P2TR key-path for Lightning/Ark channel openings/closures).
* Witness pushes: Up to 512 bytes for post-quantum signatures or verifiable L2 commits.

=== Conditional Duration ===
* Rules expire automatically after 1 year, with community review signaling enabled via block bit 5 after 6 months.
* Pre-activation UTXOs remain permanently untouched.
* Recommended relay policy: Reject data >83 bytes in OP_RETURN post-expiration.

These changes raise the cost of abuse (Ordinals/inscriptions) while enabling minimal on-chain innovation, requiring testnet validation before mainnet deployment.

==Motivation==

In order to protect Bitcoin's intended function as the Internet's native money, the Bitcoin community has historically treated techniques for embedding arbitrary data into Bitcoin transactions with antagonism.
Expand Down