「Understanding Darwinia 1–9」Darwinia LCMP, A Light-Client Based Cross-Chain Messaging Protocol
What is LCMP
LCMP is Darwinia’s Light-client Cross-chain Messaging Protocol (formerly: Darwinia Bridge Messages Protocol). It allows one blockchain to send messages to another blockchain as long as they have established messaging channels with each other.
Darwinia itself is a cross-chain messaging infrastructure. On the protocol layer, Darwinia is not strictly limited to the use of LCMP. It is only one of many supported cross-chain protocols, shown in the figure below:
Cross-chain workflow
LCMP is a light-client-based protocol composed of two layers.
- Truth layer, and
- Message layer
A Truth layer contains the light client, and the message layer is primarily used for sending cross-chain messages. The light-client in a target chain’s truth layer is used to verify messages from the source chain.
As the diagram illustrates, there are four components spanning the source and target chains. The cross-chain message workflow is described below:
A DApp on the App Layer
calls send_message on the Message Layer
to initiate a cross-chain operation. After send_message is executed, the Relayer
forwards the message to the Target Chain, where the Truth Layer
verifies it and executes the tasks carried within. Once complete, the Relayer
forwards a confirmation message back to the source chain. This process includes two cross-chain processes.
General-purpose
LCMP is designed to be a general-purpose protocol which means LCMP knows nothing about the DApps running on it. LCMP made no assumptions about the application layer.
LCMP offers generalized cross-chain capabilities that can extend smart contract functionality beyond the boundaries of today’s single-chain decentralized applications. It empowers developers with the ability to create extensible and composable DApps, designed for the heterogeneous multi-chain future.
Seamless multi-chain functionality using a single smart contract
LCMP allows developers to select the best blockchain features for their DApps, regardless of what chain the functionality resides on.
Using Darwina Cross-chain messaging SDK, developers can build multi-chain DApps with few strings of codes, just as easy as building ordinary DApps, picking and choosing the features and functionality they need from any of our supported chains, and integrating them into a single smart contract deployment.
This ability to stitch together multiple smart contracts across numerous chains will redefine the way DApps are developed. With Darwinia SDK, developers can focus on DApp functionality and user experience, while leaving bridging to the experts. This is the beginning of the era of multi-chain DApps.
Trustless cross-chain messaging
Light-client-based cross-chain is a more decentralized cross-chain solution. Users do not have to trust an individual or party to act honestly. They only need to trust the consensus of the two chains and the code of the smart contracts which is open-sourced.
Truth Layer cross-chain mechanisms comparison
There are currently a variety of cross-chain mechanisms, each with its own pros and cons.
Centralized
only supports a single cross-chain function like assets transfer. It’s not a decentralized mechanism. And it's the easiest to implement.
Multisig or Collateral based MPC
is the best extensible mechanism. It can connect different blockchains easily with less effort. But its decentralization and generality are not good.
Oracle based
is a well-balanced mechanism. But you need to trust the oracle provider.
Atomic swap only suits the token swap. So, it’s not a general solution.
Shard/Parachain
mechanism works under one consensus. The shards or parachains share the security of the consensus of the blockchain. So, if the consensus is decentralized, the mechanism is decentralized. It’s not easy to implement because It relays on the blockchain architecture. And it’s not allowed to connect to other blockchains.
Rollup
mechanism is similar to Shard/Parachain
.
Light-client-based
is also a well-balanced mechanism. It’s more decentralized than the Oracle-based mechanism. But it is less extensible than the Oracle-based mechanism because blockchains without smart contracts would be difficult to support such mechanisms without modifying the code.
About Darwinia Network
Github | Website | Medium | Twitter | Telegram
Darwinia is a cross-chain messaging infrastructure, which will provide a reliable and programmable cross-chain platform for decentralized applications. Darwinia will provide developers with an SDK, and developers can easily integrate cross-chain capabilities into their DApps.
Darwinia Network has gained a high reputation and recognition along the way to building the universal cross-chain messaging infrastructure. Darwinia was written in Polkadot light paper as one of the friends of Polkadot and Substrate. And Darwinia was selected to join Substrate Builder Program and Web3.0 Bootcamp, and for the outstanding work in Substrate Builder Program, Darwinia Network was officially awarded the Level 2 badge by Parity. The products and tools developed by Darwinia have been rewarded with three W3F Grants.