Federico Badaloni, PhD Student, Max Planck Institute for Security and Privacy
The limited scripting capabilities in Bitcoin-like cryptocurrencies have forced implementations of smart contracts as multi-party cryptographic protocols. To streamline this process, the BitML language allows for defining simple smart contracts and automatically translates them into protocols over transactions in the respective currency. However, BitML is limited to contracts operating upon the same cryptocurrency whereas many interesting financial applications involve assets on different blockchains, inducing more complicated cryptographic protocols for enforcing synchronous execution across these systems. In this talk, we introduce BitMLx, an extension of BitML that provides a high-level programming language to implement smart contracts executing synchronously on any two Bitcoin-like cryptocurrencies. We show a compiler from BitMLx to two BitML contracts and discuss how we can guarantee that participants executing the latter contracts end up at least as good as in the corresponding execution of the former BitMLx contract.