-
Notifications
You must be signed in to change notification settings - Fork 492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add keysend invoice #857
Add keysend invoice #857
Conversation
Shouldn't the BOLTs first support keysend itself? This is the first reference to "Keysend" in the BOLTs. |
@TheBlueMatt yes, probably. Although the basis |
@btcontract According to this comment by roasbeef keysend will be obsoleted by AMP. So since keysend isn't standardized, maybe the plan is to standardize AMP instead? I don't know. |
I'm not sure we'll want to standardize this version of keysend. |
I agree with @TheBlueMatt that In addition, like @t-bast, I was under the impression of the AMP proposal replacing keysend altogether, and it's proposal being close to being finished, so why add features to something we have absolutely no intention of maintaining longer term? The resulting fragmentation would be rather unpleasant. Finally, from a nomenclature point of view it is counterintuitive to have invoices for what is supposed to be invoiceless payments. I consider these to be more of an address book annotation than an invoice, and presenting/serializing it like an invoice is not the way to go (plus adding new prefixes to all supported network is just plain weird...). |
@cdecker not against any of these points except that I believe there is a place for something in between an ordinary invoice and a completely invoice-less payment, especially for private channel only nodes where |
Rather then do something like this that doesn't support payment splitting, I think a better option would be eventually implement the WIP AMP spec (which in our eyes replaces key send as mentioned above): https://github.com/cfromknecht/lightning-rfc/blob/bolt-amp/21-atomic-multi-path-payments.md. We're in the final draft/testing phases, but will open a PR on the spec very soon. It's basically keysend but supports payment splitting and also has a few other features like subscriptions, etc. This is implemented in |
This adds a new type of invoice tailored specifically for keysend payments, it complements keysend scheme outlined at https://github.com/alexbosworth/keysend_protocols#keysend-protocol-2-basic-messages.
The idea is:
lnks
prefix prevents it from being wrongly categorized as usual invoice (and failed since it does not contain a payment hash field which is required for usual invoices).5482373481
onion TLV field contents(32 Byte Predetermined Id for Grouping Messages)
will be a payment secret tag provided by payee beforehand in keysend invoice. This will allow payee wallet to group different incoming payments belonging to the same keysend invoice.