Blockchain technology has allowed developers to build decentralized applications (dApps) based on smart contracts and other technologies. The needs of dApps, in turn, have led to an explosion in underlying blockchains. Today, the mainstream blockchain ecosystems include Ethereum, Terra, Solana, EOS, Monero, Cosmos, Polkadot, Algorand        , etc. Each ecosystem offers different capabilities to attract developers and users.
One consequence of the success of the differentiated ecosystems, however, is that users want to disperse assets, experience services, and send resources across multiple chains. A user might hold ETH and want to yield farm on a protocol built on the Terra blockchain. Or they might hold Bitcoin, and want to buy an NFT on Solana.
There are currently a number of channels that users can use to navigate these cross-chain transactions, such as centralized exchanges (also called CEX, e.g., Binance), decentralized exchanges (also called DEX, bridge, e.g. anyswap), blockchain networks (e.g. Cosmos, Polkadot), and more recently, interchain interoperability protocols (e.g., LayerZero, Axelar). But none of them are the kind of blockchain infrastructure necessary to allow developers to build truly secure multi-chain applications.
This paper will describe MEP, an interoperability protocol that acts as an authentication service, verifying messages passed between chains. To highlight MEP’s capabilities, throughout this paper we will use asset transfer as the canonical example. In section 1 we analyze existing solutions and their strengths and weaknesses. In section 2 we explain how MEP addresses the gap between our cross-chain present and our multi-chain future. In section 3 we propose I/O primitives for a multi-chain communication protocol. In section 4 we describe MEP. In section 5 we discuss the system design of MEP. In section 6 we discuss the security mechanisms for MEP. In section 7 we present common multi-chain applications we have built and are building on top of MEP.