Coordinate Routing in the Lightning Network
More Info
expand_more
Abstract
Blockchains such as the Bitcoin facilitate the online transaction between users without an intermediate financial institution and can serve as a global currency. However, at the moment, blockchain solutions are suffering from low transaction throughput and high delays. For instance, the bitcoin network processes at most 7 transactions per second. Blockchain second layer solutions aim to solve this transaction scaling problem with the idea of creating off-chain transactions using payment channels. For a payment channel, the blockchain network is only required to initialize and terminate the channels. Otherwise, they can finalize transactions between pairs of users instantly without using the blockchain network. The Lightning Network is one such payment channel solution that creates an overlay network on top of the blockchain and routes payments across users. Currently, the Lightning network uses source routing to route payments from a source to a destination. However, source routing does not scale to large networks.
In this thesis, we begin by establishing the requirements for routing in the Lightning Network. Next, we analyze generic payment routing algorithms based on the set requirements and understand their limitations. Further, we design a routing algorithm for the Lightning Network that builds upon the key ideas found in the previous work. We, in particular, provide design solutions for computing transaction fees and communicating errors in a privacy-preserving manner. These problems were not addressed in any earlier works. Finally, we implement our algorithm in an active Lightning Network codebase. We evaluate it with regard to security, privacy, and performance requirements and also compare the same with the existing solution.