MPC+: Secure, Compatible and Efficient Off-Blockchain Multi-Node Payment Channel

Longxia Huang,Hao Lei,Liangmin Wang
DOI: https://doi.org/10.1109/tnsm.2024.3379475
2024-01-01
IEEE Transactions on Network and Service Management
Abstract:Payment channels (PC) greatly improve blockchain scalability by allowing an unlimited number of off-chain transactions instead of committing every transaction to the blockchain. However, the payment channel structure is limited to only two nodes, which is inadequate in scenarios where one node frequently receives money from multiple nodes, such as Cafe. Recent proposals have extended the 2-node structure to a multi-node structure. Unfortunately, these approaches either require all participants to always be online, which is not realistic, or underestimate the efficiency problem of withdrawing funds, leading to higher fees and storage costs. What’s worse, the payment scope in these proposals is limited to their respective structures and is not mutually compatible. In this paper, we propose MPC+, a smart contract that enables multiple nodes to engage in off-chain transactions. MPC+ is designed to cater to scenarios where one node frequently receives money from multiple nodes, such as Cafe, shops, and more. The nodes in MPC+ can conduct off-chain transactions internally or with nodes in existing payment channel networks externally, and they only need to be online during off-chain transactions. Furthermore, MPC+ enhances the withdrawal logic through a binding strategy, effectively reducing the number of on-chain transactions required for fund withdrawals from O(n) to O(1), and it works over any blockchain system that supports Turing-complete smart contracts. The security is formally proven under the Universal Composability framework, and it is specifically implemented on the Ethereum platform. The experimental results clearly demonstrate that MPC+ surpasses other designs in terms of fees and storage costs.
computer science, information systems
What problem does this paper attempt to address?