## 3 Cross-Chain Processing-Based EOVPC
### Eovc & Eovpc  
In the transaction flow of Fabric, a client proposing a transaction to an endorsement node, which simulates the execution and returns the endorsement result to the client. As shown in Figure 1, the client counts all endorsement results, and if the results are consistent, the simulation is valid, encapsulated into transactions, sent to the ordering node to agree on the transaction order, and encapsulated into blocks. The sorting node sends the encapsulated blocks to the Leader node of each organization in the blockchain. The Leader node simply verifies the block transaction and distributes it to neighboring nodes in the organization. Each node forwards the block to the neighbor node that has not yet obtained the block, so as to achieve the purpose of distributing the block to all nodes in the organization. When each node receives a new block, in addition to verifying the format of each part of the block and chain code rules, the most important thing is to check the read and write conflicts for transactions in the block. Valid transactions will update the world state and various databases, and the chain on the block will save the file system.  
The EOVPC architecture can still handle cross-chain local transactions, and the transaction flow remains unchanged. For cross-chain transactions, the blockchain-oriented SDK receives cross-chain transaction requests from cross-chain scheduling, and the blockchain executes the EOVPC process to complete the cross-chain transaction and collaborative cross-chain transaction processing.  
As shown in Figure 2, first, the cross-chain transaction request is sent to the endorser node on the blockchain for transaction simulation by the SDK of the chain, which is specialized in dealing with cross-chain transactions. The node records the original value of relevant data and records it during the simulation. Since the node identifies the transaction as a special cross-chain transaction, the node starts to construct a cross-chain transaction dependency graph with the cross-chain transaction as the head node. This dependency diagram documents a DAG that starts with a cross-chain transaction and uses cross-chain transaction-related data as dependencies for subsequent transactions. While this cross-chain transaction dependency graph exists, all new transactions on the chain check the dependencies and update the dependency graph dynamically.  
In the ordering phase, the ordering node identifies the cross-chain transaction and immediately terminates and encapsulates the current block. The cross-chain transaction is individually encapsulated into a cross block, which is pulled and distributed by the Leader node and verified.  
Figure 1: EOVC.  
In the pre-commitment phase, the node identifies cross-chain blocks and updates the data accordingly. Finally, cross-chain transaction results are returned to the cross-chain SDK. At this point, the cross-chain transaction is complete.  
In the following, the second phase of cross-chain transaction processing is described. Cross-chain scheduling collects the cross-chain transaction feedback of each chain cross-chain SDK and determines the success or failure of collaborative cross-chain transactions as the result of a collaborative cross-chain consensus. The cross-chain scheduling will send the collaborative cross-chain consensus result to the ordering node, and the ordering node will identify and encapsulate the result message to the confirmation block, which will be transmitted to each node in the chain at the fastest speed.  
Each node on the chain determines the cross-chain transaction result according to the confirmation block received, so as to determine whether to delete the cross-chain transaction dependency graph with the cross-chain transaction as the root node or roll back the related transaction according to the sub-dependency graph. Meanwhile, the cross-chain database updates the cross-chain transaction status according to the cross-chain consensus results.  
At this point, a collaborative cross-chain transaction is completed.