[Proposal] Payment Route Reservation



Summary:

The Lightning Network proposes a new payment routing method called Payment Route Reservation, which splits the payment process into two steps. The routing node reserves a specified amount of satoshis with a timeout and if the reservation is not canceled, those satoshis can be used in the next payment step. Each reservation has a timeout and can be canceled manually by any upstream node. This proposal offers several benefits, including higher reliability, lower latency and fees, increased privacy, and a healthier, more decentralized network.In case the routing node cannot add a new reservation due to insufficient balance, it can try finding another route to reserve the missing amount for the next downstream node. This is known as Route Split Reservation, where a new route shares the same payment hash as the main route, and the cumulative cltv_delta is maximum between A->B and A->C->B route. To prevent infinite reservation recursion calls, the route split node will pass a tuple (max_fees, max_cltv_delta) that he will accept from the new route.The Trampoline Routing method currently used by the Lightning Network does not provide the sender with information about fees or payment duration. To address this issue, the Lightning Network has introduced Trampoline Route Split Reservation, which allows senders to split payments into smaller parts and create multiple reservation routes. By splitting a payment into N parts and creating 2*N reservation routes, a sender only needs to wait for N routes to return successful reservations before initiating payment. This creates market competition for faster and cheaper routes.The capacity of nodes should not be used as a heuristic in Lightning Network (LN) routing algorithms, as it can be misleading. Instead, nodes should publish their cumulative outbound liquidity over all channels, which would signal where liquidity is needed and where there is too much. Routing decisions could then be made based on node-reported balance, hop count, and randomness. For privacy currencies like Monero, publishing channel capacity is not necessary, and only hop counts and randomness would be used for routing decisions.Fast spam prevention on the network involves throttling reservations from channels that produce a lot of reservation errors per minute. If spam continues, the node operator can inform the neighbor node operator to investigate, and the channel can be closed if the problem persists. To prevent an attacker from creating a circular route, prepayments can be demanded, with fees adjusted on the fly. The first node in the route can steal the prepayment if it is less than or equal to the fees the node will earn routing the payment.With route split reservations, splicing-in and partially splice-out operations are no longer necessary to increase channel capacity. Instead, N smaller channels between two nodes can be seen as one big channel by reserving a route through all N channels during reservation. Closing one channel becomes a splice-out operation. Finally, the Lightning Network acknowledges that payments may still fail due to reservation timeout, node unavailability, or griefing nodes, but Stuckless Payments can help increase reliability to around 99 percent.


Updated on: 2023-06-03T12:11:39.854463+00:00