AppLayer-to-AppLayer Data Bridging

How native chains exchange data on AppLayer.

Bridging arbitrary data from an AppLayer chain (A) to another (B) is simple:

  • Chain A sends a request in the upcoming block and communicates this, along with the block reference, to the Chain Abstraction Network. This request is written to the next block and relayed to AppLayer's Chain Abstraction Network.

  • A set of Validators and Sentinels are randomly selected using RandomGen (which works exactly the same way in all nodes in the network). The selected Validators and Sentinels review Chain A's request and forward it to Chain B.

  • Chain B receives the request from the Chain Abstraction Network and retrieves the data from its chain, encapsulating it within a merkled item. This data and its internal reference are subsequently transmitted back to the Chain Abstraction Network for permanent storage.

  • Validators and Sentinels then check and corroborate the data submitted by Chain B with other nodes from Chain B to validate its presence in the designated block.

  • Once data is verified, Validators and Sentinels sign the data and publish it inside the Chain Abstraction Network, while also relaying it back to A along with their signatures.

  • A verifies the signatures and checks if the randomly selected nodes were using the network's RandomGen seed. If everything matches, the exchange is complete, but if not, there's a malicious node in the network which should be reported.

It is possible for A to only send information to the target chain without having to wait for an answer. This call can possibly trigger logic within the target chain, depending on how their developers decided to handle your message.

Last updated