WO2021179661A1 - 跨区块链的数据互存方法、装置、设备及存储介质 - Google Patents

跨区块链的数据互存方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2021179661A1
WO2021179661A1 PCT/CN2020/129004 CN2020129004W WO2021179661A1 WO 2021179661 A1 WO2021179661 A1 WO 2021179661A1 CN 2020129004 W CN2020129004 W CN 2020129004W WO 2021179661 A1 WO2021179661 A1 WO 2021179661A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data information
data
blockchain
transferred
Prior art date
Application number
PCT/CN2020/129004
Other languages
English (en)
French (fr)
Inventor
刘攀
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2021179661A1 publication Critical patent/WO2021179661A1/zh
Priority to US17/715,824 priority Critical patent/US20220231869A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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

Definitions

  • This application relates to the field of blockchain technology, and in particular to a method, device, equipment, and storage medium for inter-blockchain data mutual storage.
  • the transaction data information in the A blockchain for example, the corresponding data of Bitcoin or electronic bills, etc.
  • asset circulation To the B blockchain, that means that when this transaction data information exists on a certain node on the B blockchain (for example, the second node), the corresponding node on the A blockchain (for example, the first node) There is bound to be no such transaction data information.
  • the first node needs to transfer the electronic bills in the A block chain to the second node on the B chain
  • the first node needs to freeze the electronic bills on the A block chain, and then on the B chain
  • the second node confirms to sign the electronic bill, it will destroy the original electronic bill on the A block chain to notify the second node to issue another electronic bill that is the same as the electronic bill on the B block chain, thereby achieving cross-border The circulation of chain data.
  • the embodiments of the present application provide a method, device, device, and storage medium for inter-blockchain data mutual storage, which can realize the mutual storage of cross-chain information.
  • the embodiments of the present application provide a cross-blockchain data mutual storage method, which is executed by a first node in a first blockchain network, and includes:
  • initial data information with a first data format from the first relay node on the first blockchain network where the first blockchain network corresponds to the first blockchain, and the initial data information includes the first block Transaction data information in the target block on the chain;
  • the data format of the initial data information is converted from the first data format according to the second data format specified by the second oracle contract that is associated with the first oracle contract for cross-chain transactions Is the second data format, and the initial data information having the second data format is determined as the data information to be transferred, wherein the second oracle contract is deployed on the second node in the second blockchain network;
  • the data information to be transferred is sent to the first relay node, so that the data information to be transferred is sent to the second node through the first relay node, and the data of the data information to be transferred is stored.
  • the embodiments of the present application provide a cross-blockchain data mutual storage method, which is executed by a second node in a second blockchain network, and includes:
  • the second node Based on the second cross-chain contract contained in the second node, receive the data information to be transferred sent by the second relay node on the second blockchain network, where the data information to be transferred is shared with the second blockchain Sent to the second relay node by the first relay node in the first blockchain network with different networks; the first node in the first blockchain network includes the first oracle contract and the first cross-chain contract ; The second node contains the second oracle contract; the data to be transferred is the first node based on the second data format of the second oracle contract that has an associated relationship with the first oracle contract, and the initial data of the first data format The information is determined after format conversion; the first node is used to send the data information to be transferred to the first relay node through the first cross-chain contract;
  • the data format of the data to be transferred is converted from the second data format to the third data format to obtain the target data information
  • the embodiments of the present application provide a cross-blockchain data mutual storage device, which runs on a first node in a first blockchain network, and includes:
  • the acquiring module is used to acquire the initial data information with the first data format from the first relay node on the first blockchain network, where the first blockchain network corresponds to the first blockchain, and the initial data information Including transaction data information in the target block on the first blockchain;
  • the verification module is used to verify the initial data information through the first oracle contract included in the first node;
  • the conversion module is used to change the data format of the initial data information from the second data format specified by the second oracle contract that has an associated relationship with the first oracle contract for cross-chain transactions when the verification is successful
  • the first data format is converted to the second data format, and the initial data information having the second data format is determined as the data information to be transferred, wherein the second oracle contract is deployed on the second node in the second blockchain network;
  • the sending module is used to send the data information to be transferred to the first relay node, so as to send the data information to be transferred to the second node through the first relay node, and to store the data in the data information to be transferred.
  • the acquisition module includes:
  • the first obtaining unit is used to determine the first relay node that has a network connection relationship with the first node from the first blockchain network, and obtain the transaction data information in the target block monitored by the first relay node , Where the transaction data information is determined according to the first business contract in the first node;
  • the first determining unit is configured to determine the data format of the transaction data information as the first data format, and determine the transaction data information having the first data format as the initial data information;
  • the second obtaining unit is used to call the first oracle contract to obtain the initial data information with the first data format from the first relay node.
  • the verification module includes:
  • the calling unit is used to call the data verification function in the first oracle contract to verify the attributes of the data format of the initial data information
  • the first verification unit is configured to determine that the verification is successful if the attributes of the data format of the initial data information match the attributes of the first data format used for data transactions in the first blockchain network;
  • the second verification unit is configured to determine that the verification fails if the attributes of the data format of the initial data information do not match the attributes of the first data format used for data transactions in the first blockchain network.
  • the conversion module includes:
  • the third obtaining unit is configured to obtain the second oracle contract included in the second node when the verification is successful;
  • the fourth acquiring unit is used to determine the data format specified by the first oracle contract and the second oracle contract for cross-chain transactions as the second data format;
  • a conversion unit for converting the data format of the initial data information from the first data format to the second data format
  • the second determining unit is configured to determine the initial data information having the second data format as the data information to be transferred.
  • the sending module includes:
  • the fifth obtaining unit is used to obtain the first cross-chain contract deployed on the first node
  • the sending unit is used to call the cross-chain data transfer function in the first cross-chain contract, and send the data information to be transferred to the first relay node.
  • the data information to be transferred is encrypted, and the encrypted data information is obtained and sent to the second relay node, and the second relay node decrypts the encrypted data information based on the private key of the second relay node , And then store the data in the data information to be transferred obtained after decryption by the second node.
  • a node device including: a processor, a memory, and a network interface;
  • the processor is connected to a memory and a network interface, where the network interface is used to provide data communication functions, the memory is used to store a computer program, and the processor is used to call the computer program to execute the above-mentioned aspect in the embodiments of the present application. method.
  • One aspect of the present application provides a computer-readable storage medium that stores a computer program.
  • the computer program includes program instructions. When executed by a processor, the program instructions execute the above-mentioned one in the embodiments of the present application. The method in the aspect.
  • One aspect of the embodiments of the present application provides a cross-blockchain data mutual storage device, which runs on a second node in a second blockchain network, and includes:
  • the receiving module is used to receive the data information to be transferred sent by the second relay node on the second blockchain network based on the second cross-chain contract contained in the second node, where the data information to be transferred is generated by and
  • the second blockchain network is different from the first relay node in the first blockchain network sent to the second relay node;
  • the first node in the first blockchain network includes the first oracle contract and The first cross-chain contract;
  • the second node contains the second oracle contract;
  • the data to be transferred is the second data format of the first node based on the second oracle contract that has an associated relationship with the first oracle contract.
  • the initial data information of the data format is determined after format conversion; the first node is used to send the data information to be transferred to the first relay node through the first cross-chain contract;
  • the information verification module is used to verify the data to be transferred based on the second oracle contract
  • the format conversion module is used to convert the data format of the data to be transferred from the second data format to the third data format when the verification is successful, to obtain the target data information;
  • the writing module is used to write the target data information into the second blockchain corresponding to the second blockchain network.
  • the receiving module includes:
  • the receiving unit is configured to receive the data information to be transferred after the second relay node signs the data information to be transferred based on the private key of the second relay node by calling the cross-chain data transfer function in the second cross-chain contract included in the second node Signature information, where the data information to be transferred is obtained by the second relay node decrypting the encrypted data information based on the private key of the second relay node, and the encrypted data information is obtained by the first blockchain network Obtained by the relay node after encrypting the data to be transferred based on the public key of the second relay node;
  • the public key obtaining unit is used to obtain the public key of the second relay node in the second blockchain network
  • the signature verification unit is used to verify the signature information based on the public key to obtain the signature verification result; the signature verification result includes the data information to be transferred.
  • the information acquiring unit is configured to acquire the data to be transferred information sent by the second relay node when the signature verification result indicates that the signature verification is successful.
  • the information verification module includes:
  • the format obtaining unit is configured to obtain the data format of the data information to be transferred, and verify the matching degree between the data format of the data information to be transferred and the second data format determined by the second oracle contract;
  • the first format verification unit is configured to determine that the verification is successful if the matching degree indicates that the data format of the data information to be transferred is the second data format;
  • the second format verification unit is configured to determine that the verification fails if the matching degree indicates that the data format of the data information to be transferred is not the second data format.
  • the write module includes:
  • the generating unit is configured to generate the to-be-verified block to be written into the second blockchain corresponding to the second blockchain network based on the target data information;
  • the broadcasting unit is used to broadcast the block to be verified to all blockchain nodes on the second blockchain;
  • the writing unit is used to write the block to be verified into the second blockchain when it is determined that all the blockchain nodes on the second blockchain reach a consensus.
  • the device also includes:
  • the classification determination module determines the business classification to which the target data information belongs;
  • the business callback module is used to perform business callbacks on target data information based on business classification.
  • a node device including: a processor, a memory, and a network interface;
  • the processor is connected to a memory and a network interface, where the network interface is used to provide data communication functions, the memory is used to store a computer program, and the processor is used to call the computer program to execute the above-mentioned aspect in the embodiments of the present application. method.
  • One aspect of the present application provides a computer-readable storage medium that stores a computer program.
  • the computer program includes program instructions. When executed by a processor, the program instructions execute the above-mentioned one in the embodiments of the present application. The method in the aspect.
  • the first node in the first blockchain network can obtain data from the first relay node in the first blockchain network through the first oracle contract deployed on the first node.
  • Initial data information in the first data format.
  • the initial data information is determined based on the first relay node listening to the transaction data information in the target block on the first blockchain corresponding to the first blockchain network.
  • the data format of the initial data information can be converted into the second data format specified by the first oracle contract and the second oracle contract, and then the first data can be passed through the first oracle contract.
  • the subsequent node sends the data information to be transferred in the second data format to the second relay node in the second blockchain network, so that the second relay node is to be transferred based on the second node in the second blockchain network
  • the data in the data information is stored.
  • the transaction data information in the second blockchain can also be stored in the first blockchain. It can be seen that the embodiments of the present application can realize mutual storage of cross-chain information.
  • Figure 1 is a schematic structural diagram of a blockchain node system provided by an embodiment of the present application.
  • Figure 2 is a schematic diagram of a data interaction scenario provided by an embodiment of the present application.
  • FIG. 3 is a schematic flowchart of a method for inter-blockchain data mutual storage provided by an embodiment of the present application
  • FIG. 4 is a schematic structural diagram of a blockchain provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of a scenario in which data information to be transferred is sent according to an embodiment of the present application
  • FIG. 6 is a schematic diagram of a scenario for verifying signature information provided by an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a method for inter-blockchain data mutual storage provided by an embodiment of the present application.
  • FIG. 8 is a schematic diagram of a scenario for storing cross-chain information according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a cross-blockchain data mutual storage device provided by an embodiment of the present application.
  • FIG. 10 is a schematic diagram of a node device provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a cross-blockchain data mutual storage device provided by an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a node device provided by an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a data processing system provided by an embodiment of the present application.
  • the embodiments of the present application provide a cross-blockchain data mutual storage method, device, equipment, and storage medium, so as to realize the mutual storage of cross-chain information.
  • FIG. 1 is a schematic structural diagram of a blockchain node system provided by an embodiment of the present application.
  • the nodes in the blockchain node system 110 ie, the first blockchain node system
  • the nodes in the blockchain node system 120 ie, the second blockchain node system
  • Cross-chain data information can be stored between nodes.
  • the blockchain node system 110 may include multiple nodes.
  • the blockchain node system 110 may specifically include a node 1100a, a node 1100b, a node 1100c, ..., a node 1100n, and a relay node (for example, , Relay node 110A).
  • the blockchain node system 120 may include multiple nodes. As shown in FIG. 1, the blockchain node system 120 may specifically include a node 1200a, a node 1200b, a node 1200c, ..., a node 1200n, and a relay node (for example, the relay node 120A).
  • the nodes and relay nodes may be various computer devices, for example.
  • the blockchain network corresponding to the blockchain node system 110 may be referred to as the first blockchain network, and the blockchain corresponding to the first blockchain network may be referred to as the first zone.
  • Block chain the blockchain network corresponding to the blockchain node system 120 may be referred to as the second blockchain network, and the blockchain corresponding to the second blockchain network may be referred to as the second zone. Block chain.
  • a public chain refers to a blockchain that is open to the public and anyone can join and access; the blocks on the public chain can be viewed by anyone, anyone can initiate transactions on the public chain, and can participate in the consensus of the public chain at any time process.
  • a private chain refers to a blockchain that can be used within a private organization, its read and write permissions, and the permission to participate in accounting are formulated in accordance with the rules of the private organization. Private chains are usually used for data management and auditing within the enterprise.
  • the alliance chain refers to a blockchain that can be limited to the participation of alliance members, their read and write permissions, and the permission to participate in accounting according to the rules of the alliance.
  • the embodiments of the present application describe a method for mutual storage of cross-chain information, wherein the cross-chain interaction between two blockchains can be divided into different underlying technology platforms of the spanned blockchains. Isomorphic chain cross-chain and heterogeneous chain cross-chain. It is understandable that the security mechanism, consensus algorithm, network topology, and block generation verification logic between homogeneous chains can be consistent, and the cross-chain interaction between them is relatively simple. The cross-chain interaction of heterogeneous chains is relatively complicated.
  • Bitcoin uses the PoW algorithm
  • consortium chain Fabric a core blockchain framework launched by the Hyperledger Consortium
  • uses a traditional deterministic consensus algorithm and its block composition form It is very different from the determinism guarantee mechanism, and the direct cross-chain interaction mechanism is not easy to design.
  • first block chain and the second block chain in the embodiment of the present application may be two block chains of different types.
  • first block chain may be a private chain
  • second block chain may be a consortium chain.
  • the first block chain and the second block chain in the embodiment of the present application may also be two block chains of the same type.
  • the first block chain can be a consortium chain
  • the second block chain can also be a consortium chain. There is no limitation here.
  • each node can obtain transaction data information associated with the first business contract in the first block chain network during normal work to maintain the zone Shared data within the blockchain node system 110.
  • a network connection can be established between each node in the blockchain node system 110 to perform data transmission through the network connection. For example, when any node in the blockchain node system 110 is acquiring transaction data information, other nodes in the blockchain node system 110 can acquire transaction data information according to the consensus algorithm, and use the transaction data information as part of the shared data. The data is stored so that the data stored on all nodes in the blockchain node system 110 are consistent.
  • each node can obtain the target data information associated with the second business contract in the second block chain network during normal work, so as to maintain the block chain node system 120.
  • shared data For shared data.
  • a network connection can be established between each node in the blockchain node system 120 to perform data transmission through the network connection. For example, when any node in the blockchain node system 120 is acquiring target data information, other nodes in the blockchain node system 120 can acquire the target data information according to the consensus algorithm, and use the target data information as the shared data. The data is stored so that the data stored on all nodes in the blockchain node system 120 are consistent.
  • each node has a corresponding node identifier, and each node in the blockchain node system can store The identifiers of other nodes that have a network connection relationship with the current node, so that the generated block is broadcast to other nodes in the blockchain node system according to the node identifiers of other nodes.
  • Each node can maintain a node identification list as shown in the following table, and store the node name and node identification in the node identification list correspondingly.
  • the node identifier can be an IP (Internet Protocol, protocol for interconnection between networks) address and any other information that can be used to identify the node. Table 1 only takes the IP address as an example for illustration.
  • the embodiment of the present application may select one node among the multiple nodes in the blockchain node system 110 shown in FIG. 1 as the first node in the first blockchain network corresponding to the first blockchain node system. node.
  • the node 1100a in the blockchain node system 110 may be used as the first node in the blockchain network.
  • smart contracts such as business contracts, cross-chain contracts, oracle contracts can be deployed on the first node.
  • smart contracts can be understood as running on a distributed ledger (i.e. blockchain) with preset rules, states, and conditional responses, which can encapsulate, verify, and execute complex behaviors of distributed nodes, complete information exchange, value transfer, and assets Managed computer programs.
  • a distributed ledger i.e. blockchain
  • the business contract deployed on the first node may be referred to as the first business contract
  • the cross-chain contract deployed on the first node may be referred to as the first cross-chain contract.
  • the oracle contract on the first node is called the first oracle contract.
  • one node among multiple nodes in the blockchain node system 120 shown in FIG. 1 may be selected as the second node in the second blockchain network corresponding to the second blockchain node system.
  • the embodiment of the present application may use the node 1200a in the blockchain node system 120 as the second node in the blockchain network.
  • smart contracts such as business contracts, cross-chain contracts, oracle contracts can be deployed on the second node.
  • the business contract deployed on the second node may be referred to as the second business contract
  • the cross-chain contract deployed on the second node may be referred to as the second cross-chain contract.
  • the oracle contract on the second node is called the second oracle contract.
  • the oracle contract can be a mechanism for writing data information outside the blockchain into the blockchain.
  • the blockchain node that deploys the oracle contract can be used as a bridge between the blockchain and the real world for data interaction.
  • the blockchain node that deploys the oracle contract After receiving the demand, help the smart contract to collect external data outside the blockchain, and then feedback the obtained data back to the smart contract on the chain after verification.
  • the node 1100a in the blockchain node system 110 in the embodiment of the present application can perform cross-chain transactions on the transaction data information in the first blockchain through the relay node 110A, and then can send it to the blockchain node system 120 In the relay node 120A. At this time, the relay node 120A can store the received transaction data information on the first blockchain into the second blockchain through the node 1200a.
  • the blockchain node system 110 and the blockchain node system 120 may respectively include multiple relay nodes.
  • the relay node 110A may be a relay node having a network connection relationship with the node 1100a
  • the relay node 120A may be a relay node having a network connection relationship with the node 1200a.
  • the node 1100a can determine the relay node 110A that has a network connection relationship with the node 1100a from the first blockchain network.
  • the embodiment of the present application may refer to the relay node having a network connection relationship with the first node in the first blockchain network as the first relay node.
  • the node 1100a can obtain the transaction data information in the target block on the first blockchain corresponding to the first blockchain network monitored by the relay node 110A, and then the data format of the transaction data information can be called It is the first data format, and the transaction data information having the first data format is determined as the initial data information.
  • the block with the largest generation timestamp on the first blockchain may be referred to as the target block. It is understandable that the transaction data information in the target block may be generated by the node 1100a (ie, the first node) based on the first business contract in the first blockchain network.
  • the transaction data information may be the trial result of a certain case (for example, criminal case X) input by the user terminal associated with the node 1100a in the judicial scenario and the evidence materials provided during the trial.
  • the transaction data information may also be the logistics information of the designated area reached by the express parcel (for example, daily necessities Y) verified by the user terminal associated with the node 1100a by scanning the two-dimensional code in the express logistics scenario.
  • the user terminal associated with the node 1100a may be a smart terminal with a business data processing function, such as a smart phone, a tablet computer, a desktop computer, and the like.
  • the transaction data information may also be process information such as invoicing, circulation, accounting, and reimbursement of the electronic bill (for example, electronic bill Z) associated with the node 1100a in the electronic bill processing scenario. No examples will be given here.
  • the first data format may be a data format used by each node of the first blockchain network for data information interaction.
  • data format describes the rules for storing data in files or records.
  • the data format may be binary format, pb format, xml format, json format, msgpack format, etc.
  • the relay node 110A may send the initial data information having the first data format (for example, the pb format) to the node 1100a as shown in FIG. 1. Further, the node 1100a may verify the acquired initial data information through the first oracle contract. It should be understood that the first oracle contract has an associated relationship with the second oracle contract deployed on the second node. In other words, the first oracle contract and the second oracle contract can specify the data format for cross-chain transactions . The embodiment of the present application may determine the data format used for cross-chain transactions as the second data format. When the verification of the node 1100a is successful, the node 1100a may convert the data format of the initial data information from the first data format to the second data format, and may call the initial data information having the second data format the data information to be transferred.
  • the first oracle contract has an associated relationship with the second oracle contract deployed on the second node.
  • the first oracle contract and the second oracle contract can specify the data format for cross-chain transactions
  • the node 1100a can send the data information to be transferred to the relay node 110A, so that the relay node 110A can send the data information to be transferred to the relay node 120A (that is, the second relay node) as shown in FIG. 2 .
  • the relay node 120A has a network connection relationship with the node 1200a in the second blockchain network, and the relay node 120A can send the data to be transferred to the node 1200a (ie, the second node).
  • the node 1200a can verify the data to be transferred based on the second oracle contract.
  • the node 1200a can convert the data format of the data information to be transferred from the second data format to the third data format, thereby obtaining the target data information.
  • the embodiment of the present application may refer to the data information to be transferred in the third data format as target data information.
  • the third data format is a data format used by each node of the second blockchain network for data information interaction. Further, the node 1200a can write the target data information into the second blockchain corresponding to the second blockchain network corresponding to the blockchain node system 120.
  • the node 1200a in the blockchain node system 120 in the embodiment of the present application can also perform cross-chain transactions on the transaction data information in the second blockchain through the relay node 120A, and then can correspond to the transaction data information
  • the data information to be transferred is sent to the relay node 110A in the blockchain node system 110.
  • the relay node 110A can store the received data information to be transferred on the second blockchain into the first blockchain through the node 1100a. It can be seen that the embodiments of the present application can realize mutual storage of cross-chain information.
  • FIG. 2 is a schematic diagram of a data interaction scenario provided by an embodiment of the present application.
  • the relay node 20A in the embodiment of the present application may be the first relay node in the first blockchain network, and the first relay node may be the relay node 110A corresponding to FIG. 1 described above.
  • the node 20B in the embodiment of the present application may be the first node in the first blockchain network, and the first node may be any of the above-mentioned blockchain node system 110 (ie, the first blockchain system) in FIG. 1 Node, for example, node 1100a.
  • the relay node 20C in the embodiment of the present application may be the second relay node in the second blockchain network, and the second relay node may be the relay node 120A corresponding to FIG. 1 described above.
  • the node 20D in the embodiment of the present application may be a second node in the second blockchain network, and the second node may be any of the above-mentioned blockchain node system 120 (ie, the second blockchain system) in FIG. 1 Node, for example, node 1200a.
  • the application scenario in the embodiment of the present application takes a judicial scenario as an example to describe the storage of transaction data information in an extra-judicial network (for example, data information associated with a civil case) in the judicial intranet.
  • the first block chain may be a block chain corresponding to the judicial extranet
  • the second block chain may be a block chain corresponding to the judicial intranet.
  • the blockchain 1 shown in FIG. 2 may be the first blockchain of the first blockchain network corresponding to the blockchain node system 110 in FIG. 1, and the blockchain 1 may be Each node in the first blockchain network corresponding to node 20B shares the same blockchain, and each node can store the transaction data information associated with the first business contract in this block Chain 1.
  • the blockchain 1 includes a block 10a, a block 10b, ..., a block 10n, and a target block, and the block 10a can be referred to as the creation block of the blockchain 1.
  • the target block in the blockchain 1 contains transaction data information associated with the node 20B and the first business contract.
  • the transaction data information may be the trial result of a civil case and the evidence materials provided during the trial.
  • the node 20B can determine the relay node 20A that has a network connection relationship with the node 20B from the first blockchain network. It is understandable that the relay node 20A can obtain the transaction data information in the target block on the blockchain 1 shown in FIG. 2 based on the first oracle contract deployed in the relay node 20A. Further, the node 20B can obtain the aforementioned transaction data information, and further can determine the data format of the transaction data information as the first data format, and determine the transaction data information having the first data format as the initial data information. Among them, the first data format is the data format when each node in the first blockchain network performs data information interaction. For example, pb format.
  • the node 20B can call the first oracle contract deployed on the node 20B, and then can obtain the initial data information from the relay node 20A. Further, the node 20B may verify the initial data information based on the data verification function in the first oracle contract.
  • the data verification function refers to a function used to verify the initial data information.
  • the node 20B may determine the data format of the initial data information as the first data format, and then may convert the data format of the initial data information from the first data format to the second data format (for example, binary format) , And the initial data information with the second data format can be called the data information to be transferred.
  • the second data format is specified by the first oracle contract and the second oracle contract.
  • the second oracle contract may be deployed in the node 20D.
  • the node 20B may send the data information to be transferred to the relay node 20A based on the cross-chain data transfer function in the first cross-chain contract contained in the node 20B, so that the relay node 20A can transfer the data information to be transferred It is sent to the relay node 20C as shown in FIG. 2.
  • the cross-chain data transfer function may be a function for transferring the data information to be transferred from the node 20B to the relay node 20C.
  • the node 20D may obtain the data to be transferred from the relay node 20C based on the cross-chain data transfer function in the second cross-chain contract included in the node 20D.
  • the node 20D can verify the data information to be transferred based on the second oracle contract contained in the node 20D.
  • the node 20D can convert the data format of the data information to be transferred from the second data format to the third data format (for example, the json format), thereby obtaining the target data information.
  • the third data format is the data format when each node in the second blockchain network exchanges data information.
  • the node 20D can write the target data information into the second blockchain (for example, the blockchain 2 shown in FIG. 2) corresponding to the second blockchain network.
  • the blockchain 2 shown in FIG. 2 may be the second blockchain corresponding to the second blockchain network corresponding to the blockchain node system 120 in FIG. 1, and the blockchain 2 It may be a same blockchain shared by every node in the second blockchain network corresponding to the node 20D, and each node can obtain the information stored in the blockchain in the blockchain 2.
  • the blockchain 2 includes a block 20a, a block 20b, ..., a block 20n, and a block to be verified, and the block 20a can be referred to as the creation block of the blockchain 2.
  • the block to be verified in the blockchain 2 contains the above-mentioned target data information with the third data format.
  • the node 20D can write the target data information into the second blockchain in the second blockchain network corresponding to the node 20D.
  • the node 20D can obtain the block 20n with the largest generation timestamp from the blockchain 2.
  • the node 20D can generate the to-be-verified block to be written in the blockchain 2 according to the target data information.
  • the node 20D can broadcast the to-be-verified block containing the target data information to all the blockchain nodes in the second blockchain network (for example, the consensus node used for consensus processing).
  • the block to be verified can be written into the above-mentioned block chain 2, that is, the block to be verified is regarded as the next block of block 20n, so that the block chain 1
  • the initial data information of the target block in the middle block is stored in the target data information of the block to be verified in the block chain 2, so as to realize the storage of the transaction data information on the first block chain in the second block chain.
  • the first relay node in the first blockchain network and the second relay node in the second blockchain network may also be the same relay node (for example, relay node a).
  • the relay node a may have a network connection relationship with the first node in the first blockchain network, and may also have a network connection relationship with the second node in the second blockchain network.
  • the transaction data information on the second block chain can also be stored in the first block chain.
  • the transaction data information on the second block chain can also be stored in the first block chain.
  • FIG. 3 is a schematic flowchart of a method for inter-blockchain data mutual storage provided by an embodiment of the present application. This method can be executed by the first node in the first blockchain network, and for details, please refer to the description of step S101 to step S104 below. As shown in Figure 3, the method may include:
  • S101 Obtain initial data information having a first data format from a first relay node on the first blockchain network.
  • the first node in the first blockchain network may determine the relay node that has a network connection relationship with the first node from the first blockchain network.
  • the embodiment of the present application may refer to the relay node having a network connection relationship with the first node in the first blockchain network as the first relay node.
  • the first relay node can monitor the transaction data information in the target block in the first block chain corresponding to the first block chain network.
  • the target block may be the block with the largest generation timestamp in the first blockchain.
  • the first node can obtain the transaction data information, so that the data format of the transaction data information can be referred to as the first data format, and the transaction data information having the first data format can be determined as the initial data information.
  • the first data format may be a data format when each node in the first blockchain network performs data information interaction. Further, the first node may invoke the first oracle contract deployed on the first node to obtain initial data information from the first relay node. Wherein, the transaction data information is determined based on the first business contract in the first node.
  • the first node in the embodiment of the present application may be the node 20B corresponding to FIG. 2 above, and the node 20B may be any node in the blockchain node system 110 corresponding to FIG. 1, for example, node 1100a .
  • the first relay node in the embodiment of the present application may be the node 20A corresponding to FIG. 2 described above, and the node 20A may be the relay node 110A in the blockchain node system 110 corresponding to FIG. 1 described above.
  • the second node in the embodiment of the present application may be the node 20D corresponding to the foregoing FIG. 2, and the node 20D may be any node in the blockchain node system 120 corresponding to the foregoing FIG. 1, for example, the node 1200a.
  • the second relay node in the embodiment of the present application may be the node 20C corresponding to FIG. 2 described above, and the node 20C may be the relay node 120A in the blockchain node system 120 corresponding to FIG. 1 described above.
  • smart contracts such as the first business contract, the first cross-chain contract, and the first oracle contract can be deployed on the first node.
  • the blockchain network corresponding to the first node may be referred to as the first blockchain network, and the corresponding blockchain in the first blockchain network may be referred to as the first blockchain.
  • Smart contracts such as the second business contract, the second cross-chain contract, and the second oracle contract can be deployed on the second node.
  • the block chain network corresponding to the second node may be referred to as the second block chain network, and the corresponding block chain in the second block chain network may be the second block chain.
  • the block chain types of the first block chain and the second block chain can be the same or different, which is not limited here.
  • the first block chain can be a Bitcoin block chain
  • the second block can be an Ethereum block chain.
  • the relay node 20A can deploy the first oracle contract. It is understandable that the relay node 20A can monitor the target block on the blockchain 1 shown in FIG. 2, and then can obtain the transaction data information in the target block based on the first oracle contract.
  • the transaction data information may be a trial result of a certain case (for example, criminal case X) input by a user terminal associated with the first node in a judicial scenario, and evidence materials provided during the trial.
  • the transaction data information may also be the logistics information of the designated area reached by the express parcel (for example, daily necessities Y) that is verified by the user terminal associated with the first node by scanning the two-dimensional code in the express logistics scenario.
  • the user terminal associated with the first node may be a smart terminal with a business data processing function, such as a smart phone, a tablet computer, a desktop computer, and the like.
  • the transaction data information may also be process information such as invoicing, circulation, accounting, and reimbursement of an electronic bill (for example, electronic bill Z) associated with the first node in an electronic bill processing scenario. No examples will be given here.
  • the node 20B can obtain the aforementioned transaction data information, and further can determine the data format of the transaction data information as the first data format, and determine the transaction data information having the first data format as the initial data information.
  • the first data format is the data format when each node in the first blockchain network performs data information interaction. For example, pb format.
  • the node 20B can call the first oracle contract deployed on the node 20B to obtain the initial data information from the relay node 20A.
  • S102 Verify the initial data information through the first oracle contract included in the first node.
  • the first node may call the data verification function in the first oracle contract to verify the attributes of the data format of the initial data information. It is understandable that if the attributes of the data format of the initial data information meet the attributes of the first data format used for data transactions in the first blockchain network, it can be understood that the verification of the first node is successful; if the initial data information If the attribute of the data format does not meet the attribute of the first data format used for data transactions in the first blockchain network, it can be understood that the verification of the first node fails.
  • the first node may determine the attributes of the data format of the initial data information through the data verification function in the first oracle contract deployed on the first node.
  • the attribute of the data format of the initial data information is a block.
  • the first node can verify whether the attribute of the block conforms to the first blockchain network (for example, the Bitcoin blockchain network) for performing The attribute of the first data format during data transactions.
  • each block can contain a block header and a block body.
  • FIG. 4 is a schematic structural diagram of a blockchain provided by an embodiment of the present application.
  • the blockchain 4 in the embodiment of the present application may be the same blockchain (that is, the first blockchain) shared by each node in the blockchain node system 110 shown in FIG. 1.
  • the blockchain 4 can be composed of multiple blocks.
  • Each block contains a block header and a block body.
  • the genesis block can include a block header and a block body.
  • the block header stores the hash value, version number, timestamp and difficulty value corresponding to the input information of the block, and the first node is stored in the block body.
  • the target block can use the hash value of the previous block of the target block as the parent block hash value.
  • the target block can also include the block header and the block body, and the block header is stored There is the hash value of the target block, as the Merkel root of the target block, the hash value of the parent block, the version number, the timestamp, and the difficulty value.
  • the block data stored in each block in the blockchain is associated with the block data stored in the parent block, ensuring the security of the input information in the block.
  • the block header of the target block consists of three sets of block metadata.
  • the first is a set of data referencing the hash value of the parent block.
  • This set of metadata is used to link the target block to the blockchain. Connect to the previous block of the middle target block.
  • the second set of metadata is difficulty value, timestamp, random number, version number (used to track software/protocol updates).
  • This set of metadata is related to mining competition.
  • the third set of metadata is Merkel root (a data structure used to effectively summarize all transactions in the target block).
  • the attribute of the data format of the initial data information received by the first node is a block (that is, the target block), and the target block contains the above three sets of metadata, it can be understood as the first If a node is successfully verified, if a certain set of metadata is missing in the target block received by the first node, it can be understood that the verification of the first node has failed.
  • S103 When the verification is successful, change the data format of the initial data information from the first data format according to the second data format specified by the second oracle contract that is associated with the first oracle contract for cross-chain transactions.
  • the format is converted to the second data format, and the initial data information having the second data format is determined as the data information to be transferred.
  • the first node when the first node successfully verifies the initial data information, the first node can obtain the second oracle contract included in the second node in the second blockchain network different from the first blockchain network. Wherein, the second oracle contract is deployed on the second node in the second blockchain network. Further, the first node can obtain the data format for cross-chain transactions specified by the first oracle contract and the second oracle contract, so that the data format for cross-chain transactions can be determined as the second data Format. At this time, the first node may convert the data format of the initial data information from the first data format to the second data format, and determine the initial data information having the second data format as the data information to be transferred.
  • the data format for cross-chain specified by the first oracle contract and the second oracle contract in the embodiment of the present application is a second data format (for example, a binary format). Therefore, when the first node successfully verifies the initial data information, the initial data information having the first data format (for example, pb format) can be converted into the second data format, that is, converted into the initial data information in the binary format. , The first node may determine the initial data information in a binary format as the data information to be transferred.
  • the first data format for example, pb format
  • S104 Send the data information to be transferred to the first relay node, so as to send the data information to be transferred to the second node in the second blockchain network through the first relay node, and store the data of the data information to be transferred.
  • the first node may obtain the first cross-chain contract deployed on the first node.
  • the first node can send the data to be transferred to the first relay node.
  • the first relay node can obtain the public key of the second relay node in the second blockchain network, and encrypt the data to be transferred based on the public key of the second relay node, so that the encrypted data information can be obtained .
  • the first relay node may send the encrypted data information to the second relay node, so that the second relay node can decrypt the encrypted data information based on the private key of the second relay node, and then obtain the Transfer data information.
  • the second relay node may store the data in the to-be-transferred data information obtained after decryption through the second node.
  • FIG. 5 is a schematic diagram of a scenario for sending data information to be transferred provided in an embodiment of the present application.
  • the node 50A in the embodiment of the present application may be the first node in the first blockchain network, and the first node may be any node in the blockchain node system 110 shown in FIG. , For example, node 1100a.
  • the relay node 50B in the embodiment of the present application may be the first relay node in the first blockchain network, and the first relay node may be the relay node 110A corresponding to FIG. 1 described above.
  • the relay node 50C in the embodiment of the present application may be the second relay node in the second blockchain network, and the second relay node may be the relay node 120A corresponding to FIG. 1 described above.
  • the node 50A can call the cross-chain data transfer function in the first cross-chain contract deployed on the node 50A to send the data information to be transferred to the relay node 50B.
  • the relay node 50B can obtain the public key of the relay node 50C in the second blockchain network, and based on the public key, the data information to be transferred can be encrypted to obtain encrypted data information.
  • the relay node 50B may send the encrypted data information to the relay node 50C in the second blockchain network, so that the relay node 50C can decrypt the encrypted data information according to the private key of the relay node 50C, Thus, after decryption, the data information to be transferred can be obtained.
  • the second relay node in the second blockchain network can sign the data information to be transferred based on the private key of the second relay node, so that the signature information of the data information to be transferred can be obtained.
  • the second node in the second blockchain network may receive the signature information sent by the second relay node based on the cross-chain data transfer function in the second cross-chain contract deployed on the second node. It should be understood that the second node can obtain the public key of the second relay node in the second blockchain network, and verify the received signature information based on the public key of the second relay node, so that the signature information can be obtained. Verification result. When the signature verification result indicates that the second node successfully verifies the signature, the data information to be transferred sent by the second relay node can be obtained.
  • FIG. 6 is a schematic diagram of a scenario for verifying signature information provided by an embodiment of the present application.
  • the relay node 600 in the embodiment of the present application may be the second relay node in the second blockchain network, and the second relay node may be the blockchain node corresponding to FIG. 1 above.
  • the node 610 in the embodiment of the present application may be a second node in the second blockchain network, and the second node may be any node in the blockchain node system 120 corresponding to FIG. 1, for example, 1200a.
  • the second blockchain network can configure the relay node 600 with a pair of public and private keys.
  • the relay node 600 can sign the data information to be transferred based on the private key of the relay node 600, so that the signature information can be obtained.
  • the relay node 600 can perform a hash calculation on the data information to be transferred, so as to obtain the summary information h of the data information to be transferred, and the summary information h is based on the private key of the relay node 600 Perform a digital signature and get the signature information.
  • the signature information includes the digital signature and the data information to be transferred.
  • the relay node 600 can send the signature information to the node 610, so that the node 610 can verify the signature information based on the public key of the relay node 600, so that the verification result can be obtained. It is understandable that the node 610 can verify the digital signature based on the public key of the relay node 600 to obtain the digest information H of the data information to be transferred, and use the same hash algorithm as the relay node 600 to verify the digital signature.
  • the data information to be transferred is hashed, so that the digest information h of the data information to be transferred can be obtained. Further, the node 610 may compare the digest information H obtained after the signature verification with the digest information h obtained by the hash calculation to obtain the signature verification result.
  • summary information H is not the same as the summary information h, it can be understood that the node 610 has failed to verify the signature. If the summary information H is the same as the summary information h, it can be understood that the node 610 has successfully verified the signature, so that the data information to be transferred can be obtained.
  • the second node in the second blockchain network may verify the number of transfer information based on the second oracle contract deployed on the second node. It is understandable that the second node can obtain the data format of the data information to be transferred, and verify the matching degree between the data format of the data information to be transferred and the second data format determined by the first oracle contract and the second oracle contract. If the matching degree indicates that the data format of the data information to be transferred is the second data format, it can be understood that the verification of the second node is successful; if the matching degree indicates that the data format of the data information to be transferred is not the second data format, it can be understood as the second data format. Node verification failed.
  • the second node may convert the data format of the data to be transferred from the second data format (for example, binary format) to the third data format (for example, json format) to obtain target data information.
  • the second data format for example, binary format
  • the third data format for example, json format
  • the second node may write the target data information into the second blockchain corresponding to the second blockchain network.
  • the second node can generate the to-be-verified block to be written into the second blockchain corresponding to the second blockchain network based on the target data information.
  • the second node may broadcast the block to be verified to all blockchain nodes on the second blockchain. When it is determined that all the blockchain nodes on the second blockchain reach a consensus, the second node can write the block to be verified into the second blockchain.
  • the node 20D can write the target data information into the second blockchain (for example, the blockchain 2 shown in FIG. 2) corresponding to the second blockchain network.
  • the blockchain 2 shown in FIG. 2 may be the second blockchain corresponding to the second blockchain network corresponding to the blockchain node system 120 in FIG. 1, and the blockchain 2 It may be a same blockchain shared by every node in the second blockchain network corresponding to the node 20D, and each node can obtain the information stored in the blockchain in the blockchain 2.
  • the blockchain 2 includes a block 20a, a block 20b, ..., a block 20n, and a block to be verified, and the block 20a can be referred to as the creation block of the blockchain 2.
  • the block to be verified in the blockchain 2 contains the above-mentioned target data information with the third data format.
  • the node 20D can write the target data information into the second blockchain in the second blockchain network corresponding to the node 20D.
  • the node 20D can obtain the block 20n with the largest generation timestamp from the blockchain 2.
  • the node 20D can generate the to-be-verified block to be written in the blockchain 2 according to the target data information.
  • the node 20D can broadcast the to-be-verified block containing the target data information to all the blockchain nodes in the second blockchain network (for example, the consensus node used for consensus processing).
  • the block to be verified can be written into the above-mentioned block chain 2, that is, the block to be verified is regarded as the next block of block 20n, so that the block chain 1
  • the initial data information of the target block is stored in the target data information of the block to be verified in the blockchain 2.
  • the second node in the embodiment of the present application may also be based on the second block height of the second block to which the target data information belongs in the second block chain, and the first block of the transaction data information corresponding to the target data information.
  • a mapping relationship table between target data information and transaction data information is established, so that the second node can query the source of target data information, so as to improve the reliability of cross-chain information in subsequent business processing sex.
  • Table 2 is a mapping relationship table provided by an embodiment of the present application. It is understandable that the embodiment of the present application may refer to the block height of the first block to which the transaction data information belongs in the first block chain as the first block height, and the second block height to which the target data information corresponding to the transaction data information belongs The block height of the block in the second block chain is called the second block height.
  • the second node in the embodiment of the present application can establish a one-to-one mapping relationship between multiple target data information and transaction data information.
  • Table 2 above only uses four transaction data information as an example to illustrate the mapping relationship table.
  • the second block of target data information 1 belongs to A in the second block of the second blockchain, and the first block to which transaction data information 1 corresponding to target data information 1 belongs is in the first zone.
  • the height of the first block of the block chain is a.
  • the second block to which the target data information 2 belongs is at the second block height of the second blockchain, and the first block to which the transaction data information 2 corresponding to the target data information 2 belongs is at the first block of the first blockchain. Is b.
  • the second block to which target data information 3 belongs is at the second block height of the second blockchain, and the first block to which transaction data information 3 corresponding to target data information 3 belongs is at the first block of the first blockchain.
  • the second block to which target data information 4 belongs is at the second block height of the second block chain, and the first block to which transaction data information 4 corresponding to target data information 4 belongs is at the first block height of the first block chain. Is d.
  • the second node when it needs to query the source of the target data information, it can obtain the second block height in the second block chain of the second block to which the target data information belongs, and then can use the mapping shown in Table 2 above.
  • the first block in the first block chain to which the transaction data information corresponding to the target data information belongs is queried in the relationship table, so that the transaction data information can be obtained. Further, the second node can compare the transaction data information and the target data information to determine whether the target data information is suspected of being tampered with.
  • the second block of target data information 1 (for example, Zhang San) can be 2 in the second block of the second blockchain, and the first block of transaction data information 1 corresponding to target data information 1 is in the first block.
  • the height of the first block of a blockchain is 4.
  • the second node can determine the first block to which the transaction data information 1 corresponding to the target data information 1 belongs based on the first block height 4 that is queried, and obtain the transaction data information 1 from the first block (for example, zhangsan ). At this time, the second node can use the target data information 1 for the transaction data information 1 for comparison, so that it can be determined that the target data information 1 has not been tampered with.
  • the second node may determine the business classification to which the target data information belongs based on the second business contract deployed on the second node. Based on the business classification, the second node can perform business callbacks on the target data information. For example, in a judicial scenario, the second node can determine that the target data information belongs to a civil lawsuit, so that the target data information can be processed for business operations related to civil lawsuits.
  • the first node in the first blockchain network can obtain data from the first relay node in the first blockchain network through the first oracle contract deployed on the first node.
  • Initial data information in the first data format.
  • the initial data information is determined based on the first relay node listening to the transaction data information in the target block on the first blockchain corresponding to the first blockchain network.
  • the data format of the initial data information can be converted into the second data format specified by the first oracle contract and the second oracle contract, and then the first data can be passed through the first oracle contract.
  • the subsequent node sends the data information to be transferred in the second data format to the second relay node in the second blockchain network, so that the second relay node is to be transferred based on the second node in the second blockchain network
  • the data in the data information is stored.
  • the transaction data information in the second blockchain can also be stored in the first blockchain. It can be seen that the embodiments of the present application can realize mutual storage of cross-chain information.
  • FIG. 7 is a schematic flowchart of a method for inter-blockchain data mutual storage provided by an embodiment of the present application.
  • the method can be executed interactively by the first node and the first relay node in the first blockchain network and the second node and the second relay node in the second blockchain network.
  • the first node may be the node 20B corresponding to FIG. 2 above
  • the first relay node may be the node 20A corresponding to FIG. 2 above
  • the second node may be the node 20D corresponding to FIG. 2 above
  • the second relay node The node may be the node 20C corresponding to FIG. 2 described above.
  • the method may include:
  • the first relay node sends initial data information having a first data format to the first node.
  • the first node in the first blockchain network may determine the relay node that has a network connection relationship with the first node from the first blockchain network.
  • the embodiment of the present application may refer to the relay node having a network connection relationship with the first node in the first blockchain network as the first relay node.
  • the first relay node can monitor the transaction data information in the target block in the first block chain corresponding to the first block chain network.
  • the target block may be the block with the largest generation timestamp in the first blockchain.
  • the first node can obtain the transaction data information, so that the data format of the transaction data information can be referred to as the first data format, and the transaction data information having the first data format is determined as the initial data information.
  • the first data format may be a data format when each node in the first blockchain network performs data information interaction. Further, the first node may invoke the first oracle contract deployed on the first node to obtain initial data information from the first relay node. Wherein, the transaction data information is determined based on the first business contract in the first node.
  • the first node in the embodiment of the present application may be the node 20B corresponding to FIG. 2 above, and the node 20B may be any node in the blockchain node system 110 corresponding to FIG. 1, for example, node 1100a .
  • the first relay node in the embodiment of the present application may be the node 20A corresponding to FIG. 2 described above, and the node 20A may be the relay node 110A in the blockchain node system 110 corresponding to FIG. 1 described above.
  • the second node in the embodiment of the present application may be the node 20D corresponding to the foregoing FIG. 2, and the node 20D may be any node in the blockchain node system 120 corresponding to the foregoing FIG. 1, for example, the node 1200a.
  • the second relay node in the embodiment of the present application may be the node 20C corresponding to FIG. 2 described above, and the node 20C may be the relay node 120A in the blockchain node system 120 corresponding to FIG. 1 described above.
  • smart contracts such as the first business contract, the first cross-chain contract, and the first oracle contract can be deployed on the first node.
  • the blockchain network corresponding to the first node may be referred to as the first blockchain network, and the corresponding blockchain in the first blockchain network may be referred to as the first blockchain.
  • Smart contracts such as the second business contract, the second cross-chain contract, and the second oracle contract can be deployed on the second node.
  • the block chain network corresponding to the second node may be referred to as the second block chain network, and the corresponding block chain in the second block chain network may be the second block chain.
  • the block chain types of the first block chain and the second block chain can be the same or different, which is not limited here.
  • the first blockchain may be a Bitcoin blockchain
  • the second blockchain may be an Ethereum blockchain.
  • S202 The first node verifies the initial data information through the first oracle contract.
  • the first node may call the data verification function in the first oracle contract to verify the attributes of the data format of the initial data information. It is understandable that if the attributes of the data format of the initial data information match the attributes of the first data format used for data transactions in the first blockchain network, it can be understood that the verification of the first node is successful; if the initial data information If the attribute of the data format does not meet the attribute of the first data format used for data transactions in the first blockchain network, it can be understood that the verification of the first node fails.
  • the first node converts the data format of the initial data information from the first data format to the second data format according to the second data format specified by the second oracle contract and used for cross-chain transactions.
  • the initial data information having the second data format is determined as the data information to be transferred.
  • the first node when the first node successfully verifies the initial data information, the first node can obtain the second oracle contract included in the second node in the second blockchain network different from the first blockchain network. Further, the first node can obtain the data format for cross-chain transactions specified by the first oracle contract and the second oracle contract, so that the data format for cross-chain transactions can be determined as the second data Format. At this time, the first node may convert the data format of the initial data information from the first data format to the second data format, and determine the initial data information having the second data format as the data information to be transferred.
  • S204 The first node sends the data information to be transferred to the first relay node.
  • the first node may obtain the first cross-chain contract deployed on the first node, call the cross-chain data transfer function in the first cross-chain contract, and send the data information to be transferred to the first relay node.
  • the first relay node sends the data information to be transferred to the second relay node corresponding to the second blockchain network.
  • the first relay node can obtain the public key of the second relay node in the second blockchain network, and encrypt the data to be transferred based on the public key of the second relay node, so that the encrypted data information can be obtained . Further, the first relay node may send the encrypted data information to the second relay node, so that the second relay node can decrypt the encrypted data information based on the private key of the second relay node, and then obtain the Transfer data information.
  • the second node Based on the second cross-chain contract, the second node receives the to-be-transferred data information sent by the second relay node corresponding to the second blockchain network.
  • the second relay node in the second blockchain network can sign the data information to be transferred based on the private key of the second relay node, so that the signature information of the data information to be transferred can be obtained.
  • the second node in the second blockchain network may receive the signature information sent by the second relay node based on the cross-chain data transfer function in the second cross-chain contract deployed on the second node. It should be understood that the second node can obtain the public key of the second relay node in the second blockchain network, and verify the received signature information based on the public key of the second relay node, so that the signature information can be obtained. Verification result. When the signature verification result indicates that the second node successfully verifies the signature, the data information to be transferred sent by the second relay node can be obtained.
  • S207 Verify the data information to be transferred based on the second oracle contract.
  • the second node may obtain the data format of the data information to be transferred, and verify the matching degree between the data format of the data information to be transferred and the second data format determined by the first oracle contract and the second oracle contract. If the matching degree indicates that the data format of the data information to be transferred is the second data format, it can be understood that the verification of the second node is successful; if the matching degree indicates that the data format of the data information to be transferred is not the second data format, it can be understood as the second data format. Node verification failed.
  • the second node may generate the to-be-verified block to be written into the second blockchain corresponding to the second blockchain network based on the target data information. Further, the second node may broadcast the block to be verified to all blockchain nodes on the second blockchain. When it is determined that all the blockchain nodes on the second blockchain reach a consensus, the second node can write the block to be verified into the second blockchain.
  • step S201 to step S209 please refer to the description of step S101 to step S104 in the embodiment corresponding to FIG. 3, which will not be repeated here.
  • the number of relay nodes in the embodiment of the present application may be multiple or one.
  • the first relay node in the first blockchain network and the second relay node in the second blockchain network may be the same relay node.
  • FIG. 8 is a schematic diagram of a cross-chain information storage scenario provided by an embodiment of the present application.
  • the node 810 in the embodiment of the present application may be the first node in the first blockchain network, and the first node may be any node in the blockchain node system 110 corresponding to FIG. 1 above. , For example, node 1100a.
  • the node 830 in the embodiment of the present application may be a second node in the second blockchain network, and the second node may be any node in the blockchain node system 120 corresponding to FIG. 1, for example, the node 1200a.
  • the relay node 820 in the embodiment of the present application may be a relay node participating in the first blockchain network and a relay node participating in the second blockchain network.
  • the relay node 820 can deploy the first oracle contract in the first blockchain network, so that the relay node 820 can monitor the first zone corresponding to the first blockchain network based on the first oracle contract.
  • the target block in the block chain so that the initial data information can be generated based on the transaction data information in the target block.
  • the relay node 820 may send the initial data information to the node 810 so that the node 810 can verify the initial data information.
  • the node 810 may convert the initial data information having the first data format into the data information to be transferred having the second data format.
  • the second data format is determined by the first oracle contract deployed in the node 810 and the second oracle contract deployed in the node 830.
  • the node 810 may send the data information to be transferred to the relay node 820.
  • the relay node 820 may send the data information to be transferred to the node 830, so that the node 830 can verify the data information to be transferred.
  • the data information to be transferred in the second data format can be converted into the target data information in the third data format, so that the node 830 can write the target data information to the second blockchain network. Corresponding to the second blockchain.
  • the relay node 820 can also deploy a second oracle contract in the second blockchain network, so that it can monitor the block generation of the second blockchain in the second blockchain network, and then can pass The node 810 uploads the transaction data information of the target block in the second block chain to the first block chain corresponding to the first block chain network, so as to realize the mutual storage of cross-chain data.
  • the first node in the first blockchain network can obtain data from the first relay node in the first blockchain network through the first oracle contract deployed on the first node.
  • Initial data information in the first data format.
  • the initial data information is determined based on the first relay node listening to the transaction data information in the target block on the first blockchain corresponding to the first blockchain network.
  • the data format of the initial data information can be converted into the second data format specified by the first oracle contract and the second oracle contract, and then the first data can be passed through the first oracle contract.
  • the subsequent node sends the data information to be transferred in the second data format to the second relay node in the second blockchain network, so that the second relay node is to be transferred based on the second node in the second blockchain network
  • the data in the data information is stored.
  • the transaction data information in the second blockchain can also be stored in the first blockchain. It can be seen that the embodiments of the present application can realize mutual storage of cross-chain information.
  • FIG. 9 is a schematic structural diagram of a cross-blockchain data mutual storage device provided by an embodiment of the present application.
  • the cross-blockchain data mutual storage device may be a computer program (including program code) running in a computer device.
  • the cross-blockchain data mutual storage device is an application software;
  • the cross-blockchain data mutual storage device is an application software;
  • the data mutual storage device can be used to execute the corresponding steps in the method provided in the embodiments of the present application.
  • the cross-blockchain data mutual storage device 1 may run on the first node in the first blockchain network, and the first node may be the node 20B in the embodiment corresponding to FIG. 2.
  • the cross-blockchain data mutual storage device 1 may include: an acquisition module 10, a verification module 20, a conversion module 30, and a sending module 40.
  • the obtaining module 10 is used to obtain initial data information in a first data format from a first relay node on the first blockchain network, where the first blockchain network corresponds to the first blockchain, and the initial The data information includes transaction data information in the target block on the first blockchain.
  • the acquiring module 10 includes: a first acquiring unit 101, a first determining unit 102, and a second acquiring unit 103.
  • the first obtaining unit 101 is configured to determine a first relay node having a network connection relationship with the first node from the first blockchain network, and obtain the transaction in the target block monitored by the first relay node Data information, where the transaction data information is determined according to the first business contract in the first node;
  • the first determining unit 102 is configured to determine the data format of the transaction data information as the first data format, and determine the transaction data information having the first data format as the initial data information;
  • the second obtaining unit 103 is configured to call the first oracle contract to obtain the initial data information in the first data format from the first relay node.
  • step S101 For specific implementations of the first acquiring unit 101, the first determining unit 102, and the second acquiring unit 103, reference may be made to the description of step S101 in the embodiment corresponding to FIG. 3, and the details will not be repeated here.
  • the verification module 20 is used to verify the initial data information through the first oracle contract included in the first node.
  • the verification module 20 includes: a calling unit 201, a first verification unit 202, and a second verification unit 203.
  • the calling unit 201 is used to call the data verification function in the first oracle contract to verify the attributes of the data format of the initial data information;
  • the first verification unit 202 is configured to determine that the verification is successful if the attribute of the data format of the initial data information matches the attribute of the first data format used for data transactions in the first blockchain network;
  • the second verification unit 203 is configured to determine that the verification fails if the attribute of the data format of the initial data information does not match the attribute of the first data format used for data transactions in the first blockchain network.
  • step S102 For the specific implementation of the invoking unit 201, the first verification unit 202, and the second verification unit 203, reference may be made to the description of step S102 in the embodiment corresponding to FIG. 3, which will not be repeated here.
  • the conversion module 30 is used to convert the data of the initial data information according to the second data format specified by the second oracle contract that has an associated relationship with the first oracle contract for cross-chain transactions when the verification is successful.
  • the format is converted from the first data format to the second data format, and the initial data information with the second data format is determined as the data information to be transferred, where the second oracle contract is deployed on the second node in the second blockchain network
  • the first blockchain network is different from the second blockchain network.
  • the conversion module 30 includes: a third acquisition unit 301, a fourth acquisition unit 302, a conversion unit 303, and a second determination unit 304.
  • the third obtaining unit 301 is configured to obtain the second oracle contract included in the second node when the verification is successful;
  • the fourth obtaining unit 302 is configured to determine the data format for cross-chain transactions specified by the first oracle contract and the second oracle contract as the second data format;
  • the conversion unit 303 is configured to convert the data format of the initial data information from the first data format to the second data format;
  • the second determining unit 304 is configured to determine the initial data information having the second data format as the data information to be transferred.
  • the specific implementation of the third acquiring unit 301, the fourth acquiring unit 302, the converting unit 303, and the second determining unit 304 can refer to the description of step S103 in the embodiment corresponding to FIG. 3, which will not be continued here. Go into details.
  • the sending module 40 is configured to send the data information to be transferred to the first relay node, so as to send the data information to be transferred to the second node through the first relay node, and store the data in the data information to be transferred.
  • the sending module 40 includes: a fifth acquiring unit 401 and a sending unit 402.
  • the fifth obtaining unit 401 is configured to obtain the first cross-chain contract deployed on the first node
  • the sending unit 402 is used to call the cross-chain data transfer function in the first cross-chain contract, and send the data information to be transferred to the first relay node, and the first relay node is based on the second block chain network corresponding to the first relay node.
  • the public key of the second relay node encrypts the data information to be transferred, and after the encrypted data information is obtained, it is sent to the second relay node, and the second relay node encrypts the data information based on the private key of the second relay node Decryption is performed, and the data in the data information to be transferred obtained after decryption is stored by the second node.
  • step S104 For the specific implementation of the fifth acquiring unit 401 and the sending unit 402, reference may be made to the description of step S104 in the embodiment corresponding to FIG. 3, which will not be repeated here.
  • step S101 to step S104 in the embodiment corresponding to FIG. 3, which will not be repeated here.
  • step S101 to step S104 in the embodiment corresponding to FIG. 3, which will not be repeated here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • FIG. 10 is a schematic diagram of a node device provided in an embodiment of the present application.
  • the node device 1000 may be the node 20B in the embodiment corresponding to FIG. 2, and the node device 1000 may include: at least one processor 1001 (for example, a CPU), at least one network interface 1004, a user interface 1003, The memory 1005 and at least one communication bus 1002.
  • the communication bus 1002 is used to implement connection and communication between these components.
  • the user interface 1003 may include a display screen (Display) and a keyboard (Keyboard), and the network interface 1004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
  • the memory 1005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk memory.
  • the memory 1005 may also be at least one storage device located far away from the aforementioned processor 1001.
  • the memory 1005, which is a computer storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.
  • the network interface 1004 is mainly used to communicate with the first relay node; and the user interface 1003 is mainly used to provide an input interface for the user; and the processor 1001 can be used to call the memory
  • initial data information with a first data format from the first relay node on the first blockchain network where the first blockchain network corresponds to the first blockchain, and the initial data information includes the first block Transaction data information in the target block on the chain;
  • the data format of the initial data information is converted from the first data format according to the second data format specified by the second oracle contract that is associated with the first oracle contract for cross-chain transactions Is the second data format, and the initial data information having the second data format is determined as the data information to be transferred, wherein the second oracle contract is deployed on the second node in the second blockchain network;
  • the data information to be transferred is sent to the first relay node, so that the data information to be transferred is sent to the second node through the first relay node, and the data of the data information to be transferred is stored.
  • the node device 1000 described in the embodiment of the present application can perform the description of the cross-blockchain data mutual storage method in the embodiment corresponding to FIG. 3 and FIG.
  • the description of the cross-blockchain data mutual storage device 1 in the example will not be repeated here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores the above-mentioned cross-blockchain data mutual storage device 1 executed A computer program, and the computer program includes program instructions.
  • the processor executes the program instructions, it can execute the description of the cross-blockchain data mutual storage method in the embodiment corresponding to Figure 3 or Figure 7 above. Therefore, I will not repeat them here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • the program instructions may be deployed to be executed on one computing device, or on multiple computing devices located in one location, or on multiple computing devices that are distributed in multiple locations and interconnected by a communication network
  • multiple computing devices distributed in multiple locations and interconnected through a communication network can form a blockchain system.
  • FIG. 11 is a schematic structural diagram of a cross-blockchain data mutual storage device provided by an embodiment of the present application.
  • the cross-blockchain data mutual storage device may be a computer program (including program code) running in a computer device, for example, the cross-blockchain data mutual storage device is an application software; the cross-blockchain data mutual storage device is an application software; The data mutual storage device can be used to execute the corresponding steps in the method provided in the embodiments of the present application.
  • the cross-blockchain data mutual storage device 2 may run on a second node in the second blockchain network, and the second node may be the node 20D in the embodiment corresponding to FIG. 2 above.
  • the cross-blockchain data mutual storage device 2 may include: a receiving module 100, an information verification module 200, a format conversion module 300, a writing module 400, a classification determination module 500, and a service callback module 600.
  • the receiving module 100 is configured to receive the data information to be transferred sent by the second relay node on the second blockchain network based on the second cross-chain contract contained in the second node, where the data information to be transferred is Sent by the first relay node in the first blockchain network different from the second blockchain network to the second relay node; the first node in the first blockchain network contains the first oracle Contract and the first cross-chain contract; the second node contains the second oracle contract; the data information to be transferred is the second data format of the first node based on the second oracle contract that has an associated relationship with the first oracle contract.
  • the initial data information of the first data format is determined after format conversion; the first node is used to send the data information to be transferred to the first relay node through the first cross-chain contract.
  • the receiving module 100 includes: a receiving unit 1010, a public key obtaining unit 1020, a signature verification unit 1030, and an information obtaining unit 1040.
  • the receiving unit 1010 is configured to receive the signature information that the second relay node signs the data to be transferred based on the private key of the second relay node by calling the cross-chain data transfer function in the second cross-chain contract, where:
  • the data information to be transferred is obtained after the second relay node decrypts the encrypted data information based on the private key of the second relay node.
  • the encrypted data information is obtained by the first relay node in the first blockchain network based on the first 2.
  • the public key of the relay node is obtained after encrypting the data information to be transferred;
  • the public key obtaining unit 1020 is configured to obtain the public key of the second relay node in the second blockchain network
  • the signature verification unit 1030 is used to verify the signature information based on the public key to obtain the verification result; the verification result includes the data information to be transferred;
  • the information acquiring unit 1040 is configured to acquire the data to be transferred information sent by the second relay node when the signature verification result indicates that the signature verification is successful.
  • step S206 The specific implementation of the receiving unit 1010, the public key obtaining unit 1020, the signature verification unit 1030, and the information obtaining unit 1040 can be found in the description of step S206 in the embodiment corresponding to FIG. 7, which will not be repeated here.
  • the information verification module 200 is used to verify the data information to be transferred based on the second oracle contract.
  • the information verification module 200 includes: a format acquisition unit 2010, a first format verification unit 2020, and a second format verification unit 2030.
  • the format obtaining unit 2010 is configured to obtain the data format of the data information to be transferred, and verify the matching degree between the data format of the data information to be transferred and the second data format determined by the second oracle contract;
  • the first format verification unit 2020 is configured to determine that the verification is successful if the matching degree indicates that the data format of the data information to be transferred is the second data format;
  • the second format verification unit 2030 is configured to determine that the verification fails if the matching degree indicates that the data format of the data information to be transferred is not the second data format.
  • step S207 For specific implementations of the format acquisition unit 2010, the first format verification unit 2020, and the second format verification unit 2030, reference may be made to the description of step S207 in the embodiment corresponding to FIG. 7, which will not be repeated here.
  • the format conversion module 300 is configured to convert the data format of the data to be transferred from the second data format to the third data format when the verification is successful, to obtain target data information;
  • the writing module 400 is used to write the target data information into the second blockchain corresponding to the second blockchain network.
  • the writing module 400 includes: a generating unit 4010, a broadcasting unit 4020, and a writing unit 4030.
  • the generating unit 4010 is configured to generate the to-be-verified block to be written into the second blockchain corresponding to the second blockchain network based on the target data information;
  • the broadcasting unit 4020 is used to broadcast the block to be verified to all blockchain nodes on the second blockchain;
  • the writing unit 4030 is used for writing the block to be verified into the second blockchain when it is determined that all the blockchain nodes on the second blockchain have reached a consensus.
  • step S209 For the specific implementation of the generating unit 4010, the broadcasting unit 4020, and the writing unit 4030, refer to the description of step S209 in the embodiment corresponding to FIG. 7, and the details will not be repeated here.
  • the classification determination module 500 determines the business classification to which the target data information belongs;
  • the business callback module 600 is used to perform business callbacks on target data information based on business classification.
  • the specific implementation of the receiving module 100, the information verification module 200, the format conversion module 300, the writing module 400, the classification determination module 500, and the service callback module 600 can refer to the step S201-step in the embodiment corresponding to FIG.
  • the description of S209 will not be repeated here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • FIG. 12 is a schematic diagram of a node device provided by an embodiment of the present application.
  • the node device 3000 may be the node 20D in the embodiment corresponding to FIG. 2, and the node device 3000 may include: at least one processor 3001 (for example, a CPU), at least one network interface 3004, a user interface 3003, The memory 3005 and at least one communication bus 3002.
  • the communication bus 3002 is used to implement connection and communication between these components.
  • the user interface 3003 may include a display screen (Display) and a keyboard (Keyboard), and the network interface 3004 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface).
  • the memory 3005 may be a high-speed RAM memory, or a non-volatile memory (non-volatile memory), such as at least one disk memory.
  • the storage 3005 may also be at least one storage device located far away from the foregoing processor 3001.
  • the memory 3005 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.
  • the network interface 3004 is mainly used to communicate with the second relay node; and the user interface 3003 is mainly used to provide an input interface for the user; and the processor 3001 can be used to call the memory
  • the device control application program stored in 3005 to achieve:
  • the second node Based on the second cross-chain contract contained in the second node, receive the data information to be transferred sent by the second relay node on the second blockchain network, where the data information to be transferred is shared with the second blockchain Sent to the second relay node by the first relay node in the first blockchain network with different networks; the first node in the first blockchain network includes the first oracle contract and the first cross-chain contract ; The second node contains the second oracle contract; the data to be transferred is the first node based on the second data format of the second oracle contract that has an associated relationship with the first oracle contract, and the initial data of the first data format The information is determined after format conversion; the first node is used to send the data information to be transferred to the first relay node through the first cross-chain contract;
  • the data format of the data to be transferred is converted from the second data format to the third data format to obtain the target data information
  • node device 3000 described in the embodiment of the present application can perform the description of the cross-blockchain data mutual storage method in the embodiment corresponding to FIG.
  • the description of the cross-blockchain data mutual storage device 2 will not be repeated here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • the embodiment of the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores the above-mentioned cross-blockchain data mutual storage device 2 executed A computer program, and the computer program includes program instructions.
  • the processor executes the program instructions, it can execute the description of the cross-blockchain data mutual storage method in the embodiment corresponding to Figure 7 above. Therefore, it will not be here. Let me repeat it again.
  • the description of the beneficial effects of using the same method will not be repeated.
  • the program instructions may be deployed to be executed on one computing device, or on multiple computing devices located in one location, or on multiple computing devices that are distributed in multiple locations and interconnected by a communication network
  • multiple computing devices distributed in multiple locations and interconnected through a communication network can form a blockchain system.
  • FIG. 13 is a schematic structural diagram of a data processing system provided by an embodiment of the present application.
  • the data processing system 3 may include a data processing device 1a and a data processing device 2a.
  • the data processing device 1a may be the cross-blockchain data mutual storage device 1 in the embodiment corresponding to FIG. 9. It is understood that the data processing device 1a may be integrated in the embodiment corresponding to FIG. 2 Node 20B, therefore, will not be repeated here.
  • the data processing device 2a may be the cross-blockchain data mutual storage device 2 in the embodiment corresponding to FIG. 11, and it is understandable that the data processing device 2a may be integrated in the embodiment corresponding to FIG. 2 Node 20D, therefore, will not be repeated here.
  • the description of the beneficial effects of using the same method will not be repeated.
  • the above-mentioned program can be stored in a computer readable storage medium. When executed, it may include the procedures of the above-mentioned method embodiments.
  • the aforementioned storage medium may be a magnetic disk, an optical disc, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM), etc.

Abstract

本申请实施例公开了一种跨区块链的数据互存方法、装置、设备及存储介质,该方法包括:从第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息;通过第一节点中所包含的第一预言机合约,对初始数据信息进行验证;在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息;将待转移数据信息发送至第一中继节点,以通过第一中继节点将待转移数据信息发送至第二区块链网络中的第二节点,对所述待转移数据信息的数据进行存储。

Description

跨区块链的数据互存方法、装置、设备及存储介质
本申请要求于2020年03月13日提交的申请号为202010175290.9、发明名称为“跨区块链的数据互存方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及区块链技术领域,尤其涉及一种跨区块链的数据互存方法、装置、设备及存储介质。
背景技术
目前,在A区块链与B区块链的进行数据交互的过程中,需要采用资产流转的方式将A区块链中的交易数据信息(例如,相应数据的比特币或者电子票据等)转移至B区块链,那这意味着当B区块链上的某个节点(例如,第二节点)上存在这个交易数据信息时,A区块链上的相应节点(例如,第一节点)上势必是不会有这个交易数据信息。
比如,若第一节点需要将A区块链中的电子票据流转至B链上的第二节点,则需要第一节点在A区块链上对该电子票据进行资产冻结,进而在B链上的第二节点确认签收该电子票据时,会在A区块链上将原电子票据销毁,以通知第二节点在B区块链上发布与该电子票据相同的另一电子票据,从而实现跨链数据的流转。
申请内容
本申请实施例提供一种跨区块链的数据互存方法、装置、设备及存储介质,可以实现跨链信息的相互存储。
本申请实施例一方面提供一种跨区块链的数据互存方法,该方法由第一区块链网络中的第一节点执行,包括:
从第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息,其中,第一区块链网络对应于第一区块链,初始数据信息包括第一区块链上的目标区块中的交易数据信息;
通过第一节点中所包含的第一预言机合约,对初始数据信息进行验证;
在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息,其中,第二预言机合约部署在第二区块链网络中的第二节点上;
将待转移数据信息发送至第一中继节点,以通过第一中继节点将待转移数据信息发送至第二节点,对待转移数据信息的数据进行存储。
本申请实施例一方面提供一种跨区块链的数据互存方法,该方法由第二区块链网络中的第二节点执行,包括:
基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息,其中,待转移数据信息是由与第二区块链网络不同的第一区块链网络中 的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点;
基于第二预言机合约,对待转移数据信息进行验证;
在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
将目标数据信息写入第二区块链网络对应的第二区块链中。
本申请实施例一方面提供一种跨区块链的数据互存装置,该装置运行于第一区块链网络中的第一节点,包括:
获取模块,用于从第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息,其中,第一区块链网络对应于第一区块链,初始数据信息包括第一区块链上的目标区块中的交易数据信息;
验证模块,用于通过第一节点所包含的第一预言机合约,对初始数据信息进行验证;
转换模块,用于在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息,其中,第二预言机合约部署在第二区块链网络中的第二节点上;
发送模块,用于将待转移数据信息发送至第一中继节点,以通过第一中继节点将待转移数据信息发送至第二节点,对待转移数据信息中的数据进行存储。
其中,获取模块包括:
第一获取单元,用于从第一区块链网络中,确定与第一节点具有网络连接关系的第一中继节点,获取第一中继节点所监听到的目标区块中的交易数据信息,其中,交易数据信息是根据第一节点中的第一业务合约所确定的;
第一确定单元,用于将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息;
第二获取单元,用于调用第一预言机合约,从第一中继节点中获取具有第一数据格式的初始数据信息。
其中,验证模块包括:
调用单元,用于调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证;
第一验证单元,用于若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则确定验证成功;
第二验证单元,用于若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则确定验证失败。
其中,转换模块包括:
第三获取单元,用于在验证成功时,获取第二节点中所包含的第二预言机合约;
第四获取单元,用于将第一预言机合约与第二预言机合约所规定的、用于进行跨链交易 的数据格式,确定为第二数据格式;
转换单元,用于将初始数据信息的数据格式由第一数据格式转换为第二数据格式;
第二确定单元,用于将具有第二数据格式的初始数据信息确定为待转移数据信息。
其中,发送模块包括:
第五获取单元,用于获取部署在第一节点上的第一跨链合约;
发送单元,用于调用第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至第一中继节点,由第一中继节点基于第二区块链网络对应的第二中继节点的公钥,对待转移数据信息进行加密,得到加密数据信息后,发送给第二中继节点,并由第二中继节点基于第二中继节点的私钥,对加密数据信息进行解密,再通过第二节点将解密后得到的待转移数据信息中的数据进行存储。
本申请一方面提供了一种节点设备,包括:处理器、存储器、网络接口;
该处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
本申请实施例一方面提供一种跨区块链的数据互存装置,该装置运行于第二区块链网络中的第二节点,包括:
接收模块,用于基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息,其中,待转移数据信息是由与第二区块链网络不同的第一区块链网络中的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点;
信息验证模块,用于基于第二预言机合约,对待转移数据信息进行验证;
格式转换模块,用于在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
写入模块,用于将目标数据信息写入第二区块链网络对应的第二区块链中。
其中,接收模块包括:
接收单元,用于通过调用第二节点中所包含的第二跨链合约中的跨链数据转移函数,接收第二中继节点基于第二中继节点的私钥对待转移数据信息进行签名后的签名信息,其中,待转移数据信息是第二中继节点基于第二中继节点的私钥对加密数据信息进行解密后所得到的,加密数据信息是由第一区块链网络中的第一中继节点基于第二中继节点的公钥对待转移数据信息进行加密后所得到的;
公钥获取单元,用于在第二区块链网络中获取第二中继节点的公钥;
验签单元,用于基于公钥对签名信息进行验签,得到验签结果;验签结果中包含待转移数据信息。
信息获取单元,用于当验签结果指示验签成功时,获取第二中继节点所发送的待转移数据信息。
其中,信息验证模块包括:
格式获取单元,用于获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第二预言机合约所确定的第二数据格式的匹配度进行验证;
第一格式验证单元,用于若匹配度指示待转移数据信息的数据格式为第二数据格式,则确定验证成功;
第二格式验证单元,用于若匹配度指示待转移数据信息的数据格式不是第二数据格式,则确定验证失败。
其中,写入模块包括:
生成单元,用于基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块;
广播单元,用于将待验证区块广播至第二区块链上的所有区块链节点;
写入单元,用于在确定第二区块链上的所有区块链节点达成共识时,将待验证区块写入第二区块链中。
其中,该装置还包括:
分类确定模块,基于第二节点中包含的第二业务合约,确定目标数据信息所属的业务分类;
业务回调模块,用于基于业务分类,将目标数据信息进行业务回调。
本申请一方面提供了一种节点设备,包括:处理器、存储器、网络接口;
该处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,该存储器用于存储计算机程序,该处理器用于调用该计算机程序,以执行本申请实施例中上述一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时,执行本申请实施例中上述一方面中的方法。
在本申请实施例中,第一区块链网络中的第一节点可以通过部署在第一节点上的第一预言机合约,从第一区块链网络中的第一中继节点中获取具有第一数据格式的初始数据信息。其中,该初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的。进一步地,在第一节点对初始数据信息验证成功时,可以将初始数据信息的数据格式转换为第一预言机合约与第二预言机合约所规定的第二数据格式,进而可以通过第一中继节点将具有第二数据格式的待转移数据信息发送至第二区块链网络中的第二中继节点,以使第二中继节点基于第二区块链网络中的第二节点对待转移数据信息中的数据进行存储。此外,第二区块链中的交易数据信息同样也可以存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链节点系统的结构示意图;
图2是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图;
图4是本申请实施例提供的一种区块链的结构示意图;
图5是本申请实施例提供的一种发送待转移数据信息的场景示意图;
图6是本申请实施例提供的一种验证签名信息的场景示意图;
图7是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图;
图8是本申请实施例提供的一种跨链信息进行存储的场景示意图;
图9是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图;
图10是本申请实施例提供的一种节点设备的示意图;
图11是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图;
图12是本申请实施例提供的一种节点设备的示意图;
图13是本申请实施例提供的一种数据处理系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如前文所述,一些区块链技术中,在不同的区块链上进行数据流转的过程中,难以实现在不同的区块链上存在相同的数据信息。因此,本申请实施例提供了一种跨区块链的数据互存方法、装置、设备及存储介质,以可以实现跨链信息的相互存储。
请参见图1,是本申请实施例提供的一种区块链节点系统的结构示意图。如图1所示,本申请实施例中的区块链节点系统110(即第一区块链节点系统)中的节点与区块链节点系统120(即第二区块链节点系统)中的节点之间可以进行跨链数据信息相互存储。其中,区块链节点系统110中可以包含多个节点,如图1所示,区块链节点系统110中具体可以包括节点1100a、节点1100b、节点1100c、…、节点1100n以及中继节点(例如,中继节点110A)。区块链节点系统120中可以包括多个节点。如图1所示,该区块链节点系统120具体可以包括节点1200a、节点1200b、节点1200c、…、节点1200n以及中继节点(例如在,中继节点120A)。所述节点和中继节点例如可以是各种计算机设备。
其中,本申请实施例可以将区块链节点系统110对应的区块链网络称之为第一区块链网络,将该第一区块链网络对应的区块链可以称之为第一区块链。其中,本申请实施例可以将区块链节点系统120对应的区块链网络称之为第二区块链网络,将该第二区块链网络对应的区块链可以称之为第二区块链。
目前,区块链的类型可包括:公有链(Public Blockchain)、私有链(Private Blockchain)和联盟链(Consortium Blockchain)。公有链是指对外公开、任何人都可以加入并访问的区块链;公有链上的区块可以被任何人查看,任何人也可以在公有链上发起交易,还可以随时参 与公有链的共识过程。私有链是指可以在私有组织内部使用、其读写权限、参与记账权限按私有组织规则来制定的区块链。私有链通常用于企业内部的数据管理、审计等。联盟链是指可以限于联盟成员参与、其读写权限、参与记账权限按联盟规则来制定的区块链。联盟链一般用于机构间的交易、结算或清算等场景。两条不同类型的区块链可以有各自的规范。例如:公有链中的共识机制一般是工作量证明(Proof of Work,简称PoW)或权益证明(Proof of Stake,简称PoS),而联盟链中的共识机制一般是权益证明或拜占庭共识算法(Practical Byzantine Fault Tolerant,简称PBFT)、RAFT(一种共识算法)等共识算法。相同类型的两条区块链也会有各自管理规范的差异。例如:同为联盟链,一条联盟链的共识机制可以为权益证明,而另一条联盟链的共享机制可以为PBFT共识机制。
应当理解,本申请实施例描述了一种跨链信息相互存储的方法,其中,两条区块链之间的跨链交互可以根据所跨越的区块链底层技术平台的不同,从而可以分为同构链跨链和异构链跨链。可以理解的是,同构链之间安全机制、共识算法、网络拓扑、区块生成验证逻辑可以一致,它们之间的跨链交互相对简单。而异构链的跨链交互相对复杂,比如,比特币采用PoW算法,而联盟链Fabric(一种超级账本联盟推出的核心区块链框架)采用传统确定性共识算法,其区块的组成形式和确定性保证机制均有很大不同,直接跨链交互机制不易设计。
可以理解的是,本申请实施例中的第一区块链和第二区块链可以为不同类型的两条区块链。例如,第一区块链可以为私有链,第二区块链可以为联盟链。本申请实施例中的第一区块链和第二区块链也可以为相同类型的两条区块链。例如,第一区块链可以为联盟链,第二区块链也可以为联盟链。这里在此不做限定。
如图1所示,在区块链节点系统110中,每个节点在进行正常工作时,均可以获取与第一区块链网络中的第一业务合约相关联的交易数据信息,以维护区块链节点系统110内的共享数据。为了保证区块链节点系统110内的信息互通,该区块链节点系统110中的每个节点之间可以建立网络连接,以通过网络连接进行数据传输。例如,当区块链节点系统110中的任意节点在获取交易数据信息时,区块链节点系统110中的其他节点便可以根据共识算法获取交易数据信息,并将交易数据信息作为共享数据中的数据进行存储,使得该区块链节点系统110中所有节点上存储的数据均一致。
在区块链节点系统120中,每个节点在进行正常工作时,均可以获取与第二区块链网络中的第二业务合约相关联的目标数据信息,以维护区块链节点系统120内的共享数据。为了保证区块链节点系统120内的信息互通,该区块链节点系统120中的每个节点之间可以建立网络连接,以通过网络连接进行数据传输。例如,当区块链节点系统120中的任意节点在获取目标数据信息时,区块链节点系统120中的其他节点便可以根据共识算法获取目标数据信息,并将目标数据信息作为共享数据中的数据进行存储,使得该区块链节点系统120中所有节点上存储的数据均一致。
对于区块链节点系统(区块链节点系统110或者区块链节点系统120)中的每个节点,均具有与其对应的节点标识,而且区块链节点系统中的每个节点均可以存储有与当前节点具有网络连接关系的其他节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至该区块链节点系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址 为例进行说明。
表1
节点名称 节点标识
节点1 117.114.151.174
节点2 117.116.189.145
节点N 119.123.789.258
应当理解,本申请实施例可以在图1所示的区块链节点系统110中的多个节点中选择一个节点作为该第一区块链节点系统对应的第一区块链网络中的第一节点。例如,本申请实施例可以将区块链节点系统110中的节点1100a作为该区块链网络中的第一节点。其中,该第一节点上可以部署业务合约,跨链合约,预言机合约等智能合约。
其中,智能合约可以理解为运行在分布式账本(即区块链)上预置规则、具有状态、条件响应的,可封装、验证、执行分布式节点复杂行为,完成信息交换、价值转移和资产管理的计算机程序。可以理解的是,本申请实施例可以将部署在第一节点上的业务合约称之为第一业务合约,将部署在第一节点上的跨链合约称之为第一跨链合约,将部署在第一节点上的预言机合约称之为第一预言机合约。
本申请实施例可以在图1所示的区块链节点系统120中的多个节点中选择一个节点作为该第二区块链节点系统对应的第二区块链网络中的第二节点。例如,本申请实施例可以将区块链节点系统120中的节点1200a作为该区块链网络中的第二节点。其中,该第二节点上可以部署业务合约,跨链合约,预言机合约等智能合约。可以理解的是,本申请实施例可以将部署在第二节点上的业务合约称之为第二业务合约,将部署在第二节点上的跨链合约称之为第二跨链合约,将部署在第二节点上的预言机合约称之为第二预言机合约。
其中,预言机合约可以为一种将区块链外的数据信息写入到区块链内的机制。其中,部署预言机合约的区块链节点可以作为区块链与现实世界进行数据交互的桥梁,当区块链上的某个智能合约有数据交互需求时,部署预言机合约的区块链节点在接收到需求后,帮助智能合约在区块链链外收集外界数据,验证后再将获取的数据反馈回链上的智能合约。预言机合约的应用场景非常多,可以理解为需要与链下进行数据交互的去中心化应用需要预言机合约。比如,通过网络和计算机设备实现的金融衍生品交易平台、借贷平台、快递追踪、稳定币、博彩游戏、保险以及预测市场等。
应当理解,本申请实施例中区块链节点系统110中的节点1100a可以通过中继节点110A将第一区块链中的交易数据信息进行跨链交易,进而可以发送至区块链节点系统120中的中继节点120A。此时,该中继节点120A可以通过节点1200a将接收到的第一区块链上的交易数据信息存储至第二区块链中。
可以理解的是,区块链节点系统110与区块链节点系统120中分别可以包含多个中继节点。如图1所示,中继节点110A可以为与节点1100a具有网络连接关系的中继节点,中继节点120A可以为与节点1200a具有网络连接关系的中继节点。
如图1所示,节点1100a可以从第一区块链网络中确定与节点1100a具有网络连接关系的中继节点110A。其中,本申请实施例可以将与第一区块链网络中的第一节点具有网络连接关系的中继节点称之为第一中继节点。进一步地,节点1100a可以获取中继节点110A所监听 到的第一区块链网络对应的第一区块链上的目标区块中的交易数据信息,进而可以将交易数据信息的数据格式称之为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息。其中,本申请实施例可以将第一区块链上具有最大生成时间戳的区块称之为目标区块。可以理解的是,该目标区块中的交易数据信息可以为节点1100a(即第一节点)基于第一区块链网络中的第一业务合约所生成的。
其中,该交易数据信息可以为司法场景下,与节点1100a相关联的用户终端所输入的某案件(例如,刑事案件X)的审判结果以及在审判期间所提供的证据材料。该交易数据信息也可以为快递物流场景下,与节点1100a相关联的用户终端通过扫描二维码来证明的快递件(例如,生活用品Y)所到达的指定区域的物流信息。其中,与节点1100a相关联的用户终端可以为智能手机、平板电脑、桌上型电脑等具有业务数据处理功能的智能终端。该交易数据信息还可以为电子票据处理场景中,与节点1100a相关联的电子票据(例如,电子票据Z)的开票、流转、入账、报销等流程信息。在此不进行一一举例。
其中,第一数据格式可以为第一区块链网络的各节点用于进行数据信息交互时的数据格式。应当理解,数据格式(data format)是描述数据保存在文件或记录中的规则。例如,数据格式可以为二进制格式,pb格式,xml格式、json格式、msgpack格式等。
此时,中继节点110A可以将具有第一数据格式(例如,pb格式)的初始数据信息发送至如图1所示的节点1100a。进一步地,节点1100a可以通过第一预言机合约对所获取的初始数据信息进行验证。应当理解,第一预言机合约与部署在第二节点上的第二预言机合约具有关联关系,换言之,该第一预言机合约与第二预言机合约可以规定用于进行跨链交易的数据格式。本申请实施例可以将用于进行跨链交易的数据格式确定为第二数据格式。在节点1100a验证成功时,节点1100a可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式,并可以将具有第二数据格式的初始数据信息称之为待转移数据信息。
进一步地,节点1100a可以将待转移数据信息发送至中继节点110A,从而可以使得中继节点110A将待转移数据信息发送至如图2所示的中继节点120A(即第二中继节点)。应当理解,中继节点120A与第二区块链网络中的节点1200a具有网络连接关系,进而中继节点120A可以将待转移数据信息发送至节点1200a(即第二节点),此时,该节点1200a可以基于第二预言机合约,对待转移数据信息进行验证。在验证成功时,节点1200a可以将待转移数据信息的数据格式由第二数据格式转换为第三数据格式,从而得到目标数据信息。其中,本申请实施例可以将具有第三数据格式的待转移数据信息称之为目标数据信息。第三数据格式为第二区块链网络的各节点用于进行数据信息交互时的数据格式。进一步地,节点1200a可以将目标数据信息写入到区块链节点系统120所对应的第二区块链网络对应的第二区块链中。
可选的,本申请实施例中区块链节点系统120中的节点1200a还可以通过中继节点120A将第二区块链中的交易数据信息进行跨链交易,进而可以将交易数据信息对应的待转移数据信息发送至区块链节点系统110中的中继节点110A。此时,该中继节点110A可以通过节点1100a将接收到的第二区块链上的待转移数据信息存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
为便于理解,进一步地,请参见图2,是本申请实施例提供的一种进行数据交互的场景示意图。本申请实施例中的中继节点20A可以为第一区块链网络中的第一中继节点,该第一 中继节点可以为上述图1所对应的中继节点110A。本申请实施例中的节点20B可以为第一区块链网络中的第一节点,该第一节点可以为上述图1中区块链节点系统110(即第一区块链系统)中的任意节点,例如,节点1100a。本申请实施例中的中继节点20C可以为第二区块链网络中的第二中继节点,该第二中继节点可以为上述图1所对应的中继节点120A。本申请实施例中的节点20D可以为第二区块链网络中的第二节点,该第二节点可以为上述图1中区块链节点系统120(即第二区块链系统)中的任意节点,例如,节点1200a。
应当理解,第一区块链网络对应的第一区块链与第二区块链网络对应的第二区块链的类型可以相同,也可以不同,在此不做限定。本申请实施例中的应用场景以司法场景为例,描述将司法外网中的交易数据信息(例如,与某民事案件相关联的数据信息)存储至司法内网中。其中,第一区块链可以为司法外网对应的区块链,第二区块链可以为司法内网对应的区块链。
其中,可以理解的是,图2所示的区块链1可以为上述图1中区块链节点系统110对应的第一区块链网络的第一区块链,该区块链1可以为节点20B所对应的第一区块链网络中每个节点均共享的一条相同的区块链,每个节点均可以将与第一业务合约相关联的交易数据信息,存储至在该条区块链1中。其中,该区块链1中包括区块10a、区块10b、…、区块10n以及目标区块,该区块10a可以称之为该区块链1的创世区块。该区块链1中的目标区块中包含着节点20B与第一业务合约相关联的交易数据信息。例如,该交易数据信息可以为某民事案件的审判结果以及在审判期间所提供的证据材料。
应当理解,节点20B可以从第一区块链网络中确定与节点20B具有网络连接关系的中继节点20A。可以理解的是,中继节点20A可以基于部署在中继节点20A中的第一预言机合约,获取图2所示的区块链1上的目标区块中的交易数据信息。进一步地,节点20B可以获取上述交易数据信息,进而可以将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息。其中,第一数据格式为第一区块链网络中各节点进行数据信息交互时的数据格式。例如,pb格式。
此时,节点20B可以调用部署在节点20B上的第一预言机合约,进而可以从中继节点20A中获取初始数据信息。进一步地,节点20B可以基于第一预言机合约中的数据验证函数,对该初始数据信息进行验证。其中,数据验证函数是指用于对初始数据信息进行验证的函数。在节点20B验证成功时,节点20B可以将初始数据信息的数据格式确定为第一数据格式,进而可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式(例如,二进制格式),并可以将具有第二数据格式的初始数据信息称之为待转移数据信息。其中,第二数据格式是由第一预言机合约以及第二预言机合约所规定的。第二预言机合约可以部署在节点20D中。
应当理解,节点20B可以基于节点20B中所包含的第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至中继节点20A,以使中继节点20A可以将待转移数据信息发送至如图2所示的中继节点20C。其中,跨链数据转移函数可以为用于将节点20B的待转移数据信息转移至中继节点20C的函数。进一步地,节点20D可以基于节点20D所包含的第二跨链合约中的跨链数据转移函数,从中继节点20C中获取待转移数据信息。
此时,该节点20D可以基于节点20D所包含的第二预言机合约,对待转移数据信息进行验证。在验证成功时,节点20D可以将待转移数据信息的数据格式由第二数据格式转换为第三数据格式(例如,json格式),从而得到目标数据信息。其中,第三数据格式为第二区块 链网络中各节点进行数据信息交互时的数据格式。进一步地,节点20D可以将目标数据信息写入到第二区块链网络对应的第二区块链(例如,图2所示的区块链2)中。
其中,可以理解的是,图2所示的区块链2可以为上述图1中区块链节点系统120对应的第二区块链网络所对应的第二区块链,该区块链2可以为节点20D所对应第二区块链网络中每个节点均共享的一条相同的区块链,每个节点均可以在该条区块链2中获取该区块链所存储的信息。其中,该区块链2中包括区块20a、区块20b、…、区块20n以及待验证区块,该区块20a可以称之为该区块链2的创世区块。该区块链2中的待验证区块中包含着上述具有第三数据格式的目标数据信息。
其中,该节点20D可以将该目标数据信息写入该节点20D所对应第二区块链网络中的第二区块链。换言之,该节点20D可以从该区块链2中获取具有最大生成时间戳的区块20n。进一步地,该节点20D可以根据该目标数据信息,生成待写入该区块链2中的待验证区块。此时,该节点20D可以将包含该目标数据信息的待验证区块广播至该第二区块链网络中的所有区块链节点(比如,用于进行共识处理的共识节点),在确定所有的区块链节点达成共识时,可以将该待验证区块写入上述区块链2中,也就是将该待验证区块作为区块20n的下一区块,从而可以将区块链1中目标区块的初始数据信息存储至区块链2中待验证区块的目标数据信息,以实现将第一区块链上的交易数据信息存储至第二区块链中。
其中,第一区块链网络中的第一中继节点与第二区块链网络中的第二中继节点还可以为同一个中继节点(例如,中继节点a)。换言之,中继节点a可以与第一区块链网络中的第一节点具有网络连接关系,同时也可以与第二区块链网络中的第二节点具有网络连接关系。
可选的,第二区块链上的交易数据信息也可以存储至第一区块链中,具体实现方式可以参见上述第一区块链的交易数据信息存储至第二区块来的描述,这里不再赘述。由此可见,本申请实施例可以实现跨链信息的相互存储。
其中,第一区块链网络中的第一节点与第二区块链网络中的第二节点进行跨链信息存储的具体实现方式可以参见下述图3-图8所对应的实施例。
进一步地,请参见图3,是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图。该方法可以由第一区块链网络中的第一节点执行,具体可以参见下述步骤S101-步骤S104的描述。如图3所示,该方法可以包括:
S101,从第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息。
具体地,第一区块链网络中的第一节点,可以从第一区块链网络中,确定与第一节点具有网络连接关系的中继节点。其中,本申请实施例可以将与第一区块链网络中的第一节点具有网络连接关系的中继节点,称之为第一中继节点。可以理解的是,第一中继节点可以监听到第一区块链网络对应的第一区块链中的目标区块中的交易数据信息。其中,目标区块可以为第一区块链中具有最大生成时间戳的区块。进一步地,第一节点可以获取该交易数据信息,从而可以将该交易数据信息的数据格式可以称之为第一数据格式,并将具有第一数据格式的交易数据信息确定为初始数据信息。该第一数据格式可以为第一区块链网络中各节点进行数据信息交互时的数据格式。进一步地,该第一节点可以调用部署在第一节点上的第一预言机合约,从第一中继节点中获取初始数据信息。其中,交易数据信息是基于第一节点中的第一业务合约所确定的。
应当理解,本申请实施例中的第一节点可以为上述图2所对应的节点20B,该节点20B 可以为上述图1所对应的区块链节点系统110中的任意一个节点,例如,节点1100a。本申请实施例中的第一中继节点可以为上述图2所对应的节点20A,该节点20A可以为上述图1所对应的区块链节点系统110中的中继节点110A。本申请实施例中的第二节点可以为上述图2所对应的节点20D,该节点20D可以为上述图1所对应的区块链节点系统120中的任意一个节点,例如,节点1200a。本申请实施例中的第二中继节点可以为上述图2所对应的节点20C,该节点20C可以为上述图1所对应的区块链节点系统120中的中继节点120A。
其中,第一节点上可以部署第一业务合约、第一跨链合约、第一预言机合约等智能合约。第一节点对应的区块链网络可以称之为第一区块链网络,第一区块链网络中对应的区块链可以称之为第一区块链。第二节点上可以部署第二业务合约、第二跨链合约、第二预言机合约等智能合约。第二节点对应的区块链网络可以称之为第二区块链网络,第二区块链网络中对应的区块链可以为第二区块链。可以理解的是,第一区块链与第二区块链的区块链类型可以相同,也可以不同,在此不做限定。例如,第一区块链可以为比特币区块链,第二区块来可以为以太坊区块链。
如图2所示,中继节点20A可以部署第一预言机合约。可以理解的是,中继节点20A可以监听图2所示的区块链1上的目标区块,进而可以基于该第一预言机合约,获取目标区块中的交易数据信息。
其中,该交易数据信息可以为司法场景下,与第一节点相关联的用户终端所输入的某案件(例如,刑事案件X)的审判结果以及在审判期间所提供的证据材料。该交易数据信息也可以为快递物流场景下,与第一节点相关联的用户终端通过扫描二维码来证明的快递件(例如,生活用品Y)所到达的指定区域的物流信息。其中,与第一节点相关联的用户终端可以为智能手机、平板电脑、桌上型电脑等具有业务数据处理功能的智能终端。该交易数据信息还可以为电子票据处理场景中,与第一节点相关联的电子票据(例如,电子票据Z)的开票、流转、入账、报销等流程信息。在此不进行一一举例。
进一步地,节点20B可以获取上述交易数据信息,进而可以将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息。其中,第一数据格式为第一区块链网络中各节点进行数据信息交互时的数据格式。例如,pb格式。此时,节点20B可以调用部署在节点20B的第一预言机合约,从中继节点20A中获取初始数据信息。
S102,通过第一节点中所包含的第一预言机合约,对初始数据信息进行验证。
具体地,第一节点可以调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证。可以理解的是,若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证成功;若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证失败。
应当理解,第一节点可以通过部署在第一节点上的第一预言机合约中的数据验证函数,确定初始数据信息的数据格式的属性。例如,该初始数据信息的数据格式的属性是一个区块,此时,第一节点可以验证该区块的属性是否符合第一区块链网络(例如,比特币区块链网络)用于进行数据交易时的第一数据格式的属性。可以理解的是,每一个区块中可以包含区块头以及区块主体。
为便于理解,进一步地,请参见图4,是本申请实施例提供的一种区块链的结构示意图。本申请实施例中的区块链4可以为上述图1所示的区块链节点系统110中的每个节点所共享一条相同的区块链(即第一区块链)。如图4所示,该区块链4可以由多个区块组成。
每一个区块都包含区块头和区块主体。其中,创世区块中可以包括区块头和区块主体,区块头中存储有本区块输入信息对应的哈希值、版本号、时间戳和难度值,区块主体中存储有第一节点基于第一业务合约所生成的交易数据信息。以目标区块为例,目标区块可以将目标区块的上一区块的哈希值作为父区块哈希值,目标区块中同样可以包括区块头和区块主体,区块头中存储有目标区块的哈希值,作为目标区块的默克尔根、父区块哈希值、版本号、时间戳和难度值。并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
应当理解,在目标区块的区块头中由三组区块元数据组成,首先是一组引用父区块哈希值的数据,这组元数据用于将该目标区块与区块链4中目标区块的上一区块相连接。第二组元数据是难度值,时间戳,随机数,版本号(用于跟踪软件/协议的更新),这组元数据与挖矿竞争相关。第三组元数据是默克尔根(一种用于有效地总结目标区块中所有交易的数据结构)。
可以理解的是,若第一节点所接收到的初始数据信息的数据格式的属性是一个区块(即目标区块),该目标区块中含有上述的三组元数据,则可以理解为第一节点验证成功,若第一节点所接收到的目标区块中缺少某一组元数据,则可以理解为第一节点验证失败。
S103,在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息。
具体地,在第一节点对初始数据信息验证成功时,第一节点可以获取与第一区块链网络不同的第二区块链网络中的第二节点中所包含的第二预言机合约。其中,该第二预言机合约部署在第二区块链网络中的第二节点上。进一步地,该第一节点可以获取第一预言机合约与第二预言机合约所规定的用于进行跨链交易的数据格式,从而可以将用于进行跨链交易的数据格式确定为第二数据格式。此时,该第一节点可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式,并将具有第二数据格式的初始数据信息确定为待转移数据信息。
应当理解,本申请实施例中的第一预言机合约与第二预言机合约所规定的用于进行跨链的数据格式为第二数据格式(例如,二进制格式)。因此,在第一节点针对初始数据信息验证成功时,可以将具有第一数据格式(例如,pb格式)的初始数据信息转换为第二数据格式,即转换为二进制格式的初始数据信息,此时,第一节点可以将具有二进制格式的初始数据信息确定为待转移数据信息。
S104,将待转移数据信息发送至第一中继节点,以通过第一中继节点将待转移数据信息发送至第二区块链网络中的第二节点,对待转移数据信息的数据进行存储。
具体地,第一节点可以获取部署在第一节点上的第一跨链合约。调用第一跨链合约中的跨链数据转移函数,第一节点可以将待转移数据信息发送至第一中继节点。此时,第一中继节点可以获取第二区块链网络中的第二中继节点的公钥,并基于第二中继节点的公钥对待转移数据信息进行加密,从而可以得到加密数据信息。进一步地,第一中继节点可以将该加密数据信息发送至第二中继节点,以使第二中继节点可以基于第二中继节点的私钥对加密数据 信息进行解密,进而可以得到待转移数据信息。此时,该第二中继节点可以通过第二节点将解密后得到的待转移数据信息中的数据进行存储。
为便于理解,进一步地,请参见图5,是本申请实施例提供的一种发送待转移数据信息的场景示意图。如图5所示,本申请实施例中的节点50A可以为第一区块链网络中的第一节点,该第一节点可以为上述图1所示的区块链节点系统110中的任意节点,例如,节点1100a。本申请实施例中的中继节点50B可以为第一区块链网络中的第一中继节点,该第一中继节点可以为上述图1所对应的中继节点110A。本申请实施例中的中继节点50C可以为第二区块链网络中的第二中继节点,该第二中继节点可以为上述图1所对应的中继节点120A。
应当理解,节点50A可以调用部署在节点50A上的第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至中继节点50B。此时,该中继节点50B可以获取第二区块链网络中的中继节点50C的公钥,基于该公钥,可以对待转移数据信息进行加密,从而得到加密数据信息。进一步地,中继节点50B可以将加密数据信息发送至第二区块链网络中的中继节点50C,以使中继节点50C可以根据中继节点50C的私钥,对加密数据信息进行解密,从而可以在解密后,得到待转移数据信息。
进一步地,第二区块链网络中的第二中继节点可以基于第二中继节点的私钥对待转移数据信息进行签名,从而可以得到待转移数据信息的签名信息。第二区块链网络中的第二节点可以基于部署在第二节点上的第二跨链合约中的跨链数据转移函数,接收第二中继节点所发送的签名信息。应当理解,第二节点可以在第二区块链网络中获取第二中继节点的公钥,基于第二中继节点的公钥对所接收的签名信息进行验签,从而可以得到签名信息的验签结果。当验签结果指示第二节点验签成功时,可以获取第二中继节点所发送的待转移数据信息。
为便于理解,进一步地,请参见图6,是本申请实施例提供的一种验证签名信息的场景示意图。如图6所示,本申请实施例中的中继节点600可以为第二区块链网络中的第二中继节点,该第二中继节点可以为上述图1所对应的区块链节点系统120中的中继节点120A。本申请实施例中的节点610可以为第二区块链网络中的第二节点,该第二节点可以为上述图1所对应的区块链节点系统120中的任意节点,例如,1200a。
第二区块链网络可以为中继节点600配置一对公私钥。应当理解,中继节点600可以基于中继节点600的私钥对待转移数据信息进行签名,从而可以得到签名信息。其中,可以理解的是,该中继节点600可以对该待转移数据信息进行哈希计算,从而可以得到待转移数据信息的摘要信息h,并基于中继节点600的私钥对该摘要信息h进行数字签名,得到签名信息。其中,该签名信息包括该数字签名和该待转移数据信息。
此时,中继节点600可以将签名信息发送至节点610,以使节点610可以基于中继节点600的公钥对签名信息验签,从而可以得到验签结果。其中,可以理解的是,节点610可以基于中继节点600的公钥对该数字签名进行验签,得到待转移数据信息的摘要信息H,并利用与该中继节点600相同的哈希算法对该待转移数据信息进行哈希计算,从而可以得到该待转移数据信息的摘要信息h。进一步地,节点610可以将验签后所得到的摘要信息H与进行哈希计算得到的摘要信息h进行比对,得到验签结果。
若该摘要信息H与摘要信息h不相同,则可以理解为节点610验签失败。若该摘要信息H与摘要信息h相同,则可以理解为节点610验签成功,从而可以得到待转移数据信息。
进一步地,第二区块链网络中的第二节点可以基于部署在第二节点上的第二预言机合约, 对待转移数信息进行验证。可以理解的是,第二节点可以获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第一预言机合约以及第二预言机合约所确定的第二数据格式的匹配度进行验证。若匹配度指示待转移数据信息的数据格式为第二数据格式,则可以理解为第二节点验证成功;若匹配度指示待转移数据信息的数据格式不是第二数据格式,则可以理解为第二节点验证失败。
应当理解,在验证成功时,第二节点可以将待转移数据的数据格式由第二数据格式(例如,二进制格式)转换为第三数据格式(例如,json格式),得到目标数据信息。
进一步地,第二节点可以将目标数据信息写入第二区块链网络对应的第二区块链中。其中,可以理解的是,第二节点可以基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块。进一步地,第二节点可以将待验证区块广播至第二区块链上的所有区块链节点。在确定第二区块链上的所有区块链节点达成共识时,第二节点可以将待验证区块写入第二区块链中。
如图2所示,节点20D可以将目标数据信息写入到第二区块链网络对应的第二区块链(例如,图2所示的区块链2)中。其中,可以理解的是,图2所示的区块链2可以为上述图1中区块链节点系统120对应的第二区块链网络所对应的第二区块链,该区块链2可以为节点20D所对应第二区块链网络中每个节点均共享的一条相同的区块链,每个节点均可以在该条区块链2中获取该区块链所存储的信息。
其中,该区块链2中包括区块20a、区块20b、…、区块20n以及待验证区块,该区块20a可以称之为该区块链2的创世区块。该区块链2中的待验证区块中包含着上述具有第三数据格式的目标数据信息。
其中,该节点20D可以将该目标数据信息写入该节点20D所对应第二区块链网络中的第二区块链。换言之,该节点20D可以从该区块链2中获取具有最大生成时间戳的区块20n。进一步地,该节点20D可以根据该目标数据信息,生成待写入该区块链2中的待验证区块。此时,该节点20D可以将包含该目标数据信息的待验证区块广播至该第二区块链网络中的所有区块链节点(比如,用于进行共识处理的共识节点),在确定所有的区块链节点达成共识时,可以将该待验证区块写入上述区块链2中,也就是将该待验证区块作为区块20n的下一区块,从而可以将区块链1中目标区块的初始数据信息存储至区块链2中待验证区块的目标数据信息。
此外,本申请实施例中的第二节点还可以基于目标数据信息所属第二区块在第二区块链中的第二块高,以及该目标数据信息对应的交易数据信息所属第一区块在第一区块链中的第一块高,建立目标数据信息与交易数据信息的映射关系表,从而便于第二节点查询目标数据信息的来源,以提高跨链信息在后续业务处理时的可靠性。
为便于理解,进一步地,请参见表2,是本申请实施例提供的一种映射关系表。可以理解的是,本申请实施例可以将交易数据信息所属的第一区块在第一区块链的块高称之为第一块高,将交易数据信息对应的目标数据信息所属的第二区块在第二块链的块高称之为第二块高。
表2
Figure PCTCN2020129004-appb-000001
Figure PCTCN2020129004-appb-000002
可以理解的是,本申请实施例中的第二节点可以建立多个目标数据信息与交易数据信息的一一映射关系,上述表2仅以4个交易数据信息为例,用以阐述映射关系表。如上述表2所示,目标数据信息1所属第二区块在第二区块链的第二块高为A,目标数据信息1对应的交易数据信息1所属的第一区块在第一区块链的第一块高为a。目标数据信息2所属第二区块在第二区块链的第二块高为B,目标数据信息2对应的交易数据信息2所属的第一区块在第一区块链的第一块高为b。目标数据信息3所属第二区块在第二区块链的第二块高为C,目标数据信息3对应的交易数据信息3所属的第一区块在第一区块链的第一块高为c。目标数据信息4所属第二区块在第二区块链的第二块高为D,目标数据信息4对应的交易数据信息4所属的第一区块在第一区块链的第一块高为d。
应当理解,第二节点在需要查询目标数据信息的来源时,可以获取目标数据信息所属第二区块在第二区块链中的第二块高,进而可以在如上述表2所示的映射关系表中查询到目标数据信息所对应的交易数据信息所属第一区块在第一区块链中的第一块高,从而可以获取到交易数据信息。进一步地,第二节点可以比对交易数据信息和目标数据信息,确定目标数据信息是否有被篡改的嫌疑。
例如,目标数据信息1(例如,张三)所属第二区块在第二区块链的第二块高可以为2,目标数据信息1对应的交易数据信息1所属的第一区块在第一区块链的第一块高为4。第二节点可以基于所查询到的第一块高4,确定目标数据信息1对应的交易数据信息1所属的第一区块,并从该第一区块中获取交易数据信息1(例如,zhangsan)。此时,第二节点可以将目标数据信息1用于交易数据信息1进行比对,从而可以确定目标数据信息1未被篡改。
可选的,第二节点可以基于部署在第二节点上的第二业务合约,确定目标数据信息所属的业务分类。基于业务分类,第二节点可以将目标数据信息进行业务回调。例如,司法场景中,第二节点可以确定目标数据信息属于民事诉讼案件,从而可以将目标数据信息进行与民事诉讼有关的业务操作处理。
在本申请实施例中,第一区块链网络中的第一节点可以通过部署在第一节点上的第一预言机合约,从第一区块链网络中的第一中继节点中获取具有第一数据格式的初始数据信息。其中,该初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的。进一步地,在第一节点对初始数据信息验证成功时,可以将初始数据信息的数据格式转换为第一预言机合约与第二预言机合约所规定的第二数据格式,进而可以通过第一中继节点将具有第二数据格式的待转移数据信息发送至第二区块链网络中的第二中继节点,以使第二中继节点基于第二区块链网络中的第二节点对待转移数据信息中的数据进行存储。此外,第二区块链中的交易数据信息同样也可以存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
进一步地,请参见图7,是本申请实施例提供的一种跨区块链的数据互存方法的流程示意图。该方法可以由第一区块链网络中的第一节点和第一中继节点以及第二区块链网络中的第二节点和第二中继节点交互执行。其中,第一节点可以为上述图2所对应的节点20B,第 一中继节点可以为上述图2所对应的节点20A,第二节点可以为上述图2所对应的节点20D,第二中继节点可以为上述图2所对应的节点20C。如图7所示,该方法可以包括:
S201,第一中继节点向第一节点发送具有第一数据格式的初始数据信息。
具体地,第一区块链网络中的第一节点可以从第一区块链网络中,确定与第一节点具有网络连接关系的中继节点。其中,本申请实施例可以将与第一区块链网络中的第一节点具有网络连接关系的中继节点称之为第一中继节点。可以理解的是,第一中继节点可以监听到第一区块链网络对应的第一区块链中的目标区块中的交易数据信息。其中,目标区块可以为第一区块链中具有最大生成时间戳的区块。进一步地,第一节点可以获取该交易数据信息,从而可以将该交易数据信息的数据格式可以称之为第一数据格式,将具有第一数据格式的交易数据信息确定为初始数据信息。该第一数据格式可以为第一区块链网络中各节点进行数据信息交互时的数据格式。进一步地,该第一节点可以调用部署在第一节点上的第一预言机合约,从第一中继节点中获取初始数据信息。其中,交易数据信息是基于第一节点中的第一业务合约所确定的。
应当理解,本申请实施例中的第一节点可以为上述图2所对应的节点20B,该节点20B可以为上述图1所对应的区块链节点系统110中的任意一个节点,例如,节点1100a。本申请实施例中的第一中继节点可以为上述图2所对应的节点20A,该节点20A可以为上述图1所对应的区块链节点系统110中的中继节点110A。本申请实施例中的第二节点可以为上述图2所对应的节点20D,该节点20D可以为上述图1所对应的区块链节点系统120中的任意一个节点,例如,节点1200a。本申请实施例中的第二中继节点可以为上述图2所对应的节点20C,该节点20C可以为上述图1所对应的区块链节点系统120中的中继节点120A。
其中,第一节点上可以部署第一业务合约、第一跨链合约、第一预言机合约等智能合约。第一节点对应的区块链网络可以称之为第一区块链网络,第一区块链网络中对应的区块链可以称之为第一区块链。第二节点上可以部署第二业务合约、第二跨链合约、第二预言机合约等智能合约。第二节点对应的区块链网络可以称之为第二区块链网络,第二区块链网络中对应的区块链可以为第二区块链。可以理解的是,第一区块链与第二区块链的区块链类型可以相同,也可以不同,在此不做限定。例如,第一区块链可以为比特币区块链,第二区块链可以为以太坊区块链。
S202,第一节点通过第一预言机合约,对初始数据信息进行验证。
具体地,第一节点可以调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证。可以理解的是,若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证成功;若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则可以理解为第一节点验证失败。
S203,在验证成功时,第一节点根据第二预言机合约规定的、用于进行跨链交易的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息。
具体地,在第一节点对初始数据信息验证成功时,第一节点可以获取与第一区块链网络不同的第二区块链网络中的第二节点中所包含的第二预言机合约。进一步地,该第一节点可以获取第一预言机合约与第二预言机合约所规定的用于进行跨链交易的数据格式,从而可以 将用于进行跨链交易的数据格式确定为第二数据格式。此时,该第一节点可以将初始数据信息的数据格式由第一数据格式转换为第二数据格式,并将具有第二数据格式的初始数据信息确定为待转移数据信息。
S204,第一节点将待转移数据信息发送至第一中继节点。
具体地,第一节点可以获取部署在第一节点上的第一跨链合约,调用第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至第一中继节点。
S205,第一中继节点将待转移数据信息发送至第二区块链网络对应的第二中继节点。
具体地,第一中继节点可以获取第二区块链网络中的第二中继节点的公钥,并基于第二中继节点的公钥对待转移数据信息进行加密,从而可以得到加密数据信息。进一步地,第一中继节点可以将该加密数据信息发送至第二中继节点,以使第二中继节点可以基于第二中继节点的私钥对加密数据信息进行解密,进而可以得到待转移数据信息。
S206,第二节点基于第二跨链合约,接收第二区块链网络对应的第二中继节点所发送的待转移数据信息。
具体地,第二区块链网络中的第二中继节点可以基于第二中继节点的私钥对待转移数据信息进行签名,从而可以得到待转移数据信息的签名信息。第二区块链网络中的第二节点可以基于部署在第二节点上的第二跨链合约中的跨链数据转移函数,接收第二中继节点所发送的签名信息。应当理解,第二节点可以在第二区块链网络中获取第二中继节点的公钥,基于第二中继节点的公钥对所接收的签名信息进行验签,从而可以得到签名信息的验签结果。当验签结果指示第二节点验签成功时,可以获取第二中继节点所发送的待转移数据信息。
S207,基于第二预言机合约,对待转移数据信息进行验证。
具体地,第二节点可以获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第一预言机合约以及第二预言机合约所确定的第二数据格式的匹配度进行验证。若匹配度指示待转移数据信息的数据格式为第二数据格式,则可以理解为第二节点验证成功;若匹配度指示待转移数据信息的数据格式不是第二数据格式,则可以理解为第二节点验证失败。
S208,在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息。
S209,将目标数据信息写入第二区块链网络对应的第二区块链中。
具体地,第二节点可以基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块。进一步地,第二节点可以将待验证区块广播至第二区块链上的所有区块链节点。在确定第二区块链上的所有区块链节点达成共识时,第二节点可以将待验证区块写入第二区块链中。
其中,该步骤S201-步骤S209的具体实施方式可参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再赘述。
应当理解,本申请实施例中的中继节点的数量可以为多个,也可以为一个。换言之,第一区块链网络中的第一中继节点与第二区块链网络中的第二中继节点可以为同一个中继节点。
为便于理解,进一步地,请参见图8,是本申请实施例提供的一种跨链信息进行存储的场景示意图。如图8所示,本申请实施例中的节点810可以为第一区块链网络中的第一节点,该第一节点可以为上述图1所对应的区块链节点系统110中的任意节点,例如,节点1100a。 本申请实施例中的节点830可以为第二区块链网络中的第二节点,该第二节点可以为上述图1所对应的区块链节点系统120中的任意节点,例如,节点1200a。本申请实施例中的中继节点820可以为既参与第一区块链网络的中继节点,又参与第二区块链网络的中继节点。
应当理解,中继节点820可以部署第一区块链网络中的第一预言机合约,以使中继节点820可以基于该第一预言机合约,监听第一区块链网络对应的第一区块链中的目标区块,从而可以基于该目标区块中的交易数据信息生成初始数据信息。进一步地,中继节点820可以将初始数据信息发送至节点810,以使节点810可以验证初始数据信息。
在验证成功时,节点810可以将具有第一数据格式的初始数据信息转换为具有第二数据格式的待转移数据信息。其中,第二数据格式是由部署在节点810中的第一预言机合约以及部署在节点830中的第二预言机合约所确定的。进一步地,节点810可以将待转移数据信息发送至中继节点820。此时,中继节点820可以将待转移数据信息发送至节点830,以使节点830对待转移数据信息进行验证。在节点830验证成功时,可以将具有第二数据格式的待转移数据信息转换为具有第三数据格式的目标数据信息,从而可以使得节点830可以将目标数据信息写入到第二区块链网络对应的第二区块链中。
可选的,中继节点820中还可以部署第二区块链网络中的第二预言机合约,从而可以监听第二区块链网络中的第二区块链的出块情况,进而可以通过节点810将第二区块链中的目标区块的交易数据信息上传到第一区块链网络对应的第一区块链中,以实现跨链数据的相互存储。
在本申请实施例中,第一区块链网络中的第一节点可以通过部署在第一节点上的第一预言机合约,从第一区块链网络中的第一中继节点中获取具有第一数据格式的初始数据信息。其中,该初始数据信息是根据第一中继节点监听到第一区块链网络对应的第一区块链上的目标区块中的交易数据信息所确定的。进一步地,在第一节点对初始数据信息验证成功时,可以将初始数据信息的数据格式转换为第一预言机合约与第二预言机合约所规定的第二数据格式,进而可以通过第一中继节点将具有第二数据格式的待转移数据信息发送至第二区块链网络中的第二中继节点,以使第二中继节点基于第二区块链网络中的第二节点对待转移数据信息中的数据进行存储。此外,第二区块链中的交易数据信息同样也可以存储至第一区块链中。由此可见,本申请实施例可以实现跨链信息的相互存储。
进一步地,请参见图9,是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图。该跨区块链的数据互存装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该跨区块链的数据互存装置为一个应用软件;该跨区块链的数据互存装置可以用于执行本申请实施例提供的方法中的相应步骤。如图9所示,该跨区块链的数据互存装置1可以运行于第一区块链网络中的第一节点,该第一节点可以为上述图2所对应实施例中的节点20B。该跨区块链的数据互存装置1可以包括:获取模块10、验证模块20、转换模块30以及发送模块40。
该获取模块10,用于从第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息,其中,第一区块链网络对应于第一区块链,初始数据信息包括第一区块链上的目标区块中的交易数据信息。
其中,获取模块10包括:第一获取单元101,第一确定单元102以及第二获取单元103。
该第一获取单元101,用于从第一区块链网络中,确定与第一节点具有网络连接关系的 第一中继节点,获取第一中继节点所监听到的目标区块中的交易数据信息,其中,交易数据信息是根据第一节点中的第一业务合约所确定的;
第一确定单元102,用于将交易数据信息的数据格式确定为第一数据格式,且将具有第一数据格式的交易数据信息确定为初始数据信息;
该第二获取单元103,用于调用第一预言机合约,从第一中继节点中获取具有第一数据格式的初始数据信息。
其中,该第一获取单元101,第一确定单元102以及第二获取单元103的具体实现方式可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再继续进行赘述。
该验证模块20,用于通过第一节点所包含的第一预言机合约,对初始数据信息进行验证。
其中,验证模块20包括:调用单元201、第一验证单元202以及第二验证单元203。
该调用单元201,用于调用第一预言机合约中的数据验证函数,对初始数据信息的数据格式的属性进行验证;
该第一验证单元202,用于若初始数据信息的数据格式的属性符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则确定验证成功;
该第二验证单元203,用于若初始数据信息的数据格式的属性不符合第一区块链网络中用于进行数据交易时的第一数据格式的属性,则确定验证失败。
其中,该调用单元201、第一验证单元202以及第二验证单元203的具体实现方式可以参见上述图3所对应实施例中对步骤S102的描述,这里将不再继续进行赘述。
该转换模块30,用于在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息,其中,第二预言机合约部署在第二区块链网络中的第二节点上,第一区块链网络与第二区块链网络不同。
其中,转换模块30包括:第三获取单元301、第四获取单元302、转换单元303以及第二确定单元304。
该第三获取单元301,用于在验证成功时,获取第二节点中所包含的第二预言机合约;
该第四获取单元302,用于将第一预言机合约与第二预言机合约所规定的、用于进行跨链交易的数据格式,确定为第二数据格式;
该转换单元303,用于将初始数据信息的数据格式由第一数据格式转换为第二数据格式;
该第二确定单元304,用于将具有第二数据格式的初始数据信息确定为待转移数据信息。
其中,该第三获取单元301、第四获取单元302、转换单元303以及第二确定单元304的具体实现方式可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再继续进行赘述。
该发送模块40,用于将待转移数据信息发送至第一中继节点,以通过第一中继节点将待转移数据信息发送至第二节点,对待转移数据信息中的数据进行存储。
其中,发送模块40包括:第五获取单元401以及发送单元402。
该第五获取单元401,用于获取部署在第一节点上的第一跨链合约;
该发送单元402,用于调用第一跨链合约中的跨链数据转移函数,将待转移数据信息发送至第一中继节点,由第一中继节点基于第二区块链网络对应的第二中继节点的公钥,对待 转移数据信息进行加密,得到加密数据信息后,发送给第二中继节点,并由第二中继节点基于第二中继节点的私钥,对加密数据信息进行解密,再通过第二节点将解密后得到的待转移数据信息中的数据进行存储。
其中,该第五获取单元401以及发送单元402的具体实现方式可以参见上述图3所对应实施例中对步骤S104的描述,这里将不再继续进行赘述。
其中,该获取模块10,验证模块20,转换模块30以及发送模块40的具体实现方式可以参见上述图3所对应实施例中对步骤S101-步骤S104的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图10,是本申请实施例提供的一种节点设备的示意图。如图10所示,该节点设备1000可以为上述图2对应实施例中的节点20B,该节点设备1000可以包括:至少一个处理器1001(例如CPU)、至少一个网络接口1004、用户接口1003、存储器1005、至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图10所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图10所示的节点设备1000中,网络接口1004主要用于与第一中继节点进行网络通信;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
从第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息,其中,第一区块链网络对应于第一区块链,初始数据信息包括第一区块链上的目标区块中的交易数据信息;
通过第一节点中所包含的第一预言机合约,对初始数据信息进行验证;
在验证成功时,根据与第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将初始数据信息的数据格式由第一数据格式转换为第二数据格式,将具有第二数据格式的初始数据信息确定为待转移数据信息,其中,第二预言机合约部署在第二区块链网络中的第二节点上;
将待转移数据信息发送至第一中继节点,以通过第一中继节点将待转移数据信息发送至第二节点,对待转移数据信息的数据进行存储。
应当理解,本申请实施例中所描述的节点设备1000可执行前文图3和图7所对应实施例中对该跨区块链的数据互存方法的描述,也可执行前文图9所对应实施例中对该跨区块链的数据互存装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的跨区块链的数据互存装置1所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图3或者图7所对应实施例中对该跨区块链的数据互存方法的描述,因此,这里将不再进行赘述。另外,对采 用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
进一步地,请参见图11,是本申请实施例提供的一种跨区块链的数据互存装置的结构示意图。该跨区块链的数据互存装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如,该跨区块链的数据互存装置为一个应用软件;该跨区块链的数据互存装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该跨区块链的数据互存装置2可以运行于第二区块链网络中的第二节点,该第二节点可以为上述图2所对应实施例中的节点20D。该跨区块链的数据互存装置2可以包括:接收模块100、信息验证模块200、格式转换模块300、写入模块400、分类确定模块500以及业务回调模块600。
该接收模块100,用于基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息,其中,待转移数据信息是由与第二区块链网络不同的第一区块链网络中的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点。
其中,接收模块100包括:接收单元1010、公钥获取单元1020、验签单元1030以及信息获取单元1040。
该接收单元1010,用于通过调用第二跨链合约中的跨链数据转移函数,接收第二中继节点基于第二中继节点的私钥对待转移数据信息进行签名后的签名信息,其中,待转移数据信息是第二中继节点基于第二中继节点的私钥对加密数据信息进行解密后所得到的,加密数据信息是由第一区块链网络中的第一中继节点基于第二中继节点的公钥对待转移数据信息进行加密后所得到的;
该公钥获取单元1020,用于在第二区块链网络中获取第二中继节点的公钥;
该验签单元1030,用于基于公钥对签名信息进行验签,得到验签结果;验签结果中包含待转移数据信息;
该信息获取单元1040,用于当验签结果指示验签成功时,获取第二中继节点所发送的待转移数据信息。
其中,该接收单元1010、公钥获取单元1020、验签单元1030以及信息获取单元1040的具体实现方式可以参见上述图7所对应实施例中对步骤S206的描述,这里将不再继续进行赘述。
该信息验证模块200,用于基于第二预言机合约,对待转移数据信息进行验证。
其中,信息验证模块200包括:格式获取单元2010、第一格式验证单元2020以及第二格式验证单元2030。
该格式获取单元2010,用于获取待转移数据信息的数据格式,对待转移数据信息的数据格式与第二预言机合约所确定的第二数据格式的匹配度进行验证;
该第一格式验证单元2020,用于若匹配度指示待转移数据信息的数据格式为第二数据格式,则确定验证成功;
该第二格式验证单元2030,用于若匹配度指示待转移数据信息的数据格式不是第二数据格式,则确定验证失败。
其中,该格式获取单元2010、第一格式验证单元2020以及第二格式验证单元2030的具体实现方式可以参见上述图7所对应实施例中对步骤S207的描述,这里将不再继续进行赘述。
该格式转换模块300,用于在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
该写入模块400,用于将目标数据信息写入第二区块链网络对应的第二区块链中。
其中,写入模块400包括:生成单元4010、广播单元4020以及写入单元4030。
该生成单元4010,用于基于目标数据信息,生成待写入第二区块链网络对应的第二区块链的待验证区块;
该广播单元4020,用于将待验证区块广播至第二区块链上的所有区块链节点;
该写入单元4030,用于在确定第二区块链上的所有区块链节点达成共识时,将待验证区块写入第二区块链中。
其中,该生成单元4010,广播单元4020以及写入单元4030的具体实现方式可以参见上述图7所对应实施例中对步骤S209的描述,这里将不再继续进行赘述。
分类确定模块500,基于第二节点中包含的第二业务合约,确定目标数据信息所属的业务分类;
业务回调模块600,用于基于业务分类,将目标数据信息进行业务回调。
其中,该接收模块100、信息验证模块200、格式转换模块300、写入模块400、分类确定模块500以及业务回调模块600的具体实现方式可以参见上述图7所对应实施例中对步骤S201-步骤S209的描述,这里将不再继续进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图12,是本申请实施例提供的一种节点设备的示意图。如图12所示,该节点设备3000可以为上述图2对应实施例中的节点20D,该节点设备3000可以包括:至少一个处理器3001(例如CPU)、至少一个网络接口3004、用户接口3003、存储器3005、至少一个通信总线3002。其中,通信总线3002用于实现这些组件之间的连接通信。其中,用户接口3003可以包括显示屏(Display)、键盘(Keyboard),网络接口3004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器3005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储3005可选地还可以是至少一个位于远离前述处理器3001的存储装置。如图12所示,作为一种计算机存储介质的存储器3005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的节点设备3000中,网络接口3004主要用于与第二中继节点进行网络通信;而用户接口3003主要用于为用户提供输入的接口;而处理器3001可以用于调用存储器3005中存储的设备控制应用程序,以实现:
基于第二节点中所包含的第二跨链合约,接收第二区块链网络上的第二中继节点所发送的待转移数据信息,其中,待转移数据信息是由与第二区块链网络不同的第一区块链网络中 的第一中继节点向第二中继节点所发送的;第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;第二节点中包含第二预言机合约;待转移数据信息是第一节点基于与第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;第一节点用于通过第一跨链合约将待转移数据信息发送给第一中继节点;
基于第二预言机合约,对待转移数据信息进行验证;
在验证成功时,将待转移数据的数据格式由第二数据格式转换为第三数据格式,得到目标数据信息;
将目标数据信息写入第二区块链网络对应的第二区块链中。
应当理解,本申请实施例中所描述的节点设备3000可执行前文图7所对应实施例中对该跨区块链的数据互存方法的描述,也可执行前文图11所对应实施例中对该跨区块链的数据互存装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且该计算机可读存储介质中存储有前文提及的跨区块链的数据互存装置2所执行的计算机程序,且该计算机程序包括程序指令,当该处理器执行该程序指令时,能够执行前文图7所对应实施例中对该跨区块链的数据互存方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
进一步的,请参见图13,是本申请实施例提供的一种数据处理系统的结构示意图。该数据处理系统3可以包含数据处理装置1a和数据处理装置2a。其中,数据处理装置1a可以为上述图9所对应实施例中的跨区块链的数据互存装置1,可以理解的是,该数据处理装置1a可以集成在上述图2所对应实施例中的节点20B,因此,这里将不再进行赘述。其中,数据处理装置2a可以为上述图11所对应实施例中的跨区块链的数据互存装置2,可以理解的是,该数据处理装置2a可以集成在上述图2所对应实施例中的节点20D,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的数据处理系统实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (15)

  1. 一种跨区块链的数据互存方法,其特征在于,所述方法由第一区块链网络中的第一节点执行,包括:
    从所述第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息,其中,所述第一区块链网络对应于第一区块链,所述初始数据信息包括所述第一区块链上的目标区块中的交易数据信息;
    通过所述第一节点中所包含的第一预言机合约,对所述初始数据信息进行验证;
    在验证成功时,根据与所述第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式,将具有所述第二数据格式的初始数据信息确定为待转移数据信息,其中,所述第二预言机合约部署在第二区块链网络中的第二节点上;
    将所述待转移数据信息发送至所述第一中继节点,以通过所述第一中继节点将所述待转移数据信息发送至所述第二节点,对所述待转移数据信息的数据进行存储。
  2. 根据权利要求1所述方法,其特征在于,从所述第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息,包括:
    从所述第一区块链网络中,确定与所述第一节点具有网络连接关系的第一中继节点,获取所述第一中继节点所监听到的所述目标区块中的交易数据信息,其中,所述交易数据信息是根据所述第一节点中的第一业务合约所确定的;
    将所述交易数据信息的数据格式确定为第一数据格式,且将具有所述第一数据格式的交易数据信息确定为初始数据信息;
    调用所述第一预言机合约,从所述第一中继节点中获取所述具有第一数据格式的初始数据信息。
  3. 根据权利要求1所述的方法,其特征在于,所述通过所述第一节点中包含的第一预言机合约,对所述初始数据信息进行验证,包括:
    调用所述第一预言机合约中的数据验证函数,对所述初始数据信息的数据格式的属性进行验证;
    若所述初始数据信息的数据格式的属性符合所述第一区块链网络中用于进行数据交易时的第一数据格式的属性,则确定验证成功;
    若所述初始数据信息的数据格式的属性不符合所述第一区块链网络中用于进行数据交易时的第一数据格式的属性,则确定验证失败。
  4. 根据权利要求1所述的方法,其特征在于,所述在验证成功时,根据与所述第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式,将具有所述第二数据格式的初始数据信息确定为待转移数据信息,包括:
    在验证成功时,获取所述第二节点中所包含的第二预言机合约;
    将所述第一预言机合约与所述第二预言机合约所规定的、用于进行跨链交易的数据格式,确定为第二数据格式;
    将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式;
    将具有所述第二数据格式的初始数据信息确定为待转移数据信息。
  5. 根据权利要求1所述的方法,其特征在于,所述将所述待转移数据信息发送至所述第一中继节点,以通过所述第一中继节点将所述待转移数据信息发送至所述第二节点,对所述待转移数据信息的数据进行存储,包括:
    获取部署在所述第一节点上的第一跨链合约;
    调用所述第一跨链合约中的跨链数据转移函数,将所述待转移数据信息发送至所述第一中继节点,由所述第一中继节点基于所述第二区块链网络对应的第二中继节点的公钥,对所述待转移数据信息进行加密,得到加密数据信息后,发送给所述第二中继节点,并由所述第二中继节点基于所述第二中继节点的私钥,对所述加密数据信息进行解密,再通过所述第二节点将解密后得到的待转移数据信息中的数据进行存储。
  6. 一种跨区块链的数据互存方法,其特征在于,所述方法由第二区块链网络中的第二节点执行,包括:
    基于所述第二节点中所包含的第二跨链合约,接收所述第二区块链网络上的第二中继节点所发送的待转移数据信息,其中,所述待转移数据信息是由与所述第二区块链网络不同的第一区块链网络中的第一中继节点向所述第二中继节点所发送的;所述第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;所述第二节点中包含第二预言机合约;所述待转移数据信息是所述第一节点基于与所述第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;所述第一节点用于通过所述第一跨链合约将所述待转移数据信息发送给所述第一中继节点;
    基于所述第二预言机合约,对所述待转移数据信息进行验证;
    在验证成功时,将所述待转移数据的数据格式由所述第二数据格式转换为第三数据格式,得到目标数据信息;
    将所述目标数据信息写入所述第二区块链网络对应的第二区块链中。
  7. 根据权利要求6所述的方法,其特征在于,所述基于所述第二节点中所包含的第二跨链合约,接收所述第二区块链网络上的第二中继节点所发送的待转移数据信息,包括:
    通过调用所述第二跨链合约中的跨链数据转移函数,接收所述第二中继节点基于所述第二中继节点的私钥对所述待转移数据信息进行签名后的签名信息,其中,所述待转移数据信息是所述第二中继节点基于第二中继节点的私钥对加密数据信息进行解密后所得到的,所述加密数据信息是由所述第一区块链网络中的第一中继节点基于所述第二中继节点的公钥对待转移数据信息进行加密后所得到的;
    在所述第二区块链网络中获取所述第二中继节点的公钥;
    基于所述公钥对所述签名信息进行验签,得到验签结果;
    当所述验签结果指示验签成功时,获取所述第二中继节点所发送的待转移数据信息。
  8. 根据权利要求6所述的方法,其特征在于,所述基于所述第二预言机合约,对所述待转移数据信息进行验证,包括:
    获取所述待转移数据信息的数据格式,对所述待转移数据信息的数据格式与所述第二预言机合约所确定的第二数据格式的匹配度进行验证;
    若所述匹配度指示所述待转移数据信息的数据格式为所述第二数据格式,则验证成功;
    若所述匹配度指示所述待转移数据信息的数据格式不是所述第二数据格式,则验证失败。
  9. 根据权利要求6所述的方法,其特征在于,所述将所述目标数据信息写入所述第二区 块链网络对应的第二区块链中,包括:
    基于所述目标数据信息,生成待写入所述第二区块链网络对应的第二区块链的待验证区块;
    将所述待验证区块广播至所述第二区块链上的所有区块链节点;
    在确定所述第二区块链上的所有区块链节点达成共识时,将所述待验证区块写入所述第二区块链中。
  10. 根据权利要求6所述的方法,其特征在于,还包括:
    基于所述第二节点中包含的第二业务合约,确定所述目标数据信息所属的业务分类;
    基于所述业务分类,将所述目标数据信息进行业务回调。
  11. 根据权利要求6所述的方法,其特征在于,所述第一区块链网络对应于第一区块链,所述待转移数据信息包括所述第一区块链上的第一区块中的交易数据信息,所述方法还包括:
    基于目标数据信息所属第二区块在第二区块链中的第二块高,以及该目标数据信息对应的交易数据信息所属第一区块在第一区块链中的第一块高,建立目标数据信息与交易数据信息的映射关系。
  12. 一种跨区块链的数据互存装置,其特征在于,所述装置运行于第一区块链网络中的第一节点,包括:
    获取模块,用于从所述第一区块链网络上的第一中继节点,获取具有第一数据格式的初始数据信息,其中,所述第一区块链网络对应于第一区块链,所述初始数据信息包括所述第一区块链上的目标区块中的交易数据信息;
    验证模块,用于通过所述第一节点所包含的第一预言机合约,对所述初始数据信息进行验证;
    转换模块,用于在验证成功时,根据与所述第一预言机合约具有关联关系的第二预言机合约所规定的、用于进行跨链交易的第二数据格式,将所述初始数据信息的数据格式由所述第一数据格式转换为所述第二数据格式,将具有所述第二数据格式的初始数据信息确定为待转移数据信息,其中,所述第二预言机合约部署在第二区块链网络中的第二节点上;
    发送模块,用于将所述待转移数据信息发送至所述第一中继节点,以通过所述第一中继节点将所述待转移数据信息发送至所述第二节点,对所述待转移数据信息中的数据进行存储。
  13. 一种跨区块链的数据互存装置,其特征在于,所述装置运行于第二区块链网络中的第二节点,包括:
    接收模块,用于基于所述第二节点中所包含的第二跨链合约,接收所述第二区块链网络上的第二中继节点所发送的待转移数据信息,其中,所述待转移数据信息是由与所述第二区块链网络不同的第一区块链网络中的第一中继节点向所述第二中继节点所发送的;所述第一区块链网络中的第一节点中包含第一预言机合约以及第一跨链合约;所述第二节点中包含第二预言机合约;所述待转移数据信息是所述第一节点基于与所述第一预言机合约具有关联关系的第二预言机合约的第二数据格式,对第一数据格式的初始数据信息进行格式转换后所确定的;所述第一节点用于通过所述第一跨链合约将所述待转移数据信息发送给所述第一中继节点;
    信息验证模块,用于基于所述第二预言机合约,对所述待转移数据信息进行验证;
    格式转换模块,用于在验证成功时,将所述待转移数据的数据格式由所述第二数据格式 转换为第三数据格式,得到目标数据信息;
    写入模块,用于将所述目标数据信息写入所述第二区块链网络对应的第二区块链中。
  14. 一种节点设备,其特征在于,包括:处理器、存储器以及网络接口;
    所述处理器与存储器、网络接口相连,其中,网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行如权利要求1-11任一项所述的方法。
  15. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-11任一项所述的方法。
PCT/CN2020/129004 2020-03-13 2020-11-16 跨区块链的数据互存方法、装置、设备及存储介质 WO2021179661A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/715,824 US20220231869A1 (en) 2020-03-13 2022-04-07 Cross-blockchain mutual data storage

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010175290.9A CN111416808B (zh) 2020-03-13 2020-03-13 跨区块链的数据互存方法、装置、设备及存储介质
CN202010175290.9 2020-03-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/715,824 Continuation US20220231869A1 (en) 2020-03-13 2022-04-07 Cross-blockchain mutual data storage

Publications (1)

Publication Number Publication Date
WO2021179661A1 true WO2021179661A1 (zh) 2021-09-16

Family

ID=71492981

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/129004 WO2021179661A1 (zh) 2020-03-13 2020-11-16 跨区块链的数据互存方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20220231869A1 (zh)
CN (1) CN111416808B (zh)
WO (1) WO2021179661A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024985A (zh) * 2021-10-29 2022-02-08 湖南大学 一种区块链的预言机计算架构及处理大量数据的方法
CN114357495A (zh) * 2022-03-15 2022-04-15 北京百度网讯科技有限公司 基于区块链的预言机链下聚合方法、装置、设备和介质

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416808B (zh) * 2020-03-13 2021-04-13 财付通支付科技有限公司 跨区块链的数据互存方法、装置、设备及存储介质
US11645650B1 (en) * 2020-08-06 2023-05-09 Citibank, N.A. Systems and methods for blockchain-based transaction break prevention
CN111914299B (zh) * 2020-08-20 2021-11-02 深圳市腾盟技术有限公司 预言机接口的优化方法、装置、设备及存储介质
CN112929285B (zh) 2020-08-28 2022-05-31 支付宝(杭州)信息技术有限公司 区块链网络的通信优化系统
CN112016898A (zh) * 2020-08-31 2020-12-01 光大科技有限公司 基于区块链的协同办公方法及装置、系统
US20220094555A1 (en) * 2020-09-18 2022-03-24 Fujitsu Limited Validator control for transaction between blockchains
CN114255031A (zh) * 2020-09-23 2022-03-29 华为技术有限公司 用于执行交易的跨区块链的系统、跨链交易方法及设备
CN112132684B (zh) * 2020-09-23 2024-01-26 上海万向区块链股份公司 一种基于预言机锁组的结算方法及系统
CN112491846B (zh) * 2020-11-18 2023-04-18 深圳前海微众银行股份有限公司 一种跨链的区块链通信方法及装置
US11368288B2 (en) * 2020-11-20 2022-06-21 Hong Kong Applied Science and Technology Research Institute Company Limited Apparatus and method of lightweight communication protocols between multiple blockchains
EP4066439A4 (en) * 2020-11-25 2022-12-14 Alipay (Hangzhou) Information Technology Co., Ltd. BLOCKCHAIN-BASED TRUSTED PLATFORM
EP4062357A4 (en) * 2020-11-25 2022-11-16 Alipay (Hangzhou) Information Technology Co., Ltd. BLOCKCHAIN-BASED TRUSTED PLATFORM
CN112637269A (zh) * 2020-11-30 2021-04-09 深圳前海益链网络科技有限公司 一种储能数据管理系统
CN112837160B (zh) * 2020-12-04 2022-09-27 腾讯科技(深圳)有限公司 基于区块链的跨链交易方法、装置和计算机可读存储介质
CN112581128B (zh) * 2020-12-10 2024-04-05 浙商银行股份有限公司 一种具有存在证明的异构许可链价值交换方法
TWI808367B (zh) * 2020-12-29 2023-07-11 重量科技股份有限公司 區塊鏈中介系統以及方法
CN112953999A (zh) * 2020-12-29 2021-06-11 合肥达朴汇联科技有限公司 应用于t1节点的区块链信息跨链交互方法、系统、设备
CN112822180B (zh) * 2020-12-30 2022-07-29 广东电网有限责任公司 内外网跨链通信方法、装置、计算机设备和存储介质
CN112650742A (zh) * 2020-12-30 2021-04-13 北京百度网讯科技有限公司 跨链数据验证方法、装置、设备和存储介质
CN113190622B (zh) * 2021-03-16 2022-08-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113676546A (zh) * 2021-03-30 2021-11-19 支付宝(杭州)信息技术有限公司 一种基于中继设备网络跨链中转数据的方法和装置
CN112734432B (zh) * 2021-03-30 2021-07-23 支付宝(杭州)信息技术有限公司 跨链数据处理方法和装置
CN113676553A (zh) * 2021-03-30 2021-11-19 支付宝(杭州)信息技术有限公司 一种基于中继设备网络跨链读取数据的方法和装置
CN113259328B (zh) * 2021-04-22 2023-01-10 国网青海省电力公司 电网内外网数据交互系统
CN113259130B (zh) * 2021-06-21 2021-09-14 腾讯科技(深圳)有限公司 一种交易数据处理方法、装置、设备以及介质
CN114095272B (zh) * 2021-11-30 2023-10-31 昆明电力交易中心有限责任公司 基于内外网安全架构的内网数据上链方法及装置
US20240104557A1 (en) * 2022-09-23 2024-03-28 Parameta Corp. Method for transmitting specific data whose data format is unknown at relay from first blockchain network to second blockchain network and relay using the same

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190050832A1 (en) * 2016-02-23 2019-02-14 nChain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
CN110266655A (zh) * 2019-05-30 2019-09-20 中国工商银行股份有限公司 一种基于区块链的跨链互联方法、设备以及系统
CN110310119A (zh) * 2019-07-06 2019-10-08 辽宁大学 面向跨区块链交易的可扩容存储方法
CN110609679A (zh) * 2019-09-17 2019-12-24 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备
CN110650189A (zh) * 2019-09-20 2020-01-03 深圳供电局有限公司 一种基于中继的区块链的交互系统及方法
CN110719322A (zh) * 2019-09-25 2020-01-21 东北大学 一种基于区块链跨链的数据交叉存储方法
CN111416808A (zh) * 2020-03-13 2020-07-14 财付通支付科技有限公司 跨区块链的数据互存方法、装置、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387878B2 (en) * 2016-02-22 2019-08-20 Bank Of America Corporation System for tracking transfer of resources in a process data network
CN106960388A (zh) * 2017-03-01 2017-07-18 中钞信用卡产业发展有限公司北京智能卡技术研究院 跨区块链的数字资产流转的方法和装置
CN107301536B (zh) * 2017-06-12 2019-07-12 腾讯科技(深圳)有限公司 资源转移方法及装置
GB201804948D0 (en) * 2018-03-27 2018-05-09 Nchain Holdings Ltd Computer implemented system and method
US11194837B2 (en) * 2018-05-01 2021-12-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
CN108959621B (zh) * 2018-07-18 2020-06-05 百度在线网络技术(北京)有限公司 一种区块链网络的实现方法、装置、设备及存储介质
CN116841988A (zh) * 2019-04-28 2023-10-03 创新先进技术有限公司 应用于区块链的数据迁移方法、装置和设备
US10937096B2 (en) * 2019-07-15 2021-03-02 Advanced New Technologies Co., Ltd. Transaction processing in a service blockchain
CN110601856B (zh) * 2019-09-24 2022-04-29 腾讯科技(深圳)有限公司 一种基于区块链网络的数据交互方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190050832A1 (en) * 2016-02-23 2019-02-14 nChain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
CN110266655A (zh) * 2019-05-30 2019-09-20 中国工商银行股份有限公司 一种基于区块链的跨链互联方法、设备以及系统
CN110310119A (zh) * 2019-07-06 2019-10-08 辽宁大学 面向跨区块链交易的可扩容存储方法
CN110609679A (zh) * 2019-09-17 2019-12-24 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读存储介质和计算机设备
CN110650189A (zh) * 2019-09-20 2020-01-03 深圳供电局有限公司 一种基于中继的区块链的交互系统及方法
CN110719322A (zh) * 2019-09-25 2020-01-21 东北大学 一种基于区块链跨链的数据交叉存储方法
CN111416808A (zh) * 2020-03-13 2020-07-14 财付通支付科技有限公司 跨区块链的数据互存方法、装置、设备及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024985A (zh) * 2021-10-29 2022-02-08 湖南大学 一种区块链的预言机计算架构及处理大量数据的方法
CN114024985B (zh) * 2021-10-29 2022-10-11 湖南大学 一种区块链的预言机计算系统及处理大量数据的方法
CN114357495A (zh) * 2022-03-15 2022-04-15 北京百度网讯科技有限公司 基于区块链的预言机链下聚合方法、装置、设备和介质
CN114357495B (zh) * 2022-03-15 2022-06-17 北京百度网讯科技有限公司 基于区块链的预言机链下聚合方法、装置、设备和介质

Also Published As

Publication number Publication date
CN111416808B (zh) 2021-04-13
CN111416808A (zh) 2020-07-14
US20220231869A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
WO2021179661A1 (zh) 跨区块链的数据互存方法、装置、设备及存储介质
US11934549B2 (en) Invoice access method and apparatus based on blockchain, and electronic device
US11698840B2 (en) Transaction consensus processing method and apparatus for blockchain and electronic device
WO2021179655A1 (zh) 跨区块链的数据迁移方法、装置、设备及存储介质
US11895248B2 (en) Method and apparatus for generating blockchain transaction
US10944624B2 (en) Changing a master node in a blockchain system
US11360963B2 (en) Tracking and verification of physical assets
US20230006842A1 (en) Blockchain-based data processing method and apparatus, computer device, computer-readable storage medium, and computer program product
US20200213121A1 (en) Token management system and token management method
US11710129B2 (en) Blockchain-based method and apparatus for managing biological asset object
CN110462621A (zh) 在区块链网络中管理敏感数据元素
US20230316273A1 (en) Data processing method and apparatus, computer device, and storage medium
US10917249B2 (en) Processing data elements stored in blockchain networks
US11386426B2 (en) Invoice invalidation method and apparatus based on blockchain, and electronic device
US20210344500A1 (en) Computer-implemented system and method for transferring access to digital resource
US11514446B2 (en) Method and apparatus for starting smart contract, electronic device, and storage medium
US11436599B2 (en) Blockchain-based identity verification method and related hardware
CN111476573B (zh) 一种账户数据处理方法、装置、设备及存储介质
CN111327426B (zh) 数据共享方法及相关装置、设备及系统
CN113255014B (zh) 一种基于区块链的数据处理方法以及相关设备
CN112654972A (zh) 具有受限交易的区块链设置
US20220276996A1 (en) Assessment node and token assessment container
CN115705601A (zh) 数据处理方法、装置、计算机设备及存储介质
Kabiri et al. Blockchain and smart contracts
CN112384939B (zh) 用于分布式分类账相关交易的链外交换的计算机实现的系统和方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20924495

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20924495

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 20/02/2023)