Skip to content

Add ELIP for AMP2 descriptors - #43

Open
LeoComandini wants to merge 1 commit into
ElementsProject:mainfrom
LeoComandini:amp2
Open

Add ELIP for AMP2 descriptors#43
LeoComandini wants to merge 1 commit into
ElementsProject:mainfrom
LeoComandini:amp2

Conversation

@LeoComandini

Copy link
Copy Markdown
Contributor

No description provided.

@LeoComandini

LeoComandini commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

LWK MR with candidate reference impl used to generate test vectors: Blockstream/lwk#173

@delta1 delta1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This looks great to me @LeoComandini.

Let's assign ELIP-153 then I'm happy to ACK. Left some very minor comments.

Verified the test vectors.

Comment thread elip-amp2.mediawiki

====User Xpub====

<code>USER_XPUB</code> is derived from the user master key using <code>USER_PATH</code>, a [https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki BIP44] BIP44 derivation path:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: duplicate "BIP44"

Suggested change
<code>USER_XPUB</code> is derived from the user master key using <code>USER_PATH</code>, a [https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki BIP44] BIP44 derivation path:
<code>USER_XPUB</code> is derived from the user master key using <code>USER_PATH</code>, a [https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki BIP44] derivation path:

Comment thread elip-amp2.mediawiki
====Descriptor Blinding Key====

The descriptor blinding key <code>VIEW</code> is a '''view key''' as specified in [https://github.com/ElementsProject/ELIPs/blob/main/elip-0150.mediawiki ELIP-150], derived as follows:
* Get the server xpub fingerprint, <code>server_fingerprint</code>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A careless reader (like my clanker) might use the fingerprint of SERVER_XPUB here instead of the fingerprint of original, un-derived AMP2 server master xpub.

Maybe a small clarification here, or otherwise add another specifier like SERVER_MASTER_XPUB to differentiate?

Suggested change
* Get the server xpub fingerprint, <code>server_fingerprint</code>
* Get the fingerprint of the original AMP2 server's master xpub ('''not''' the fingerprint of <code>SERVER_XPUB</code>), <code>server_fingerprint</code>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants