MP-HTLC: Enabling blockchain interoperability through a multiparty implementation of the hash time-lock contract

University of Turin, Italy Corresponding Author

Abstract: The idea of hash time-lock contracts (HTLCs) has been around from 2013. Nowadays these contracts power the majority of atomic swaps making decentralized exchange of tokens possible. On the other hand, HTLCs also have some flaws. For example they can only be instantiated between two parties. This is highly inefficient when many participants want to exchange tokens between the same pair of blockchains at the same time, because the number of transactions increases linearly in the number of participants. To solve this problem, in this article, we present MP-HTLC. MP-HTLC lets multiple users exchange tokens on different blockchains in a single instantiation of the protocol without any leader election. We prove that in case of a UTXO-based blockchain the number of transactions remains constant regardless the number of participants. We are able to maintain the security assumptions of HTLCs using multiparty computation in the creation of the secret preimage and threshold signatures to manage transaction signing. We also present an implementation for each of the aspects of the protocol.
If you find this work useful, please consider citing it:

@article{BarbaraS23,
author       = {Fadi Barb{\`{a}}ra and
                Claudio Schifanella},
title        = {{MP-HTLC:} Enabling blockchain interoperability through a multiparty
                implementation of the hash time-lock contract},
journal      = {Concurr. Comput. Pract. Exp.},
volume       = {35},
number       = {9},
year         = {2023},
url          = {https://doi.org/10.1002/cpe.7656},
doi          = {10.1002/CPE.7656},
}

Phases of the protocol
Note: The Account based model needs more steps than the UTXO one. Note that the secret creation step via multiparty computation methods is performedby Initializers only.

MP-HTLC protocol between the Bitcoin and Ethereum

Steps for the MP-HTLC protocol between the Bitcoin and Ethereum blockchains. Note: The Precommit and Commit phases are done in parallel. The Redeeming phase is sequential.