5

The BOLT #3 Commitment Transaction documentation talks about a payment basepoint, but I can't find it defined in the glossary or anywhere else. It also mentions various other basepoints like a revocation basepoint, delayed payment basepoint, local and remote basepoints and an HTLC basepoint.

What are these basepoints?

1 Answer 1

3

Basepoints are simply public keys from which all other public keys for a certain category (payments, revocation, htlcs, ..) are derived. They are used in order to deterministically generate fresh keys for each new pair of commitment transactions.

See the "Key Derivation" section of BOLT 3 for details as well as for a rationale:

Each commitment transaction uses a unique localpubkey, and a remotepubkey. The HTLC-success and HTLC-timeout transactions use local_delayedpubkey and revocationpubkey. [...]

The reason for key change is so that trustless watching for revoked transactions can be outsourced. Such a watcher should not be able to determine the contents of a commitment transaction — even if the watcher knows which transaction ID to watch for and can make a reasonable guess as to which HTLCs and balances may be included. [...]

For efficiency, keys are generated from a series of per-commitment secrets that are generated from a single seed, which allows the receiver to compactly store them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.