Today, payment paths in Bitcoin's Lightning Network are found by searching for shortest paths on the fee graph. We enhance this approach in two dimensions. Firstly, we take into account the probability of a payment actually being possible due to the unknown balance distributions in the channels. Secondly, we use minimum cost flows as a proper generalization of shortest paths to multi-part payments (MPP). In particular we show that under plausible assumptions about the balance distributions we can find the most likely MPP for any given set of senders, recipients and amounts by solving for a (generalized) integer minimum cost flow with a separable and convex cost function. Polynomial time exact algorithms as well as approximations are known for this optimization problem. We present a round-based algorithm of min-cost flow computations for delivering large payment amounts over the Lightning Network. This algorithm works by updating the probability distributions with the information gained from both successful and unsuccessful paths on prior rounds. In all our experiments a single digit number of rounds sufficed to deliver payments of sizes that were close to the total local balance of the sender. Early experiments indicate that our approach increases the size of payments that can be reliably delivered by several orders of magnitude compared to the current state of the art. We observe that finding the cheapest multi-part payments is an NP-hard problem considering the current fee structure and propose dropping the base fee to make it a linear min-cost flow problem. Finally, we discuss possibilities for maximizing the probability while at the same time minimizing the fees of a flow. While this turns out to be a hard problem in general as well - even in the single path case - it appears to be surprisingly tractable in practice.
翻译:今天,Bitcoin的闪电网络的支付路径是通过在收费图上寻找最短路径找到最短路径而找到的。 我们从两个方面加强这个方法。 首先, 我们考虑到由于频道间分布不明而实际可能实现支付的可能性。 第二, 我们使用最低成本流作为向多部分付款(MPP)提供最短路径的适当概括。 特别是我们显示, 在关于任何一组发件人、 收件人和数额的平衡分布的可信假设下, 我们能找到最可能的 MPP 。 我们通过解决一个( 通用的) 最小成本流, 具有一个分离和 convex 成本功能。 我们考虑到由于这个优化问题而知道多时间精确的算法和近似近的近似。 我们用一个基于小成本的算法来计算多部分付款额。 这个算法用前几轮中成功和不成功路径获得的信息来更新概率分布。 在所有实验中, 单几轮数的数足以提供接近发件人总平衡的( ) 。 早期实验中, 将时间精确的算算算法和近似接近于这个优化的直流流数 。 我们用一个直流的路径来计算出一个直流的递化的路径, 递算法, 我们用一个稳定的递增的递增的递增的递增的递增的递增的顺序, 质的递算算法, 以最后的递算的递增的递算的递增的递增的递增的顺序 。