🤖 AI Summary
To address the lack of secure and flexible cross-chain smart contract support in UTXO-based cryptocurrencies like Bitcoin, this paper introduces the first domain-specific language (DSL) for cross-chain smart contracts tailored to the UTXO model. The DSL enables multi-party collaborative fund operations across heterogeneous blockchains and establishes the first compilable, formally verifiable cross-chain contract modeling framework. Through rigorous formal modeling and cryptographic security proofs, it guarantees that honest participants executing protocols as specified receive equivalent payoffs. The system comprises: (i) the DSL design, (ii) a multi-chain automatic compiler, (iii) a synchronous execution strategy, and (iv) a lightweight on-chain runtime—fully open-sourced. Experimental evaluation demonstrates feasibility in representative scenarios—including multi-chain donations and cross-asset lending—achieving strong expressiveness while satisfying on-chain deployability constraints.
📝 Abstract
A smart contract is an interactive program that governs funds in the realm of a single cryptocurrency. Yet, the many existing cryptocurrencies have spurred the design of cross-chain applications that require interactions with multiple cryptocurrencies simultaneously. Currently, cross-chain applications are implemented as use-case-specific cryptographic protocols that serve as overlay to synchronize smart contract executions in the different cryptocurrencies. Hence, their design requires substantial expertise, as well as a security analysis in complex cryptographic frameworks. In this work, we present BitMLx, the first domain-specific language for cross-chain smart contracts, enabling interactions with several users that hold funds across multiple Bitcoin-like cryptocurrencies. We contribute a compiler to automatically translate a BitMLx contract into one contract per involved cryptocurrency and a user strategy that synchronizes the execution of these contracts. We prove that an honest user, who follows the prescribed strategy when interacting with the several contracts, ends up with at least as many funds as in the corresponding execution of the BitMLx contract. Last, but not least, we implement the BitMLx compiler and demonstrate its utility in the design of illustrative examples of cross-chain applications such as multi-chain donations or loans across different cryptocurrencies.