Add ELIP for AMP2 descriptors - #43
Conversation
|
LWK PR with candidate reference impl used to generate test vectors: Blockstream/lwk#173 edit: PR was merged with rebase, grep for |
There was a problem hiding this comment.
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.
Also apply review suggestions.
|
thanks @delta1 , applied both suggestions, renamed file, added mention in readme |
Also: * update test vectors * use correct file name * update references
|
| ====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 fingerprint of the original AMP2 server's master xpub ('''not''' the fingerprint of <code>SERVER_XPUB</code>), <code>server_fingerprint</code> |
There was a problem hiding this comment.
Does this spec line need to change now that we allow non-master xpubs?
There was a problem hiding this comment.
No, the fingerprint should still be from the AMP2 master xpub. This makes the life of the AMP2 signer a little easier as they could use their master fingerprint for preliminary matching.
The AMP2 server can use any derived key, however it should still return the master fingerprint and the derivation path to the xpub shared:
[master_fp]master_xpubOK[master_fp/path]derived_xpubOK[derived_fp]derived_xpubshould not be done
That being said, an AMP2 server could share 3. [derived_fp]derived_xpub and claim that it's the master xpub (and in general is not possible to claim that it's not the master key). If that's ok for who runs the AMP2 server, that would respect the ELIP.
No description provided.