Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add bip-internalkey #1534

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

reardencode
Copy link

OP_INTERNALKEY is a new BIP342 tapscript only opcode (upgraded using OP_SUCCESS semantics) that takes bytes 1-32 (0-index, inclusive) from the BIP341 taproot control block and places them on the stack. This BIP describes that behavior.


When building taproot outputs, especially those secured by an aggregate key
representing more than 1 signer; the parties may wish to collaborate on signing
with the taproot internal key, but only with additional script restrictions. In
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you give an example where using the key path with an aggregate key and having every participant enforce the additional restrictions themselves (i.e. only signing if they're met) wouldn't suffice?

Copy link
Author

Choose a reason for hiding this comment

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

The most obvious case would be lightning symmetry where the parties want to pre-sign with CTV+CSFS to create a rebindable update transaction.

bip-internalkey.mediawiki Outdated Show resolved Hide resolved
@reardencode reardencode force-pushed the internalkey branch 2 times, most recently from c9842c4 to 729276c Compare April 24, 2024 21:34
@reardencode
Copy link
Author

Updated to match the BIN.

Copy link
Contributor

@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.

Has this proposal been discussed on the mailing list?

Comment on lines +1 to +9
| BIP-XXXX | `OP_INTERNALKEY`
| :--------- | :---------------
| Layer | Consensus (soft fork)
| Author | Brandon Black `<freedom@reardencode.com>`, Jeremy Rubin `<j@rubin.io>`
| Discussion | https://delvingbitcoin.org/t/lnhance-bips-and-implementation/376/9
| Status | Draft
| Type | Standards Track
| Created | 2023-12-22
| License | BSD-3-Clause
Copy link
Contributor

Choose a reason for hiding this comment

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

Please use the preamble format specified in BIP2.

Instead of "BIP-XXXX" there should be a "BIP" header. The "Title" header is missing, the "Comments-URI" header is missing, and "Discussion" should be "Post-History".

@murchandamus murchandamus added the PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author label May 8, 2024
[BIP 342]), `OP_INTERNALKEY` replaces `OP_SUCCESS203` (0xcb). `OP_INTERNALKEY`
pushes the taproot internal key, as defined in [BIP 341], to the stack.

## Motivation
Copy link

Choose a reason for hiding this comment

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

Additional useful feature: ability to inspect the tweak to a key (in combination with some OP_TWEAKVERIFY).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs number assignment New BIP PR Author action required Needs updates, has unaddressed review comments, or is otherwise waiting for PR author
Projects
None yet
5 participants