With the emergence of countless independent blockchain systems in recent years, cross-chain transactions have attracted considerable attention, and lots of solutions have been put forth by both industry and academia. However, most of existing solutions suffer from either centralization or scalability issues. To mitigate these issues, in this paper, we propose the concept of cross-chain virtual payment channels, which allows two users in different blockchain systems to conduct limitless off-chain transactions with the help of an intermediate node, hence solving the centralization and scalability issues. Furthermore, as the intermediate node is only involved in the channel open and close operations, it further improves the efficiency of cross-chain transactions, and to a certain extent, it even enhances the privacy of the cross-chain transaction. Meanwhile, we also present the first concrete cross-chain virtual payment channel scheme, which only requires one of the blockchain systems supporting the Turing-complete scripting language. The corresponding detailed security analysis in the Universal Composability framework demonstrates that our proposal holds the Consensus on Open, Update, and Close. Finally, we implement and deploy our cross-chain virtual payment channel scheme on the Ethereum and Bitcoin test networks. The extensive experimental results show that our proposal dramatically improves the efficiency of cross-chain transactions, and the advantage becomes more pronounced as the number of transactions increases.
There are three participants in our cross-chain virtual payment channel. We name them Alice, Ingrid, and Bob for the easy description. Alice and Bob have coins/accounts only in blockchain systems $B_1$ and $B_2$, respectively. At the same time, Ingrid shares a payment channel with Alice and Bob in blockchain systems $B_1$ and $B_2$, respectively. Our cross-chain virtual payment channel can allow Alice and Bob to perform limitless transactions off-chain. Unlike payment channels, we have the following four kinds of operations in cross-chain virtual payment channels, namely Open, Update, Close, and Offload.
Since the cross-chain virtual payment channel is essentially a payment channel that has not been published on the blockchain, it must have the security properties of the payment channel, including
As the existing virtual payment channel schemes, cross-chain virtual payment channels should also satisfy the following efficiency goals in terms of communication rounds.
Property Efficiency-Update applies to all kinds of off-chain channels, including payment channels, virtual payment channels, and our proposed cross-chain virtual payment channels. Furthermore, in the optimistic case, all the operations in (cross-chain) virtual payment channel are executed off-chain.
The sourcecode of this project can be found at github.com/Yzyzzzz23/Cross-chain_Virtual_Payment_Channel-Code.