Atomic swap facilitates fair exchange of cryptocurrencies without the need for
a trusted authority. It is regarded as one of the prominent technologies for the
cryptocurrency ecosystem, helping to realize the idea of a decentralized blockchain
introduced by Bitcoin. However, due to the heterogeneity of the cryptocurrency
systems, developing efficient and privacy-preserving atomic swap protocols has proven
challenging. In this thesis, we propose a generic framework for atomic swap, called
PolySwap, that enables fair ex-change of assets between two heterogeneous sets of
blockchains. Our construction 1) does not require a trusted third party, 2) preserves
the anonymity of the swap by preventing transactions from being linked or distinguished,
and 3) does not require any scripting capability in blockchain. To achieve our goal, we
introduce a novel secret sharing signature(SSSig) scheme to remove the necessity of common
interfaces between blockchains in question. These secret sharing signatures allow an
arbitrarily large number of signatures to be bound together such that the release of any
single transaction on one blockchain opens the remaining transactions for the other party,
allowing multi-chain atomic swaps while still being indistinguishable from a standard
signature. We provide construction details of secret sharing signatures for ECDSA, Schnorr,
and CryptoNote-style Ring signatures. Additionally, we provide an alternative contingency
protocol, allowing parties to exchange to and from blockchains that do not support any form
of time-locked escape transactions. A successful execution of PolySwap shows that it takes
8.3 seconds to complete an atomic swap between Bitcoin's Testnet3 and Ethereum's
Rinkeby (excluding confirmation time).