Interoperability ComponentsGiven the generality of Blockchain networks with Turing-complete smart contract languages, we can bridge the Analog network and any other smart contract capable platform. The Analog network leverages onchain clients that act as bridges, allowing for the cross-chain transfer of values.
Figure 1: Interoperability stack
- A DApp A on chain A executes its transaction where each transaction has a unique identifier (ID). It then transmits the request to the Analog Communicator consisting of transaction ID, a global ID that points to a smart contract on chain B, and payload (time data that DApp A wishes to transmit to DApp B).
- The Communicator on chain A generates an Analog packet containing the global ID and payload and sends the packet to the validator.
- The validator on chain A transmits the transaction ID and the global ID to the Analog’s Timegraph API. This step notifies the Analog network that the block header for the current block (specified by transaction ID) needs to be sent to chain B (specified by the global ID).
- The Timegraph API reads the block header from chain A and the proof associated with time data in chain A.
- The Timegraph API confirms that the block corresponding to the current block in chain A has been fully committed on chain A and transmits the header information to chain B. This process will vary depending on each chain but will typically involve waiting for a random amount of time for blocks to receive the confirmations.
- The Analog network processes the transaction using its PoT consensus protocol.
- The Analog network transmits the block hash specified by the block ID to the validator on chain B. The validator then forwards the same packet to the Communicator on chain B.
- The Communicator transmits the received packet consisting of the transaction ID, global ID, and payload to DApp B.