  In this paper, we consider the problem of cross-chain payment whereby
customers of different escrows -- implemented by a bank or a blockchain smart
contract -- successfully transfer digital assets without trusting each other.
Prior to this work, cross-chain payment problems did not require this success
or any form of progress. We introduce a new specification formalism called
Asynchronous Networks of Timed Automata (ANTA) to formalise such protocols.
  We present the first cross-chain payment protocol that ensures termination in
a bounded amount of time and works correctly in the presence of clock skew. We
then demonstrate that it is impossible to solve this problem without assuming
synchrony, in the sense that each message is guaranteed to arrive within a
known amount of time. We also offer a protocol that solves an eventually
terminating variant of this cross-chain payment problem without synchrony, and
even in the presence of Byzantine failures.
