|
Abstract.
The value of cryptocurrencies is highly volatile and investors require
fast and reliable exchange systems. In cross-chain transactions,
multiple parties exchange assets across multiple blockchains which can
be represented as a directed graph G with vertexes V as parties and
edges E as asset transfers. In a simple form, cross-chain transactions
are cross-chain swaps where each edge e transfers an asset that the
head of e already owns. However, in general, a cross-chain transaction
includes a sequence of exchanges at each blockchain. Further,
transactions may have off-chain steps and hence may not be strongly
connected. Given a transaction, protocols are desired that guarantee
the following property called uniformity. If all parties conform to the
protocol, all the assets should be transferred. Further, if any party
deviates from the protocol, the conforming parties should not
experience any loss. Previous work introduced a uniform protocol for
strongly connected cross-chain swaps and showed that no uniform
protocol exists for transactions that are not strongly connected. We
present a uniform protocol for general cross-chain transactions with
sequenced and off-chain steps when a few certain parties are
conforming. Further, we prove a new property called end-to-end that
guarantees that if the source parties pay, the sink parties are paid.
We present a synthesis tool called XChain that given a high-level
description of a cross- transaction can automatically generate smart
contracts in Solidity for all the parties.
|
|