Building a payment network on top of the bitcoin base chain that has the potential to scale and route millions of payments in a private and decentralised manner is no easy feat. The Lightning Network has made considerable ground as a micro-payment service. Still, if it’s going to scale and meet the growing demand for payments, even with a lack of liquidity, it needs to become a more dynamic system.
Bitcoin is a savings technology, and most people are keen on holding their funds in cold storage, where Lightning requires you to keep your funds hot to use it; that means you’re putting funds at risk, and very few people want to risk large amounts of bitcoin. The Lightning network will attract more capital if the reward to do so is there; with time, as it proves stable and more reliable, more bitcoin holders will be confident enough to use it regularly.
Limitations of Lightning channels
When you create a Lightning channel, you lock funds from the base chain into a digital contract that allows you to spend those satoshis on Lightning. When you spend satoshis or receive them on Lightning, you’re routing them either through your channel if you have a direct channel or through multiple channels if you don’t have a direct channel.
Think of channels like money tubes; they can all accommodate different size payments; if the tubes available aren’t large enough, the payments will fail. When routing a payment, you may run into issues with liquidity in channels, and to solve this, a concept called multi-path payments comes into play.
These multi-path payments provide the ability for the Lightning network to split up payments between available channels and re-assemble them in the receiver’s wallet.
When referring to multipath payment (MPP) as part of the Lightning network, this is used as a general term, as there is no real standard yet. The concept of MPP is not fully implemented on the Lightning Network. Still, there do exist different proposals and implementations of this concept across the different Lightning implementations, including Basic MPP and Atomic Multipath Payments (AMP).
These different versions attempt to solve several security and reliability issues with the basic concept of multipath payments, and each has its trade-offs.
What are Atomic Multipath Payments?
Atomic Multipath Payments (AMPs), sometimes called Original AMP or OG AMP, would allow a spender to pay multiple hashes derived from the same preimage—a preimage the receiver can only reconstruct if they receive a sufficient number of shares.
Unlike Simplified Multipath Payments (SMP), this only allows the receiver to accept payment if they receive all of the individual parts. Each share using a different hash adds privacy by preventing the separate payments from being automatically correlated with each other by a third party.
The proposal’s downside is that the spender selects all the preimages, so knowledge of the preimage doesn’t provide cryptographic proof that they paid the receiver.
Both AMP and SMP allow splitting higher value HTLCs into multiple lower value HTLCs that are more likely to succeed individually, 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.
How AMP payments work
In a simple example, consider making a large payment on the Lightning network that may fail as very few people have a channel the size of a full bitcoin, and very few ever will in the future as coins are dispersed. If you could only send bitcoin via channels of that size, it would start to centralise Lightning with custodians, defeating the purpose of decentralisation.
In the example below, Alice has one bitcoin locked in Lightning and needs to pay Bob 1 bitcoin, but they do not have a direct channel, so she has to route the payment through multiple channels.
Alice opens a channel with Bob.
Bob sends a 1 BTC invoice to Alice.
Alice pays 0.5 BTC to Bob by splitting the payment
- 0.5 BTC goes through channel 1
- 0.5 BTC goes through channel 2
Bob receives and combines the two payments to claim his full amount in bitcoin BTC
If there were no 0.5 BTC channels available, in theory, Alice’s wallet could then look for four channels with 0.25 BTC and route four payments across four channels to Bob’s wallet.
What are the benefits of AMP?
There are multiple benefits of Atomic Multi-Path Payments of the lightning network. Some of these are:
- It enhances privacy as more significant payments look like the smaller ones, and in the background, only the sender & receiver knows how they are sending/receiving the payment through AMP.
- This also allows you to use the existing lightning wallets without making any significant changes to them.
- If any of the small payment routes fail, the whole payment fails, and this is how the atomicity comes in to prevent scenarios like partial payments.
- It reduces the chances of failed payments and improves the user experience of Lightning.
- It allows for larger transactions to be conducted on Lightning and takes even more strain on the base layer, driving down the cost of block space in theory.
- It improves the ability for routing nodes to earn income as they are routing more payments to clip fees on
- It improves the decentralisation of the lightning network as smaller channels now have a better chance of routing payments and providing valuable connections between wallets.
- AMPs also enhance the user experience as it allows you to send most of your money in your wallet to the other receivers. While in the absence of AMP, the user will always have a capped base limit on how much they can send despite having more money in the wallet, which can be a wired experience for the user. Consider having 100 satoshis in the account, but you can only send 20 satoshis because the payment channels don’t support 100 satoshis!
If you’d like to learn more about AMP and how it can be implemented on Lightning, and what it means for users and lightning-enabled apps, then we recommend you check out the following resources as part of your research.
Are you a bitcoin and lightning fan?
Have you been using Lightning to make micro-payments? Stream sats or engage with apps? Which app is your favourite? Have you tried all the forms of Lightning payments? Which one do you prefer? Let us know in the comments down below.