BOLT 3 : remove localpubkey and remote_delayedpubkey references #638
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Right now BOLT 3 is trying to describe the keys derivation from the view point of both nodes, when it should only describe from one side, i.e from a local node building and signing a remote commitment transaction.
In a RevokeAndACK, Bob send his per_commitment_point to Alice, which uses it to derive a set of keys for next commitment transaction:
local_delayedpubkey
to encumber to_local output and HTLC-Success/HTLC-Timeout outputsremote_pubkey
to encumber to_remote outputlocal_htlcpubkey
andremote_htlcpubkey
to encumber offered/received HTLC outputsAt no moment, she need to derive
localpubkey
orremote_delayedpubkey
ones.Yes, when Bob is going to verify the sigs, he is going to do the same derivation and from his viewpoint, he may consider
local_delayedpubkey
isremote_delayedpubkey
andremote_pubkey
aslocalpubkey
but that implementation-dependent and shouldn't be in spec.I had a quick skim, but I think option_simplified_commitment (#513) doesn't address this isssue even it s change derivation scheme.
I think it would be really nice to remove this ambiguity :)