Block chain cross-chain method and device
1. A block chain crossing method is characterized by comprising the following steps:
receiving cross-link request information and certification information;
authenticating the certificate in the certification information by using a block chain list of an authoritative certification authority, and acquiring a verification algorithm of the target block chain according to an authentication result after the certificate passes the authentication;
verifying whether the cross-chain certification information is true by using the verification algorithm, and judging whether the cross-chain request information is true;
when the inter-chain certification information is confirmed to be true and the inter-chain request information is confirmed to be true, inter-chain with the target block chain is achieved.
2. The method of claim 1, wherein the blockchain list of authoritative certification authorities contains basic information, certificates, and verification algorithms for each blockchain.
3. The method according to claim 1, wherein the authenticating the certificate in the certification information by using the blockchain list of the authoritative certification authority, and obtaining the verification algorithm of the target blockchain according to the authentication result after the authentication is passed comprises:
judging whether the certificate of the certification information is contained in a block chain list of the authoritative certification authority;
if so, verifying whether the certificate of the certification information is the latest certificate of the target block chain or not according to address information in the certificate of the certification information;
and if so, acquiring a verification algorithm of the target block chain.
4. The method of claim 1, wherein prior to receiving the cross-chain request information and the first attestation information, further comprising:
storing and periodically updating a blockchain list in the authoritative certification authority.
5. The method of claim 4, wherein storing and periodically updating the blockchain list in the authoritative certification authority comprises:
verifying the authenticity of the certificate by carrying out uplink confirmation on the certificate to be updated;
and when the certificate to be updated is successfully linked up, taking the certificate to be updated as the latest certificate of the block chain to be authenticated in the block chain list.
6. A device for crossing a block chain, comprising:
a receiving unit, configured to receive cross-chain request information and certification information;
the acquisition unit is used for authenticating the certificate in the certification information by using a block chain list of an authoritative certification authority, and acquiring a verification algorithm of a target block chain according to an authentication result after the certificate passes the authentication;
the verification unit is used for verifying whether the cross-chain certification information is true by using the verification algorithm and judging whether the cross-chain request information is true;
and the confirming unit is used for realizing the cross-link with the target block chain when the cross-link certification information is confirmed to be true and the cross-link request information is confirmed to be true.
7. The apparatus of claim 6, wherein the list of blockchains of the authoritative certification authority contains basic information, certificates, and verification algorithms for each blockchain.
8. The apparatus of claim 6, wherein the obtaining unit comprises:
the judging subunit is configured to judge whether the certificate of the certification information is included in the blockchain list of the authoritative certification authority;
the first verification subunit is configured to verify, if it is determined that the certificate of the certification information is included in the blockchain list of the authoritative certification authority, whether the certificate of the certification information is the latest certificate of the target blockchain according to address information in the certificate of the certification information;
and the obtaining subunit is configured to obtain a verification algorithm of the target block chain if it is verified that the certificate of the certification information is the latest certificate of the target block chain according to the address information in the certificate of the certification information.
9. The apparatus of claim 6, further comprising:
and the updating unit is used for storing and periodically updating the block chain list in the authoritative certification authority.
10. The apparatus of claim 9, wherein the updating unit comprises:
the second verification subunit is used for verifying the authenticity of the certificate by means of uplink confirmation of the certificate to be updated;
and the updating subunit is configured to, when the to-be-updated certificate is successfully linked up, use the to-be-updated certificate as the latest certificate of the to-be-authenticated blockchain in the blockchain list.
11. A block chain interlinking device, comprising: a processor, a memory, a system bus;
the processor and the memory are connected through the system bus;
the memory is to store one or more programs, the one or more programs comprising instructions, which when executed by the processor, cause the processor to perform the method of any of claims 1-5.
12. A computer-readable storage medium having stored therein instructions that, when executed on a terminal device, cause the terminal device to perform the method of any one of claims 1-5.
Background
Blockchain is essentially a distributed, multicenter chained data storage system, but in blockchain ecosystems, the presence of more and more blockchain networks creates more and more "data islands". The block chain cross-chain technology is used for solving the problems of data transmission, transfer and exchange between two or more different block chain networks. The data cross-link can not only increase the expansibility of the block link network, but also reduce the cost of data sharing among the block link networks.
Currently, there are four general block chain cross-chain methods: the first is a chain-crossing method based on a main side chain, but the method requires all nodes of the side chain to know the algorithm and basic information of all block chains except the nodes, and timely synchronizes the main chain, obviously without universal applicability; the second is a predictive engine-based chain-crossing approach, but due to the complexity of blockchain technology, it is difficult to have a mechanism to ensure that synchronization is always guaranteed and information on all blockchains is verified. Therefore, not all nodes can trust the information given by the real prediction machines, and meanwhile, the real prediction machines have high single-point failure risks; the third is an evidence-based cross-chain method, but this method requires that all nodes of one chain know the algorithms and basic information of all blockchains except itself and the verification method of the certification of another chain, and obviously still has no general applicability; the fourth method is a chain crossing method in a chain crossing ecology, but the method can only realize chain crossing in a single specific ecology, and since the running nodes of each chain are individuals which are not trusted with each other, the chain composed by the selected representatives of each chain is not necessarily more trusted than an external third-party prediction machine, and obviously, the security is not high. It can be seen that the four common block chain crossing methods at present have the problems of low crossing efficiency, low general applicability and low safety.
Disclosure of Invention
The embodiment of the present application mainly aims to provide a method and an apparatus for crossing block chains, which can improve efficiency, general applicability, and security of crossing chains among block chains, so as to meet a requirement of information intercommunication among all block chains in the future.
In a first aspect, an embodiment of the present application provides a method for crossing a block chain, including:
receiving cross-link request information and certification information;
authenticating the certificate in the certification information by using a block chain list of an authoritative certification authority, and acquiring a verification algorithm of the target block chain according to an authentication result after the certificate passes the authentication;
verifying whether the cross-chain certification information is true by using the verification algorithm, and judging whether the cross-chain request information is true;
when the inter-chain certification information is confirmed to be true and the inter-chain request information is confirmed to be true, inter-chain with the target block chain is achieved.
Optionally, the blockchain list of the authoritative certification authority includes basic information, a certificate and a verification algorithm of each blockchain.
Optionally, the authenticating the certificate in the certification information by using the blockchain list of the authoritative certification authority, and obtaining the verification algorithm of the target blockchain according to the authentication result after the certificate passes the authentication, includes:
judging whether the certificate of the certification information is contained in a block chain list of the authoritative certification authority;
if so, verifying whether the certificate of the certification information is the latest certificate of the target block chain or not according to address information in the certificate of the certification information;
and if so, acquiring a verification algorithm of the target block chain.
Optionally, before receiving the cross-chain request information and the first certification information, the method further includes:
storing and periodically updating a blockchain list in the authoritative certification authority.
Optionally, the storing and periodically updating the blockchain list in the authoritative certification authority includes:
verifying the authenticity of the certificate by carrying out uplink confirmation on the certificate to be updated;
and when the certificate to be updated is successfully linked up, taking the certificate to be updated as the latest certificate of the block chain to be authenticated in the block chain list.
In a second aspect, an embodiment of the present application further provides a block chain crossing apparatus, including:
a receiving unit, configured to receive cross-chain request information and certification information;
the acquisition unit is used for authenticating the certificate in the certification information by using a block chain list of an authoritative certification authority, and acquiring a verification algorithm of a target block chain according to an authentication result after the certificate passes the authentication;
the verification unit is used for verifying whether the cross-chain certification information is true by using the verification algorithm and judging whether the cross-chain request information is true;
and the confirming unit is used for realizing the cross-link with the target block chain when the cross-link certification information is confirmed to be true and the cross-link request information is confirmed to be true.
Optionally, the blockchain list of the authoritative certification authority includes basic information, a certificate and a verification algorithm of each blockchain.
Optionally, the obtaining unit includes:
the judging subunit is configured to judge whether the certificate of the certification information is included in the blockchain list of the authoritative certification authority;
the first verification subunit is configured to verify, if it is determined that the certificate of the certification information is included in the blockchain list of the authoritative certification authority, whether the certificate of the certification information is the latest certificate of the target blockchain according to address information in the certificate of the certification information;
and the obtaining subunit is configured to obtain a verification algorithm of the target block chain if it is verified that the certificate of the certification information is the latest certificate of the target block chain according to the address information in the certificate of the certification information.
Optionally, the apparatus further comprises:
and the updating unit is used for storing and periodically updating the block chain list in the authoritative certification authority.
Optionally, the updating unit includes:
the second verification subunit is used for verifying the authenticity of the certificate by means of uplink confirmation of the certificate to be updated;
and the updating subunit is configured to, when the to-be-updated certificate is successfully linked up, use the to-be-updated certificate as the latest certificate of the to-be-authenticated blockchain in the blockchain list.
An embodiment of the present application further provides a block chain crossing device, including: a processor, a memory, a system bus;
the processor and the memory are connected through the system bus;
the memory is configured to store one or more programs, the one or more programs including instructions, which when executed by the processor, cause the processor to perform any one of the implementations of the above block chain cross-chain method.
An embodiment of the present application further provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are run on a terminal device, the terminal device is caused to execute any implementation manner of the above block chain crossing method.
According to the block chain crossing method and device provided by the embodiment of the application, after the crossing chain request information and the certification information are received, firstly, a certificate in the certification information is authenticated by using a block chain list of an authoritative certification authority, after the certificate passes the authentication, a verification algorithm of a target block chain is obtained according to an authentication result, then, whether the crossing chain certification information is true or not is verified by using the obtained verification algorithm, whether the crossing chain request information is true or not is judged, and when the crossing chain certification information is confirmed to be true and the crossing chain request information is true, the crossing chain between the block chain and the target block chain can be realized. As can be seen, in the embodiment of the present application, the certification of the Certificate in the information is performed by using the blockchain list in the existing authoritative certification Authority (such as a Certificate Authority (CA)), because the authoritative certification Authority is a trusted Authority in the internet, the certification Authority has higher credibility than that of the existing third party, and the authoritative certification Authority in the present application is only responsible for providing the Certificate and the verification algorithm of the blockchain, and does not need to introduce any trusted device higher than that outside the current internet infrastructure, compared with the existing chain crossing method, the chain crossing efficiency is higher, the universal applicability and the security are also stronger, and the requirement of information intercommunication between all blockchains in the future can be satisfied.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
FIG. 1 is a schematic diagram of a conventional block chain crossing method;
FIG. 2 is a second schematic diagram of a conventional block chain crossing method;
FIG. 3 is a third schematic diagram of a conventional block chain crossing method;
FIG. 4 is a fourth schematic diagram of a conventional block chain crossing method;
fig. 5 is a schematic flowchart of a block chain crossing method according to an embodiment of the present disclosure;
FIG. 6 is a schematic diagram of an overall interaction of a block chain across chains according to an embodiment of the present application; (ii) a
Fig. 7 is a schematic composition diagram of a block chain crossing apparatus according to an embodiment of the present disclosure.
Detailed Description
Currently, with the development of the blockchain technology, there is a blockchain in which a large amount of data cannot be communicated with each other. However, in practical applications, scenarios often arise that require referencing data on other chains, such as inter-chain asset exchanges and transactions, these actions often being referred to as "cross-chain". However, before crossing chains, the two chains need some mechanism for information to be communicated with each other. For example, if a user a in chain a needs to refer to data M on chain B, it needs to provide evidence that M is on chain B, including: 1) the data M is actually on a certain chain and is marked as chain C, namely the data M is on the chain C and is confirmed according to the rule of the chain C; 2) based on the verification algorithm and basic information of chain B, verification chain C is indeed chain B. The existing common block chain cross-chain method generally has four types:
the first is a chain crossing method based on main side chains, as shown in fig. 1, if chain a is the "side chain" of chain B and chain B is the "main chain" of chain a, i.e., it is assumed that all the running nodes of chain a know the algorithm and basic information of B and synchronize chain B in time. Then, when crossing the chain, user a in chain a only needs to send a message "M on chain B" without providing any extra information, since the other nodes of default chain a can verify the correctness of this message. Obviously this approach is not universally applicable, since it is not possible to require all nodes of chain a to know all blockchain algorithms and basic information except themselves and to synchronize the backbone in time.
The second method is a chain-crossing method based on a prediction machine, and as shown in fig. 2, a prediction machine (oracle) model is an ideal abstract model in the block chain technology. A predictive engine refers to an entity that can always provide real information. The information intercommunication in the cross-chain based on the prediction machine comprises the following steps: 1) a: m is on chain B; 2) the prediction machine is as follows: m is on chain B. Among other things, the prediction engine needs to know the algorithm and basic information of chain B and be able to synchronize chain B in time and be able to provide this information just in time. The prediction machine needs to be a credible entity with enough technical capability in reality, and currently, there are three main implementation methods: 1) a trusted third party; 2) another blockchain consisting of many trusted third parties; 3) third parties employing advanced encryption techniques (e.g.: trusted hardware equipment (TEE), secure transport layer protocol TLS-N, etc.). However, in practice, these three are currently far from ideal prediction machines in reliability, and because of the complexity of blockchain technology, it is difficult to have a mechanism to ensure that synchronization is always guaranteed and information on all blockchains is verified. Therefore, not all nodes can trust the information given by these "prediction machines" in reality, and the prediction machines in reality have a high risk of single point failure.
The third is an evidence-based chain crossing method, as shown in fig. 3, assuming that chain crossing between chain a and chain B is to be implemented by this method, for all nodes of chain a, the algorithm and information of chain B need to be known, and the latest chain B needs to be synchronized at any time. Alternatively, for some chains B, the algorithm of chain B allows to provide a proof of "M on chain B", which is much smaller in size than chain B itself. Thus, the nodes of chain A need only know the basic information and proof of chain B authentication algorithm methods and do not need to keep the entire chain B synchronized. The information intercommunication step is as follows: 1) a: m on chain B, proving (M on chain B); 2) chain a node verifies (proves (M on chain B)). This approach is limited by the verification approach that requires the chain a node to know the essential information and proof of chain B, and clearly still has no general applicability.
The fourth method is a chain crossing method in a chain crossing ecology, as shown in fig. 4, for some main chain-beating and chain-crossing projects, an ecology of "one main chain" and "multiple side chains" is proposed, in which chain a, chain B, and all chains in the whole ecology are sent out several representative nodes to form a chain O, and the chain O is responsible for verifying and checking the authenticity of information in all chains, and this chain O can be regarded as a prophetic machine in this ecology. In such a system, the step of information interworking is: 1) user a in chain A provides a declaration "M on chain B"; 2) chain A represents a node to verify the authenticity of M on chain B and issues on chain O; 3) chain B in chain O the information "M on chain B" on chain O is acknowledged by the node and others. However, the method can only realize chain crossing in a single specific ecology, and still has no universal applicability, and since the operation nodes of each chain are individuals which are not trusted with each other, the chain composed of the representatives selected by each chain is not necessarily more trusted than an external third-party prediction machine, and obviously, the security is not high.
It can be seen that the four common block chain crossing methods at present have the problems of low crossing efficiency, low general applicability and low safety.
In order to solve the above-mentioned drawback, an embodiment of the present application provides a block chain crossing method, where after receiving crossing chain request information and certification information, a certificate in the certification information is authenticated by using a block chain list of an authoritative certification authority, and after the certificate passes the authentication, a verification algorithm of a target block chain is obtained according to an authentication result, and then, whether the crossing chain certification information is true is verified by using the obtained verification algorithm, and whether the crossing chain request information is true is determined, and when it is determined that the crossing chain certification information is true and the crossing chain request information is true, the crossing chain with the target block chain can be implemented. It can be seen that, in the embodiment of the present application, the blockchain list in the existing authoritative certification authority (such as CA) is used for certifying the certificate in the certification information, and since the authoritative certification authority is a trusted authority in the internet, the certification authority has higher credibility than that of an existing third party predicting machine, and the authoritative certification authority in the present application is only responsible for providing the certificate and the verification algorithm of the blockchain, and since the public keys of a plurality of approved CAs are already written into computer hardware, an operating system or a browser as trusted information, it is not necessary to introduce any trusted device higher than that outside the current internet infrastructure, compared with the existing cross-chain method, the cross-chain efficiency is higher, the general applicability and the security are also stronger, and the requirement of information intercommunication between all blockchains in the future can be met.
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
First embodiment
Referring to fig. 5, a schematic flow chart of a block chain crossing method provided in this embodiment is shown, where the method includes the following steps:
s501: cross-chain request information and attestation information is received.
In this embodiment, in order to improve efficiency, general applicability, and security of inter-block chain inter-block chain inter-block chain inter-block chain inter-block chain inter-block chain inter-block chain inter-block chain inter-block chain.
The request information may be a declaration that a node on a chain makes to other nodes in the chain network, and the certification information provides information for verification for verifying the authenticity of the request information. For example, taking the cross-chain between chain a and chain B as an example, the declaration that user a on chain a can make to other nodes in the chain a network is: "transaction M and certificate approval transaction [ certificate: chain B (defined here as Tx (G (B, v3, Address))) is on chain B ", and gives a proof that can be verified as: prove (M and Tx (G (B, v3, Address)) on chain B).
S502: and authenticating the certificate in the certification information by using the block chain list of the authoritative certification authority, and acquiring a verification algorithm of the target block chain according to an authentication result after the certificate passes the authentication.
In this embodiment, after receiving the cross-chain request information and the certification information in step S501, the certificate in the certification information may be further authenticated by using a blockchain list of an authoritative certification authority, where the blockchain list of the authoritative certification authority includes the basic information, the certificate, and the verification algorithm of each blockchain. And then, after the authentication is passed, the verification algorithm of the target block chain can be obtained according to the authentication result.
It should be noted that, in order to accurately authenticate the certificate in the certification information, an alternative implementation manner is that the block chain list is first stored in an authoritative certification authority (such as a CA) and periodically updated.
In this implementation, for each version update of each blockchain in the blockchain list, the authority certificate authority first signs the update information (including the name and version number of the blockchain and the Address capable of querying the related information of the blockchain) of each blockchain by using a private key to obtain a certificate corresponding to each blockchain and issues the certificate to the outside, for example, the signed certificate corresponding to the blockchain B may be defined as G (B, v3, Address), where G represents the authority certificate authority, B represents the name of the blockchain B, v3 represents the current version number of the blockchain B, and Address represents the Address (such as a website Address) capable of querying the basic information of the blockchain B. It should be noted that the public key of the authoritative certificate authority G in this application is known to all blockchain nodes (the operating system or browser will embed a list of trusted authoritative certificates). Then, each blockchain may authenticate a certificate issued externally by an authority certificate authority, and after the certificate passes the authentication, update the corresponding certificate into the blockchain list, which may specifically include the following steps a1-a 2:
step A1, the authenticity of the certificate is verified by making the uplink confirmation of the certificate to be updated.
Step A2: and when the certificate to be updated is successfully linked, taking the certificate to be updated as the latest certificate of the block chain to be authenticated in the block chain list.
In this embodiment, the blockchain certificate need not be submitted by a node signature in the blockchain, but may be obtained from any node or from other common channels, since the blockchain is not owned by any organization or organization. Accordingly, the authenticity of the certificate may be verified by making a link confirmation on the certificate to be updated, and for this reason, a transaction in a special format, that is, "certificate approval" transaction, is added to the rule of the blockchain to be authenticated, and is defined as Tx (an authoritative certificate authority name (blockchain name, current version number, Address where blockchain basic information can be queried)), for example, Tx (G (B, v3, Address)), and at this time, as long as it is ensured that the link is successfully made by Tx (G (B, v3, Address)), all nodes of the chain B may approve the certificate G (B, v3, Address), and the certificate to be updated may be used as the latest certificate of the blockchain to be authenticated in the blockchain list, that is, G (B, v3, Address) is used as the latest certificate of the blockchain list blockchain B.
Specifically, after a transaction of a special format, namely a 'certificate approval' transaction, is added to the rules of the blockchain to be authenticated, when the blockchain with the transaction is received, the transaction comprises a certificate to be updated issued by an authority certification authority and signed by a private key of the authority certification authority, and the certificate comprises: the name of the blockchain, the current version of the blockchain, some public address (e.g., web address) to which this certificate can be consulted, and blockchain information. And the validation rules for this transaction are as follows:
(1) the certificate can be verified to actually come from the trusted authority certificate authority through the system own trusted authority list.
(2) According to the given address, whether the certificate is consistent with the certificate to be updated given in the certificate approval transaction is verified.
(3) The chain B information provided in the organization is downloaded and compared with locally known chain B information (e.g., consensus algorithm, attestation algorithm, etc.) to verify if they are consistent.
Based on this, after receiving the certification information, it may be determined whether the certificate of the certification information type is included in the blockchain list of the authority certificate authority; if so, verifying whether the certificate of the certification information is the latest certificate of the target block chain or not according to the address information in the certificate of the certification information; if so, after the certificate is verified to come from a certain trusted authority certificate authority according to the existing authority certificate authority list, the latest certificate, the basic message and the verification algorithm of the target block chain corresponding to the certificate can be consulted and confirmed according to the Address (Address) in the certificate.
S503: and verifying whether the cross-chain certification information is true by using a verification algorithm, and judging whether the cross-chain request information is true.
In this embodiment, after the verification algorithm of the target block chain is obtained in step S502, it may be further used to verify whether the obtained certification information is true, and determine whether the inter-chain request information is true. For example, based on the above example, after acquiring the basic message and the authentication algorithm of chain B, all nodes of chain a may further verify whether "prove (M and Tx (G (B, v3, Address)) are on chain B))" is true by using the authentication algorithm, and determine that the statement "transaction M and certificate approval transaction [ certificate: chain B) (i.e., Tx (G (B, v3, Address))) is all on chain B "true.
Thus, blockchains with cross-chain requirements only need to be upgraded with changes in the algorithm that support "certificate approval" transactions. Then, the accuracy of the block chain information and the description of the verification algorithm in the certificate can be verified by itself, and the certificate passes the 'certificate approval' transaction chain. For an authoritative certification authority, it is only necessary to update the certificate in the case of a change in version of the blockchain, and to remain always online to provide information about the chain to nodes with cross-chain requirements, which is naturally satisfied because, as an authoritative certification authority, it is originally required to remain online at all times. For other nodes on the receiver chain A of information intercommunication, they do not need to know any information about the chain B in advance, and only need to obtain the verification algorithm of the target block chain B from the authentication authority after obtaining the cross-chain request of a, then verify the authenticity of the certification information through the verification algorithm, and judge the authenticity of the request, such as confirming that M is indeed on the chain B. The efficiency of chain crossing is further improved.
S504: when the cross-chain certification information is confirmed to be true and the cross-chain request information is confirmed to be true, cross-chain with the target blockchain is achieved.
In the present embodiment, when it is confirmed through step S503 that the inter-chain certification information is true and the inter-chain request information is true, it indicates that the inter-chain is successful, i.e., the inter-chain with the target block chain is achieved, as exemplified above, when it is confirmed that "certification (M and Tx (G (B, v3, Address)) is on chain B)" and "transaction M and certificate approval transaction [ certificate: chain B) (i.e., Tx (G (B, v3, Address))) is true, indicating that user a has successfully convinced all node messages M on chain a on chain B.
It should be noted that, compared to the predicting machine, the existing authoritative certification authority is originally regarded as a trusted authority in the internet, and has higher credibility than the third-party predicting machine. In addition, the prediction machine in the existing prediction machine model is responsible for providing authentication of all information, while the authoritative certification authority in the application is only responsible for providing the certificate and the verification algorithm of the block chain, and any trusted device higher than that outside the current internet infrastructure does not need to be introduced, and the cross-chain method provided by the application is suitable for information intercommunication among all provable block chains. The universal applicability and the safety of the cross-chain are further improved.
In summary, in the chain crossing method for a block chain provided in this embodiment, after receiving the chain crossing request information and the certification information, the certificate in the certification information is authenticated by using the block chain list of the authoritative certification authority, and after the certification is passed, the verification algorithm of the target block chain is obtained according to the authentication result, and then, by using the obtained verification algorithm, whether the chain crossing certification information is true or not is verified, and whether the chain crossing request information is true or not is determined, and when it is determined that the chain crossing certification information is true and the chain crossing request information is true, the chain crossing with the target block chain can be achieved. It can be seen that, in the embodiment of the present application, the blockchain list in the existing authoritative certification authority (such as CA) is used for certifying the certificate in the information, and since the authoritative certification authority is a trusted authority in the internet, compared with the existing third party, the authoritative certification authority has higher credibility, and the authoritative certification authority in the present application is only responsible for providing the certificate and verification algorithm of the blockchain, and does not need to introduce any trusted device higher than that outside the current internet infrastructure, compared with the existing cross-chain method, the cross-chain method has higher efficiency, stronger universal applicability and security, and can meet the requirement of information intercommunication between all blockchains in the future.
It should be noted that, for ease of understanding, the entire interaction diagram of the block chain across the chain is shown in fig. 6. The implementation process of the block chain cross-chain method provided by the embodiment of the application is introduced.
As shown in fig. 6, the implementation process of the embodiment of the present application is as follows: first, user a on chain a declares to other nodes in the chain a network: "transaction M and certificate approval transaction [ certificate: chain B) (i.e., Tx (G (B, v3, Address))) is on chain B ", and gives a verifiable proof that: prove (M and Tx (G (B, v3, Address)) on chain B). Then, the other nodes in the chain a authenticate the certificate in the certification information by using the blockchain list of the authoritative certificate authority, that is, whether the certificate is really authenticated from the trusted authority certificate authority or not is verified, and after the certificate passes the authentication, the certificate and the verification algorithm of the chain B are obtained according to the Address (such as the website) given in the certificate, and further, after the certificate comparison is correct, the certificate provided by the user a (M and Tx (G (B, v3, Address)) on the chain B) can be verified according to the obtained verification algorithm, and whether the statement provided by the user a is true or not is judged. If the result is true, the chain crossing is successful, that is: the user a successfully persuade all the node messages M on the chain a on the chain B, and the specific implementation process is referred to step S501 to step S504.
Second embodiment
In this embodiment, a block chain crossing device will be described, and for related contents, reference is made to the above method embodiments.
Referring to fig. 7, a schematic composition diagram of a chain crossing apparatus for a blockchain provided in this embodiment is shown, the apparatus including:
a receiving unit 701, configured to receive cross-chain request information and certification information;
an obtaining unit 702, configured to authenticate a certificate in the certification information by using a blockchain list of an authoritative certification authority, and obtain a verification algorithm of a target blockchain according to an authentication result after the certificate passes the authentication;
a verification unit 703 configured to verify, by using the verification algorithm, whether the inter-chain certification information is true, and determine whether the inter-chain request information is true;
a confirming unit 704, configured to implement a cross-link with the target block chain when the cross-link proving information is confirmed to be true and the cross-link request information is confirmed to be true.
In one implementation of this embodiment, the blockchain list of the authoritative certification authority includes basic information, certificates, and verification algorithms for each blockchain.
In an implementation manner of this embodiment, the obtaining unit 702 includes:
the judging subunit is configured to judge whether the certificate of the certification information is included in the blockchain list of the authoritative certification authority;
the first verification subunit is configured to verify, if it is determined that the certificate of the certification information is included in the blockchain list of the authoritative certification authority, whether the certificate of the certification information is the latest certificate of the target blockchain according to address information in the certificate of the certification information;
and the obtaining subunit is configured to obtain a verification algorithm of the target block chain if it is verified that the certificate of the certification information is the latest certificate of the target block chain according to the address information in the certificate of the certification information.
In an implementation manner of this embodiment, the apparatus further includes:
and the updating unit is used for storing and periodically updating the block chain list in the authoritative certification authority.
In an implementation manner of this embodiment, the updating unit includes:
the second verification subunit is used for verifying the authenticity of the certificate by means of uplink confirmation of the certificate to be updated;
and the updating subunit is configured to, when the to-be-updated certificate is successfully linked up, use the to-be-updated certificate as the latest certificate of the to-be-authenticated blockchain in the blockchain list.
In summary, in the block chain crossing device provided in this embodiment, after receiving the crossing chain request information and the certification information, the certificate in the certification information is authenticated by using the block chain list of the authoritative certification authority, and after the certification is passed, the verification algorithm of the target block chain is obtained according to the authentication result, and then, by using the obtained verification algorithm, whether the crossing chain certification information is true is verified, and whether the crossing chain request information is true is determined, and when it is determined that the crossing chain certification information is true and the crossing chain request information is true, the crossing chain with the target block chain can be implemented. It can be seen that, in the embodiment of the present application, the blockchain list in the existing authoritative certification authority (such as CA) is used for certifying the certificate in the information, and since the authoritative certification authority is a trusted authority in the internet, compared with the existing third party, the authoritative certification authority has higher credibility, and the authoritative certification authority in the present application is only responsible for providing the certificate and verification algorithm of the blockchain, and does not need to introduce any trusted device higher than that outside the current internet infrastructure, compared with the existing cross-chain method, the cross-chain method has higher efficiency, stronger universal applicability and security, and can meet the requirement of information intercommunication between all blockchains in the future.
Further, an embodiment of the present application further provides a block chain crossing device, including: a processor, a memory, a system bus;
the processor and the memory are connected through the system bus;
the memory is used for storing one or more programs, and the one or more programs comprise instructions which when executed by the processor cause the processor to execute any one implementation method of the above block chain cross-chain method.
Further, an embodiment of the present application further provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are run on a terminal device, the terminal device is caused to execute any implementation method of the above block chain cross-chain method.
As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that all or part of the steps in the above embodiment methods can be implemented by software plus a necessary general hardware platform. Based on such understanding, the technical solution of the present application may be essentially or partially implemented in the form of a software product, which may be stored in a storage medium, such as a ROM/RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network communication device such as a media gateway, etc.) to execute the method according to the embodiments or some parts of the embodiments of the present application.
It should be noted that, in the present specification, the embodiments are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments may be referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
It is further noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.