Data transfer flow
Last updated
Last updated
A scheme describing the data transfer workflow is shown below:
Step 1. A cross-chain transaction is composed. A cross-chain transaction must be composed according to a certain structure.
Step 2. A cross-chain transaction is sent to a Bridge smart contract. Once a cross-chain transaction is created, it is sent to the Bridge smart contract located in the source network.
Step 3. The Bridge smart contract emits an event containing cross-chain call data. The event with the cross-chain call data is written to a source network block.
Step 4. Creation of an event block by the Eywa Oracle Network. Members of the current Eywa Oracle Network epoch pull from the source block of the network the events emitted by the Bridge smart contact. The events are then packed into the block in the same order as in the source network block. This block contains, among others, the event we are considering.
Step 5. BLS signature generation for a block. After each node-validator creates a block, the process of collecting the threshold BLS signature is initiated. In this way a consensus of all participants of the network regarding the block content is achieved.
Step 6. Writing a block to the Eywa blockchain. If consensus is obtained (>β from epoch participants), the block is added to the corresponding Eywa blockchain relaychain. A relaychain is a blockchain whose blocks contain cross-chain calls from only one source network.
Step 7. Sending cross-chain call to destination network by Pusher service. The cross-chain call is sent to Blockchain B by the Pusher service. The Pusher service performs several sequential steps:
Parses EYWA blockchain blocks into individual cross-chain calls.
Prepares the cross-chain calls for sending by attaching a cryptographic proof that will be verified on the Bridge smart contract in Blockchain B.
Sends the transaction to the Bridge smart contract in Blockchain B network.
Step 8. Validation of a cross-chain call in a Bridge smart contract on the destination network. The Bridge smart contract verifies the validity of the cryptographic signature of the epoch participants.
Step 9. Sending a cross-chain call to the target smart contract. If the cross-chain call verification in the Bridge smart contract is successful, the cross-chain call is redirected to the target smart contract.