I would like to share a simple scheme for creating a keysend protocol that allows for multipath payments.
Could someone describe how this differs from Atomic Multi-path Payments (AMP)?
reply
Because a keysend is a one-shot operation, a pure source routed onion message. An AMP is the same, with multiple parallel paths, that doesn't close unless all paths reach the destination.
An invoice can also fail, in the same way, atomically, but then the user can request a new one if it has expired or fails (the sats will get stuck tho), and try again.
Most of the ways of initiating payments in LN as it exists now unmask sender and receiver. And all of them depend on weak synchrony, a minute or two, during which time all nodes in the path must be operational and relay the onion forwards.
The static nature of state channels is quite antithetical to strong anonymity. Just like Bitcoin, LN needs a faster, more spam resistant Tor type overlay for protecting users metadata, keeping their payments private.
reply
Atomic means if it fails it fails completely.
Keysend means the path is entirely constructed by the sender, producing full client side anonymity.
I also was under the understanding that is what AMP actually is. An invoice can be multipath, but a keysend that is multipath is an AMP.
reply
I’m sure there are at least superficial differences but as of a year ago AMP was not proposed as part of the spec
reply
It is in a BOLT but I think only LND has it fully implemented.
reply