Atomic Multipath Payments or AMP involves splitting up a single logical payment into multiple parts, then (possibly) sending each part via a different route.
Below are various proposals for AMP:
- OG AMP (Original AMP) - originally created by Olaoluwa Osuntokun and Conner Fromknecht; preimage is generated by payer, and split up in pieces and sent over each sub-payment. Sacrifices proof-of-payment and requires spontaneous payment.
- High AMP - proposed by ZmnSCPxj jxPCSmnZ; uses BIP32 hierarchical deterministic derivation, with the payee-generated payment point as the seed point and each sub-payment paying to a derived child point, revealing the derivation path to the payee. Revealing any of the derived child scalars also reveals the original payment scalar. Requires switching to points and scalars instead of hashes and preimages, which requires either Schnorr, 2p-ECDSA, or a complicated SCRIPT with 3
OP_CODESEPARATORs; compatible with payment decorrelation.
- Base AMP - proposed by Antony Towns; just splits up the payment with the same hash in all sub-payments. Economically, the payee is selling the proof-of-payment for the entire payment; the price of the proof-of-payment is the total payment, so the payee is incentivized to take payments only once all pieces have reached it, and thus is "economically-incentivized atomic" instead of "information-theoretic" or "computationally-intractible" atomic.
Available in lnd since 2020-01-08 in lnd v0.9.0-beta-rc1