Skip to content

OP_CAT to BIP 0003 format, add usecase#2090

Open
EthanHeilman wants to merge 3 commits intobitcoin:masterfrom
EthanHeilman:catupdate
Open

OP_CAT to BIP 0003 format, add usecase#2090
EthanHeilman wants to merge 3 commits intobitcoin:masterfrom
EthanHeilman:catupdate

Conversation

@EthanHeilman
Copy link
Contributor

@EthanHeilman EthanHeilman commented Jan 24, 2026

  • Add two use cases to motivation
  • Add BIP 003 versioning

@EthanHeilman EthanHeilman marked this pull request as draft January 24, 2026 00:40
Copy link
Member

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you have have concluded all planned work on this proposal, have you considered advancing this BIP to Complete?

@EthanHeilman
Copy link
Contributor Author

@murchandamus From a content perspective, I don't plan to add anything else. If @arminsabouri agrees, I see no reason not to mark it as complete.

If at some future point, in response to rough consensus we may create an activation client, I plan to document the activation details in this BIP. Rereading BIP 0003, it doesn't say it explicitly, but it seems like the intention is for this to be done after the BIP is complete as part of preparing the BIP for deployed status. I'm I understanding BIP 0003 correctly here?

Copy link
Contributor

@arminsabouri arminsabouri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack e681ec8

@murchandamus
Copy link
Member

Ethan wrote:

If at some future point, in response to rough consensus we may create an activation client, I plan to document the activation details in this BIP. Rereading BIP 0003, it doesn't say it explicitly, but it seems like the intention is for this to be done after the BIP is complete as part of preparing the BIP for deployed status. I'm I understanding BIP 0003 correctly here?

You’re right, there is so far no explicit guidance regarding when the activation mechanism would be expected or how it should be formatted. Given that any deployment strategy matters only temporarily and doesn’t otherwise impact the content of the Specification, it seems reasonable to me that the activation mechanism may be added after a BIP is moved to Complete.

@EthanHeilman EthanHeilman marked this pull request as ready for review February 2, 2026 20:40

OP_CAT usage in a non-tapscript script will continue to trigger the SCRIPT_ERR_DISABLED_OPCODE. The only change would be to OP_CAT usage in tapscript. This change to tapscript would be activated as a soft fork that redefines an OP_SUCCESSx opcode (OP_SUCCESS126) to OP_CAT.

==Reference implementation==
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you feel that this proposal needs test vectors? If so, they should be added/referenced for it to be moved to Complete.
The Elements implementation does appear to have some that could perhaps be adapted: ElementsProject/elements@9fea017

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point! The reference implementation does have test vectors. I'll update this PR with them when I get a moment

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great thanks!

Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants