Cross-platform data migration method and system based on reliable voting

Through a cross-platform data migration method based on reliable voting, the oracle smart contract, dual blockchain network and smart contract reward and punishment mechanism are used to solve the problems of low efficiency, insufficient security and consistency of data migration among blockchain platforms, and efficient and secure data migration and transparent verification are achieved.

CN120277056APending Publication Date: 2025-07-08HUAIYIN INSTITUTE OF TECHNOLOGY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510446665.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-10
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

The existing cross-platform data migration methods have inefficient efficiency, insufficient security, data inconsistency and malicious behavior risks in blockchain technology, especially in the decentralized environment, which is difficult to ensure data reliability and consistency.

Method used

A cross-platform data migration method based on reliable voting is adopted, and the oracle smart contract, a dual-blockchain network, a trusted execution environment TEE and aggregation smart contract are used to ensure the security and consistency of data during the migration process by randomly selecting voters, PBFT consensus mechanism and smart contract reward and punishment mechanism.

Benefits of technology

It improves the efficiency and security of data migration, reduces the risks of single point of failure and malicious behavior, realizes data transparency and reliability, adapts to the heterogeneity of data formats between different blockchain platforms, and has system scalability and high reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120277056A_ABST
    Figure CN120277056A_ABST
Patent Text Reader

Abstract

The invention discloses a cross-platform data migration method based on reliable voting, and the method comprises the steps: enabling a participant to obtain to-be-migrated data through an intelligent contract of an oracle machine, carrying out the grouping of the data, publishing the data to an auxiliary block chain network through a PBFT consensus mechanism, randomly selecting voters from voting candidates through a verifiable random function VRF algorithm, and carrying out the migration of the to-be-migrated data. And the security of the matching and distribution process of the data and the voters is ensured through a trusted execution environment (TEE). And reward and punishment settlement is carried out on the voting result through the intelligent contract, and the participants are stimulated to provide high-quality data verification. In the data migration process, the aggregation smart contract is utilized to ensure the consistency of the data, and it is ensured that the migrated data can be accurately used on a new block chain platform. By introducing various advanced technologies, the invention provides an efficient, transparent and reliable cross-platform data migration scheme, has good expansibility and anti-attack ability, and is suitable for data exchange and verification in the fields of block chain platforms, smart contracts and the like.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cross-platform data migration, and particularly to a cross-platform data migration method and system based on reliable voting, which is applicable to data migration between different platforms in blockchain technology. The present invention can effectively solve the challenges brought by the heterogeneity of data formats between different blockchain platforms, and ensure the reliability, consistency and security of data migration. Background Art

[0002] With the rapid development of blockchain technology, various blockchain platforms have emerged and been widely applied in different fields. These platforms have different characteristics and advantages in terms of data storage, protocols, consensus mechanisms, smart contracts, etc. However, the heterogeneity of data formats and protocols between different blockchain platforms has become a huge challenge in cross-platform data migration. Existing cross-platform data migration methods usually rely on an intermediary or predefined rules for data conversion, which makes the migration process face problems such as low efficiency, insufficient security, and high costs.

[0003] Existing solutions can be mainly divided into two categories: centralized cross-platform data migration methods and decentralized cross-platform data migration methods. The centralized method completes data conversion and migration through a single intermediary. Although it is highly efficient, due to its dependence on a single intermediary, there are risks of single point of failure, data loss or tampering. The decentralized method conducts data verification and migration through multiple independent intermediaries to ensure data security and consistency. However, due to the lack of trust between intermediaries, it may lead to inconsistencies in the verification process and data unavailability.

[0004] Therefore, how to design an efficient, secure and decentralized cross-platform data migration method has become an important issue in blockchain applications. In particular, in terms of ensuring data consistency, improving data verification efficiency and reducing the risk of malicious behavior, existing methods still have deficiencies. Summary of the Invention

[0005] Object of the Invention: The object of the present invention is to provide a cross-platform data migration method and system based on reliable voting, so as to solve the problems of inconsistent data migration, low efficiency, insufficient security, etc. in the prior art.

[0006] Technical Solution: The present invention provides a cross-platform data migration method based on reliable voting, which includes the following steps:

[0007] S1: Invoke the oracle smart contract deployed on the new blockchain platform, write the data to be migrated on the original blockchain platform into the new blockchain platform, and group the data in groups of K data each to obtain multiple groups of data to be verified;

[0008] S2: The migration tool sends a set of K pieces of data to be verified to the voting candidate blockchain network in the form of a transaction. The voting candidate forwards the data to be verified to the nodes in the auxiliary blockchain network and packages it into a block. The nodes in the auxiliary blockchain network record the data on the auxiliary blockchain through the PBFT consensus mechanism;

[0009] S3: In the voting candidate blockchain network, the verifiable random function VRF algorithm is used to randomly select voting candidates to become voters, generate the proof of being selected and send it to the auxiliary blockchain network through a transaction. The auxiliary blockchain network records the list of voters on the chain through the PBFT consensus;

[0010] S4: The auxiliary blockchain network randomly assigns the data to be verified and the selected voters in combination with the random number generated by the trusted execution environment TEE, calls the matching smart contract of the new blockchain platform to record the allocation result on the new blockchain platform, and at the same time records the allocation result on the auxiliary blockchain through the PBFT consensus;

[0011] S5: The selected voters query whether the data to be verified on the original blockchain platform is consistent with the data on the original blockchain platform according to the content of the data to be verified randomly assigned to them and publicized on the auxiliary blockchain, and then call the voting function in the matching smart contract on the new blockchain platform to vote;

[0012] S6: The aggregation smart contract deployed on the new blockchain platform calculates the final result of the vote, that is, judges the authenticity of the data to be verified according to the pledged amount of the voting nodes for the authenticity of the data to be verified, rewards and punishes the voters according to the voting results, rewards the voters who verify correctly, and deducts the pledged amount of the voters who vote incorrectly.

[0013] Further, the specific process of step S1 is as follows: The migration tool calls the oracle smart contract to deploy the matching smart contract, and then calls the matching smart contract to write all the data to be migrated to the new blockchain platform in the form of a transaction. The data is recorded in groups of K, where the oracle smart contract stores the grouped data preliminarily, and the migration tool synchronizes the grouped data to the auxiliary blockchain network to ensure the publicity and integrity of the data.

[0014] Further, the process of recording the data on the auxiliary blockchain by the auxiliary blockchain network through the PBFT consensus mechanism in step S2 includes the following process:

[0015] S2.1: The migration tool sends a set of K pieces of data to be verified to the voting candidate blockchain network in the form of a transaction. If the number of data to be verified is less than K, then all the data to be verified is sent; subsequently, the voting candidate forwards it to the auxiliary blockchain network for processing;

[0016] S2.2: The main node of the auxiliary blockchain network collects the data transactions to be verified and packages them into blocks And send it to the slave node;

[0017] S2.3 All slave nodes in the auxiliary blockchain network reach a consensus on the content of the block through the PBFT consensus algorithm, and the block is appended to the blockchain maintained by the auxiliary blockchain node. On the block Represents blockchain The block numbered t above.

[0018] Furthermore, the specific process of step S3 is as follows:

[0019] S3.1 The voting candidate runs the VRF-based voter random selection algorithm to determine whether it is selected as a voter. If the voting candidate is successfully selected as a voter, a transaction containing a proof of becoming a voter is generated and sent to the nodes in the auxiliary blockchain network;

[0020] S3.2 The main node in the auxiliary blockchain network collects transactions containing the proof that the voting candidate has become a voter and packages the transactions into blocks Block The block is sent to other nodes in the auxiliary blockchain network for verification. All slave nodes in the auxiliary blockchain network reach a consensus on the content of the block through the PBFT consensus algorithm. Appended to the blockchain maintained by the auxiliary blockchain node On the block Represents blockchain The block numbered t above.

[0021] Furthermore, the specific process of step S4 is as follows:

[0022] S4.1: Nodes in the auxiliary blockchain network are based on blocks Data to be verified and blocks in The list of selected voters is randomly assigned to each data to be verified using a TEE-based random matching algorithm for data to be verified and voters. Voters record the results of the allocation in the block In the block It is sent to other nodes in the auxiliary blockchain network for verification, and the block is verified through the PBFT consensus algorithm. The content of the block is agreed upon. The blockchain maintained by the nodes added to the auxiliary blockchain network Up; where D is the upper limit of the pledge amount for each piece of data to be verified, that is, the upper limit D of the cumulative pledge amount for the true and false results of the data to be verified by the voting candidate. The truth of the data to be verified means that the data is consistent before and after data migration, and the falsehood of the data to be verified means that the data is inconsistent before and after data migration. s is the amount pledged by the voter for verifying the data each time. Each piece of data to be verified can be repeatedly assigned to the same voter for verification, and the block represents the blockchain the block numbered t on it;

[0023] S4.2 Assist the node responsible for generating blocks in the blockchain network to call the matching smart contract deployed on the new blockchain platform in the form of a transaction, and record the transaction situation of randomly assigning voters to the data to be verified on the blockchain of the new blockchain platform. The load of the transaction situation includes the situation of K pieces of data to be verified being assigned voters and the block as the basis for allocation.

[0024] Furthermore, in the step S5, the matching smart contract of the new blockchain platform called by the voter performs the following operations:

[0025] The voting candidate w i , according to the allocation result of the data to be verified in the block and the content of the data to be verified in , query the data to be verified on the original blockchain platform and verify whether the data is consistent. For a certain piece of data to be verified p j , the voter w i calls the voting function in the matching smart contract deployed on the new blockchain platform in the form of a transaction to vote. The voting transaction includes the data p j to be verified by the voter and the verification result b of the data, as well as the amount s i,j,b pledged by the voter on the verification result b of this piece of data to be verified, where 1 ≤ i ≤ L, 1 ≤ j ≤ K, L represents the number of nodes in the voting candidate blockchain network, and K represents K pieces of data to be verified.

[0026] Furthermore, in the step S6, the aggregation smart contract rewards and punishes the voters according to the voting results, specifically including:

[0027] Let it be for each voting candidate w i , s i,j,b represents the pledge amount of the voting candidate w i on the data to be verified p j = b, b ∈ {T, F}, T represents that the data is consistent before and after data migration, and F represents that the data is inconsistent before and after data migration; if the voting candidate w i is not selected as a voter, or does not participate in the data to be verified p jFor the verification of s i,j,b = 0. For each data p to be verified j The true result is t j where t j ∈ {T, F}, and the reward provided by the data migration initiator for its verification is R j ;

[0028] At the end of the voting in time period t, for each data p to be verified j The amounts of pledges for true and false results will be obtained by the voters respectively, denoted as S j,T and S j,F respectively. Among them

[0029]

[0030] The aggregated smart contract deployed on the new blockchain platform calculates the final voting result, that is, determines the truth or falsehood of the data to be verified based on the amounts of pledges of the voting nodes for the truth or falsehood of the data to be verified

[0031]

[0032] At the end of the voting in time period t, if the verification result of the voting node is consistent with the final result of the data to be verified, the voting candidate will be added to the winners list. At the end of the voting, the pledges of the voting candidates in the winners list will be returned, and they will receive voting rewards; if the verification result of the voter is inconsistent with the final result of the data to be verified, then the voter will be added to the losers list. At the end of the voting, the pledges of the voters in the losers list will be confiscated, and no voting rewards will be given to them; that is For the voting nodes with pledges on j , the reward R for verifying the data to be verified will be distributed proportionally For the voting candidates with pledges for the opposite result, their pledges will be confiscated by the system as a penalty. The income of the voter node w i after voting on the data to be verified is

[0033]

[0034] Among them, s i,j,F and s i,j,T respectively represent the pledges of the voting candidate w i on the data p to be verified j = F and p j = T

[0035] Further, if the application on the new blockchain platform needs the data of the original blockchain platform to complete transaction verification during operation, it requests the oracle smart contract to obtain the data of the original blockchain platform, and the oracle smart contract returns the data that has been recorded on the new blockchain platform and verified by voting to the blockchain application. When the new blockchain platform node needs to verify the data of the original blockchain platform, if the data has not been verified by voting, it needs to trigger the voting process through the matching smart contract, and finally the aggregation smart contract settles the result; if the data has been verified, the aggregation smart contract in the oracle smart contract returns the recorded result.

[0036] The present invention also discloses a system for a cross-platform data migration method based on reliable voting, including:

[0037] Oracle smart contract module: used for obtaining and storing the data of the original blockchain platform, writing the data to the new blockchain platform, and synchronizing it to the auxiliary blockchain network and the voter blockchain network;

[0038] Dual blockchain network module: includes an auxiliary blockchain network and a voting candidate blockchain network. The auxiliary blockchain network is responsible for collecting and publicizing the data to be verified from the new blockchain platform, the parameter of each time period, the list of voters for the verification of the data to be verified, and the result of randomly assigning voters to the data to be verified; the voting candidate blockchain network is responsible for the selection of voters and the voting on the data to be verified;

[0039] Trusted Execution Environment TEE module: used for generating random numbers for data allocation and ensuring the security of data and voter allocation;

[0040] Aggregation smart contract module: summarizes the voting results and executes rewards and punishments according to the verification results.

[0041] Beneficial effects

[0042] By introducing the Verifiable Random Function (VRF) and the Trusted Execution Environment (TEE), the present invention ensures that the data always maintains consistency and reliability during the cross-platform migration process. The Verifiable Random Function (VRF) ensures that the random selection of voters cannot be manipulated externally, while the TEE guarantees the security and fairness of the matching and verification process of data and voters. Through these technical means, the problem of data inconsistency caused by human intervention or malicious behavior in traditional methods is reduced. The present invention adopts a decentralized cross-platform data migration method, using multiple independent intermediaries for data verification instead of relying on a single intermediary. Through decentralized verification, the risk of single-point failure or data leakage is avoided, further enhancing the security of the entire data migration process.

[0043] The present invention adopts the PBFT consensus mechanism to ensure the integrity and immutability of the data during the publicity process, preventing malicious nodes from forging or tampering with the data.

[0044] The present invention adopts the method of randomly selecting voters and combines with the random numbers generated by the trusted execution environment (TEE), ensuring the fairness of voter selection and data distribution. This method reduces the dependence on certain intermediaries and avoids the centralization trend and associated risks that may occur in traditional reputation-based verification methods.

[0045] The present invention makes the migration of data publicly transparent. By recording data on the blockchain and using smart contracts for verification and reward settlement, it ensures that the data verification process is traceable and auditable for all participants, thereby enhancing the transparency and trust of the entire process.

[0046] The present invention adopts the method of randomly selecting voters and group verification. Compared with traditional decentralized data migration methods, it significantly improves the efficiency of data verification. Through multi-party parallel work, it reduces the waiting time and processing bottlenecks of a single intermediary, thus accelerating the overall process of data migration.

[0047] The aggregation smart contract of the present invention settles rewards and punishments for voting results, further motivating voters to accurately participate in data verification, thereby improving the verification quality and reducing repeated operations and additional costs caused by data verification errors.

[0048] The present invention introduces a reward and punishment mechanism to ensure that only correctly verified data can receive rewards. Through the staking mechanism and punishment for incorrect voting, it reduces the motivation of voters to vote maliciously or tamper with data. This mechanism effectively improves the behavioral credibility of all parties involved in the data migration process and reduces the potential risk of system attacks. The present invention does not rely on a single platform or protocol, but through technologies such as smart contracts and oracles, enables data to be smoothly migrated between different blockchain platforms. Especially when facing heterogeneous platforms, it can effectively solve the problems of data format differences and protocol incompatibilities between different platforms and achieve smooth cross-platform data migration.

[0049] Through a decentralized design, the present invention enables the system to flexibly expand as the number of participating parties increases. As more blockchain platforms join, the reliability and verification capabilities of the data migration process will also be correspondingly enhanced, without relying on a specific intermediary node or a single platform. Therefore, the present invention has high system scalability and can meet the requirements of future blockchain technology development. BRIEF DESCRIPTION OF THE DRAWINGS

[0050] Figure 1 It is a schematic diagram of a new blockchain platform network node obtaining data from the original blockchain platform;

[0051] Figure 2 It is a schematic diagram of the pseudocode of the voter selection algorithm;

[0052] Figure 3 It is a schematic diagram of the pseudo-code of the voter eligibility verification algorithm;

[0053] Figure 4 It is the timing diagram of the PBFT consensus mechanism;

[0054] Figure 5 It is a schematic diagram of the random number generation process when allocating voters for the data to be verified;

[0055] Figure 6 It is the flowchart of voters' voting;

[0056] Figure 7 It is the structure of the block in the auxiliary blockchain network. Detailed implementation manners

[0057] In order to achieve the technical objectives of the cross-platform data migration method and system based on reliable voting of the present invention, the method and system structure designed by the present invention are composed of the following parts:

[0058] 1. Participants: Assume that there are a total of n nodes in all participating nodes, denoted as p_1, p_2,..., p_n. Each node p_i holds a local data set DB_i. The participants in this embodiment are usually various blockchain platforms, each holding the data to be migrated and the verification nodes.

[0059] 2. Oracle smart contract: The oracle smart contract is an interface for data interaction connecting the blockchain and the external world. In this embodiment, the oracle smart contract is mainly used to obtain the data to be migrated and transmit it to the new blockchain platform. The oracle smart contract can ensure the transparency and consistency of the data during the migration process.

[0060] 3. Auxiliary blockchain network: The auxiliary blockchain network is responsible for the publicity of the data to be migrated, the announcement of the voter list, and the recording of the random allocation results of the data to be verified and the voters. This blockchain network ensures the openness and immutability of the data publicity and allocation process by maintaining a multi-chain structure and a consensus mechanism (such as PBFT).

[0061] 4. Voting candidate blockchain network: The voting candidate blockchain network is mainly responsible for randomly selecting voters and voting on the data to be verified.

[0062] 5. Trusted execution environment (TEE): The trusted execution environment is used to generate random numbers and ensure the security of the matching and allocation process of the data and the voters. The TEE environment is guaranteed by hardware to be free from external interference during the data verification and random number generation processes, ensuring the fairness and reliability of the system.

[0063] 6. Server: The server is mainly responsible for receiving data from the auxiliary blockchain network, aggregating and updating the global model. It is also responsible for receiving the voting results and implementing the reward and punishment mechanism.

[0064] The present invention will be further described below with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and should not be used to limit the protection scope of the present invention.

[0065] The implementation steps of the cross-platform data migration method based on reliable voting of the present invention are as follows:

[0066] S1: Deploy the oracle smart contract, and use the migration tool to call the oracle smart contract to deploy the matching smart contract.

[0067] Among them, the oracle smart contract consists of the following parts:

[0068] Matching smart contract: Responsible for recording the list of data to be verified and the situation of each data assigned voters, and providing data verification and voting functions for voters.

[0069] Aggregation smart contract: Responsible for judging whether the data remains consistent before and after migration according to the voting situation of the data verification results. It judges through the voting results of the voters. If the majority of voters think the data is consistent, the aggregation smart contract judges that the data is consistent; otherwise, it is judged as inconsistent. After the judgment is completed, the aggregation smart contract rewards and punishes the voters according to the final judgment result.

[0070] Voter: Here refers to an entity that can access the data of the original blockchain platform and can call the smart contract deployed on the new blockchain platform.

[0071] S2: Call the matching smart contract and write the data to be migrated into the new blockchain platform in the form of a transaction. Each group contains K data (when there are less than K data, directly write the remaining data). The purpose of data grouping is to facilitate the subsequent random assignment of voters for data verification.

[0072] S3: Use a dual-blockchain network for data verification. The dual-blockchain network includes a voting candidate blockchain network and an auxiliary blockchain network. In this stage, it is necessary to divide time into periods. Each period needs to repeatedly execute the five steps of publicizing the data to be verified, selecting voters, randomly assigning the data to be verified and voters, voting on the data verification results, and settling the voting rewards and punishments until all the migrated data to be verified is voted and verified. The specific steps are as follows:

[0073] (1) Publicizing the data to be verified

[0074] First, a migration tool is needed to send a set of K data to be verified to the voting candidate blockchain network in the form of a transaction. When the number of data to be verified is less than K, all the data to be verified are sent. Then, the voting candidates forward the data to be verified to the nodes in the auxiliary blockchain network. After that, the nodes in the auxiliary blockchain network collect the transactions containing the data to be verified and package the transactions into a block Subsequently, the block is sent to the nodes in other auxiliary blockchain networks for verification. Here, all the nodes in the auxiliary blockchain network need to reach an agreement on the content of the block through a consensus algorithm. Finally, the block will be appended to the blockchain maintained by the auxiliary blockchain nodes on. The block represents the block numbered t on the blockchain .

[0075] (2) Selection of Voters

[0076] First, the voting candidate runs a VRF-based random voter selection algorithm to determine whether it is selected as a voter. When the voting candidate is successfully selected as a voter, it generates a transaction containing the proof of becoming a voter. Then, the transaction is sent to the nodes in the auxiliary blockchain network. The nodes in the auxiliary blockchain network collect the transactions containing the proof of the voting candidate becoming a voter and package the transactions into a block in, and then the block is sent to the nodes in other auxiliary blockchain networks for verification. All the auxiliary blockchain nodes reach an agreement on the content of the block through a consensus algorithm. Finally, the block will be appended to the blockchain maintained by the auxiliary blockchain nodes on. The block represents the block numbered t on the blockchain .

[0077] (3) Random Matching of Data to be Verified and Voters

[0078] The nodes in the auxiliary blockchain network use the TEE-based random matching algorithm for data to be verified and voters to randomly assign each data to be verified according to the data to be verified in the block and the list of selected voters in the block a voter. Then, the assigned results are recorded in the block . This block will be sent to the nodes in other auxiliary blockchain networks for verification, and an agreement on the content of the block will be reached through a consensus algorithm. Finally, this block will be appended to the blockchain maintained by the nodes in the auxiliary blockchain network Above, D is the upper limit of the pledged amount for each data to be verified (i.e., the upper limit D of the cumulative pledged amount for the two results of true and false of the data to be verified by the voting candidate. Here, true means the data is consistent before and after migration, and false means the data is inconsistent before and after migration), and s is the amount pledged by the voter for each data verification. It should be noted that each data to be verified can be repeatedly assigned to the same voter for verification. Block represents the block numbered t on the blockchain . The node responsible for generating blocks in the auxiliary blockchain network shall call the matching smart contract deployed on the new blockchain platform in the form of a transaction, and record the situation of randomly assigning voters for the data to be verified on the blockchain of the new platform.

[0079] (4) Voting on data verification results

[0080] The voting candidate w selected as the voter i , according to the allocation result of the data to be verified in the block and the content of the data to be verified in , queries the data to be verified on the original blockchain platform and verifies whether the data is consistent. For a certain data p to be verified j , the voter w i calls the voting function in the matching smart contract deployed on the new blockchain platform in the form of a transaction to vote. The voting transaction includes the data p to be verified by the voter j and the result b of the data verification, as well as the amount s pledged by the voter on the answer b of the data to be verified i,j,b . Among them, 1 ≤ i ≤ L, 1 ≤ j ≤ K, and L represents the number of nodes in the voting candidate blockchain network.

[0081] (5) Voting reward and punishment settlement

[0082] Assume that for each voting candidate w i , s i,j,b represents the pledge amount of the voting candidate w i on the data p to be verified j = b, where b ∈ {T, F}, T means the data is consistent before and after migration, and F means the data is inconsistent before and after migration; if the voting candidate w i is not selected as the voter, or does not participate in the verification of the data p to be verified j , then s i,j,b = 0. For each data p to be verified j , its true result is t j (t j ∈ {T, F}), and the reward provided by the data migration initiator for its verification is R j . Among them, 1 ≤ i ≤ L, 1 ≤ j ≤ K.

[0083] At the end of the voting in time period t, for each piece of data p to be verified j the true and false results need to obtain the staked amounts of the voters respectively, which are represented as S j,T and S j,F . Among them,

[0084]

[0085] The aggregated smart contract deployed on the new blockchain platform calculates the final voting result, that is, determines the truth or falsehood of the data to be verified based on the staked amounts of the voting nodes for the truth or falsehood of the data to be verified

[0086]

[0087] At the end of the voting in time period t, if the verification result of the voting node is consistent with the final result of the data to be verified, the voting candidate will be added to the winners list. At the end of the voting, the staked amounts of the voting candidates in the winners list will be returned, and they will receive voting rewards. If the verification result of the voter is inconsistent with the final result of the data to be verified, then the voter is added to the losers list. At the end of the voting, the staked amounts of the voters in the losers list will be confiscated, and no voting rewards will be given to them. That is to say, for the voting nodes staking amounts on the reward R for verifying this data to be verified will be distributed proportionally j . While for the voting candidates with staked amounts for the opposite result their staked amounts will be confiscated by the system as a penalty. The income of the voter node w i after voting on the data to be verified is

[0088]

[0089] S4: When the data of the original platform is required to complete the verification of the transaction during operation, it is necessary to request the oracle smart contract to obtain the data of the original platform. The aggregated smart contract in the oracle smart contract will return the data that has been voted and verified and recorded on the blockchain of the new platform to the blockchain application. When the new blockchain platform node verifies the data of the original platform, it calls the migrated smart contract and uses the integrated smart contract running environment for parsing and verification.

[0090] The above are the main steps of the cross-platform data migration method based on reliable voting. Next, the specific implementation steps of the voter random selection algorithm based on VRF, the random matching algorithm of the data to be verified and the voter based on TEE, and the multi-chain structure of the double blockchain network will be elaborated in detail.

[0091] The VRF-based voter selection algorithm consists of a voter selection algorithm, a voter eligibility verification algorithm, and a random seed generation algorithm, aiming to ensure the openness of the voting candidate blockchain network and the fairness of voting candidates' participation in voting. The specific algorithm design is as follows:

[0092] (1) Voter selection algorithm

[0093] Voters input the private key sk of the voting candidate, the current time period number i, and the random number seed seed of this time period i through the voter selection algorithm i , and help the voting candidate generate a random number hash and a proof π through the verifiable random function VRF sk (seed i |i). If the hash value is less than , then this voting candidate is selected as a voter. Otherwise, the voting candidate cannot become a voter in this time period to participate in data verification. Among them, v is an algorithm parameter used to control the number of voters selected in each time period. The proof π allows other nodes to verify that this random number is indeed generated by the voting candidate using the public key of the voting candidate. The pseudocode of the specific algorithm is as shown in the appendix Figure 2 .

[0094] (2) Voter eligibility verification algorithm:

[0095] By inputting the proof <hash, π, pk> of the voter being elected as a voter, the time period number i when the voter is elected, the random number seed seed of this time period i i , and the random seed <seed, π', pk> generated by the voter for the next time period to assist in investor eligibility verification. First, it is necessary to use the verification function VER pk (seed i |i, hash, π) to verify whether the random number hash is indeed generated by this elected voter. Secondly, check whether the random number hash meets the election conditions (that is ), and finally, use the verification function VER pk (seed i , seed, π') to check whether the random seed generated by the voter for the next time period is valid. If all the above conditions are met, it is confirmed that the voting candidate is elected as a voter. Otherwise, it is determined that the voting candidate is not elected as a voter. The pseudocode of the specific algorithm is as shown in the appendix Figure 3 .

[0096] (3) Random seed generation algorithm

[0097] When a voting candidate calls the algorithm selected by the voter, a publicly known random seed is required in each time period, and it is necessary to ensure that the random seed cannot be controlled by any entity. Otherwise, an attacker can manipulate the voter's election by controlling the random seed, undermining the reliability of data verification.

[0098] At the beginning of each time period, let the new random seed be made public. The random seed needs to be calculated from the random seed of the previous time period. Specifically, in time period t, if voting candidate w i is selected as a voter, it will calculate the random seed for the next time period t + 1 based on the random seed seed t in time period t. That is Then, put this random seed and the generated proof into the proof of the voting candidate's election. Among them, represents the random seed generated for time period t + 1 by voting candidate w i ; sk is the private key of voting candidate w i .

[0099] Subsequently, further let the nodes that successfully generate blocks in the auxiliary blockchain network extract the random seeds generated by the voters from each transaction and use them to calculate the final random seed seed for time period t + 1, that is t+1 where Q represents the number of voters selected in time period t, and "∥" represents the OR operation in binary. Then, further let the random seed seed be written into the block by the node t+1 . Once is recorded on the blockchain, then at the beginning of time period t + 1, each voting candidate can know seed by querying the blockchain . t+1

[0100] Regarding the initial random seed seed0, it needs to be generated using a decentralized random number generation scheme when initializing the voting candidate blockchain network and the auxiliary blockchain network. The generated initial seed seed0 should be recorded in the genesis block of the blockchain .

[0101] The design purpose of the TEE-based unverified data and voter random matching algorithm is to further ensure the randomness of the matching between the unverified data and the voters. First, each node in the auxiliary blockchain network generates its own random number through the trusted execution environment within each specific time period. Then, these random numbers are merged, and through the PBFT consensus algorithm, it is ensured that the nodes in the auxiliary blockchain network reach a consensus on the finally generated combined random number. These generated final random numbers will guide the allocation of the unverified data. The specific process is as follows:

[0102] Within each time period t, 6 steps need to be carried out in sequence.

[0103] (1) Initialize the group number i to 1, i > 0.

[0104] (2) The primary node a1 running the PBFT consensus algorithm in the auxiliary blockchain network uses the trusted execution environment to generate the i-th group of K random numbers r i,1,1 , r i,1,2 , …, r i,1,K . Then, request other secondary nodes to generate random numbers. Among them, K is the number of unverified data in the block , r i,j,k represents the i-th random number generated by node a j for the k-th unverified data in

[0105] (3) The secondary node a j running the PBFT consensus algorithm uses the trusted execution environment to generate the i-th group of K random numbers r i,j,1 , r i,j,2 , …, r i,j,K . Then, send the random numbers and the verification report (Quote) of the random numbers generated by the trusted execution environment to the primary node. 1 ≤ j ≤ H, where H is the number of nodes in the blockchain network.

[0106] (4) Through the primary node, use the verification report to verify the authenticity and integrity of the random numbers, and calculate the i-th combined random number r i,∑,1 , r i,∑,2 , …, r i,∑,K . Among them, where H is the number of nodes in the auxiliary blockchain network. The primary node sets the group number i = i + 1.

[0107] (5) Repeat steps (2) to (4) until the combined random numbers are generated. Among them, D is the upper limit of the pledged amount for each unverified data, that is, the upper limit D of the cumulative pledged amount for the true and false results of the unverified data by the voting candidates, and s is the amount pledged by the voter each time for verifying the unverified data.

[0108] (6) The master node generates a block This block contains Combined into random numbers, all random numbers used to synthesize these numbers, and a verification report of random number generation. The master node sends this block to the slave nodes and then requests the slave nodes to verify. All nodes in the auxiliary blockchain network use the PBFT consensus algorithm to reach an agreement on the block content. Finally, this block will be appended to the blockchain to record the situation of the voters for the data to be verified.

[0109] Being successfully recorded on the blockchain marks that the data to be verified in Figure 5 has been successfully and randomly assigned to the voters. Attached is a schematic diagram of randomly assigning K pieces of data to be verified to the voters. Among them, within the time period t, i each piece of data p to be verified in will be randomly assigned to synthetic random numbers which respectively correspond to voters in

[0110] The PBFT algorithm mentioned in the above steps is a consensus mechanism applicable to many blockchain systems. Reaching a consensus on the block content among multiple nodes requires going through three stages: pre-prepare, prepare, and commit. The specific implementation steps are as follows:

[0111] (1) Pre-prepare stage

[0112] The master node (usually a specific node selected in advance) broadcasts a pre-prepare message to all slave nodes (nodes other than the master node in the network), and this message contains the block.

[0113] (3) Prepare stage

[0114] When a slave node receives the pre-prepare message, it broadcasts a prepare message to all its slave nodes to indicate that it has received and verified the block. When a slave node receives more than 2 / 3 of the prepare messages, it enters the "prepared" state.

[0115] (4) Commit stage

[0116] The slave nodes in the "prepared" state will broadcast commit messages to all other slave nodes. When a slave node receives more than 2 / 3 of the commit messages, it enters the "committed" state, and then appends the block to the blockchain.

[0117] This process ensures that even in the presence of up to f malicious nodes, as long as the total number of nodes is at least 3f + 1, the system can still reach consensus.

[0118] The dual-blockchain network refers to the voting candidate blockchain network and the auxiliary blockchain network, as well as multiple blockchains maintained by these two networks for the public voting and data verification processes.

[0119] First, in the voting candidate blockchain network, three operations need to be performed: voter selection, voter voting, and voting result return.

[0120] (1) Voter election

[0121] Before voting, each voting candidate needs to compete to become a voter. Ensure that the voting candidate blockchain network and the auxiliary blockchain network are synchronized in terms of time period division. At the beginning of each time period, a new round of voter elections will be accompanied.

[0122] Specifically, at the beginning of each time period, the voting candidate will call the above algorithm (1) to determine whether it is selected as a new voter. If the voting candidate is selected as a voter, it will send the proof of being selected to the auxiliary blockchain network in the form of a transaction. The payload field of this transaction contains the proof <hash, π, pk> that the voting candidate is selected as a voter and the random seed generated for the next time period.

[0123] Within each time period, the number of voters is controlled by the algorithm in voter selection. In voter selection, a reasonable configuration of τ is very important. It should neither be too large nor too small. If it is set too large, the number of selected voters will be excessive. Then, the blocks of type attestation generated by the nodes in the auxiliary blockchain network will be very large. Large blocks will cause congestion in the network when the nodes in the auxiliary blockchain network run the consensus algorithm. Seriously, it may lead to the stagnation of the consensus process. If it is set too small, the number of selected voters will be too small. These few voters may be vulnerable to the denial-of-service (DoS) attacks launched by attackers, thus affecting the normal operation of the voting.

[0124] Therefore, τ needs to be set to such that the number of selected voters is as close as possible to 32, which can ensure both the security and efficiency of the PBFT consensus algorithm for the nodes in the auxiliary blockchain. Here, L represents the number of nodes in the voting candidate blockchain network.

[0125] It is necessary to set a random variable X to represent the number of voters selected in each time period. Ensure that the probability of each voting candidate being selected as a voter is and the probability of each voting candidate being selected is independently and identically distributed. In each time period, if τ is set to then the expected value E[X] of the number of selected voters is The variance Var[X] is According to Chebyshev's inequality:

[0126]

[0127] That is, for any c that satisfies the above formula. Where c is an arbitrary real number.

[0128] If the number of nodes L in the voting candidate blockchain network is 1000 and τ is set to 32, then

[0129]

[0130] That is to say, the probability that the number of selected voters is greater than 20 and less than 43 is 75%, and the probability that the number of selected voters is less than 65 is 97%.

[0131] (2) Voters vote

[0132] In time period t, let the transaction containing the proof that the voting candidate is selected as a voter be successfully recorded on This marks that the voting candidate is officially elected as the voter in this time period. The voter queries the list of data to be verified in and the corresponding random number in to determine the data that needs to be verified by himself.

[0133] After learning the data that needs to be verified, let the voter call the smart contract deployed on the new blockchain platform in the form of a transaction and use the voting process to complete the voting. The structure of the voting transaction is as follows:

[0134] a) From, the address of the transaction initiator, that is, the address of the voter who becomes.

[0135] b) To, the address of the transaction recipient, that is, the address of the smart contract deployed on the new blockchain platform for voting.

[0136] c) Value, the number of tokens sent to the To address, that is, the amount pledged by the voter on the data verification result b.

[0137] d) Signature, the signature of the transaction initiator on the transaction.

[0138] e) Payload, the payload of the transaction, which includes the data p to be verified by the voter j and the verification result b of the data.

[0139] When the voter calls the voting algorithm in the form of a transaction, the algorithm needs to ensure that the data to be verified by the voter has been recorded on the blockchain of the new blockchain platform, and that the voter is assigned to verify the data. The algorithm also needs to ensure that the verification of the data has not ended, that is, the amount of pledged funds on the data to be verified does not exceed D. After that, the algorithm allows the voter to conduct a verification vote on the data to be verified. When the voter finishes voting, the algorithm will further determine whether the cumulative pledged amount of the data to be verified reaches the upper limit D. If the upper limit D is reached, it means that the voting for the data to be verified ends, and the algorithm will automatically trigger the call to the aggregation smart contract to determine the final verification vote result. When the voting ends, the aggregation smart contract will reward and punish the previous voters' votes. If the verification result of the voting node is consistent with the final verification result, the voting candidate will be added to the winners list, the pledged funds of the voting candidates in this list will be returned, and they will receive voting rewards. If the verification result of the voter is inconsistent with the final verification result, then the voter will be added to the losers list, the pledged funds of the voters in this list will be confiscated, and no voting rewards will be given to them.

[0140] (3) Return of data verification result

[0141] When the new blockchain platform is running an application, if it needs to complete the verification of the transaction with the data of the original blockchain platform, it needs to request the oracle smart contract to obtain the data of the original blockchain platform. The aggregation smart contract in the oracle smart contract will return the data that has been voted and verified and recorded on the blockchain of the new blockchain platform to the blockchain application.

[0142] The auxiliary blockchain network is mainly responsible for collecting and publicizing the data to be verified from the new blockchain platform, the list of voters participating in the verification of the data to be verified in each time period, and the result of randomly assigning voters to the data to be verified. For this purpose, the auxiliary blockchain network needs to maintain three blockchains at the same time and Let them be responsible for recording the list of data to be verified, the list of voters, and the result of assigning voters to the data to be verified in each time period respectively.

[0143] The node pairs in the auxiliary blockchain network must be closely related to the interests of the voting candidate network. The conditions for designing the nodes in the auxiliary blockchain network are as follows:

[0144] First, it is necessary to ensure that there are more than α tokens unique to the voting candidate blockchain network, that is, to ensure that the nodes in the auxiliary blockchain network have far more tokens than ordinary voting candidates. By setting a reasonable α, the idea of malicious or dishonest behavior of the nodes in the auxiliary blockchain network can be dispelled. Because frequent malicious or dishonest behavior will reduce the value of the tokens unique to the voting candidate blockchain network, causing greater losses to the nodes in the auxiliary blockchain network that hold more tokens.

[0145] Secondly, reliable hardware support is required, which can run continuously for 24 hours to continuously collect the data to be verified from the new blockchain platform.

[0146] In addition, a trusted execution environment also needs to be configured. The trusted execution environment can further enhance the credibility of the operations of the nodes in the auxiliary blockchain network.

[0147] In the auxiliary blockchain network, all transaction structures are as follows:

[0148] a) From, the address of the transaction initiator.

[0149] b) To, the address of the transaction recipient.

[0150] c) Type, the type of the transaction. Its value range is {0, 1, 2}, where 0 represents a transaction containing data to be verified; 1 represents a transaction containing proof of becoming a voter; 2 represents a transaction containing the result of allocating voters for the data to be verified.

[0151] d) Value, the number of tokens unique to the voting candidate blockchain network sent to the To address.

[0152] e) Signature, the signature of the transaction initiator for the transaction.

[0153] f) Payload, the payload of the transaction, which can contain any content.

[0154] In the auxiliary blockchain network, as shown in the appendix Figure 7 All block structures are mainly divided into three parts - block header, block metadata, and block body. Among them, the block header contains the hash value of the previous block (ph), the block number (id), and the hash value of the current block (ch); the block metadata includes the generation timestamp (t) of the block, the type (type) of the blockchain where the block is located, namely proposition, attestation, and match, the extended field (e) for the consensus algorithm, the public key (pk) of the block creator, the signature (sig) of the block creator, and the root (r) of the Merkle tree based on the transactions; the block body includes all transactions.

[0155] In the auxiliary blockchain network, the PBFT consensus algorithm is adopted among nodes to reach an agreement on the content of the block. Specifically, among the nodes in the auxiliary blockchain network, the node with the largest number of tokens unique to the blockchain network becomes the primary node for running the PBFT consensus algorithm (if there are multiple nodes with the largest number of tokens, the node with the smallest address is selected as the primary node). The other nodes in the auxiliary blockchain network become the secondary nodes for running the PBFT consensus algorithm. The primary node is responsible for collecting transactions in the auxiliary blockchain network and packing them into blocks of corresponding types according to the types of the transactions. Then, the primary node sends the blocks to the secondary nodes. The secondary nodes run the PBFT algorithm to reach an agreement on the block content. Finally, the agreed-upon blocks will be appended to the corresponding type of blockchain by all nodes in the auxiliary blockchain network.

[0156] The auxiliary blockchain network maintains three blockchains and The specific details are as follows:

[0157] (1) Collection and publicity of data to be verified

[0158] The auxiliary blockchain network specifically maintains a blockchain to record the data to be verified collected from the new blockchain platform in each time period. Specifically, the migration tool sends the data to be verified on the new blockchain platform to the auxiliary blockchain network in the form of a transaction. Among them, the transaction mainly includes the following fields:

[0159] a) From, the address of the transaction initiator, that is, the address of the entity requesting data verification.

[0160] b) To, the address of the transaction recipient, that is, the address of the smart contract deployed on the blockchain for recording the data to be verified.

[0161] c) Type, the type of the transaction. Its value is 0, representing a transaction containing the data to be verified;

[0162] d) Value, the number of tokens sent to the To address, that is, the reward provided by the transaction initiator for data verification.

[0163] e) Signature, the signature of the transaction initiator on the transaction.

[0164] f) Payload, the payload of the transaction, which includes the data to be verified.

[0165] Nodes in the auxiliary blockchain network collect transactions containing data to be verified, and after verification, they package the transactions into blocks of type proposition and then send the blocks to nodes in other auxiliary blockchain networks. All nodes in the auxiliary blockchain network use the PBFT consensus algorithm to reach an agreement on the block content. Finally, the block will be appended to the blockchain to publicize the list of data to be verified. The verification of transactions here includes the integrity and authenticity of the transactions (i.e., the transactions are indeed sent by the entity corresponding to the transaction initiation address).

[0166] (2) Public announcement of the voter list

[0167] Nodes in the auxiliary blockchain network specifically maintain a blockchain to record the list of eligible voters in each time period. Specifically, the voting candidates will send the proof of being selected as a voter to the auxiliary blockchain network in the form of a transaction. Among them, the transaction contains the following fields:

[0168] a) From, the address of the transaction initiator, that is, the address of the voter.

[0169] b) To, the address of the transaction recipient, that is, the smart contract address deployed on the blockchain for recording and publicizing the voter list.

[0170] c) Type, the type of the transaction. Its value is 1, representing a transaction containing the proof that the voting candidate is selected as a voter;

[0171] d) Value, the number of tokens sent to the To address, that is, the fee paid by the voting candidate to participate in the election as a voter.

[0172] e) Signature, the signature of the transaction initiator on the transaction.

[0173] f) Payload, the payload of the transaction, which includes the proof that the voting candidate is selected as a voter.

[0174] Nodes in the auxiliary blockchain network collect transactions from voting candidates that contain the proof of their being selected as voters, and then call the above algorithm (2) for voter eligibility verification to verify the validity of the proof that the voting candidate is selected as a voter and the validity of the random seed generated by it. If valid, the nodes in the auxiliary blockchain network package the transaction into a block of type attestation and then send the block to nodes in other auxiliary blockchain networks. All nodes in the auxiliary blockchain network use the PBFT consensus algorithm to reach an agreement on the block content. Finally, the block will be appended to the blockchain to publicize the voter list.

[0175] (3) Public announcement of the results of assigning voters to the data to be verified

[0176] Nodes in the auxiliary blockchain network will specifically maintain a blockchain to record the results of assigning voters to the data to be verified in each time period. Specifically, in time period t, nodes in the auxiliary blockchain network use the algorithm of randomly matching voters for the data to be verified based on TEE to randomly assign each piece of data to be verified in the block to the voters in it, so that the subsequent voters can successfully complete the verification of the data. Finally, the results of assigning voters to the data to be verified are recorded in the block of the blockchain to achieve the public announcement of the matching results.

[0177] The above embodiments only illustrate the technical concept and features of the present invention. The purpose is to enable those who are familiar with this technology to understand the content of the present invention and implement it accordingly, and it should not be used to limit the protection scope of the present invention. Any equivalent transformation or modification made according to the spirit and essence of the present invention is covered within the protection scope of the present invention.

Claims

1. A cross-platform data migration method based on reliable voting, characterized in that, The steps are as follows: S1: Invoke the oracle smart contract deployed on the new blockchain platform, write the data to be migrated on the original blockchain platform into the new blockchain platform, and group them into multiple groups of data to be verified in the way of K data per group; S2: The migration tool sends a group of K data to be verified to the voting candidate blockchain network in the form of a transaction. The voting candidates forward the data to be verified to the nodes in the auxiliary blockchain network and package them into blocks. The nodes in the auxiliary blockchain network record the data on the auxiliary blockchain through the PBFT consensus mechanism; S3: In the voting candidate blockchain network, use the verifiable random function VRF algorithm to randomly select voting candidates to become voters, generate the proof of being selected and send it to the auxiliary blockchain network in the form of a transaction; The auxiliary blockchain network records the list of voters on the chain through the PBFT consensus; S4: The auxiliary blockchain network randomly assigns the data to be verified and the selected voters by combining the random numbers generated by the trusted execution environment TEE, invokes the matching smart contract on the new blockchain platform to record the assignment result on the new blockchain platform, and at the same time records the assignment result on the auxiliary blockchain through the PBFT consensus; S5: The selected voters query whether the data to be verified on the original blockchain platform is consistent with the data on the original blockchain platform according to the content of the data to be verified randomly assigned to them and publicized on the auxiliary blockchain, and then invoke the voting function in the matching smart contract on the new blockchain platform to vote; S6: The aggregation smart contract deployed on the new blockchain platform calculates the final result of the vote, that is, judges the authenticity of the data to be verified according to the pledge amount of the voting nodes for the authenticity of the data to be verified, and rewards and punishes the voters according to the voting results, rewarding the voters who verify correctly and deducting the pledge amount of the voters who vote incorrectly.

2. The cross-platform data migration method based on reliable voting according to claim 1, wherein, The specific process of step S1 is as follows: The migration tool invokes the oracle smart contract to deploy the matching smart contract. Then, the migration tool invokes the matching smart contract to write all the data to be migrated into the new blockchain platform in the form of a transaction. The data is recorded in groups of K. Among them, the oracle smart contract stores the grouped data preliminarily, and the migration tool synchronizes the grouped data to the auxiliary blockchain network to ensure the publicity and integrity of the data.

3. A cross-platform data migration method based on reliable voting according to claim 1, characterized in that In step S2, the auxiliary blockchain network records the data on the auxiliary blockchain through the PBFT consensus mechanism, including the following process: S2.1: The migration tool sends a group of K data to be verified to the voting candidate blockchain network in the form of a transaction. If the number of data to be verified is less than K, all the data to be verified will be sent; Subsequently, the voting candidates forward it to the auxiliary blockchain network for processing; S2.2: The primary nodes of the auxiliary blockchain network collect the data transactions to be verified, package them into blocks and send them to the secondary nodes; S2.3 All the slave nodes in the auxiliary blockchain network reach an agreement on the content of the block through the PBFT consensus algorithm, and the block is appended to the blockchain maintained by the auxiliary blockchain nodes. The block represents the block numbered t on the blockchain . on which the block represents the blockchain and the block numbered t on it.

4. A cross-platform data migration method based on reliable voting according to claim 3, characterized in that, The specific process of step S3 is as follows: S3.1 The voting candidates run the VRF-based voter random selection algorithm to judge whether they are selected as voters. If the voting candidates are successfully selected as voters, generate a transaction containing the proof of becoming a voter and send the transaction to the nodes in the auxiliary blockchain network; S3.2 The primary node in the auxiliary blockchain network collects transactions containing proofs that the voting candidates become voters, and packages the transactions into a block. Send the block to other nodes in the auxiliary blockchain network for verification. All the slave nodes in the auxiliary blockchain network reach an agreement on the content of the block through the PBFT consensus algorithm. The block is appended to the blockchain maintained by the auxiliary blockchain nodes. On it, the block represents the block numbered t on the blockchain. ​ 5. A cross-platform data migration method based on reliable voting according to claim 4, characterized in that The specific process of step S4 is as follows: S4.1: Nodes in the auxiliary blockchain network randomly assign a voter for each piece of data to be verified according to the data to be verified in the block and the list of selected voters in the block using the TEE-based algorithm for randomly matching data to be verified with voters, record the allocation results in the block , and send the block to other nodes in the auxiliary blockchain network for verification, and reach an agreement on the content of the block through the PBFT consensus algorithm, and append the block to the blockchain maintained by nodes in the auxiliary blockchain network; where D is the upper limit of the pledge amount for each piece of data to be verified, that is, the upper limit D of the cumulative pledge amount for the true and false results of the data to be verified by the voting candidates. The truth of the data to be verified means that the data is consistent before and after migration, and the falsehood of the data to be verified means that the data is inconsistent before and after migration. s is the amount of money pledged by each voter for verifying the data. Each piece of data to be verified can be repeatedly assigned the same voter for verification. The block represents the block numbered t on the blockchain ; S4.2 Assist the node responsible for generating blocks in the auxiliary blockchain network to call the matching smart contract deployed on the new blockchain platform in the form of a transaction, record the transaction situation of randomly allocating the data to be verified to voters on the blockchain of the new blockchain platform, and the payload of the transaction situation includes the situation of K pieces of data to be verified being allocated to voters and the block As the basis for allocation.

6. A cross-platform data migration method based on reliable voting according to claim 4 or 5, characterized in that In step S5, the matching smart contract on the new blockchain platform invoked by the voters performs the following operations: The voter candidate w selected as the voter i , according to the allocation result of the data to be verified in the block and the content of the data to be verified in , query the data to be verified on the original blockchain platform and verify whether the data is consistent. For a certain piece of data p to be verified j , the voter w i invokes the voting function in the matching smart contract deployed on the new blockchain platform in the form of a transaction to vote. The voting transaction includes the data p to be verified by the voter j and the result b of data verification and the amount s pledged by the voter on the result b of the data to be verified i,j,b , where 1 ≤ i ≤ L, 1 ≤ j ≤ K, L represents the number of nodes in the voter candidate blockchain network, and K represents K pieces of data to be verified.

7. A cross-platform data migration method based on reliable voting according to claim 6, characterized in that, In step S6, the aggregation smart contract rewards and punishes the voters according to the voting results, specifically including: Let for each voting candidate w i , s i,j,b represent the staking amount of voting candidate w i on the data p j to be verified, where b ∈ {T, F}, T means the data is consistent before and after migration, and F means the data is inconsistent before and after migration; if the voting candidate w i is not selected as a voter, or does not participate in the verification of the data p j to be verified, then s i,j,b = 0. For each data p j to be verified, the true result is t j , t j ∈ {T, F}, and the reward provided by the data migration initiator for its verification is R j ; At the end of the voting in time period t, for each piece of data p to be verified j the true and false results will each receive the staked amount of the voters, denoted as S j,T and S j,F , where The final result of aggregating smart contract calculations for voting deployed on the new blockchain platform, that is, to determine the authenticity of the data to be verified based on the amount of collateral pledged by the voting nodes regarding the authenticity of the data to be verified At the end of the voting in time period t, if the verification result of the voting node is consistent with the final result of the data to be verified, the voting candidate will be added to the winners list. At the end of the voting, the staking amount of the voting candidates in the winners list will be returned, and they will receive voting rewards; if the verification result of the voter is inconsistent with the final result of the data to be verified, then the voter will be added to the losers list. At the end of the voting, the staking amount of the voters in the losers list will be confiscated, and no voting rewards will be given to them; that is, The voting nodes with the staking amount on j will be proportionally distributed the reward R for verifying the data to be verified while the staking amount of the voting candidates with the opposite result will be confiscated by the system as a penalty. The voter node w i The income after voting on the data to be verified is: Among them, s i,j,F and s i,j,T respectively represent the pledges of the voting candidate w i on the data p j = F, p j = T.

8. A cross-platform data migration method based on reliable voting according to claim 1, characterized in that When an application on the new blockchain platform needs the data of the original blockchain platform to complete transaction verification during operation, it requests the oracle smart contract to obtain the data of the original blockchain platform. The oracle smart contract returns the data that has been recorded on the new blockchain platform and verified by voting to the blockchain application. When a node on the new blockchain platform needs to verify the data of the original blockchain platform, if the data has not been verified by voting, it needs to trigger the voting process through the matching smart contract, and finally the aggregation smart contract settles the result; if the data has been verified, the aggregation smart contract in the oracle smart contract returns the recorded result.

9. A system for a cross-platform data migration method based on reliable voting according to any one of claims 1 to 8, characterized in that, Including: Oracle smart contract module: used to obtain and store the data of the original blockchain platform, write the data to the new blockchain platform, and then synchronize it to the auxiliary blockchain network and the voter blockchain network; Dual blockchain network module: includes an auxiliary blockchain network and a voting candidate blockchain network. The auxiliary blockchain network is responsible for collecting and publicizing the data to be verified deployed on the new blockchain platform, the parameter of each time period, the list of voters for verifying the data to be verified, and the result of randomly assigning voters to the data to be verified; the voting candidate blockchain network is responsible for the selection of voters and the voting on the data to be verified; Trusted execution environment TEE module: used to generate random numbers for data distribution and ensure the security of data and voter distribution; Aggregation smart contract module: summarizes the voting results and executes rewards and punishments according to the verification results.