CN111464518B - Method and device for sending and verifying cross-link communication data - Google Patents

Method and device for sending and verifying cross-link communication data Download PDF

Info

Publication number
CN111464518B
CN111464518B CN202010216356.4A CN202010216356A CN111464518B CN 111464518 B CN111464518 B CN 111464518B CN 202010216356 A CN202010216356 A CN 202010216356A CN 111464518 B CN111464518 B CN 111464518B
Authority
CN
China
Prior art keywords
chain
cross
hash
transaction data
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010216356.4A
Other languages
Chinese (zh)
Other versions
CN111464518A (en
Inventor
胡勇新
蒋万江
谢新强
周爱
佘伦凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xinchuang Zhichain Technology Co ltd
Original Assignee
Beijing Xinchuang Zhichain Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xinchuang Zhichain Technology Co ltd filed Critical Beijing Xinchuang Zhichain Technology Co ltd
Priority to CN202010216356.4A priority Critical patent/CN111464518B/en
Publication of CN111464518A publication Critical patent/CN111464518A/en
Application granted granted Critical
Publication of CN111464518B publication Critical patent/CN111464518B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

The present disclosure relates to the field of block chain security technologies, and in particular, to a method and an apparatus for transmitting and verifying cross-chain communication data. According to the scheme, cross-chain transaction data are subjected to Hash operation to form current Hash chain nodes which are related to the front and back of the Hash chain nodes, the cross-chain transaction data and the Hash value of the current Hash chain node are sent to a target block chain, the cross-chain transaction data are operated by using the same Hash operation method on the target block chain, the calculation result is compared with the Hash value of the current Hash chain node, and therefore cross-chain communication data are verified. By the above-described method of embodiments herein, the security of the communication between the side chain and the main chain can be improved.

Description

Method and device for sending and verifying cross-link communication data
Technical Field
The present disclosure relates to the field of block chain security technologies, and in particular, to a method and an apparatus for transmitting and verifying cross-chain communication data.
Background
A Distributed Ledger System (DLS), which may also be referred to as a consensus network and/or a blockchain network, enables participating entities to securely store data in a tamper-proof manner. Without reference to any particular use case, DLS is often referred to as a blockchain network.
Example types of blockchain networks may include public blockchain networks, private blockchain networks, and federation blockchain networks. The public blockchain network is open to all entities to use DLS and participate in the consensus process. A private blockchain network is provided for a particular entity that centrally controls read and write permissions. A federation blockchain network is provided for selected entity groups that control the consensus process and include an access control layer. The block chain has the technical advantages of decentralization, tamper resistance, data consistency storage, transparent and traceable process and the like, and is considered to have wide application prospects in numerous fields of finance, credit investigation, internet of things, economic trade settlement, asset management and the like.
In many chains, related assets are independent, a chain crossing technology is developed along with the chain crossing technology in order to solve the transaction problem among different chains, the most basic meaning of chain crossing is to realize the circulation of value, solve the island problem of valuable data among different chains, and form a larger general block chain network by the chain crossing technology, so that the practical significance is increased. For example, there are 1 independent supply chain block chain and 1 independent commodity sale block chain, and 2 block chains are combined together, so that the whole life cycle of a commodity from production to sale can be covered. If the data of 2 block chains are communicated through a chain crossing technology to realize sharing and exchange, the tracing of the whole life cycle of a commodity can be realized, data mining based on the realization of the whole life cycle and the like can be realized, and the method has very important reference value and guiding significance for practical production.
However, the cross-link technology in the prior art has a great security problem, and how to ensure the security of cross-link communication data is an urgent problem to be solved.
Disclosure of Invention
To solve the technical problems in the prior art, embodiments herein provide a method, an apparatus, and a computer-readable storage medium for transmitting and verifying cross-link communication data.
In one aspect, embodiments herein provide a method for transmitting cross-chain communication data, including,
carrying out specific Hash operation on the current cross-chain transaction data by an initiating chain node of cross-chain transaction according to the sequence of the current cross-chain transaction data sequence, and establishing current Hash chain nodes which are related to the existing Hash chain nodes in front and back;
sending cross-chain communication data including the hash value of the current hash chain node and the cross-chain transaction data to a destination blockchain.
In another aspect, an embodiment herein further provides a method for verifying cross-chain data, including,
receiving cross-chain communication data sent by an initiating chain node of cross-chain transaction, wherein the cross-chain communication data comprises a hash value of a current hash chain node in the initiating chain and cross-chain transaction data;
according to the sequence of the cross-chain transaction data in the cross-chain communication data, performing specific hash operation on the cross-chain transaction data in the cross-chain communication data, wherein the specific hash operation is the same as that of the initiating chain node, and obtaining verification hash chain nodes which are related to the existing hash chain nodes of the initiating chain in front and back;
comparing the hash value of the verification hash chain node with the hash value of the current hash chain node in the cross-chain communication data;
if the comparison result is the same, the verification is passed.
In another aspect, an embodiment herein further provides an apparatus for transmitting data in cross-link communication, including,
the hash chain node establishing module is used for carrying out specific hash operation on the current cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence and establishing current hash chain nodes which are related to the existing hash chain nodes in front and back;
and the sending module is used for sending the cross-chain communication data comprising the hash value of the current hash chain node and the cross-chain transaction data to a target block chain.
In another aspect, embodiments herein also provide an apparatus for verifying cross-chain communication data, including,
the receiving module is used for receiving cross-link communication data sent by an initiating link node of cross-link transaction;
the calculation module is used for carrying out specific Hash operation on the cross-chain transaction data in the cross-chain communication data, which is the same as the initiating chain node, according to the sequence of the cross-chain transaction data in the cross-chain communication data to obtain verification Hash chain nodes which are related to the existing Hash chain nodes of the initiating chain in the front and back directions;
a verification module for comparing the hash value of the verification hash chain node with the hash value of the current hash chain node in the cross-chain communication data; if the comparison result is the same, the verification is passed.
In another aspect, embodiments herein also provide a computer device including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the above method when executing the computer program.
In another aspect, embodiments herein also provide a computer-readable storage medium having stored thereon computer instructions, which when executed by a processor, implement the above-described method.
By using the embodiment of the present disclosure, the security of communication between the side chain and the main chain may be improved, and when cross-chain transaction data sent by the side chain to the main chain (or the side chain to another side chain through the main chain, or the main chain to the side chain) is hijacked and may be tampered, a security risk may be discovered by performing hash verification on the cross-chain transaction data by using the method in the embodiment of the present disclosure, so that the security of cross-chain transaction between the side chain and the main chain may be ensured.
Drawings
In order to more clearly illustrate the embodiments or technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a block chain structure according to an embodiment of the present disclosure;
FIG. 2 is a schematic illustration of verification during a side chain to main chain cross-chain transaction according to embodiments herein;
FIG. 3 is a diagram illustrating a hash chain generated from a message queue according to an embodiment of the present disclosure;
FIG. 4 is a flowchart detailing the conversion of a message queue into hash chain nodes;
fig. 5 is a flowchart illustrating the main-chain relay node verifying the hash value in the side-chain communication data according to an embodiment of the present disclosure;
FIG. 6 is a flow diagram illustrating a verification process for one side chain sending cross-chain transaction data to another side chain according to an embodiment of the disclosure;
FIG. 7 is a diagram illustrating generation of two hash chains from two message queues according to an embodiment of the present disclosure;
FIG. 8 is a communication data structure in an embodiment herein;
FIG. 9 is a flow chart of a method of validating communication data;
FIG. 10 is a flowchart illustrating the verification of the received cross-link communication data according to the present embodiment;
fig. 11 is a schematic structural diagram illustrating a transmitting apparatus for cross-link communication data according to an embodiment of the present disclosure;
FIG. 12 is a schematic structural diagram illustrating an apparatus for cross-link data communication according to an embodiment of the present disclosure;
fig. 13 is a schematic structural diagram of a node according to an embodiment of the present disclosure.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments herein without making any creative effort, shall fall within the scope of protection.
Further background is provided for embodiments herein, and as noted above, a Distributed Ledger System (DLS), which may also be referred to as a consensus network (e.g., consisting of peer-to-peer nodes) and blockchain network, enables participating entities to securely and non-tamperproof conduct transactions and store data. The term blockchain as used herein generally refers to DLS without reference to any particular use case.
Blockchains are data structures that store transactions in such a way that they are not changeable and can subsequently be verified. A block chain includes one or more blocks. Each chunk in the chain is linked to the immediately preceding chunk in the chain by a cryptographic hash value (cryptographical hash) that includes the previous chunk. Each block also includes a timestamp, its own cryptographic hash value, and one or more transactions. Transactions that have been verified by the nodes of the blockchain network are hashed and encoded into a Merkle tree. A Merkle tree is a data structure in which data at leaf nodes of the tree is hashed and all hash values in each branch of the tree may be connected to the root of the branch. This process continues down the tree up to the root of the entire tree where hash values representing all of the data in the tree are stored. The hash value of a transaction purported to be stored in the tree can be quickly verified by determining whether it is consistent with the structure of the tree.
While blockchains are data structures used to store transactions, blockchain networks are networks of computing nodes that manage, update, and maintain one or more blockchains. As described above, the blockchain network may be provided as a public blockchain network, a private blockchain network, or a federated blockchain network.
In a public blockchain network, the consensus process is controlled by nodes of the consensus network. For example, hundreds, thousands, or even millions of entities may cooperate to operate a public blockchain network, with each entity operating at least one node in the public blockchain network. Thus, a public blockchain network may be considered a public network with respect to participating entities. In some examples, most entities (nodes) must sign each block so that the block is valid and added to the blockchain (distributed ledger) of the blockchain network. Exemplary public blockchain networks include point-to-point payment networks that utilize a distributed ledger (referred to as a blockchain). However, as noted above, the term blockchain is generally used to refer to a distributed ledger without specifying any particular blockchain network.
Generally, public blockchain networks support open transactions. The open transaction is shared by all nodes within the public blockchain network and stored in the global blockchain. A global blockchain is a chain of blocks that is replicated across all nodes. That is, for a global blockchain, all nodes are in full state consensus. To achieve consensus (e.g., agree to add blocks to a blockchain), a consensus protocol is implemented within the public blockchain network. Examples of consensus protocols include, but are not limited to, Proof of workload (POW), Proof of rights (POS), Proof of authority (POA), and Proof of delegation of rights (DPOS-deleted Proof of stamp). Further reference is made herein to DPOS as a non-limiting example.
Generally, a private blockchain network is provided for a specific entity that centrally controls read and write rights. The entity controls which nodes can participate in the blockchain network. Thus, private blockchain networks are often referred to as licensed networks, which place restrictions on the allowed participation in the network and the level of participation (e.g., only in certain transactions). Various types of access control mechanisms may be employed (e.g., existing participants vote to add a new entity, regulatory authorities may control permissions).
Generally, a federated blockchain network is private between the participating entities. In a federated blockchain network, the consensus process is controlled by a set of authorized nodes, one or more of which are operated by respective entities (e.g., financial institutions, insurance companies). For example, a federation of ten (10) entities (e.g., financial institutions, insurance companies) may operate one federated blockchain network, with each entity operating at least one node in the federated blockchain network. Thus, a federated blockchain network can be viewed as a private network associated with the participating entities. In some examples, each entity (node) must sign each chunk to make the chunk valid and added to the chain of chunks. In some examples, at least a subset of the entities (nodes) (e.g., at least more than half of the decision maker nodes or more than two thirds of the number of decision maker nodes) must sign each block to make the block valid and added to the block chain.
A blockchain is a tamper-resistant, shared digital ledger used to record transactions in public or private point-to-point networks. The ledger is distributed to all member nodes in the network, and a history of asset transactions occurring in the network is permanently recorded in blocks. Nodes on the blockchain may need to perform computations using various techniques before participating in a transaction. Under current solutions, since each blockchain is independent, the nodes of one blockchain cannot communicate with other chains. For example, a node cannot read data from or exchange data with other blockchains. Furthermore, if complex computational logic and protocols are required, performing such computations entirely on blockchains can consume blockchain computational resources and significant time, even if the nodes do not require data from other blockchains to perform the computations.
Embodiments herein are described in further detail herein with reference to federated blockchain networks, which are disclosed between participating entities. However, it is contemplated that embodiments herein may be implemented in any suitable type of blockchain network.
Fig. 1 is a schematic block chain structure diagram of an embodiment of the present disclosure, in which a main chain network 100, a first side chain network 200, and a second side chain network 300 are included, and further side chain networks may be included, and since all block chain networks are based on the internet, it is difficult for a computer (or a server) in some internet to exactly distinguish the node in the main chain network 100 from the node in which side chain network in a regional or spatial manner, and thus the main chain network and the side chain networks are described in a "chain" shape in fig. 1, but may be more complex in a real network environment.
In the system environment, all the sidelink networks 200 or 300 are connected to the main chain network 100 and can communicate with the main chain network 100 (i.e. data transmission), but the first sidelink network 200 and the second sidelink network 300 cannot directly communicate with each other and need to be "relayed" through the main chain network 100. The "forwarding" of the data information in the main-chain network 100 or the side- chain networks 200 and 300 is accomplished through the relay nodes in the respective networks, for example, the first side-chain network 200 communicates with the relay nodes in the main-chain network 100 through the relay nodes therein, and sends the data information such as query, storage, etc. to the relay nodes in the main-chain network 100, and the relay nodes in the main-chain network sends the data information that needs to be sent to the second side-chain network 300 to the relay nodes in the second side-chain network 300.
Each side chain network is stored with a shared account book of the side chain network, and the main chain is also reserved with the shared account book of the main chain.
In the first case, when a user in the first sidelink network makes a transaction with another user in the first sidelink network, for example, a decision node of the first sidelink network (i.e., a node that can generate a block according to transaction data) generates a block according to transaction data, and adds the block to the shared account book of the first sidelink network after the decision node meeting the quantity requirement passes consensus verification.
In the second case, for example, when a user in the first side-chain network transacts with a user in the main-chain network (or when a transaction such as storage, query, etc. needs to be performed in the main-chain network), the decision node of the first side-chain network generates a block according to the transaction data, the block is added into the shared account book of the first side-chain network after the decision node meeting the quantity requirement performs consensus verification, and the relay node of the first side-chain network performs a specific hash operation on the transaction data to form a hash node in the hash chain of the first side-chain network, the relay node in the first side-chain network sends the hash value of the hash node and the transaction data to the relay node in the main-chain network, the relay node in the main-chain network performs verification according to the hash value and the transaction data so as to determine the security of the transaction data, and then performs subsequent processing according to the transaction data, for example, completing a transaction or querying, storing, etc., and then generating a block of the main chain network according to the transaction data and adding the block into the block chain of the main chain network.
In a third case, for example, when a user in the first side-chain network makes a transaction with a user in the second side-chain network (or when a transaction such as storage, query, and the like needs to be performed in the second side-chain network), a decision-maker node of the first side-chain network generates a block according to transaction data, the block is added into the shared account book of the first side-chain network after the decision-maker node meeting the quantity requirement passes consensus verification, and a relay node of the first side-chain network performs a specific hash operation on the transaction data to form a hash node in the hash chain of the first side-chain network, the relay node in the first side-chain network sends the hash value of the hash node and the transaction data to a relay node in the main-chain network, and the relay node in the main-chain network performs verification according to the hash value and the transaction data, so as to determine the security of the transaction data; after the safety of the transaction data sent by the first side chain is determined, the main chain generates a new hash value according to the transaction data, then sends the transaction data and the new hash value to a relay node in a second side chain network, the second side chain network verifies the transaction data and the hash value, then carries out subsequent processing according to the transaction data, such as transaction completion, inquiry, storage and the like, and then generates a block of the second side chain network according to the transaction data and adds the block into a block chain of the second side chain network.
In a fourth case, for example, when a user in the main-chain network needs to perform a transaction with a user in the first side-chain network (or needs to perform a transaction such as storage, query, and the like in the first side-chain network), the decision node of the main-chain network generates a block according to the transaction data, the block is added into the shared account book of the main-chain network after the decision node meeting the quantity requirement performs consensus verification, and the relay node of the main-chain network performs a specific hash operation on the transaction data to form a hash node in the hash chain of the main-chain network, the relay node in the main-chain network sends the hash value of the hash node and the transaction data to the relay node in the first side-chain network, and the relay node in the first side-chain network performs verification according to the hash value and the transaction data, so as to determine the security of the transaction data.
The second and third cases will be exemplified below, and the technical means in the two cases can be referred to in other cases.
First embodiment
Fig. 2 is a schematic diagram of verification when a side chain performs a cross-link transaction to a main chain according to an embodiment of the present invention, in which a plurality of nodes (user terminals) in the side chain perform transactions (transaction data such as transaction requests) to the main chain, and the cross-link transaction data forms communication data, where the communication data includes a plurality of cross-link transaction data, the plurality of cross-link transaction data is used as a sequence (a cross-link transaction block stores a plurality of cross-link transaction data), hash values of hash chain nodes corresponding to the sequence, and block header information of a block formed by the side chain for the transaction data, and a process of performing communication data verification is performed at a relay node of the main chain.
In step 201, a plurality of nodes initiate a cross-chain transaction to a main chain.
In this step, a plurality of nodes in the side chain generate different transaction requests to form transaction data, some transaction requests only need to be processed in the side chain (i.e. the first case described above), for example, to perform a transaction with another node in the side chain, and some transaction requests are transaction requests to the main chain, i.e. cross-chain transaction data, for example, data stored in the main chain.
In step 202, the decision node in the side chain generates a block according to the transaction data, and adds the block to the block chain of the side chain.
In this step, for example, a block may be generated according to a plurality of transaction data, the block is subjected to consensus verification by at least more than half of decision nodes, and the block is added to the block chain of the side chain after verification; if the consensus verification is not passed, the block is discarded.
In this step, the decision node in the side chain generates a plurality of blocks from the cross-chain transaction data, performs consensus verification on the blocks, and adds the blocks into the block chain of the side chain after the consensus verification is passed.
In step 203, the relay node in the side chain (which may also be a node of other functions, such as a decision maker node, and the relay node performs the following functions in this document, but does not exclude other function nodes from performing the same function) forms a message queue with multiple cross-chain transaction data in one block, where the message queue is generated according to the sequence of cross-chain transaction data generation, and each message is one cross-chain transaction data.
And step 204, the relay node in the side chain generates the message queue into a node in a hash chain.
In this step, referring to fig. 3, a schematic diagram of generating a hash chain from a message queue in the embodiment of this document, in this figure, there is only one message queue Q1, in which 4 cross-chain transaction data (i.e. message 1, message 2, message 3, and message 4) are included, and a hash chain corresponding to the message queue generated by the message is shown in the lower side of the figure, and a current hash chain link point hash value is stored in a block with a height H + 1. Each node of the hash chain is obtained by performing a hash operation on the message queue, and specifically, refer to fig. 4, which is a flowchart specifically illustrating a process of converting a message queue into a hash chain node, where the process may be performed by a relay node in a side chain or may be performed by other functional nodes, for example, a decision maker node, and the process specifically includes:
step 401, check whether there is a hash chain in the block chain.
If a hash chain already exists, step 405 is entered, otherwise step 402 is entered.
Step 402, a first temporary hash value of a hash chain current hash chain node is generated according to the first cross-chain transaction data of the current message queue.
In this step, a specific hash operation is performed on the first message (i.e., the first cross-chain transaction data) in the message queue, for example, using SHA-3256 algorithm or other hash algorithm, to generate a first temporary hash value.
And step 403, generating a subsequent temporary hash value of the current hash chain node according to the subsequent cross-chain transaction data of the current message queue.
Then merging the second message (2 nd cross-link transaction data) with the first temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a second temporary hash value;
merging the third message (the 3 rd cross-link transaction data) with the second temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a third temporary hash value;
and merging the fourth message (4 th cross-link transaction data) with the third temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a fourth temporary hash value.
Step 404, combining the four temporary hash values, and then performing the specific hash operation or the hash operation to obtain a hash value corresponding to the message queue, that is, a hash value of a first node of the hash chain.
The merging described in this embodiment may be to splice the two data end to end, or to convert the two data into bits with the same length, and perform an and or operation according to the bits, or to merge the two data in other manners, which is not described herein again.
Step 405, the hash value of the last node of the existing hash chain is obtained.
In this step, if there is a hash chain, the hash value of the last node in the existing hash chain is obtained, as shown in fig. 3, the hash value of the previous hash chain node is obtained.
Step 406, merging the hash value of the last node of the existing hash chain with the first message (i.e. the first cross-chain transaction data) in the message queue, and performing a specific hash operation or other hash algorithms on the merged result to generate a first temporary hash value.
Step 407, generating a subsequent temporary hash value of the current hash chain node according to the subsequent cross-chain transaction data of the current message queue.
Merging the second message (the 2 nd cross-link transaction data) with the first temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a second temporary hash value;
merging the third message (the 3 rd cross-link transaction data) with the second temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a third temporary hash value;
and merging the fourth message (4 th cross-link transaction data) with the third temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a fourth temporary hash value.
Step 408, combining the four temporary hash values, and then performing the specific hash operation or other hash operations to obtain the hash value of the message queue, that is, the hash value of the current node of the hash chain.
In addition, in order to embody the sequential relationship of each node in the hash chain, the serial number of the hash chain node can be added into each node.
The merging may be splicing the hash value and the cross-chain transaction data before and after, performing bitwise and/or on the hash value and the cross-chain transaction data, or performing other processing.
The hash operation may be performed on the current message queue (all cross-link transaction data that needs to be transmitted this time) once to obtain a first hash value, and then the hash operation is performed on the second hash value of the previous node of the current hash link node and the first hash value to obtain the current hash link node, where the hash value of the current hash link node is included in the current hash link node.
Through the steps of generating the hash chain nodes, each node in the whole hash chain can be related front and back, and the change of the hash value of one node can prevent the follow-up nodes from passing check calculation.
In step 205, the relay node of the side chain sends the hash value of the current hash chain node and the cross-chain transaction data as communication data to the main chain relay node.
In this step, a plurality of cross-chain transaction data to be transmitted currently are placed in a block body with a height H, a hash value of a current hash chain node is placed in block header information of a block with a height H +1, and consensus verification information for the block with the height H +1 is placed in data of a block body with a block height H + 2.
In this step, as shown in fig. 8, a schematic diagram of a communication data structure of cross-link transaction data according to an embodiment of the present invention further includes a block with a height H +2, where the block includes consensus verification information of at least more than two thirds of decision node pairs with a side chain for the block with the height H +1, that is, voting information and signature information of a plurality of decision node pairs with the side chain for the block with the height H +1 (a block header recording hash value of hash chain link points).
And step 206, after the communication data is received by the relay node of the main chain, verifying the signature verification information in the communication data.
In this step, the decision node in the main chain verifies whether the hash value of the hash chain node in the received communication data passes through the side chain decision node for verification, that is, the public key of the side chain decision node is used for verifying the voting information and the signature information, specifically, the public key of the side chain decision node is used for decrypting the signature information, and if the decryption is successful, the hash value contained in the block header with the height of H +1 corresponding to the signature information is legal, so that the transaction data can be further confirmed to be true and valid, for example, whether a side chain user sending the storage transaction request in the transaction data has the right to store the data in the main chain, or whether a side chain user sending the inquiry transaction request has the right to inquire the data in the main chain.
In this step, the relay node of the main chain may also verify whether the initiator of the cross-link data, that is, the user who initiates the transaction request such as inquiry or storage, has the right to perform the corresponding transaction such as inquiry or storage in the main chain, without checking the consensus verification information in the communication data.
If the verification passes, step 207 is entered, otherwise step 209 is entered.
The step 206 is optional, that is, the following steps may be directly performed without verifying the signature verification information in the communication data.
In step 207, the relay node of the main chain verifies the hash value of the current hash chain node in the communication data.
In the present embodiment, the communication data may be verified by other functional nodes of the main chain, such as a decision maker node of the main chain, or an intelligent contract, and in the following examples, a relay node is taken as an example for explanation.
In this step, reference may be made to fig. 5, where fig. 5 is a flowchart illustrating a main chain relay node verifying a hash value in side chain communication data according to this embodiment, where the main chain relay node describes a main flow method for performing hash verification on cross chain data, specifically as follows:
step 501, the main chain relay node performs specific hash operation according to the cross-chain transaction data.
The method comprises the steps that a trunk node of a main chain obtains a hash value of the last node of a hash chain of a corresponding side chain stored in the main chain, and performs hash operation identical to the corresponding side chain on received transaction data (cross-chain transaction data), namely each message in a message queue, for example, when the side chain is a first side chain network, the trunk node finds out specific hash operation corresponding to the first side chain network, for example, SHA-3256 algorithm, SHA256, SHA512, SHA-3512 and other safe hash algorithms, merges the hash value of the last node of an existing hash chain with the first message (namely, the 1 st cross-chain transaction data) in the message queue, and performs specific hash operation or other hash algorithms on the merged result to generate a first temporary hash value;
then merging the second message (2 nd cross-link transaction data) with the first temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a second temporary hash value;
merging the third message (the 3 rd cross-link transaction data) with the second temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a third temporary hash value;
and merging the fourth message (4 th cross-link transaction data) with the third temporary hash value, and performing the specific hash operation or other hash operations on the merged result to obtain a fourth temporary hash value.
And combining the four temporary hash values, and then carrying out the specific hash operation or the hash operation to obtain the hash value of the message queue.
In step 501, the main chain may store hash values of all nodes of the hash chain of each side chain, that is, store hash chain data of all side chains, or only retain the hash value of the last node of the hash chain of each side chain.
Step 502, comparing the calculated hash value of the message queue with the received hash value of the current hash chain node of the side chain, if the calculated hash value of the message queue is the same as the received hash value of the current hash chain node of the side chain, entering step 503, otherwise, entering step 504.
Step 503, verify by hash value.
And entering the subsequent transaction processing step of the main chain.
And step 504, feeding back prompt information when the hash verification fails.
In this step, if the hash verification fails, a prompt message is fed back to a relevant node of the main chain, for example, a decision maker node, or a node (for example, a monitoring computer) where a monitoring manager is located, where the prompt message may be a prompt message for prompting a cross-chain transaction data from the first side chain to further check, and the cross-chain transaction data is not transmitted to the main chain decision maker node for transaction processing. In addition, a prompt message can be fed back to a source side chain of the cross-chain transaction data, namely the relay node of the first side chain network through the main chain relay node, so that the cross-chain transaction data is prompted to be hijacked possibly, the block chain communication safety is checked, and the like.
If the verification passes, step 208 is entered, otherwise step 209 is entered.
And step 208, if the verification is passed, the main chain decision maker node executes corresponding transaction processing.
And step 209, if the verification fails, the main chain decision maker node refuses to execute corresponding transaction processing and feeds back the information of the transaction failure.
In the above steps, other functional nodes in the main chain may be used instead of the main chain relay node for verification of the cross-chain transaction data, for example, a decision node of the main chain may be used, wherein the main chain relay node is only responsible for receiving the communication data from the side chain.
By the method of the embodiment, the safety of communication between the side chain and the main chain can be improved, when cross-chain transaction data sent to the main chain by the side chain is hijacked and possibly tampered, the safety risk can be found by the hash verification of the cross-chain transaction data by the method of the embodiment, and therefore the safety of cross-chain transaction between the side chain and the main chain can be ensured.
Second embodiment
As another embodiment herein, as shown in fig. 6, a verification flowchart of sending the cross-link transaction data from one side chain to another side chain in the embodiment herein is shown, in this example, a verification process of sending the cross-link transaction data from the first side chain to the second side chain through the main chain is described, which is as follows:
at step 601, a plurality of nodes in a first side chain initiate a cross-chain transaction to a main chain.
In this step, multiple nodes in the first side chain need to perform cross-link transaction to the second side chain, for example, to query or store data, but the first side chain and the second side chain belong to two side chains, and in the technical solution herein, the two side chains cannot directly communicate with each other, and need to forward the data through the main chain, so in this embodiment, multiple nodes (a computer, a mobile phone, a screen computer, or other computing device) in the first side chain need to send cross-link transaction data for performing cross-link transaction to the second side chain to a relay node of the main chain.
In step 602, the decision node in the side chain generates a block according to the transaction data, and adds the block to the block chain of the side chain.
Step 603, the relay node in the side chain (which may also be a node of other functions, such as a decision maker node, and the relay node performs the following functions in this document, but does not exclude that other function nodes perform the same function) forms different message queues for the multiple cross-chain transaction data in one block, where the message queues are generated according to the sequence of cross-chain transaction data generation, and the different message queues may be that a first message queue Q1 is formed by the multiple cross-chain transaction data sent by the node a according to the sequence, a second message queue Q2 is formed by the multiple cross-chain transaction data sent by the node B according to the sequence, and each message is just one cross-chain transaction data.
In step 604, the relay node in the side chain generates the different message queues into nodes in different hash chains.
In this step, the number of message queues may not be limited, and the corresponding hash chain corresponds to the number of message queues, and fig. 7 is a schematic diagram illustrating that two hash chains are generated from two message queues in this embodiment, in this example, a first message queue Q1 composed of 4 messages, and a second message queue Q2 composed of 2 messages are used as an example to illustrate the generation of hash chain nodes. In this example, the first message queue (Q1), the second message queue (Q2), the Q1 queue in one tile includes 4 cross-chain transaction data (i.e., message 1, message 2, message 3, and message 4 in the figure), and the Q2 queue includes 2 cross-chain transaction data (i.e., message 1, message 2 in the figure). When the relay node of the side chain takes the cross-chain transaction data as a block with the height of H to be sent to the main chain relay node; the method further includes the steps that the hash value of the Q1 queue corresponding to the current hash chain node of the first hash chain and the hash value of the Q2 queue corresponding to the current hash chain node of the second hash chain are obtained through calculation by the method in the first embodiment, the hash values of the current hash chain nodes of the two queues are placed into a block header of a block with the height of H +1, and the block header further includes the hash value, the version, the timestamp and the random number of the parent block ID.
The node of each hash chain is obtained by performing hash operation on the message queue, and reference may be made to the flowchart of fig. 4, which specifically converts the message queue into a hash chain node, where a difference is that in this embodiment, hash chain nodes of two hash chains are generated, and the process may be performed by a relay node in a side chain or by other functional nodes, such as a decision maker node.
Step 605, the relay node of the side chain sends the hash value of the current hash chain node of the two hash chains and the cross-chain transaction data belonging to the two message queues correspondingly as communication data to the main chain relay node.
In this step, a plurality of cross-chain transaction data belonging to different message queues to be transmitted currently are placed in a block with a height H, wherein the cross-chain transaction data belonging to the first message queue and the second message queue are distinguished, and hash values of current hash chain nodes corresponding to different message queues are placed in block header information of the block with the height H + 1. The block data generated by the side chain for the cross-link transaction data can be added to the communication data sent to the main chain relay node, and for example, the block data can include a block with a height of H +2, and the block stores signature verification information of at least more than half of decision node pairs of the side chain for the block with the height of H +1, that is, the voting information and signature information of a plurality of decision node pairs of the side chain for the block with the height of H +1 (a block header recording hash value of hash chain link points).
And 606, verifying the signature verification information in the communication data after the communication data is received by the relay node of the main chain.
If the verification passes, step 607 is entered, otherwise step 609 is entered.
In step 607, the relay node of the main chain verifies the hash values of two current hash chain nodes in the communication data.
The specific steps may refer to the method in step 207, except that the current hash chain nodes of the two hash chains are verified respectively.
Similarly, the communication data may not be verified by the relay nodes of the backbone, and may be verified by other functional nodes, such as decision maker nodes or intelligent contracts in the backbone.
In step 608, after the verification, the main chain decision node forwards the communication data received from the first side chain to the relay node of the second side chain through the relay node.
And step 609, if the verification fails, the main chain decision maker node refuses to execute corresponding transaction processing and feeds back the information of transaction failure.
Step 610 is followed by step 608, and after the second side link relay node receives the communication data, the main chain verification method is performed (steps 606 to 609), which is not described herein again.
In the above method, the main chain may not perform the authentication, but merely forward the communication data received from the first side chain to the second side chain, and the authentication method may be performed only by the relay node or other functional node of the second side chain.
In the above steps, other functional nodes in the main chain may be used instead of the main chain relay node for verification of the cross-chain transaction data, for example, a decision node of the main chain may be used, wherein the main chain relay node is only responsible for receiving the communication data from the side chain.
By the method of the embodiment, the security of communication between the side chain and the side chain can be improved, and when cross-chain transaction data sent by the side chain to the side chain is hijacked and possibly tampered, the method of the embodiment discovers the security risk by performing hash verification on the cross-chain transaction data, so that the security of cross-chain transaction between the side chain and the side chain can be ensured.
Third embodiment
In this embodiment, referring to the communication data structure shown in fig. 8, that is, information of votes and signatures respectively performed by a plurality of decision maker nodes in a block with a height H +2 for the block with the height H +1, a main-chain relay node or other functional nodes (or side-chain nodes receiving cross-chain transaction data) may perform verification processing according to a flowchart of a method for verifying communication data as shown in fig. 9:
in step 901, after the main-chain relay node receives the communication data of the cross-chain, the main-chain relay node calculates a block header hash value according to the block header information with the block height H + 1.
In this step, the main-chain relay node calculates the hash value of the block header of the H +1 block according to the block header information (e.g., hash value, version, timestamp, random number of parent block ID) in the communication data.
In step 902, the main-chain relay node compares the block head hash value with the block hash value in the voting information of the ith side-chain decision-maker node in the block with the height H +2, if the block head hash value is the same as the block head hash value, step 903 is executed, otherwise, step 904 is executed. Wherein i is 1,2,3 … n, n is the number of nodes of the side chain decision maker, and H is a natural number.
Step 903, verifying the signature in the block with the height of H +2 according to the pre-stored public key of the decision maker node corresponding to the side chain, if the signature passes through the step 905, otherwise, entering the step 904.
In this step, the number of side-chain decision maker nodes is not limited.
And if the verification is passed, the public key of the side chain decision maker node can decrypt the corresponding signature in the block with the height of H +2, and if the verification is not passed, the public key of the side chain decision maker node cannot decrypt the corresponding signature in the block with the height of H + 2.
In step 904, if the verification fails, the procedure returns to step 902 to compare the chunk header hash value calculated in step 901 with the chunk hash value in the voting information of the next side-chain decider node (i.e., the i +1 th decider node in the side chain).
Step 905, the corresponding weights of the verified side chain decision maker nodes are accumulated and calculated.
The method is a weighting method, and other methods, such as directly calculating the number of verified side-chain decision-maker nodes, can also be adopted.
In step 906, if the accumulated weight exceeds the threshold value, go to step 907, otherwise go to step 908.
In step 907, the main-chain relay node determines that the communication data is verified, and performs subsequent operations, such as uplink transmission of cross-chain transaction data in the communication data in the main chain or forwarding the communication data to another side chain.
At step 908, the processing of the communication data is finished, the cross-link transaction data in the communication data is not linked on the main link, or if the communication data needs to be transmitted to another side link, the main link stops the processing of forwarding the communication data.
The method for verifying the communication data by the main chain in this embodiment may also be applied to the side chain, that is, when the main chain is not a destination of the cross-chain transaction request issued by the side chain when the first side chain issues the cross-chain transaction to the second side chain, the second side chain may also verify the cross-chain communication data by using the communication data verification method described above.
Fourth embodiment
Fig. 10 is a flowchart of receiving and verifying the cross-link communication data in this embodiment, and in this embodiment, a process of analyzing the cross-link communication data and verifying the cross-link communication data by a relay node of a main chain or a side chain that receives the cross-link communication data is described, which specifically includes the following steps:
step 1001, receive cross-link communication data.
The cross-link communication data comprises cross-link transaction data with block height H, a block head with block height H +1 and containing a hash value of a current hash link node, voting information for voting the block head with height H +1 and with block height H +2 and signature information of a decision maker node, wherein the voting information at least comprises the hash value for carrying out hash operation on the block head with height H + 1.
In the voting information and the signature information of the decision node of the current chunk with the chunk height H +2, the voting information and the decision signature information include the decision node of the main chain generating the voting information and the decision signature information, or the side chain decision node generating the voting information and the decision signature information, that is, the initiator of the cross-chain communication data.
Step 1002, the hash operation identical to the initiator of the cross-chain transaction data is performed on the received cross-chain transaction data.
In this step, the hash value generation method of the hash chain node in the above embodiment may be used to perform hash operation on the received cross-chain transaction data to obtain the corresponding first hash value HASHqa.
In step 1003, the second hash value HASHqb of the current hash chain node corresponding to the cross-chain communication data is extracted from the block header with the block height H + 1.
In step 1004, it is determined whether the first hash value HASHqa is equal to the second hash value HASHqb, if so, the process proceeds to step 1005, otherwise, the process proceeds to step 1013.
In step 1005, a first block header hash value HASHba of the block header having the block height H +1 is calculated.
In this step, according to the field names and field values in the block header, the block header is combined in the order of sorting according to the field names, and Hash operation is performed on the combined data, where the first block header Hash value HASHba is a string of byte data generated by calculating block header information with a block height of H + 1.
In step 1006, the second block header hash value HASHbb is extracted from the voting information and the signature information of the block with the block height H + 2.
The voting information carries a second block header hash value obtained by performing hash calculation on the block header when each decision node in the initiating chain votes for the block with the block height H +1, wherein the specific steps of performing hash calculation are the same as the operation steps in step 1005.
Step 1007, determining whether the first chunk header hash value and the second chunk header hash value are equal, if so, going to step 1008, otherwise, going to step 1013.
Step 1008, obtaining voting information and signature information of the next decision maker node.
The voting information and the signature information of each decision maker node are verified one by one to count how many decision makers are voted and signed in total, so as to count whether the weight occupied in all the decision maker nodes exceeds a preset threshold, for example, two thirds.
When the side chain or the main chain is used as an initiator, the side chain or the main chain is provided with a plurality of decision maker nodes, each decision maker node votes for the cross-chain transaction data, and the cross-chain transaction data is signed after the cross-chain transaction data is approved.
In step 1009, the complete voting information DATA for signature is constructed according to the block header with the block height H +1 and the partial voting information.
In this step, a chain ID and a block height are obtained from a block header, a block ID value (including a block header hash value and a block DATA Merkle root hash value) is obtained from voting information, and the block ID value is obtained from the voting information (the block header hash value and the block DATA Merkle root hash value are included, the block Merkle tree calculation method is to segment the whole block DATA according to 4096 bytes, and then the whole block DATA is calculated according to the Merkle tree calculation method, which is a general method and is not described herein any more), the voting round, the block timestamp, the voting information type, and other information constitute complete voting information DATA.
And step 1010, checking the signature according to the complete voting information DATA and the signature information, if the signature is consistent with the complete voting information DATA, entering step 1011, otherwise, entering step 1013.
In this step, the complete voting information DATA and the public key of the signer are transmitted into a standard signature verification method, which is also a common method in cryptography and will not be described herein.
In step 1011, it is determined whether all the decider nodes have completed verification, if so, step 1012 is entered, otherwise, step 1008 is returned.
And step 1012, if the verification is successful, the main chain or the side chain executes the cross-chain transaction data, and the cross-chain transaction data is added into the block chain.
In this step, it is also necessary to count the weighted values that both the voting and the signature verification pass in the above step 1008, and if the weighted values exceed the threshold value, the verification is successful, otherwise, the verification fails.
And step 1013, the verification fails and the verification is quitted.
Fifth embodiment
The embodiment describes a method for transmitting cross-link communication data, which comprises,
carrying out specific Hash operation on the current cross-chain transaction data sequence by an initiating chain node of cross-chain transaction according to the sequence of the current cross-chain transaction data sequence, and establishing current Hash chain nodes which are related to the existing Hash chain nodes in front and back;
and sending the cross-chain communication data comprising the hash value of the current hash chain node and the current cross-chain transaction data sequence to a destination block chain.
According to the method of the embodiment, the initiating chain node of the cross-chain transaction performs specific hash operation on the current cross-chain transaction data sequence according to the sequence of the current cross-chain transaction data sequence, and the establishing of the current hash chain node which is related to the existing hash chain node comprises the following specific steps,
according to the sequence of the current cross-chain transaction data sequence, performing specific hash operation on the current first cross-chain transaction data and the hash value of the last hash chain node of the existing hash chain nodes to obtain a temporary hash value corresponding to the current first cross-chain transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing the specific hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
and performing the specific hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
According to the method of the embodiment, the initiating chain node of the cross-chain transaction performs specific hash operation on the current cross-chain transaction data sequence according to the sequence of the current cross-chain transaction data sequence, and the establishing of the current hash chain node which is related to the existing hash chain node comprises the following specific steps,
when no existing hash chain node exists, performing the specific hash operation on the current first cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence to obtain a temporary hash value corresponding to the current first cross-chain transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing the specific hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
and performing the specific hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
According to the method of embodiments herein, the cross-link communication data further comprises, for each chunk comprising a hash value of the current hash link node, voting information and signature information for the chunk by a plurality of decision node pairs initiating the link.
According to the method of embodiments herein, the sending cross-chain communication data including the hash value of the current hash chain node and the current cross-chain transaction data sequence to a destination blockchain further comprises,
the initiating link node places the current cross-link transaction data sequence in a block with a block height H, places the hash value of the current hash link node in a block header of a block with a block height H +1, and places the voting information and the signature information in a block with a block height H +2, so that the cross-link communication data are formed and sent to the target block.
Sixth embodiment
The embodiment describes a cross-chain data verification method, which comprises the following steps,
receiving cross-link communication data sent by an initiating link node of cross-link transaction, wherein the cross-link communication data comprises a hash value of a current hash link node and a current cross-link transaction data sequence;
according to the sequence of the current cross-link transaction data sequence in the cross-link communication data, performing specific hash operation on the current cross-link transaction data sequence, which is the same as the initiating link node, to obtain verification hash link nodes which are related to the existing hash link nodes of the initiating link in front and back;
comparing the hash value of the verification hash chain node with the hash value of the current hash chain node in the cross-chain communication data;
if the comparison result is the same, the verification is passed.
According to the method of the embodiment herein, the performing the same specific hash operation as the initiating chain node on the current cross-chain transaction data sequence in the cross-chain communication data according to the sequence of the current cross-chain transaction data sequence in the cross-chain communication data to obtain the verification hash chain node which is related to the existing hash chain node of the initiating chain in front and back further includes,
according to the sequence of the current cross-link transaction data sequence in the cross-link communication data, performing specific hash operation on the current first cross-link transaction data and the hash value of the last hash link node of the stored corresponding hash link to obtain a temporary hash value corresponding to the current first cross-link transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing the specific hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a hash value corresponding to each cross-chain transaction data;
and performing the specific hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
According to the method of the embodiment, the performing the same specific hash operation as the initiating chain node on the current cross-chain transaction data sequence according to the sequence of the current cross-chain transaction data sequence in the cross-chain communication data to obtain the verification hash chain node which is related to the existing hash chain node of the initiating chain before and after further includes,
when the last hash chain node of the corresponding hash chain is not stored, performing the specific hash operation on the current first cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence to obtain a temporary hash value corresponding to the current first cross-chain transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing the specific hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
and performing the specific hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
According to the method of embodiments herein, the cross-link communication data further comprises, voting information and signature information for a chunk comprising a hash value of the current hash link node by a plurality of decision node pairs initiating a link;
the cross-chain communication data sent by the initiating chain node for receiving the cross-chain transaction also comprises,
acquiring the current cross-chain transaction data sequence from a block with the block height H of the cross-chain communication data;
obtaining the hash value of the current hash chain node from the block head of the block with the block height of H +1 of the cross-chain communication data;
and acquiring the voting information and the signature information from the block with the block height H +2 of the cross-chain communication data.
According to the method of the embodiment, after receiving the cross-chain communication data sent by the initiating chain node of the cross-chain transaction,
and verifying the voting information and the signature information in the block with the height H + 2.
Seventh embodiment
Fig. 11 is a schematic structural diagram of a sending apparatus for cross-link communication data according to an embodiment of the present disclosure, in this embodiment, a data processing apparatus such as a computer, a server, a tablet computer, and the like executes the method for generating cross-link data, and the apparatus is located at an initiating link node of a cross-link transaction, and specifically includes the following software modules:
a hash chain establishment node module 1101, configured to perform a specific hash operation on the current cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence, and establish a current hash chain node that is associated with a previous hash chain node and a next hash chain node;
the sending module 1102 is configured to send the cross-chain communication data including the hash value of the current hash chain node and the cross-chain transaction data to the destination blockchain.
Fig. 12 is a schematic structural diagram of a cross-chain communication data verification apparatus according to an embodiment of the present disclosure, in this embodiment, a data processing apparatus such as a computer, a server, a tablet computer, and the like executes the cross-chain communication data verification method, and the apparatus is located in a node of a destination blockchain of a cross-chain transaction, and specifically includes the following software modules:
a receiving module 1201, configured to receive cross-link communication data sent by a chain node initiating a cross-link transaction;
a calculating module 1202, configured to perform a specific hash operation on the cross-link transaction data in the cross-link communication data, which is the same as that of the initiating link node, according to the sequence of the cross-link transaction data in the cross-link communication data, to obtain verification hash link nodes which are related to existing hash link nodes of the initiating link in front of and behind;
a verification module 1203, configured to compare the hash value of the verification hash chain node with the hash value of the current hash chain node in the cross-chain communication data; if the comparison result is the same, the verification is passed.
As shown in fig. 13, which is a schematic structural diagram of a node in an embodiment herein, a structure of a node in a side-chain network and a node in a main-chain network, which may include a relay node, a decider node, or other functional nodes, is described in this embodiment, which is referred to as a computing device, and a computing device 1302 may include one or more processing devices 1304, such as one or more Central Processing Units (CPUs), each of which may implement one or more hardware threads. Computing device 1302 may also include any storage resources 1306 for storing any kind of information, such as code, settings, data, and the like. For example, without limitation, storage resources 1306 may include any one or more of the following in combination: any type of RAM, any type of ROM, flash memory devices, hard disks, optical disks, etc. More generally, any storage resource may use any technology to store information. Further, any storage resource may provide volatile or non-volatile reservation of information. Further, any storage resources may represent fixed or removable components of computing device 1302. In one case, when processing device 1304 executes associated instructions that are stored in any storage resource or combination of storage resources, computing device 1302 may perform any of the operations of the associated instructions. The computing device 1302 also includes one or more drive mechanisms 1308, such as a hard disk drive mechanism, an optical drive mechanism, or the like, for interacting with any storage resources.
Computing device 1302 may also include input/output module 1310(I/O) for receiving various inputs (via input device 1312) and for providing various outputs (via output device 1314)). One particular output device may include a presentation device 1316 and an associated Graphical User Interface (GUI) 1318. In other embodiments, input/output module 1310(I/O), input device 1312, and output device 1314 may also not be included, as are only one computing device in a network. Computing device 1302 may also include one or more network interfaces 1320 for exchanging data with other devices via one or more communication links 1322. One or more communication buses 1324 couple the above-described components together.
Communication link 1322 may be implemented in any manner, e.g., via a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 1322 may comprise any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc., governed by any protocol or combination of protocols.
Embodiments herein also provide a computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, running on an originating link node of a cross-link transaction, the processor implementing the following steps when executing the computer program:
carrying out specific Hash operation on the current cross-chain transaction data sequence by an initiating chain node of cross-chain transaction according to the sequence of the current cross-chain transaction data sequence, and establishing current Hash chain nodes which are related to the existing Hash chain nodes in front and back;
and sending the cross-chain communication data comprising the hash value of the current hash chain node and the current cross-chain transaction data sequence to a destination block chain.
Embodiments herein also provide a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, running on a destination blockchain node of a cross-chain transaction, the processor implementing the following steps when executing the computer program:
receiving cross-link communication data sent by an initiating link node of cross-link transaction, wherein the cross-link communication data comprise a hash value of a current hash link node and a current cross-link transaction data sequence;
according to the sequence of the current cross-link transaction data sequence in the cross-link communication data, performing specific hash operation on the current cross-link transaction data sequence, which is the same as the initiating link node, to obtain verification hash link nodes which are related to the existing hash link nodes of the initiating link in front and back;
comparing the hash value of the verification hash chain node with the hash value of the current hash chain node in the cross-chain communication data;
if the comparison result is the same, the verification is passed.
And the computer device in the embodiments herein may also implement all the methods in fig. 2-10.
Corresponding to the methods in fig. 2-10, the embodiments herein also provide a computer-readable storage medium having stored thereon a computer program, which, when executed by a processor, performs the steps of the above-described method.
Embodiments herein also provide computer readable instructions, wherein when executed by a processor, a program thereof causes the processor to perform the method as shown in fig. 2-10.
It should be understood that, in various embodiments herein, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments herein.
It should also be understood that, in the embodiments herein, the term "and/or" is only one kind of association relation describing an associated object, meaning that three kinds of relations may exist. For example, a and/or B, may represent: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be embodied in electronic hardware, computer software, or combinations of both, and that the components and steps of the examples have been described in a functional general in the foregoing description for the purpose of illustrating clearly the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided herein, it should be understood that the disclosed system, apparatus, and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may also be an electric, mechanical or other form of connection.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purposes of the embodiments herein.
In addition, functional units in the embodiments herein may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present invention may be implemented in a form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the methods described in the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The principles and embodiments of this document are explained herein using specific examples, which are presented only to aid in understanding the methods and their core concepts; meanwhile, for the general technical personnel in the field, according to the idea of this document, there may be changes in the concrete implementation and the application scope, in summary, this description should not be understood as the limitation of this document.

Claims (6)

1. A method for transmitting cross-link communication data, comprising,
carrying out Hash operation on the current cross-chain transaction data sequence by an initiating chain node of cross-chain transaction according to the sequence of the current cross-chain transaction data sequence, and establishing current Hash chain nodes which are related to the existing Hash chain nodes in front and back;
sending cross-chain communication data comprising the hash value of the current hash chain node and the current cross-chain transaction data sequence to a destination block chain;
wherein, the initiating chain node of the cross-chain transaction carries out hash operation on the current cross-chain transaction data sequence according to the sequence of the current cross-chain transaction data sequence, and establishes the current hash chain link point which is related to the existing hash chain link point in front and back,
according to the sequence of the current cross-link transaction data sequence, performing hash operation on the current first cross-link transaction data and the hash value of the last hash link node of the existing hash link nodes to obtain a temporary hash value corresponding to the current first cross-link transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node;
when no existing hash chain node exists, performing hash operation on the current first cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence to obtain a temporary hash value corresponding to the current first cross-chain transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
and performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
2. A method for verifying cross-link communication data, comprising,
receiving cross-link communication data sent by an initiating link node of cross-link transaction, wherein the cross-link communication data comprises a hash value of a current hash link node and a current cross-link transaction data sequence;
according to the sequence of the current cross-link transaction data sequence in the cross-link communication data, performing hash operation on the current cross-link transaction data sequence, which is the same as that of the initiating link node, to obtain verification hash link nodes which are related to the existing hash link nodes of the initiating link in the front and back directions;
comparing the hash value of the verification hash chain node with the hash value of the current hash chain node in the cross-chain communication data;
if the comparison results are the same, the verification is passed;
wherein the obtaining of the verification hash chain node associated with the existing hash chain node of the initiating chain before and after performing the hash operation on the current cross-chain transaction data sequence in the cross-chain communication data according to the sequence of the current cross-chain transaction data sequence in the cross-chain communication data, the hash operation being the same as that of the initiating chain node,
according to the sequence of the current cross-link transaction data sequence in the cross-link communication data, performing hash operation on the current first cross-link transaction data and the hash value of the last hash link node of the corresponding stored hash link to obtain a temporary hash value corresponding to the current first cross-link transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node;
when the last hash chain node of the corresponding hash chain is not stored, performing hash operation on the current first cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence to obtain a temporary hash value corresponding to the current first cross-chain transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
and performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
3. The method of claim 2, wherein the cross-chain communication data further comprises, voting information and signature information for a chunk comprising the hash value of the current hash chain node by a plurality of decision node pairs initiating a chain;
the cross-chain communication data sent by the initiating chain node for receiving the cross-chain transaction also comprises,
acquiring the current cross-chain transaction data sequence from the block with the block height H of the cross-chain communication data;
obtaining the hash value of the current hash chain node from the block head of the block with the block height of H +1 of the cross-chain communication data;
and acquiring the voting information and the signature information from the block with the block height H +2 of the cross-chain communication data.
4. A transmission apparatus for communicating data across a chain, comprising,
the hash chain node establishing module is used for carrying out hash operation on the current cross-chain transaction data sequence according to the sequence of the current cross-chain transaction data sequence and establishing current hash chain nodes which are related to the existing hash chain nodes in front and back;
the sending module is used for sending the cross-chain communication data comprising the hash value of the current hash chain node and the current cross-chain transaction data sequence to a target block chain;
wherein the hash chain node establishing module performs hash operation on the current cross-chain transaction data sequence according to the sequence of the current cross-chain transaction data sequence, and specifically includes establishing current hash chain nodes which are related to the existing hash chain nodes in front and back,
according to the sequence of the current cross-link transaction data sequence, performing hash operation on the current first cross-link transaction data and the hash value of the last hash link node of the existing hash link nodes to obtain a temporary hash value corresponding to the current first cross-link transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node;
when no existing hash chain node exists, performing hash operation on the current first cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence to obtain a temporary hash value corresponding to the current first cross-chain transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
and performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
5. An apparatus for authenticating cross-link communication data, comprising,
the receiving module is used for receiving cross-chain communication data sent by an initiating chain node of cross-chain transaction, wherein the cross-chain communication data comprises a hash value of a current hash chain node and a current cross-chain transaction data sequence;
the calculation module is used for carrying out hash operation on the current cross-link transaction data sequence, which is the same as the initiating link node, according to the sequence of the current cross-link transaction data sequence in the cross-link communication data to obtain verification hash link nodes which are related to the existing hash link nodes of the initiating link in the front and back directions;
a verification module for comparing the hash value of the verification hash chain node with the hash value of the current hash chain node in the cross-chain communication data; if the comparison results are the same, the verification is passed;
the calculation module performs hash operation on the current cross-link transaction data sequence in the order of the current cross-link transaction data sequence in the cross-link communication data, the hash operation being the same as that of the initiating link node, and the verification hash link node point which is related to the existing hash link node point of the initiating link is obtained,
according to the sequence of the current cross-link transaction data sequence in the cross-link communication data, performing hash operation on the current first cross-link transaction data and the hash value of the last hash link node of the corresponding stored hash link to obtain a temporary hash value corresponding to the current first cross-link transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node;
when the last hash chain node of the corresponding hash chain is not stored, performing hash operation on the current first cross-chain transaction data according to the sequence of the current cross-chain transaction data sequence to obtain a temporary hash value corresponding to the current first cross-chain transaction data;
according to the sequence of the current cross-chain transaction data sequence, performing hash operation on each subsequent cross-chain transaction data and the previous temporary hash value to obtain a temporary hash value corresponding to each cross-chain transaction data;
and performing the hash operation on all temporary hash values corresponding to the current cross-chain transaction data sequence to obtain the current hash chain node.
6. A computer-readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the method of any of claims 1-3.
CN202010216356.4A 2020-03-25 2020-03-25 Method and device for sending and verifying cross-link communication data Active CN111464518B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010216356.4A CN111464518B (en) 2020-03-25 2020-03-25 Method and device for sending and verifying cross-link communication data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010216356.4A CN111464518B (en) 2020-03-25 2020-03-25 Method and device for sending and verifying cross-link communication data

Publications (2)

Publication Number Publication Date
CN111464518A CN111464518A (en) 2020-07-28
CN111464518B true CN111464518B (en) 2022-08-05

Family

ID=71685677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010216356.4A Active CN111464518B (en) 2020-03-25 2020-03-25 Method and device for sending and verifying cross-link communication data

Country Status (1)

Country Link
CN (1) CN111464518B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511621B (en) * 2020-11-26 2022-12-30 青岛海尔科技有限公司 Data transmission method and device, storage medium, and electronic device
CN112396422B (en) * 2020-12-21 2021-04-06 支付宝(杭州)信息技术有限公司 Method and system for submitting cross-slice transaction, main chain node and target slicing node
CN112261157B (en) * 2020-12-21 2021-04-09 支付宝(杭州)信息技术有限公司 Method and system for submitting cross-fragment transaction, main chain node and source fragment node
CN112261158B (en) * 2020-12-21 2021-04-20 支付宝(杭州)信息技术有限公司 Method and system for returning cross-fragment transaction response, main chain node and source fragment node
CN112910946B (en) * 2020-12-29 2022-06-28 合肥达朴汇联科技有限公司 Block chain information cross-chain interaction method, system and equipment applied to t2 node
CN112738243B (en) * 2020-12-29 2022-06-24 合肥达朴汇联科技有限公司 Block chain information cross-chain interaction system
CN112801795B (en) * 2021-03-08 2024-04-02 中国工商银行股份有限公司 Block chain multi-chain management method, device, electronic equipment and readable storage medium
CN112804262B (en) * 2021-03-19 2021-07-27 北京万物智链科技有限公司 Safety guarantee method and system in block chain cross-chain communication
CN113259454B (en) * 2021-06-02 2021-10-15 支付宝(杭州)信息技术有限公司 Cross-chain interaction method and device
CN113378207B (en) * 2021-07-14 2022-10-04 湖北央中巨石信息技术有限公司 Block chain-based data file consensus method, system, device and medium
CN114499872A (en) * 2021-12-24 2022-05-13 山东浪潮工业互联网产业股份有限公司 Industrial internet-based star fire chain cross-linking method and equipment
CN116028989B (en) * 2023-03-27 2023-06-13 北京笔新互联网科技有限公司 Block chain verification method and device
CN116055065B (en) * 2023-03-30 2023-06-20 中国民航大学 ADS-B data security authentication method based on tree chain mixing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934592A (en) * 2019-03-22 2019-06-25 深圳市网心科技有限公司 A kind of across the chain communication means of block chain, system, electronic equipment and storage medium
CN110517029A (en) * 2019-08-29 2019-11-29 深圳市网心科技有限公司 Method, apparatus, equipment and block catenary system of the block chain across chain transaction verification
CN110689435A (en) * 2019-08-02 2020-01-14 上海分布信息科技有限公司 Data processing method and data processing system based on block chain

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107657438B (en) * 2017-09-18 2020-12-04 联动优势科技有限公司 Block chain generation method, data verification method, node and system
CN107862216B (en) * 2017-10-13 2021-04-06 布比(北京)网络技术有限公司 Privacy protection method, device and storage medium for anonymous cross-link transaction
US11108544B2 (en) * 2018-07-02 2021-08-31 International Business Machines Corporation On-chain governance of blockchain
CN110084601B (en) * 2019-04-30 2021-03-16 杭州复杂美科技有限公司 Parallel chain main chain transaction state synchronization method, equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934592A (en) * 2019-03-22 2019-06-25 深圳市网心科技有限公司 A kind of across the chain communication means of block chain, system, electronic equipment and storage medium
CN110689435A (en) * 2019-08-02 2020-01-14 上海分布信息科技有限公司 Data processing method and data processing system based on block chain
CN110517029A (en) * 2019-08-29 2019-11-29 深圳市网心科技有限公司 Method, apparatus, equipment and block catenary system of the block chain across chain transaction verification

Also Published As

Publication number Publication date
CN111464518A (en) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111464518B (en) Method and device for sending and verifying cross-link communication data
US10942994B2 (en) Multicomputer processing for data authentication using a blockchain approach
CN108833081B (en) Block chain-based equipment networking authentication method
CN108389047B (en) Method for trading between parent chain and child chain in block chain and block chain network
CN106530088B (en) Method for trading certificate products based on blockchain security nodes
KR102050129B1 (en) Block chain supporting multiple one-way functions used for verification of blocks
CN110351133A (en) Method and device for the host node hand-off process in block catenary system
CN111295660A (en) Computer-implemented system and method for connecting blockchains to digital twins
KR102128210B1 (en) System and method for information protection
CN112527912B (en) Data processing method and device based on block chain network and computer equipment
US20190268153A1 (en) Event execution using a blockchain approach
US11356258B2 (en) Methods and systems for distributed cryptographically secured data validation
JP7240402B2 (en) Computer-implemented decision-making system and method
WO2021218323A1 (en) Electronic warehouse receipt verification method and apparatus, and terminal and storage medium
CN109816386A (en) Data get through method on a kind of chain of the unified identity authentication based on block chain
US20230237437A1 (en) Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing
CN111461881A (en) Data management method and device, computer equipment and storage medium
CN110321730A (en) A kind of method, block chain node and the storage medium of operation data processing
CN113409154A (en) Credible storage-based liability insurance processing method and system
CN113348656A (en) Network transaction verification method based on multiple nodes, system and storage medium thereof
CN111865595A (en) Block chain consensus method and device
CN113744036A (en) Quantum check transaction method based on block chain digital signature
CN115705601A (en) Data processing method and device, computer equipment and storage medium
CN110852887A (en) Method and device for acquiring transaction processing state in decentralized application cluster
KR102376783B1 (en) The blockchain-based transaction history confirmation system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201010

Address after: 1-1107, 10-11 / F, building 1, 168 Guang'anmenwai street, Xicheng District, Beijing 100055

Applicant after: Beijing Xinchuang zhichain Technology Co.,Ltd.

Address before: 1-1208, 11 / F, building 1, 168 Guang'anmenwai street, Xicheng District, Beijing 100055

Applicant before: BEIJING CHUANGSHI ZHILIAN INFORMATION TECHNOLOGY Research Institute

GR01 Patent grant
GR01 Patent grant