  With the rise of digital currency systems that rely on blockchain to ensure
ledger security, the ability to perform cross-chain transactions is becoming a
crucial interoperability requirement. Such transactions allow not only funds to
be transferred from one blockchain to another (as done in atomic swaps), but
also a blockchain to verify the inclusion of any event on another blockchain.
Cross-chain bridges are protocols that allow on-chain exchange of
cryptocurrencies, on-chain transfer of assets to sidechains, and cross-shard
verification of events in sharded blockchains, many of which rely on Byzantine
fault tolerance (BFT) for scalability. Unfortunately, existing bridge protocols
that can transfer funds from a BFT blockchain incur significant computation
overhead on the destination blockchain, resulting in a high gas cost for smart
contract verification of events. In this paper, we propose Horizon, a
gas-efficient, cross-chain bridge protocol to transfer assets from a BFT
blockchain to another blockchain (e.g., Ethereum) that supports basic smart
contract execution.
