The Interoperable State Machine Protocol
The Interoperable State Machine Protocol (ISMP) is a lightweight, unopinionated messaging protocol designed to enable the development of cryptographically secure cross-chain applications. It employs the use of consensus and state proofs to authorize cross-chain request execution, providing a level of security equivalent to that of the underlying blockchains it connects.
ISMP is designed to have a very minimal API surface area. Its lightweight design means that ISMP is economically feasible even within expensive environments such as Ethereum. In addition, it offers a familiar and easy-to-understand message-passing mechanism that mimcs the already standardized HTTP protocol.
The core of ISMP lies in its use of Consensus clients. These clients enable the protocol to obtain the finalized, irreversible state of a connected blockchain. Another key component is the State machine client, which allows it to read the outgoing messages stored in the state trie of a connected blockchain. The system also uses a Router to direct messages to their destination modules on a host chain.
For modules that need to send cross-chain requests, they can utilize the Dispatcher to send both POST and GET requests.
Let's explore each individual component in greater detail