Improving Routing in the Lightning Network with Trampoline Payments
The Lightning Conference 2019
Bastien Teinturier (ACINQ)
@acinq_co @realtbast
The Lightning Network, a Payment Channels Network
Alice
Bob
You can pay anyone you can find a route to!
Payment Routing Features
Powerful features
But at a cost…
sender
recipient
Does not know its position in the route .i.e
1000 sat
Expiry: 9
1005 sat
Expiry: 18
1008 sat
Expiry: 25
Lightning Payment Triangle of Success ©
Privacy
Route cost optimum
Performance
we’re here!
We really don’t want to be there...
this side looks interesting too...
Let a billion payment channels bloom...
A phone isn’t a server (duh):
What if?
Trampoline Routing
Partial source routing:
Routing between trampoline nodes is deferred to the trampoline nodes themselves.
Powered by variable-length onions (onion nesting FTW).
1
2
A tale of onions
1
2
amount: 1025 sat |
expiry: 600144 |
|
amount: 1000 sat |
expiry: 600000 |
node_id: bob |
amount: 1000 sat |
expiry: 600000 |
amount: 1045 sat |
expiry: 600350 |
|
amount: 1025 sat |
expiry: 600144 |
node_id: t2 |
amount: 1045 sat |
expiry: 600350 |
channel_id: 42 |
|
42
amount: 1025 sat |
expiry: 600144 |
node_id: t2 |
amount: 1000 sat |
expiry: 600000 |
node_id: bob |
bob
alice
AMP 💙 Trampoline
0.5 BTC
0.4 BTC
0.1 BTC
0.1 BTC
0.25 BTC
0.1 BTC
0.1 BTC
0.1 BTC
0.15 BTC
0.15 BTC
#reckless
To Infinity and Beyond
Incremental change to payment infrastructure.
Easy to rollout.
Coming to eclair soon.
Incremental step towards hierarchical systems.
Feedback wanted!�https://github.com/lightningnetwork/lightning-rfc/pull/654�https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002100.html
Questions?
https://github.com/acinq/eclair - @acinq_co - @realtbast