Update on Atomic Swap progress

Chris Dev

October 14, 2019

I wanted to write a quick update on our progress on atomic swaps. Just now, we completed our first atomic swap between MWC's testnet and Bitcoin's testnet. The transactions can be seen here:

BTC redeem:https://blockstream.info/testnet/tx/6c54e20772c025305b2d0b685db1782e073f81d4a5cdf70828e49fe879f781ed

BTC lock: https://blockstream.info/testnet/tx/15c746208121360a102de58defcfa1e5e6876fff551b6a527e6fc0c6dda587f1

MWC redeem: https://explorer.floonet.mwc.mw/#b120545

MWC lock: https://explorer.floonet.mwc.mw/#b120507

This was a proof of concept and there is a lot of work to do to make this functionality usable, but this is a a very important first step towards very powerful functionality that we will be working on in the coming months after mainnet launch.

An atomic swap is a swap of one cryptocurrency for another in a trust-less way that has no counter-party risk. It can be used for improved OTC trading and decentralized exchanges. We intend to incorporate this functionality into both our mwc713 command line wallet and eventually our Qt graphical user interface wallet. This is the first step. Since atomic swaps use multisig transactions, this also demonstrates the ability to do multisig transactions on MWC, which is another important feature and also a building block for payment channels and lightning network or other networks of relayed payment channel payments. As the point of MWC is to demonstrate the power of Mimblewimble, all of these things are very important and on our roadmap of features that we intend to implement.

With atomic swaps in particular, we feel that there's a huge opportunity. While there have been demonstrations of atomic swaps in other cryptocurrencies at least as far back as 2017, they have yet to be implemented in a user friendly way. We hope to work on that problem and feel that we can make a significant contribution there. In particular it is of critical importance given the privacy capabilities of MWC. If users can swap MWC for BTC (and other cryptocurrencies in the future) without going through an exchange, it will dramatically increase the privacy capabilities of the coin. To accomplish this swap, we used the grinswap project and implemented our own swap functionality in the mwc713 wallet. Stay tuned, more to come.