1 of 10

Improving Routing in the Lightning Network with Trampoline Payments

The Lightning Conference 2019

Bastien Teinturier (ACINQ)

@acinq_co @realtbast

2 of 10

The Lightning Network, a Payment Channels Network

Alice

Bob

You can pay anyone you can find a route to!

3 of 10

Payment Routing Features

Powerful features

  • Optimal path (source routing)
  • Trustless (HTLCs)
  • Private (onion encryption)

But at a cost…

  • Bandwidth
  • Memory
  • CPU
  • Which impacts mobile UX

sender

recipient

Does not know its position in the route .i.e

  • Does not know who the sender is
  • Does not know who the final recipient is

1000 sat

Expiry: 9

1005 sat

Expiry: 18

1008 sat

Expiry: 25

4 of 10

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...

5 of 10

Let a billion payment channels bloom...

A phone isn’t a server (duh):

  • not always online
  • unreliable connections
  • limited performance
  • handy payment method

What if?

  • sync smaller graph
  • and special nodes
  • trade fees for performance

6 of 10

Trampoline Routing

Partial source routing:

  • select trampoline nodes
  • route to first one

Routing between trampoline nodes is deferred to the trampoline nodes themselves.

Powered by variable-length onions (onion nesting FTW).

1

2

7 of 10

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

8 of 10

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

9 of 10

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/654https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-August/002100.html

10 of 10

Questions?

https://github.com/acinq/eclair - @acinq_co - @realtbast