Multipath payments
Also covering Multipart payments, Simplified multipath payments, and Base AMP
Simplified Multipath Payments (SMPs), also called Base AMP, are LN payments that are split into two or more parts all sharing the same hash and preimage, and which are sent using a different path for each part.
Although proposed after atomic multipath payments (AMP), simplified multipath payments required fewer changes to the LN protocol to implement and preserved the ability for spenders to receive a cryptographic proof of payment, so they were the first to be deployed on the production network.
The main downside of simplified multipath payments when using HTLCs is that third-parties who see multiple payments all using the same hash can infer that they’re part of a larger true payment.
Both AMP and SMP allow splitting higher value HTLCs into multiple lower value HTLCs that are more likely to individually succeed, so a spender with sufficient liquidity can use almost all of their funds at once no matter how many channels those funds are split across.
Primary code and documentation
Optech newsletter and website mentions
2024
2023
- Dynamic Payment Switching and Splitting (PSS) proposed for improved payment privacy
- LDK #2156 adds support for keysend payments that use simplified multipath payments
- Discussion about using multipath overpayment with recovery to decrease payment latency
2022
2021
- Discussion about the effect of base fees on multipath payment costs
- Electrum 4.1.0 adds support for multipath payments
- New paper analyzes benefit of multipath payments on routing success
2020
- Eclair #1599 improves multipath spending to direct channel counterparties
- LND #4521 improves invoice routing hints for multipath payments
- Zap 0.7.0 Beta adds support for multipath payments
- C-Lightning #3809 adds support for sending of multipath payments
- Eclair 0.4.1 adds support for sending multipath payments
- Eclair #1427 and #1439 add support to Eclair for sending multipath payments
- Lightning Loop adds support for multipath payments
- LND 0.10.0-beta released with support for multipath payments
- LND 0.10 presentation: multipath payments
- Rust-Lightning #441 adds support for simplified multipath payments
- LND #3967 adds support for sending multipath payments
- LND #3970 adds support for multipath payments to its payment lifecycle
- Boomerang: improving latency and throughput with multipath payments
- Eclair 0.3.3 adds support for multipath payments
- LND 0.9.0-beta adds support for receiving multipath payments
- Eclair #1283 allows multipath payments to traverse unannounced channels
2019
- 2019 year-in-review: multipath payments
- Multiple LN implementations add multipath payment support
- Basic multipath payment support added to LN specification
- LND #3499 extends several RPCs to support tracking multipath payments
- Eclair #1153 adds experimental support for multipath payments
- LND #3442 preparatory PR adding features necessary for multipath payments
- LND #3390 separates tracking of HTLCs from invoices as necessary for SMP
2018
See also
Previous Topic:
Minisketch
Next Topic:
Scriptless multisignatures