LNP-BP / LNP-BP/LNPBPs

Cover multiple instances of the same pubkey in LNPBP-1 and 2 standards

Open
#111 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

[DBC] documentation
Dominant language
No language data
Stars
202
Forks
39
PR merge metrics
No merged PRs in 30d

Description

After @yojoe note,

> A public key Pi appears multiple times in a scriptPubKey. (Although I don’t know of any example, this seems to be possible, else we wouldn’t have to talk about a list of keys which always needs to be reduced to a set in the fist place).
>
> The question is now, what happens when Pi is selected as Po for tweaking and carrying the commitment? Do ALL occurences of Po have to be replaced in the modified scriptPubKey script afterwards? If not, we have to remember the exact postition of Po in the ETP (extra transaction proof) as well, because the nature of the script cannot be assumed to be commutative, right?
>
> If Po appears multiple times and is replaced everywhere in the script after tweaking, it shouldn’t matter, right? I even wonder if it could break the script if Po wasn’t replaced everywhere and could make the output undspendable?
>
> Anyway, this seems to be a significant detail to mention in the spec, shouldn’t it?

I think we need to tweak all instances of the pubkey - since we collect only unique pubkeys this would work the best. Need to add that part to the spec

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the LNPBP-1 and LNPBP-2 standards and the issue's discussion about repeated public-key instances. Determine how the specification should state treatment of every occurrence of the selected key, then update the relevant standard text so this behavior is explicit.

Written by the indexing model from the issue text.

Assessment

Domain
cryptography, documentation
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.