anyCall Design and Strengths
A Generic Cross-Chain Message Protocol
The last article (Cross-chain Dapps — The Next Leap in the Multi-chain Era) explored the evolution of Dapps into a multi-chain era, where they share business logic across blockchains through arbitrary cross-chain messaging. We discussed what fundamentals such Dapps would build upon and how anyCall — our infrastructure for generic cross-chain messaging would paint such a picture.
This article will introduce the logic and design of anyCall that helps Dapps with generic cross-chain messaging. We’ll talk about the architectural innovations of anyCall that help Dapps establish generic cross-chain communication.
Without further delay, let’s dive into the technicals of anyCall — anyCall logic and design
When we attempt to connect two arbitrary blockchains, they may or may not work on the same virtual machine or consensus model, which may or may not form a similar contract execution environment.
To achieve an arbitrary cross-chain exchange of information between two Dapps, we would first require an infrastructure that could send packets of information from the source chain and receive them at the destination chain. Then, we need a function that can unpack the information from the source chain contract standards into destination chain readable information (data, state, contract, or event).
Finally, Dapps on separate chains plug into this infrastructure via APIs and begin cross-chain communication. anyCall is one such infrastructure, let’s unpack its design architecture
anyCall is a collection of on-chain and off-chain components that work together to perform cross-chain messaging, the components are described as follows –
anyCall is made up of the following on-chain components — anyCall and anyExec smart contracts and, a trigger API.
The anyCall contract resides on the source chain, it stores the information (instructions, data, event) that is to be executed on the destination chain. The anyExec contract contains instructions that understand source chain contract standards. It makes the information compatible with the destination chain, where the instructions are executed.
The Dapps plug into trigger APIs to access anyCall contract on the source chain and anyExec contract on the target chain.
- Expansion of contents — Cross-chain protocols must be able to process and validate multiple types of messages (not just token transfers), like data and business logic. This quality is essential for generic cross-chain contract calls.
- Cross-chain contract call — The trigger API enables the direct call contracts to other chains with a single transaction from the source chain Dapp.
- Openness and public accessibility — Any Dapp on the supported chains can call the anyCall interface for cross-chain messaging. This is only possible with open-source code that is publicly accessible.
Off-chain trust mechanism
fastMPC is an upgraded version of SMPC that is deployed to transfer information stored in the anyCall contract on the source chain to the anyExec contract on the destination chain. It is a decentralized implementation of Multichain’s MPC structure where MPC nodes are open for public participation. These nodes will operate on a blockchain network, a testnet for which is expected soon.
- Decentralization — A decentralized trust mechanism with public accessibility is essential for a protocol as versatile as anyCall. With fastMPC, the integrity of the consensus mechanism will be openly verifiable.
- Enhanced adaptability and versatility — The ability to process the execution environment of one chain on another reduces Dapp development costs by simplifying cross-chain support and providing a cleaner UX to users.
anyCall brings fundamental changes to Dapp development
With anyCall, Dapp developers can focus on building the business logic, while anyCall takes care of data availability with cross-chain integration. The Multichain team will assist project developers with technical support for its design and development. Furthermore, the MultiDAO will sponsor the development for those who transform the existing representative applications with anyCall or implement it to develop new ones.