  An increasing number of industries rely on Internet-of-Things devices to
track physical resources. Blockchain technology provides primitives to
represent these resources as digital assets on a secure distributed ledger. Due
to the proliferation of blockchain-based assets, there is an increasing need
for a generic mechanism to trade assets between isolated platforms. To date,
there is no such mechanism without reliance on a trusted third party.
  In this work, we address this shortcoming and present XChange. Unlike
existing approaches for decentralized asset trading, we decouple trade
management and the actual exchange of assets. XChange mediates trade of any
digital asset between isolated blockchain platforms while limiting the fraud
conducted by adversarial parties. We first describe a generic, five-phase
trading protocol that establishes and executes trade between individuals. This
protocol accounts full trade specifications on a separate blockchain. We then
devise a lightweight system architecture, composed of all required components
for a generic asset marketplace.
  We implement XChange and conduct real-world experimentation. We leverage an
existing, lightweight blockchain, TrustChain, to account all orders and full
trade specifications. By deploying XChange on multiple low-resource devices, we
show that a full trade completes within half a second. To quantify the
scalability of our mechanism, we conduct further experiments on our compute
cluster. We conclude that the throughput of XChange, in terms of trades per
second, scales linearly with the system load. Furthermore, we find that XChange
exhibits superior throughput and order fulfil latency compared to related
decentralized exchanges, BitShares and Waves.
