CN115708119A - Cross-chain transaction system, method, device and storage medium - Google Patents

Cross-chain transaction system, method, device and storage medium Download PDF

Info

Publication number
CN115708119A
CN115708119A CN202110961524.7A CN202110961524A CN115708119A CN 115708119 A CN115708119 A CN 115708119A CN 202110961524 A CN202110961524 A CN 202110961524A CN 115708119 A CN115708119 A CN 115708119A
Authority
CN
China
Prior art keywords
cross
client
chain transaction
chain
check node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110961524.7A
Other languages
Chinese (zh)
Inventor
曲强
张子怡
乐格君
杨锐捷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202110961524.7A priority Critical patent/CN115708119A/en
Priority to PCT/CN2022/078027 priority patent/WO2023019903A1/en
Publication of CN115708119A publication Critical patent/CN115708119A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The application discloses a cross-chain transaction system, a method, equipment and a storage medium, and belongs to the technical field of block chains. In the cross-chain transaction method provided by the embodiment of the application, cross-chain transaction data of cross-chain transaction can be directly sent between every two clients, so that centralized risk is avoided, further, the clients receiving the cross-chain transaction data can check the cross-chain transaction data through the check nodes, and the cross-chain transaction is executed again under the condition that the check is passed, so that the safety of the cross-chain transaction is effectively improved on the premise that the two clients are directly communicated.

Description

Cross-chain transaction system, method, device and storage medium
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a system, method, device, and storage medium for cross-chain transaction.
Background
With the development of the blockchain technology, the blockchain technology is widely applied to various industries, and each industry can construct a blockchain system according to its own requirements, so as to store respective data by using the constructed blockchain system. Different industries can provide different services for users, a chain-crossing technology arises in order to realize data transfer among different services, the chain-crossing technology is a key technology for making up information interaction barriers between chains and realizing data circulation and value exchange, and is a bridge for outwards expanding and connecting block chains.
The current cross-link technology mainly comprises a notary mechanism, hash locking, a relay link and the like. However, the notary mechanism relies on a third party excessively, and there is a centralized risk, resulting in poor security of cross-chain transaction; hash locking is limited to performing cross-chain asset exchange operation on assets, and the use scene is limited; the relay chain has security risks such as malicious operation. Therefore, a cross-chain transaction method capable of effectively improving the security of the cross-chain transaction is needed.
Disclosure of Invention
The application provides a system, a method, equipment and a storage medium for cross-chain transaction, which can effectively improve the safety of cross-chain transaction. The technical scheme is as follows:
in a first aspect, a cross-chain transaction system is provided, which includes a first client of a first blockchain, a second client of a second blockchain, and a check node;
the first client is used for sending cross-chain transaction data of cross-chain transaction to the second client;
the second client is configured to receive the cross-chain transaction data, verify the cross-chain transaction data through the check node, and execute the cross-chain transaction when the cross-chain transaction data is verified, where the check node does not belong to the first blockchain and the second blockchain.
Through the cross-chain transaction system, cross-chain transaction data of cross-chain transaction can be directly sent between every two clients, so that centralized risk is avoided, furthermore, the clients receiving the cross-chain transaction data can check the cross-chain transaction data through the check nodes, and the cross-chain transaction is executed again under the condition that the check is passed, so that the safety of the cross-chain transaction is effectively improved on the premise of direct communication between every two clients.
In some embodiments, the second client is configured to receive the cross-chain transaction data, check the cross-chain transaction data through the check node on the third blockchain, and execute the cross-chain transaction if the cross-chain transaction data passes the check.
The cross-chain transaction data are verified through the verification node on the third block chain, so that the safety of the data can be ensured, and the safety of the cross-chain transaction is improved.
In some embodiments, the second client is configured to receive the cross-chain transaction data, check the cross-chain transaction data by the check node in the check cluster, and execute the cross-chain transaction if the cross-chain transaction data passes the check, where the check cluster is a cluster based on a consensus mechanism.
The check cluster is based on a consensus mechanism, so that the check node in the check cluster is used for checking the cross-chain transaction data, the security of the data stored in the check cluster is guaranteed, and the security of the cross-chain transaction is further improved.
In some embodiments, the second client is further configured to execute the cross-chain transaction if a digital signature corresponding to the identifier of the cross-chain transaction is queried from the check node based on the identifier of the cross-chain transaction carried in the cross-chain transaction data, where the digital signature indicates that the cross-chain transaction data has been checked to pass.
The cross-chain transaction data is verified in a mode of inquiring the digital signature, so that the safety of the cross-chain transaction is improved.
In some embodiments, the check node is configured to store a cross-chain transaction record of the cross-chain transaction, the cross-chain transaction record indicating a transaction process and a transaction execution condition of the cross-chain transaction.
Through storing the cross-chain transaction record of the cross-chain transaction in the check node, the authority confirmation and accountability service can be provided for the illegal cross-chain transaction, and therefore the safety of the cross-chain transaction is improved.
In some embodiments, the cross-chain transaction record includes an execution result of the cross-chain transaction, the execution result indicating that the cross-chain transaction was successfully executed or the execution result indicating that the cross-chain transaction was unsuccessfully executed.
By recording the result of execution failure or execution success of the cross-chain transaction, the authority-confirming and accountability-following service can be provided for the illegal cross-chain transaction, so that the safety of the cross-chain transaction is improved.
In some embodiments, the check node is further configured to:
receiving a transaction query request sent by a third client, wherein the transaction query request indicates to query the cross-chain transaction record;
and checking the third client based on the transaction query request, and sending the cross-chain transaction record to the third client under the condition that the third client is the first client or the second client.
By the method, the cross-chain transaction records of the cross-chain transaction stored in the check node only have the inquiry authority of the participant of the cross-chain transaction, so that the safety of the cross-chain transaction records can be ensured, and the cross-chain transaction records are prevented from being illegally acquired.
In some embodiments, the check node is further configured to:
receiving a cross-chain transaction request sent by the first client, wherein the cross-chain transaction request indicates that the cross-chain transaction is executed on the second blockchain;
and checking the cross-chain transaction request based on the data stored in the check node, and sending a confirmation notice to the first client when the cross-chain transaction request passes the check, wherein the confirmation notice indicates that the first client sends the cross-chain transaction data to the second client.
By checking the cross-chain transaction request and returning a confirmation notice to the first client under the condition that the check is passed, the safety of the current cross-chain transaction can be ensured.
In some embodiments, the check node is further configured to check the cross-chain transaction request based on the identity data of the first client and the identity data of the second client stored in the check node.
The cross-chain transaction request is verified through the identity data of the two parties of the cross-chain transaction, so that the identity credibility of the two parties participating in the cross-chain transaction can be ensured, and the safety of the cross-chain transaction is improved.
In some embodiments, the identity data of the first client comprises a first identity certificate of the first client, the first identity certificate indicating that the first client is registered for cross-chain services; the identity data of the second client includes a second identity certificate of the second client, the second identity certificate indicating that the second client is registered for cross-chain services.
By means of the identity certificate, when the subsequent first client initiates the cross-chain transaction aiming at the second client, the identities of the two parties can be checked conveniently, so that the safety of the cross-chain transaction is ensured.
In some embodiments, the check node is further configured to:
receiving a first registration request sent by a first client, verifying the identity of the first client, generating a first identity certificate and storing the first identity certificate under the condition that the verification is passed, wherein the first registration request indicates that the first client requests to register the cross-link service;
and receiving a second registration request sent by the second client, verifying the identity of the second client, generating a second identity certificate and storing the second identity certificate under the condition that the verification is passed, wherein the second registration request indicates that the second client requests to register the cross-chain service.
The identity certificates are issued to the first client and the second client to prove that the two clients are both registered for the cross-chain service, so that the identities of the first client and the second client are credible when the cross-chain transaction is executed by the first client and the second client subsequently, and the safety of the cross-chain transaction is improved.
In some embodiments, the identity data of the first client further includes an authorization record of the first client, the authorization record indicating a type of cross-chain operation for which the first client has acquired permission.
The authorization record of the client aiming at the cross-chain operation type is also stored as the identity data of the client, so that the related cross-chain operation is ensured to be authorized when the subsequent cross-chain transaction is executed by the first client and the second client, and the safety of the cross-chain transaction is improved.
In some embodiments, the check node is further configured to receive an authorization request sent by the first client, store the authorization request, and instruct to execute a cross-chain transaction corresponding to the cross-chain operation type on the second blockchain;
the second client is further configured to send, based on the authorization request, an authorization notification to the check node, where the authorization notification indicates that the first client is permitted to perform a cross-chain transaction corresponding to the cross-chain operation type on the second blockchain;
the check node is further configured to receive the authorization notification and store the authorization notification.
The authorization condition of the cross-chain operation between the first client and the second client is recorded by storing the authorization request of the first client and the authorization notice of the second client, so that the related cross-chain operation is ensured to be authorized when the cross-chain transaction is executed by the first client and the second client subsequently, and the safety of the cross-chain transaction is improved.
In some embodiments, the second client is further for any of:
inquiring the authorization request through the check node, and sending the authorization notification to the check node;
and receiving the authorization request sent by the check node, and sending the authorization notification to the check node.
In some embodiments, the check node is further configured to generate a digital signature of the cross-chain transaction if the cross-chain transaction request is verified, and store the digital signature, where the digital signature indicates that the cross-chain transaction data is verified.
The digital signature of the cross-chain transaction is generated, the endorsement signature is carried out on the cross-chain transaction, namely the safety of the cross-chain transaction is guaranteed, the subsequent second client side can conveniently check the cross-chain transaction data through the check node when receiving the cross-chain transaction data of the cross-chain transaction, and the safety of the cross-chain transaction is improved.
In a second aspect, a cross-chain transaction method is provided, which is executed by a first client of a first blockchain in a cross-chain transaction system, the cross-chain transaction system further includes a second client of a second blockchain and a check node, and the method includes:
sending a cross-chain transaction request to the check node, wherein the cross-chain transaction request indicates that cross-chain transaction is executed on the second blockchain, and the check node does not belong to the first blockchain and the second blockchain;
receiving a confirmation notification sent by the check node, wherein the confirmation notification indicates that the first client sends cross-chain transaction data of the cross-chain transaction to the second client;
and sending the cross-chain transaction data to the second client.
In some embodiments, the method further comprises:
and sending a first registration request to the check node, wherein the first registration request indicates that the first client requests to register the cross-chain service.
In some embodiments, the method further comprises:
an authorization request is sent to the check node, the authorization request instructing a cross-chain transaction corresponding to a cross-chain operation type to be executed on the second blockchain.
In a third aspect, a cross-chain transaction method is provided, where the cross-chain transaction method is executed by a second client of a second blockchain in a cross-chain transaction system, the cross-chain transaction system further includes a first client of a first blockchain and a check node, and the method includes:
receiving the cross-link transaction data of the cross-link transaction sent by the first client, verifying the cross-link transaction data through the verification node, and executing the cross-link transaction under the condition that the cross-link transaction data passes verification, wherein the verification node does not belong to the first block chain and the second block chain.
In some embodiments, the verifying the cross-chain transaction data by the verification node includes:
and checking the cross-chain transaction data through the check node on the third block chain.
In some embodiments, the verifying the cross-chain transaction data by the verification node includes:
and verifying the cross-link transaction data through the verification node in a verification cluster, wherein the verification cluster is a cluster based on a consensus mechanism.
In some embodiments, the verifying the cross-chain transaction data by the verification node, and in case that the cross-chain transaction data is verified, executing the cross-chain transaction includes:
based on the identifier of the cross-chain transaction carried in the cross-chain transaction data, if a digital signature corresponding to the identifier of the cross-chain transaction is inquired from the check node, the cross-chain transaction is executed, and the digital signature indicates that the cross-chain transaction data passes the check.
In some embodiments, the method further comprises:
and sending a second registration request to the check node, wherein the second registration request indicates that the second client requests to register the cross-chain service.
In some embodiments, the method further comprises:
and sending an authorization notification to the check node based on an authorization request of the first client, wherein the authorization request indicates that the cross-chain transaction corresponding to the cross-chain operation type is executed on the second blockchain, and the authorization notification indicates that the first client is allowed to execute the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
In some embodiments, the sending of the authorization notification to the check node based on the authorization request of the first client includes any one of:
inquiring the authorization request through the check node, and sending the authorization notification to the check node;
and receiving the authorization request sent by the check node, and sending the authorization notification to the check node.
In a fourth aspect, a cross-chain trading method is provided, which is executed by a check node in a cross-chain trading system, the cross-chain trading system further includes a first client of a first blockchain and a second client of a second blockchain, and the method includes:
receiving a cross-chain transaction request of a cross-chain transaction sent by the first client, wherein the cross-chain transaction request indicates that the cross-chain transaction is executed on the second blockchain;
and checking the cross-chain transaction request based on the data stored in the check node, and sending a confirmation notice to the first client when the cross-chain transaction request passes the check, wherein the confirmation notice indicates that the first client sends the cross-chain transaction data to the second client.
In some embodiments, the check node belongs to a third blockchain.
In some embodiments, the check node belongs to a check cluster, which is a cluster based on a consensus mechanism.
In some embodiments, the method further comprises:
and storing a cross-chain transaction record of the cross-chain transaction, wherein the cross-chain transaction record indicates the transaction process and the transaction execution condition of the cross-chain transaction.
In some embodiments, the cross-chain transaction record includes an execution result of the cross-chain transaction, the execution result indicating that the cross-chain transaction was successfully executed or the execution result indicating that the cross-chain transaction failed to execute.
In some embodiments, the method further comprises:
receiving a transaction query request sent by a third client, wherein the transaction query request indicates to query the cross-chain transaction record;
and checking the third client based on the transaction query request, and sending the cross-chain transaction record to the third client under the condition that the third client is the first client or the second client.
In some embodiments, the verifying the cross-chain transaction request based on the data stored in the check node includes:
and verifying the cross-chain transaction request based on the identity data of the first client and the identity data of the second client stored in the verification node.
In some embodiments, the identity data of the first client comprises a first identity certificate of the first client, the first identity certificate indicating that the first client is registered for cross-chain services; the identity data of the second client includes a second identity certificate of the second client, the second identity certificate indicating that the second client is registered for cross-chain service.
In some embodiments, the method further comprises:
receiving a first registration request sent by a first client, verifying the identity of the first client, generating a first identity certificate and storing the first identity certificate under the condition that the verification is passed, wherein the first registration request indicates that the first client requests to register the cross-link service;
and receiving a second registration request sent by the second client, verifying the identity of the second client, generating a second identity certificate and storing the second identity certificate under the condition that the verification is passed, wherein the second registration request indicates that the second client requests to register the cross-chain service.
In some embodiments, the identity data of the first client further includes an authorization record of the first client, the authorization record indicating a type of cross-chain operation for which the first client has acquired permission.
In some embodiments, the method further comprises:
receiving an authorization request sent by the first client, and storing the authorization request, wherein the authorization request indicates that a cross-chain transaction corresponding to the cross-chain operation type is executed on the second blockchain;
and receiving an authorization notification sent by the second client, and storing the authorization notification, wherein the authorization notification indicates that the first client is allowed to execute the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
In some embodiments, the method further comprises:
and in the case that the cross-chain transaction request is verified, generating a digital signature of the cross-chain transaction, and storing the digital signature, wherein the digital signature indicates that the cross-chain transaction data is verified.
In a fifth aspect, a cross-chain transaction apparatus is provided, which includes a sending module and a receiving module.
A sending module, configured to send a cross-chain transaction request to a check node, where the cross-chain transaction request indicates that a cross-chain transaction is performed on a second blockchain, and the check node does not belong to the first blockchain and the second blockchain;
a receiving module, configured to receive a confirmation notification sent by the check node, where the confirmation notification indicates that the first client sends the cross-chain transaction data of the cross-chain transaction to the second client;
the sending module is further configured to send the cross-chain transaction data to the second client.
In some embodiments, the sending module is further configured to send a first registration request to the check node, the first registration request indicating that the first client requests to register for the cross-chain service.
In some embodiments, the sending module is further configured to send an authorization request to the check node, the authorization request instructing that a cross-chain transaction corresponding to a cross-chain operation type be performed on the second blockchain.
In a sixth aspect, a cross-chain transaction apparatus is provided that includes an execution module.
The execution module is configured to receive cross-chain transaction data of a cross-chain transaction sent by the first client, verify the cross-chain transaction data through the check node, and execute the cross-chain transaction when the cross-chain transaction data passes verification, where the check node does not belong to the first block chain and the second block chain.
In some embodiments, the execution module is configured to check the cross-chain transaction data through the check node on the third blockchain.
In some embodiments, the execution module is configured to verify the cross-link transaction data by verifying the verification node in a verification cluster, where the verification cluster is a consensus mechanism-based cluster.
In some embodiments, the execution module is configured to execute the cross-chain transaction if a digital signature corresponding to the identifier of the cross-chain transaction is queried from the check node based on the identifier of the cross-chain transaction carried in the cross-chain transaction data, where the digital signature indicates that the cross-chain transaction data has been verified.
In some embodiments, the apparatus further includes a sending module configured to send a second registration request to the check node, the second registration request indicating that the second client requests registration for the cross-chain service.
In some embodiments, the sending module is further configured to send, to the check node, an authorization notification based on the authorization request of the first client, the authorization request indicating that a cross-chain transaction corresponding to a cross-chain operation type is to be performed on the second blockchain, the authorization notification indicating that the first client is approved to perform the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
In some embodiments, the sending module is further configured to any one of:
inquiring the authorization request through the check node, and sending the authorization notification to the check node;
and receiving the authorization request sent by the check node, and sending the authorization notification to the check node.
In a seventh aspect, a cross-chain transaction apparatus is provided that includes a receiving module and a verification module.
A receiving module, configured to receive a cross-chain transaction request of a cross-chain transaction sent by the first client, where the cross-chain transaction request indicates that the cross-chain transaction is executed on the second blockchain;
and the verification module is used for verifying the cross-chain transaction request based on the data stored in the verification node, and sending a confirmation notice to the first client under the condition that the cross-chain transaction request passes the verification, wherein the confirmation notice indicates that the first client sends the cross-chain transaction data to the second client.
In some embodiments, the check node belongs to a third block chain.
In some embodiments, the check node belongs to a check cluster, which is a cluster based on a consensus mechanism.
In some embodiments, the apparatus further comprises a storage module to:
and storing a cross-chain transaction record of the cross-chain transaction, wherein the cross-chain transaction record indicates the transaction process and the transaction execution condition of the cross-chain transaction.
In some embodiments, the cross-chain transaction record includes an execution result of the cross-chain transaction, the execution result indicating that the cross-chain transaction was successfully executed or the execution result indicating that the cross-chain transaction failed to execute.
In some embodiments, the receiving module is further configured to receive a transaction query request sent by a third client, where the transaction query request indicates to query the cross-chain transaction record; the check module is further configured to check the third client based on the transaction query request, and send the cross-chain transaction record to the third client when the third client is the first client or the second client.
In some embodiments, the check module is further configured to check the cross-chain transaction request based on the identity data of the first client and the identity data of the second client stored in the check node.
In some embodiments, the identity data of the first client comprises a first identity credential of the first client, the first identity credential indicating that the first client is registered for cross-chain services; the identity data of the second client includes a second identity certificate of the second client, the second identity certificate indicating that the second client is registered for cross-chain services.
In some embodiments, the verification module is further configured to:
receiving a first registration request sent by a first client, verifying the identity of the first client, generating a first identity certificate and storing the first identity certificate under the condition that the verification is passed, wherein the first registration request indicates that the first client requests to register the cross-link service;
and receiving a second registration request sent by the second client, verifying the identity of the second client, generating a second identity certificate and storing the second identity certificate under the condition that the verification is passed, wherein the second registration request indicates that the second client requests to register the cross-chain service.
In some embodiments, the identity data of the first client further includes an authorization record of the first client, the authorization record indicating a type of cross-chain operation for which the first client has acquired permission.
In some embodiments, the storage module is further configured to:
receiving an authorization request sent by the first client, and storing the authorization request, wherein the authorization request indicates that a cross-chain transaction corresponding to the cross-chain operation type is executed on the second blockchain;
and receiving an authorization notification sent by the second client, and storing the authorization notification, wherein the authorization notification indicates that the first client is allowed to execute the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
In some embodiments, the storage module is further configured to:
and in the case that the cross-chain transaction request is verified, generating a digital signature of the cross-chain transaction, and storing the digital signature, wherein the digital signature indicates that the cross-chain transaction data is verified.
In an eighth aspect, there is provided a computing device comprising a processor and a memory for storing at least one piece of program code, the at least one piece of program code being loaded by the processor and executing a cross-chain transaction method as provided in any one of the second or second aspects, or as provided in any one of the third or third aspects, or as provided in any one of the fourth or fourth aspects.
In a ninth aspect, there is provided a computer readable storage medium for storing at least one piece of program code for executing a cross-chain transaction method as provided in any one of the optional implementations of the second aspect or the second aspect as described above, or a cross-chain transaction method as provided in any one of the optional implementations of the third aspect or the third aspect as described above, or a cross-chain transaction method as provided in any one of the optional implementations of the fourth aspect or the fourth aspect as described above.
A tenth aspect provides a computer program product which, when run on a computer, causes the computer to perform a cross-chain transaction method as provided in any one of the optional implementations of the second or second aspect above, or as provided in any one of the optional implementations of the third or third aspect above, or as provided in any one of the optional implementations of the fourth or fourth aspect above.
Drawings
Fig. 1 is a schematic architecture diagram of a cross-chain transaction system according to an embodiment of the present application;
fig. 2 is a schematic architecture diagram of a first client 110 according to an embodiment of the present disclosure;
fig. 3 is a schematic architecture diagram of a check node 130 according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of a check cluster according to an embodiment of the present application;
FIG. 5 is a schematic structural diagram of a computing device according to an embodiment of the present application;
FIG. 6 is a schematic structural diagram of a computing device according to an embodiment of the present application;
FIG. 7 is a schematic flowchart of a cross-chain transaction method according to an embodiment of the present application;
FIG. 8 is a schematic diagram of a cross-chain transaction system provided by an embodiment of the present application;
fig. 9 is a schematic structural diagram of a cross-chain transaction apparatus according to an embodiment of the present application;
fig. 10 is a schematic structural diagram of a cross-chain transaction apparatus according to an embodiment of the present application;
fig. 11 is a schematic structural diagram of a cross-chain transaction apparatus according to an embodiment of the present application.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Before describing the technical solutions provided by the embodiments of the present application, the following description will be made on the key terms related to the present application.
The block chain (blockchain) is a novel application mode of computer technologies such as distributed data storage, point-to-point transmission, a consensus mechanism, an encryption algorithm and the like, and has the properties of transparency, credibility, tamper resistance, traceability and the like. The blockchain is essentially a decentralized database, which is a string of data blocks associated by using cryptography, each data block contains information of a batch of network transactions, and the information is used for verifying the validity (anti-counterfeiting) of the information and generating the next block. In other words, blockchain technology is a decentralized architecture and computational paradigm that utilizes blockchain data structures to authenticate and store data, distributed node consensus algorithms to generate and update data, cryptographic means to secure data transmission and access, and intelligent contracts comprised of automated script code to program and manipulate data.
The intelligent contract is a computerized protocol, can execute the terms of a certain contract, is realized by codes which are deployed on a shared account and are used for executing when certain conditions are met, is used for completing automatic transaction according to actual business requirement codes, such as inquiring the logistics state of goods purchased by a buyer, and transferring the electronic money of the buyer to the address of a merchant after the buyer signs goods; of course, smart contracts are not limited to executing contracts for trading, but may also execute contracts that process received information. In some embodiments, the intelligent contract is also referred to as chain code.
Interoperability is the ability to exchange information between two or more systems and applications and to use the exchanged information.
An inter-block chain (inter-block chain) is a protocol for solving mutual transmission, transfer and exchange of digital assets and functional states on two or more different block chains, and is an important means for realizing interconnection and intercommunication between chains and improving expansibility. In some embodiments, cross-chain operations refer to implementing interoperation between multiple blockchains.
The consensus mechanism is an algorithm for block chain transactions to achieve distributed consensus. In the embodiment of the present application, a user may select a suitable consensus algorithm according to an actual service scenario, where the consensus algorithm includes, but is not limited to: proof of workload (POW), proof of stock (POS), proof of authorized stock (DPOS), pragmatine (PBFT), raft, kafka, and hotstuff, among others.
Endorsements are a guarantee. In the embodiments of the present application, this refers to a process of confirming the validity of a transaction.
The digital certificate is a digital certificate which marks the identity information of each communication party in internet communication and can be used by people on the internet to identify the identity of the other party, so the digital certificate is also called as a digital identifier. The digital certificate guarantees the integrity and safety of information and data in the computer network traffic of network users in an encrypted or decrypted form. In the embodiments of the present application, the digital certificate is also referred to as an identity certificate.
The following briefly introduces an application scenario of the technical solution provided by the present application.
The cross-chain transaction method provided by the embodiment of the invention can be applied to scenes such as joint evidence storage, joint traceability and the like which need to realize interconnection and intercommunication between chains through cross-chain transaction. Illustratively, scenarios in which the cross-chain transaction method provided by the embodiment of the present invention can be applied include, but are not limited to:
and a first scene, combined evidence storage.
The trusted evidence preservation is one of the block chain scenes popularized in a large number of places at present, wherein the joint evidence preservation means that different block chains for evidence preservation can safely and trustfully carry out data circulation among the block chains through cross-chain transaction. Schematically, in some data evidence storing scenes such as contract evidence storing chains and copyright evidence storing chains, if disputes occur, the judicial block chain can acquire evidence information on other chains through cross-chain transactions, so that the authenticity of the evidence is ensured, the efficiency and effectiveness of evidence collection are improved, and the judicial case cost is reduced.
And scene two, united tracing.
Information tracing is also one of the blockchain scenarios widely popularized at present, wherein joint tracing means that different blockchains used for storing commodity information (including virtual commodities and physical commodities) can safely and trustfully perform data circulation between blockchains through cross-chain transactions. Illustratively, manufacturers, processors, suppliers, purchasers and the like can establish respective block chain traceability platforms, data circulation among the block chains can be safely and truthfully carried out through cross-chain transaction, commodity information is tracked in a full life cycle, commodity quality is guaranteed, target customer groups can be accurately positioned, meanwhile, authenticity of data on the chains is not lost in cross-chain transmission, and full life cycle information of commodities is provided for manufacturers and terminal customers.
It should be noted that the foregoing scenario is only an exemplary description, and the cross-chain transaction method provided in the embodiment of the present invention can be applied to various scenarios in which interconnection and intercommunication between chains need to be implemented through cross-chain transaction. For example, the cross-chain transaction method may also be applied to a scenario of cross-chain asset transfer, and the like.
Based on the application scenario, an embodiment of the present application provides a cross-chain transaction method, in the cross-chain transaction method, cross-chain transaction data of cross-chain transactions can be directly transmitted between clients corresponding to different blockchains, so as to implement a direct communication operation, thereby avoiding a centralized risk, and when one of the clients receives the cross-chain transaction data, the cross-chain transaction data can be verified through a verification node, and when the verification is passed, the corresponding cross-chain transaction is executed, thereby effectively improving the security of the cross-chain transactions.
Fig. 1 is a schematic diagram of a cross-chain transaction system according to an embodiment of the present application. As shown in fig. 1, the cross-chain trading system 100 includes a first client 110 of a first blockchain, a second client 120 of a second blockchain, and a check node 130, where the check node 130 does not belong to the first blockchain and the second blockchain.
The first client 110 is used for sending cross-chain transaction data of cross-chain transaction to the second client 120;
the second client 120 is configured to receive the cross-chain transaction data, verify the cross-chain transaction data through the verification node 130, and execute the cross-chain transaction if the cross-chain transaction data is verified.
The first client 110 and the second client 120 are connected in a communication manner through a wired network or a wireless network. The check node 130 is communicatively connected to the first client 110 and the second client 120 through a wired network or a wireless network. In some embodiments, the wireless or wired networks described above use standard communication techniques and/or protocols. The network is typically the Internet, but can be any network including, but not limited to, a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), any combination of mobile, wired or wireless networks, private networks, or virtual private networks. In some embodiments, peer-to-peer (P2P) communication is implemented between the first client 110 and the second client 120 based on a remote procedure call protocol (RPC). In some embodiments, data exchanged over a network is represented using techniques and/or formats including hypertext markup language (HTML), extensible markup language (XML), and the like. In addition, all or some of the links can be encrypted using conventional encryption techniques such as Secure Socket Layer (SSL), transport Layer Security (TLS), virtual Private Network (VPN), internet protocol security (IPsec), and the like. In other embodiments, custom and/or dedicated data communication techniques can also be used in place of or in addition to the data communication techniques described above.
The first client 110 has a function of operating the first blockchain, and can perform blockchain services, such as data upload services and cross-chain communication services, by operating nodes on the first blockchain. In some embodiments, the first blockchain is maintained by a plurality of first node apparatuses 140, and each first node apparatus 140 may be a terminal on the user side or a server. The terminal is also called an intelligent terminal or a mobile intelligent terminal, and refers to a device which has a rich man-machine interaction mode, has the capability of accessing the internet, is usually provided with various operating systems, and has strong processing capability. In some embodiments, the type of mobile smart terminal includes, but is not limited to, a smart phone, a tablet computer, a vehicle-mounted terminal, a handheld game console, and the like. A server may be a cluster of servers comprised of one or more computing devices. It should be noted that, in some embodiments, the first client 110 is any one of the plurality of first node devices 140, and the form of the first client 110 is not limited in the embodiment of the present application. In some embodiments, the first client 110 calls a first blockchain completion blockchain service through a Software Development Kit (SDK)/Application Programming Interface (API) provided by the first blockchain, which is not limited in this embodiment of the present disclosure.
The second client 120 has a function of operating the second blockchain, and can perform blockchain service by operating a node on the second blockchain. Wherein the second blockchain is maintained by the plurality of second node devices 150. It should be noted that the specific contents of the second client 120 and the second blockchain are the same as the specific contents of the first client 110 and the first blockchain, and therefore are not described herein again.
The check node 130 has a function of communicating with the first client 110 and the second client 120, and is capable of receiving data transmitted by the first client 110 and the second client 120, processing the received data, and transmitting the data to the first client 110 and the second client 120. In some embodiments, the check node 130 is implemented by a server or a server cluster consisting of a plurality of servers. In some embodiments, the check node 130 is a node on the third blockchain. In some embodiments, the check node 130 node is a node in a check cluster, and the check cluster is a cluster based on a consensus mechanism, which is not limited in this application.
Some optional functions of the first client 110, the second client 120 and the check node 130 are described below, wherein, in order to improve readability of the embodiment, detailed description of implementation processes is not provided herein, and reference is made to relevant descriptions in the following method embodiments accordingly.
In some embodiments, the second client 120 is configured to receive the cross-chain transaction data, check the cross-chain transaction data through the check node 130 on the third blockchain, and execute the cross-chain transaction if the cross-chain transaction data is checked.
In some embodiments, the second client 120 is configured to receive the cross-chain transaction data, check the cross-chain transaction data through the check node 130 in a check cluster, and execute the cross-chain transaction if the cross-chain transaction data passes the check, where the check cluster is a cluster based on a consensus mechanism.
In some embodiments, the second client 120 is further configured to execute the cross-chain transaction if a digital signature corresponding to the identifier of the cross-chain transaction is queried from the check node 130 based on the identifier of the cross-chain transaction carried in the cross-chain transaction data, where the digital signature indicates that the cross-chain transaction data has been checked.
In some embodiments, the check node 130 is configured to store a cross-chain transaction record of the cross-chain transaction, the cross-chain transaction record indicating a transaction process and a transaction execution status of the cross-chain transaction.
In some embodiments, the cross-chain transaction record includes an execution result of the cross-chain transaction, the execution result indicating that the cross-chain transaction was successfully executed or the execution result indicating that the cross-chain transaction failed to execute.
In some embodiments, the check node 130 is further configured to:
receiving a transaction query request sent by a third client, wherein the transaction query request indicates to query the cross-chain transaction record;
and checking the third client based on the transaction query request, and sending the cross-chain transaction record to the third client if the third client is the first client 110 or the second client 120.
In some embodiments, the check node 130 is further configured to:
receiving a cross-chain transaction request sent by the first client 110, the cross-chain transaction request indicating that the cross-chain transaction is executed on the second blockchain;
the cross-chain transaction request is verified based on the data stored in the verification node 130, and if the cross-chain transaction request is verified, a confirmation notification is sent to the first client 110, where the confirmation notification instructs the first client 110 to send the cross-chain transaction data to the second client 120.
In some embodiments, the check node 130 is further configured to check the cross-chain transaction request based on the identity data of the first client 110 and the identity data of the second client 120 stored in the check node 130.
In some embodiments, the identity data of the first client 110 includes a first identity certificate of the first client 110, the first identity certificate indicating that the first client 110 is registered for cross-chain services; the identity data of the second client 120 includes a second identity certificate of the second client 120 indicating that the second client 120 is registered for cross-chain service.
In some embodiments, the check node 130 is further configured to:
receiving a first registration request sent by the first client 110, verifying the identity of the first client 110, generating a first identity certificate and storing the first identity certificate under the condition that the verification is passed, wherein the first registration request indicates that the first client 110 requests to register the cross-link service;
receiving a second registration request sent by the second client 120, verifying the identity of the second client 120, generating the second identity certificate and storing the second identity certificate if the verification is passed, wherein the second registration request indicates that the second client 120 requests to register the cross-chain service.
In some embodiments, the identity data of the first client 110 further includes an authorization record of the first client 110, the authorization record indicating a type of cross-chain operation for which the first client 110 has obtained rights.
In some embodiments, the check node 130 is further configured to receive an authorization request sent by the first client 110, store the authorization request, and instruct to execute a cross-chain transaction corresponding to the cross-chain operation type on the second blockchain; the second client 120 is further configured to send an authorization notification to the check node 130 based on the authorization request, where the authorization notification indicates that the first client 110 is approved to perform a cross-chain transaction corresponding to the cross-chain operation type on the second blockchain; the check node 130 is further configured to receive the authorization notification and store the authorization notification.
In some embodiments, the second client 120 is further configured to either:
sending the authorization notification to the check node 130 by querying the authorization request through the check node 130;
receiving the authorization request sent by the check node 130, and sending the authorization notification to the check node 130.
In some embodiments, the check node 130 is further configured to generate a digital signature of the cross-chain transaction if the cross-chain transaction request is verified, store the digital signature, and indicate that the cross-chain transaction data is verified.
The architecture of the first client 110 in the cross-chain trading system 100 is described below.
Fig. 2 is a schematic structural diagram of a first client 110 according to an embodiment of the present disclosure. It should be understood that fig. 2 only shows an exemplary structural diagram of the first client 110, and the present application does not limit the division of the functions in the first client 110. As shown in fig. 2, the functions of the first client 110 include, but are not limited to: a business function 111, a network function 112, an attestation function 113, and a storage function 114.
The respective functions of the first client 110 are briefly described below:
the service function 111 is used to execute the service logic of the first block chain. In some embodiments, the business functions 111 include an object layer, a data transport layer, an identity check resolution layer, and a data link layer. Wherein the object layer (also understood as storage layer) is used to implement cross-chain content addressing, i.e. cross-chain content has a unique identification; the data transmission layer is used for providing services such as connection-oriented data stream support, reliability, flow control, multiplexing and the like for the cross-chain service, and supporting safe and reliable transmission of data between two parties of cross-chain transaction; the identity verification analysis layer is used for managing node identities of all nodes on the first block chain, such as generation and verification of the node identities and the like, and ensuring that the identity of an object subjected to cross-chain transaction is legal; the data link layer is used to maintain routing information to locate a particular peer and is responsible for addressing across the chain. In some embodiments, the service function 111 is also referred to as a core function, which is not limited in this application.
The network function 112 is used to provide network communication functions, and support nodes perform data exchange, interworking, and cooperative work. In some embodiments, the network function 112 communicates with other clients (e.g., a second client) of the block chain based on the RPC protocol, for example, the GRPC protocol (an open source RPC protocol), which is not limited in this embodiment. In some embodiments, the network function 112 communicates with the check node 130 based on a hypertext transfer protocol (HTTP), which is not limited in this embodiment.
The proving function 113 is configured to provide an adaptive data verification service according to different blockchain types, prove validity of cross-chain transaction data, and sign and authenticate (this part will be described in the following embodiments, and therefore will not be described herein). Wherein the blockchain types include, but are not limited to: bitcoin, ethereum (ethereum), fabric, etc., which are not limited in this embodiment.
The storage function 114 is configured to store various data, including but not limited to a cross-chain service registry, a user certificate, a cross-chain operation ledger, and client configuration data, which is not limited in this embodiment of the present application.
In addition, the functions of the first client 110 are not limited to the above 111 to 114, and in practical applications, more functions can be set according to the needs of the user, and the function setting of the first client 110 is not limited in the embodiment of the present application. It should be noted that the architecture of the second client 120 is the same as that of the first client 110, and therefore, the description thereof is omitted here.
The architecture of the check node 130 in the cross-chain trading system 100 described above is described below.
Fig. 3 is a schematic structural diagram of a check node 130 according to an embodiment of the present disclosure. It should be understood that fig. 3 is only an exemplary structural diagram illustrating the check node 130, and the present application does not limit the division of the functions in the check node 130. As shown in FIG. 3, the check node 130 may have functions including, but not limited to: a verification function 131, a networking function 132, and a storage function 133.
The various functions of check node 130 are briefly described below:
the verification function 131 is configured to verify a cross-chain transaction request sent by a client according to the cross-chain transaction request. In some embodiments, the verification function 131 is further configured to generate a digital signature for the cross-chain transaction if the cross-chain transaction request verifies. In some embodiments, the verification function 131 is further configured to verify the identity of the client according to the registration request sent by the client, and in case that the verification is passed, generate an identity certificate of the client. In some embodiments, the checking function 131 is further configured to check the client according to a transaction query request of a cross-chain transaction sent by the client, and in case that the check is passed, provide a cross-chain transaction record of the cross-chain transaction for the client.
The network function 132 is used to provide a network communication function, and support data exchange, interworking, and cooperation between the check node 130 and the client. In some embodiments, the network function 132 implements network communication based on the RPC protocol and the HTTP protocol, which is not limited in this application.
The storage function 133 is configured to store various types of data, including but not limited to a cross-chain transaction record of a cross-chain transaction, a digital signature of the cross-chain transaction, identity data of clients of two parties of the cross-chain transaction, and the like, which is not limited in this embodiment of the present application. In some embodiments, the check node 130 stores various types of data in the form of a database, a block of a block chain, or a file, and implements the storage function 133, which is not limited in this embodiment of the present application.
In addition, the functions of the check node 130 are not limited to the above 131 to 133, and in practical applications, more functions can be set according to the requirements of users, and the function setting of the check node 130 is not limited in the embodiment of the present application.
Through the functions, the check node provided by the embodiment of the application can check the cross-chain transaction request of the cross-chain transaction when the cross-chain transaction is performed between every two clients, and endorses the cross-chain transaction for the time under the condition that the check is passed, so that the client receiving the cross-chain transaction data of the cross-chain transaction can check the cross-chain transaction data of the cross-chain transaction for the time through the check node, and the safety of the cross-chain transaction is effectively improved on the premise of direct communication between every two clients.
It should be noted that, as described above with reference to fig. 1, in some embodiments, the check node 130 is a node on the third block chain, and in other embodiments, the check node 130 is a node in the check cluster. That is, the check node 130 can be configured in the cross-chain trading system 100 provided in the embodiment of the present application in various forms, for example, in the form of a single node, for example, in the form of a certain node on a block chain, for example, in the form of a certain node in a cluster based on a consensus mechanism, which is not limited in the embodiment of the present application.
The architecture of the check cluster is described below by taking the check node 130 as a node in the check cluster, and taking an example that a plurality of nodes in the check cluster commonly maintain a third block chain.
Fig. 4 is a schematic diagram of an architecture of a check cluster according to an embodiment of the present disclosure. It should be understood that fig. 4 is a schematic diagram illustrating an example of a structure of a check cluster, and the present application does not limit the division of functions in the check cluster. As shown in fig. 4, the check cluster 400 is a block chain network composed of a plurality of check nodes that collectively maintain a third block chain (also referred to as a check chain). Illustratively, the architecture of the check cluster 400 includes, but is not limited to, the following five parts: contract layer 401, consensus layer 402, network layer 403, security layer 404, and storage layer 405.
The functionality of the various parts of the check cluster is briefly described below:
contract layer 401 is used to specify transaction modes and flow details according to intelligent contracts. In some embodiments, the contract layer 401 includes identity management contracts, rights management contracts, and behavior administration contracts. The identity management contract is responsible for managing identity data of the client, for example, the identity of the client is verified according to a registration request sent by the client, and an identity certificate of the client is generated and recorded under the condition that the verification is passed; the authority management contract is responsible for managing the cross-chain operation authority of both parties of the cross-chain transaction, such as authorization, authorization cancellation, authority verification and the like; the behavior supervision contract is responsible for recording the transaction process and the transaction execution condition of the cross-chain transaction.
The consensus layer 402 is used to ensure data consistency of each check node in the check cluster. In some embodiments, a user may select a suitable consensus algorithm according to an actual service scenario, and the specific type of the consensus algorithm is not limited in the embodiments of the present application.
The network layer 403 is configured to provide a network communication function, and support data exchange, mutual coordination, cooperative work, and the like between check nodes in the check cluster. Meanwhile, the network layer 403 is also used to provide communication between each check node in the check cluster and the client. In some embodiments, the network layer 403 provides network communication based on a P2P network, a GRPC protocol, and an HTTP protocol, which is not limited in this application.
The security layer 404 is used to ensure the security of the check cluster through cryptographic algorithms. In some embodiments, the cryptographic algorithm includes, but is not limited to, a hash function based algorithm, a digital signature algorithm, an asymmetric encryption algorithm, and the like, which is not limited in this application.
The storage layer 405 is used to store various types of data, including but not limited to the current state of each variable in the smart contract, the total historical state of each variable, and the block file index (blockIndex) of the block chain. In some embodiments, the storage layer 405 includes a plurality of Databases (DBs) for storing various types of data, for example, the plurality of databases include, but are not limited to, a status database (stateDB), a history database (historyDB), and the like, which is not limited in this embodiment.
In addition, the architecture of the verification cluster is not limited to the above 401 to 405, and in practical application, more functions can be set according to the needs of a user, for example, the verification cluster may further include an incentive layer and an application layer, where the incentive layer is used to provide certain incentive measures to encourage the nodes to participate in the security verification work of the block chain, and the application layer is used to implement various application scenarios of life.
Through the parts shown in fig. 4, the verification cluster provided in the embodiment of the present application can verify a cross-chain transaction request of a cross-chain transaction when the cross-chain transaction is performed between two clients, and endorse the cross-chain transaction in this time when the verification passes, so that the client receiving the cross-chain transaction data of the cross-chain transaction in this time can verify the cross-chain transaction data of the cross-chain transaction in this time through the verification node in the verification cluster, thereby effectively improving the security of the cross-chain transaction on the premise of direct communication between two clients. Furthermore, the check cluster is a block chain network composed of a plurality of check nodes, and the check nodes jointly maintain the third block chain, so that the security of the data stored in the check cluster is guaranteed, and the security of cross-chain transaction is further improved.
With reference to fig. 1 to fig. 4, the cross-chain trading system provided in the embodiment of the present application is described from an architecture perspective, and a deployment environment of the first client, the second client, and the check node in the cross-chain trading system is described below.
The embodiment of the present application provides a computing device, which can be configured as a first client in the above cross-chain transaction system (the second client and the first client are the same, and details are not repeated here). Referring to fig. 5, schematically, fig. 5 is a hardware structural diagram of a computing device according to an embodiment of the present application. As shown in fig. 5, the computing device 500 includes a memory 501, a processor 502, a communication interface 503, and a bus 504. The memory 501, the processor 502 and the communication interface 503 are connected to each other by a bus 504.
The memory 501 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 501 may store at least one piece of program code, and when the program code stored in the memory 501 is executed by the processor 502, the processor 502 and the communication interface 503 are used to execute a method for a first client to conduct a cross-chain transaction. The memory 501 may further store a cross-chain service registry, a user certificate, a cross-chain operation ledger, client configuration data, and the like, which is not limited in this embodiment of the present application.
The processor 502 may be a Network Processor (NP), a Central Processing Unit (CPU), an application-specific integrated circuit (ASIC), or an integrated circuit for controlling the execution of programs according to the present disclosure. The processor 502 may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The number of the processors 502 may be one or more. The communication interface 503 enables communication between the computing device 500 and other devices or communication networks using transceiver modules, such as transceivers. For example, the data may be acquired through the communication interface 503.
The memory 501 and the processor 502 may be separately provided or may be integrated together.
Bus 504 may include a pathway to transfer information between components of computing device 500 (e.g., memory 501, processor 502, communication interface 503).
It should be noted that in some embodiments, the first client is deployed on a single computing device. In some embodiments, the first client is deployed on a certain computing device on the first blockchain. In some embodiments, the first client may also be deployed in different environments in a distributed manner, for example, the first client may be logically divided into multiple portions, each portion has different functions, and each portion is separately deployed on one computing device.
The embodiment of the application also provides a computing device which can be configured as a check node in the cross-chain trading system. Referring to fig. 6, fig. 6 is a schematic hardware structure diagram of a computing device according to an embodiment of the present disclosure. As shown in fig. 6, the computing device 600 includes a memory 601, a processor 602, a communication interface 603, and a bus 604. The memory 601, the processor 602, and the communication interface 603 are communicatively connected to each other via a bus 604.
The memory 601 may be, but is not limited to, a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an electrically erasable programmable read-only memory (EEPROM), a compact disk read-only memory (CD-ROM) or other optical disk storage, optical disk storage (including compact disk, laser disk, optical disk, digital versatile disk, blu-ray disk, etc.), magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. The memory 601 may store at least one piece of program code, and when the program code stored in the memory 601 is executed by the processor 602, the processor 602 and the communication interface 603 are used to execute a check node to perform a cross-chain transaction method. The memory 601 may further store various types of data, including but not limited to a cross-chain transaction record of a cross-chain transaction, a digital signature of the cross-chain transaction, identity data of clients of both parties of the cross-chain transaction, and the like, which is not limited in this embodiment of the present application.
The processor 602 may be a Network Processor (NP), a Central Processing Unit (CPU), an application-specific integrated circuit (ASIC), or an integrated circuit for controlling the execution of programs according to the present disclosure. The processor 602 may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. The number of the processors 602 may be one or more. The communication interface 603 enables communication between the computing device 600 and other devices or communication networks using transceiver modules, such as transceivers. For example, data may be acquired through the communication interface 603.
The memory 601 and the processor 602 may be separately provided or may be integrated together.
Bus 604 may include a pathway to transfer information between components of computing device 600 (e.g., memory 601, processor 602, communication interface 603).
It should be noted that in some embodiments, the check nodes are deployed on a single computing device. In some embodiments, the check nodes are deployed on a certain computing device in the check cluster. In some embodiments, the check node may also be distributively deployed in different environments, for example, the check node may be logically divided into a plurality of portions, each portion has a different function, and each portion is separately deployed on one computing device.
Based on the system architecture of the cross-chain transaction method provided by the embodiment of the present application, the cross-chain transaction method provided by the embodiment of the present application is exemplarily described below with reference to fig. 7.
Fig. 7 is a schematic flowchart of a cross-chain transaction method according to an embodiment of the present application. As shown in fig. 5, the cross-chain transaction method is applied to the system architecture 100 shown in fig. 1, and is described below by taking the interaction among the first client 110, the second client 120 and the check node 130 in the system architecture 100 as an example. The cross-chain transaction method includes the following steps 701 to 714.
701. The first client sends a first registration request to the check node, wherein the first registration request indicates that the first client requests to register the cross-chain service.
In this embodiment, the first client is a client of the first blockchain, and the first client performs blockchain services, such as data upload and cross-chain communication, by operating a node on the first blockchain, which is not limited in this embodiment of the present application. The first client requesting for registering the cross-chain service refers to that the first client requests for performing a cross-chain operation on a blockchain other than the first blockchain, and may also be understood as that the first client requests for performing identity registration of the cross-chain service on the check node. The first registration request carries registration information of the first client. Optionally, the registration information of the first client includes, but is not limited to, the following information: a network address of the first client, an Identity (ID) of the first client, a blockchain identifier of a first blockchain to which the first client belongs, a blockchain type of the first blockchain, a node certificate of each node on the first blockchain, an intelligent contract identifier of the first blockchain, and the like, which are not limited in this embodiment of the present application.
In some embodiments, the first client sends the first registration request to the check node according to a registration behavior initiated by a user for the cross-chain service. Optionally, the first registration request further carries an identity certificate of a user initiating the registration action, for example, the identity certificate of the user includes information such as a public key for identifying an identity of the user and a digital signature of a Certificate Authority (CA), which is not limited in this embodiment of the present application.
It should be noted that the check node does not belong to the first blockchain and the second blockchain. In some embodiments, the check node is a node on the third blockchain. In other embodiments, the check node is a node in a check cluster, and the check cluster is a cluster based on a consensus mechanism, for example, the check cluster is a block chain network composed of a plurality of check nodes, and the plurality of check nodes jointly maintain a third block chain, which is not limited in this embodiment of the present application.
In addition, when the check node is a node in the check cluster, in this step, the first client sends the first registration request to the check cluster, and the gateway node of the check cluster receives the first registration request and distributes the first registration request to the check node.
702. The check node receives the first registration request, checks the identity of the first client, generates a first identity certificate and stores the first identity certificate under the condition that the check is passed, wherein the first identity certificate indicates that the first client is registered for the cross-chain service.
In this embodiment of the present application, the check node receives the first registration request, checks the identity of the first client based on the registration information carried in the first registration request, generates a first identity certificate of the first client when the check is passed, stores the first identity certificate as the identity data of the first client, and returns the first identity certificate to the first client, that is, the check node sends the first identity certificate as a response to the first registration request directly to the first client. In some embodiments, the check node sends the serial number of the first identity certificate as a response of the first registration request to the first client, and the first client downloads the first identity certificate according to its own requirement. Optionally, the check node stores an identifier of the first client (e.g. a network address or an ID of the first client) in correspondence with the first identity certificate, that is, the check node can query the first identity certificate according to the identifier of the first client. Optionally, the first identity certificate includes information such as registration information of the first client, a public key of the first client, and a digital signature of the CA, which is not limited in this embodiment of the application.
In some embodiments, the check node performs format check on each content in the registration information based on the registration information carried in the first registration request, that is, determines whether the format of each content in the registration information meets the requirement, and generates the first identity certificate if the format check passes.
In some embodiments, if the check node checks the identity of the first client and finds that the first client has already registered, the check node determines that the check does not pass this time, and returns a first reject message to the first client, so as to reject to register the cross-link service for the first client. For example, the first registration request carries an identity certificate of a user initiating the current registration behavior, after the identity of the first client is verified by the check node, the check node finds that the identity certificate of the user exists in the cross-link service registry of the check node, and then the check node determines that the current check does not pass, and returns a first reject message to the first client.
In some embodiments, the check node stores the first registration request and a registration result of the first registration request, the registration result including a registration success or a registration failure. That is, the check node stores the registration record of the first client. For example, if the registration is successful, the registration record includes the first registration request and the first identity certificate, and if the registration is failed, the registration record includes the first registration request and the first reject message. In addition, in some embodiments, when the check node is a node in a check cluster, and the check cluster is a block chain network composed of a plurality of check nodes, and the plurality of check nodes collectively maintain a third block chain, the check cluster stores the registration record on the third block chain. Optionally, the verification cluster runs an identity management contract, and automatically executes this step 702, which is not limited in this embodiment of the present application.
It should be noted that, through the above steps 701 and 702, after the first client requests to register the cross-link service, the check node generates the first identity certificate for the first client and stores the first identity certificate in the check node, so that when the subsequent first client initiates a cross-link transaction for another client, the first client is checked to ensure the security of the cross-link transaction.
703. And the second client sends a second registration request to the check node, wherein the second registration request indicates that the second client requests to register the cross-chain service.
In this embodiment of the present application, the second client is a client of the second blockchain, and the second client performs blockchain services, such as data upload and cross-chain communication, by operating a node on the second blockchain, which is not limited in this embodiment of the present application. The second client requesting to register the cross-chain service refers to that the second client requests to perform a cross-chain operation on a blockchain outside the second blockchain, and may also be understood as that the second client requests to perform identity registration of the cross-chain service on the check node. The second registration request carries registration information of a second client. Optionally, the registration information of the second client includes, but is not limited to, the following information: the network address of the second client, the ID of the second client, the blockchain identifier of the second blockchain to which the second client belongs, the blockchain type of the second blockchain, the node certificate of each node on the second blockchain, the intelligent contract identifier of the second blockchain, and the like, which are not limited in this embodiment of the present application.
In some embodiments, the second client sends the second registration request to the check node according to a registration behavior initiated by the user for the cross-chain service. Optionally, the second registration request further carries an identity certificate of the user initiating the registration action, for example, the identity certificate of the user includes information such as a public key for identifying the user identity and a digital signature of the CA, which is not limited in this embodiment of the present application.
In addition, when the check node is a node in the check cluster, in this step, the second client sends a second registration request to the check cluster, and the gateway node of the check cluster receives the second registration request and distributes the second registration request to the check node.
704. And the check node receives the second registration request, checks the identity of the second client, generates a second identity certificate and stores the second identity certificate under the condition that the check is passed, wherein the second identity certificate indicates that the second client is registered for the cross-chain service.
In this embodiment of the application, the verifying node receives the second registration request, verifies the identity of the second client based on the registration information carried in the second registration request, generates a second identity certificate of the second client when the verification is passed, stores the second identity certificate as the identity data of the second client, and returns the second identity certificate to the second client, that is, the verifying node directly sends the second identity certificate to the second client as a response to the second registration request. In some embodiments, the verifying node sends the serial number of the second identity certificate to the second client as a response to the second registration request, and the second client downloads the second identity certificate according to its own requirement. Optionally, the check node stores an identifier of the second client (for example, a network address or an ID of the second client) in correspondence with the second identity certificate, that is, the check node can query the second identity certificate according to the identifier of the second client. Optionally, the second identity certificate includes information such as registration information of the second client, a public key of the second client, and a digital signature of the CA, which is not limited in this embodiment of the present application.
In some embodiments, the check node performs format check on each content in the registration information based on the registration information carried in the second registration request, that is, determines whether the format of each content in the registration information meets the requirement, and generates the second identity certificate when the format check is passed.
In some embodiments, if the check node checks the identity of the second client and finds that the second client has already been registered, the check node determines that the check does not pass, and returns a second rejection message to the second client, so as to reject the registration of the cross-link service for the first client. For example, the second registration request carries an identity certificate of the user initiating the registration action of this time, and after the check node checks the identity of the second client, the check node finds that the identity certificate of the user exists in the cross-link service registry of the check node, and then the check node determines that the check of this time fails, and returns a second reject message to the second client.
In some embodiments, the check node stores the second registration request and a registration result of the second registration request, the registration result including a registration success or a registration failure. That is, the check node stores the registration record of the second client. For example, if the registration is successful, the registration record includes the second registration request and the second identity certificate, and if the registration is failed, the registration record includes the second registration request and the second reject message. In addition, in some embodiments, when the check node is a node in a check cluster, and the check cluster is a block chain network composed of a plurality of check nodes, and the plurality of check nodes collectively maintain a third block chain, the check cluster stores the registration record on the third block chain. Optionally, the verification cluster runs an identity management contract, and automatically executes this step 704, which is not limited in this embodiment of the present application.
Through the above-mentioned step 703 and step 704, after the second client requests to register the cross-chain service, the check node generates the second identity certificate for the second client and stores the second identity certificate in the check node, so that the second client is checked when the subsequent first client initiates the cross-chain transaction for the second client, thereby ensuring the security of the cross-chain transaction.
It should be noted that, in the embodiment of the present application, the steps 701 to 704 are performed in a front-to-back order. In some embodiments, while the step 701 and the step 702 are performed, the step 703 and the step 704 are performed, in other embodiments, the step 703 and the step 704 are performed first, and then the step 701 and the step 702 are performed, which is not limited in the registration order of the first client and the second client in this embodiment of the application.
In addition, through the above steps 701 to 704, both the first client and the second client register the cross-chain service with the check node, and the check node issues an identity certificate for both the first client and the second client, so as to prove that both the clients register the cross-chain service. In some embodiments, the processes shown in steps 701 to 704 may be understood as follows: the check node provides identity management service for the first client and the second client. Through the identity management service, the identity data of the first client and the identity data of the second client are stored, so that the identities of the first client and the second client are credible when the subsequent cross-chain transaction is executed between the first client and the second client, and the safety of the cross-chain transaction is improved.
705. The first client sends an authorization request to the check node, the authorization request instructing a cross-chain transaction corresponding to the cross-chain operation type to be executed on the second blockchain.
In the embodiment of the present application, the type of the cross-chain operation refers to the type of the cross-chain operation involved when the client executes the cross-chain transaction. Optionally, the authorization request carries an identifier of the first client (for example, a network address or an ID of the first client), an identifier of the second client of the second blockchain (for example, a network address or an ID of the second client), an identifier of a cross-chain operation type, and the like, which is not limited in this embodiment of the application.
In some embodiments, cross-chain operations are classified into three classes, including ledger reads, chain code reads, and chain code writes. In some embodiments, cross-chain operations are divided into two categories, including ledger reads and full operations for chain codes. It should be noted that, in the embodiment of the present application, classification of the cross-chain operation is not limited, as long as several types of the classified cross-chain operations are completely independent, and there is no upper and lower levels or inclusion relationship.
706. And the check node receives the authorization request and stores the authorization request.
In the embodiment of the application, after receiving an authorization request sent by a first client, a check node stores the authorization request as identity data of the first client. In some embodiments, after receiving the authorization request, the check node sends the authorization request to the second client, so that the second client timely knows that the first client requests to execute the cross-link transaction on the second blockchain, and the cross-link transaction efficiency is improved. Optionally, the check node stores the identifier of the first client in correspondence with the authorization request, that is, the check node can query the authorization request according to the identifier of the first client.
In some embodiments, the check node receives the authorization request, checks the identities of the first client and the second client, and returns a prompt message to the first client when the check fails, so as to prompt the first client that the authorization request fails to be checked this time. For example, the check node does not query the first identity certificate of the first client, or does not query the second identity certificate of the second client, or does not query the identity certificates of both clients in the cross-chain service registry according to the identifier of the first client and the identifier of the second client carried in the authorization request, and determines that the check fails and returns a prompt message to the first client.
707. The second client sends an authorization notification to the check node based on the authorization request, wherein the authorization notification indicates that the first client is allowed to execute the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
In the embodiment of the application, the second client sends an authorization notification to the check node based on the authorization request under the condition of agreeing to the authorization.
In some embodiments, the second client sends the authorization notification to the check node by querying the check node for an authorization request. For example, after sending an authorization request to the check node, the first client notifies the second client, and after receiving the notification, the second client queries the authorization request through the check node. For another example, the second client can query the service interface provided by the check node for information related to the second client, and as long as the check node receives an authorization request requiring authorization approval from the second client, the second client can query the authorization request.
In some embodiments, the second client receives the authorization request sent by the check node, and sends the authorization notification to the check node. That is, when receiving an authorization request requiring authorization approval from the second client, the check node sends the authorization request to the second client, and the second client responds to the received authorization request.
708. And the check node receives the authorization notice and stores the authorization notice.
In this embodiment of the present application, after receiving the authorization notification, the check node stores the authorization notification as the identity data of the first client, where the authorization notification is an authorization result of the authorization request. In some embodiments, the process of storing, by the check node, the authorization request and the authorization notification is a process of storing authorization records of the first client and the second client, which is not limited in this embodiment of the present application. Optionally, the check node stores the identifier of the first client in correspondence with the authorization notification, that is, the check node can query the authorization notification according to the identifier of the first client. In some embodiments, when the check node is a node in a check cluster, and the check cluster is a block chain network composed of a plurality of check nodes, and the plurality of check nodes collectively maintain a third block chain, the check cluster stores the authorization record on the third block chain. Optionally, the cluster operation authority management contract is checked, and the step 706 and the step 708 are automatically performed, which is not limited in this embodiment of the present application.
In some embodiments, the check node sends the authorization notification to the first client after receiving the authorization notification, so that the first client timely knows that the second client has agreed that the first client performs the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
Through the steps 705 to 708, the first client acquires the right of the cross-chain operation type for executing the cross-chain transaction on the second blockchain, and the check node stores the authorization request of the first client and the authorization notification of the second client so as to record the authorization condition of the cross-chain operation between the first client and the second client. In some embodiments, the process shown in steps 705 to 708 may be understood as follows: the check node provides a right management service for the first client and the second client. Through the authority management service, the authorization record of the client aiming at the cross-chain operation type is also stored as the identity data of the client, so that the related cross-chain operation is ensured to be authorized when the subsequent cross-chain transaction is executed by the first client and the second client, and the safety of the cross-chain transaction is improved.
In addition, it should be noted that in this embodiment of the present application, the authorization request is a one-way authorization request, that is, in steps 705 to 708, the first client requests the second client to acquire an authorization right of a cross-chain transaction corresponding to a cross-chain operation type, and after the second client agrees, the first client may execute the corresponding cross-chain transaction on the second blockchain, but the second client may not execute the corresponding cross-chain transaction on the first blockchain, and if the second client needs to execute the corresponding cross-chain transaction on the first blockchain, the second client needs to send the authorization request to the check node in a manner similar to that of the first client to acquire an authorization right of executing the cross-chain transaction corresponding to the cross-chain operation type on the first blockchain, which is not described herein again. In some embodiments, the first client and the second client send corresponding authorization requests to the check node according to their own requirements, so as to obtain authorization, which is not limited in the embodiments of the present application.
Through the steps 701 to 708, the first identity certificate of the first client, the second identity certificate of the second client and the authorization record between the first client and the second client are stored in the check node, and the identity data of the first client and the identity data of the second client are jointly formed, so that the cross-chain transaction can be checked conveniently when the cross-chain transaction is executed between the first client and the second client subsequently, and the safety of the cross-chain transaction is improved.
709. The first client sends a cross-chain transaction request of the cross-chain transaction to the check node, wherein the cross-chain transaction request indicates that the cross-chain transaction is executed on the second blockchain.
In the embodiment of the present application, a cross-chain transaction refers to a transaction in which a cross-chain operation is performed on a first blockchain and a second blockchain. For example, the target amount of virtual resources in the first account on the first blockchain may be transferred to the second account on the second blockchain, or the data on the first blockchain and the second blockchain may be modified synchronously. The embodiment of the present application does not limit the specific content of the cross-chain transaction. The cross-chain transaction request carries the identification of the client sides of both transaction sides of the cross-chain transaction (such as the network addresses or the IDs of the client sides of both sides) and the identification of the cross-chain transaction, and the identification of the cross-chain transaction is used for uniquely identifying the current cross-chain transaction.
In some embodiments, the cross-chain transaction request further carries a transaction type of the cross-chain transaction, an identifier of a cross-chain operation type involved in the cross-chain transaction, a trust certificate of the cross-chain transaction, specific content of the cross-chain transaction, and the like, which is not limited in this application embodiment. Optionally, the cross-chain transaction request carries the various data in the form of metadata, which is not limited in this embodiment of the application.
710. The check node receives the cross-chain transaction request.
711. The check node checks the cross-chain transaction request based on the data stored in the check node, and sends a confirmation notice to the first client when the cross-chain transaction request passes the check, wherein the confirmation notice indicates that the first client sends cross-chain transaction data of the cross-chain transaction to the second client.
In the embodiment of the application, after receiving the cross-chain transaction request, the check node checks the cross-chain transaction request according to the information carried in the cross-chain transaction request and the data stored in the check node, and sends a confirmation notification to the first client when the check is passed, that is, the check node takes the confirmation notification as the return of the cross-chain transaction request and directly sends the return to the first client.
In some embodiments, the check node checks the cross-chain transaction request based on the identity data of the first client and the identity data of the second client stored in the check node, and sends a confirmation notification to the first client if the check is passed. Optionally, the identity data of the first client includes a first identity certificate of the first client, the identity data of the second client includes a second identity certificate of the second client, and the check node determines that the cross-chain transaction request passes the check if the identity certificates corresponding to the identifiers of the two clients are queried based on the identifiers of the clients of the two transaction parties of the cross-chain transaction (i.e., the identifier of the first client and the identifier of the second client) carried in the cross-chain transaction request, and sends a confirmation notification to the first client, so that the identities of the two parties participating in the cross-chain transaction at this time are reliable, and the security of the cross-chain transaction is improved. Optionally, the identity data of the first client further includes an authorization record of the first client, where the authorization record indicates that the first client has obtained the cross-chain operation type of the authority, and the check node determines that the cross-chain operation related to the cross-chain transaction has obtained the authorization if the authorization record of the first client is queried to include the authorization notification for the cross-chain operation type of this time based on the identifier of the cross-chain operation type and the identifier of the first client, which are carried in the cross-chain transaction request, so as to improve the security of the cross-chain transaction.
In some embodiments, the check node generates a digital signature of the cross-chain transaction if the cross-chain transaction request is verified, stores the digital signature, and the digital signature indicates that the cross-chain transaction data is verified. Wherein the digital signature is stored in correspondence with the identification of the cross-chain transaction. The digital signature of the cross-link transaction is generated, so that the endorsement signature is carried out on the cross-link transaction, namely, the safety of the cross-link transaction is guaranteed, a subsequent second client side can check the cross-link transaction data through the check node when receiving the cross-link transaction data of the cross-link transaction, and the safety of the cross-link transaction is improved.
712. The first client receives the confirmation notification.
After the above steps 709 to 712, the check node checks the cross-chain transaction request after receiving the cross-chain transaction request of the cross-chain transaction sent by the first client, and returns a confirmation notification to the first client if the check is passed. In some embodiments, the process shown in steps 709 to 712 may be understood as: the check node provides authority management service for the first client and the second client, and the cross-chain transaction request initiated by the client is checked through the authority management service, so that the safety of the cross-chain transaction is ensured. In some embodiments, when the check node is a node in a check cluster, and the check cluster is a block chain network composed of a plurality of check nodes, and the plurality of check nodes jointly maintain a third block chain, the check cluster runs the right management contract, and the above step 710 and step 711 are automatically performed, which is not limited in this embodiment of the present application.
713. The first client sends cross-chain transaction data of the cross-chain transaction to the second client.
In this embodiment of the present application, after receiving a confirmation notification sent by a check node, a first client sends, to a second client, cross-chain transaction data of the cross-chain transaction, where the cross-chain transaction data indicates specific content of the cross-chain transaction. For example, if the cross-chain transaction is to transfer a target amount of virtual resources in a first account on a first blockchain to a second account on a second blockchain, the cross-chain transaction data includes a resource transfer-out party account, a resource transfer-in party account, and a resource transfer amount. The resource transfer-out party account is the first account, the resource transfer-in party account is the second account, and the resource transfer amount is the target amount. For another example, if the cross-chain transaction is to modify data on the first blockchain and the second blockchain synchronously, the cross-chain transaction data includes a position of data to be modified on the first blockchain, a position of data to be modified on the second blockchain, modified data of the data to be modified on the first blockchain, modified data of the data to be modified on the second blockchain, and the like, which is not limited in the embodiment of the present application.
In some embodiments, the cross-chain transaction data carries an identification of the cross-chain transaction, the identification of the cross-chain transaction being used to uniquely identify the cross-chain transaction. The identification of the cross-chain transaction is carried in the cross-chain transaction data, so that a second client receiving the cross-chain transaction data can check the cross-chain transaction data through a check node according to the identification of the cross-chain transaction, and the cross-chain transaction is executed under the condition that the check is passed, so that the safety of the cross-chain transaction is improved.
714. And the second client receives the cross-chain transaction data, verifies the cross-chain transaction data through a verification node, and executes the cross-chain transaction under the condition that the cross-chain transaction data passes verification.
In the embodiment of the application, after receiving the cross-chain transaction data, the second client verifies the cross-chain transaction data through the verification node based on the identification of the cross-chain transaction carried in the cross-chain transaction data, and executes the cross-chain transaction on the second block chain when the verification is passed.
In some embodiments, the second client executes the cross-chain transaction if a digital signature corresponding to the identifier of the cross-chain transaction is queried from the check node based on the identifier of the cross-chain transaction carried by the cross-chain transaction data. The cross-chain transaction data is verified in a mode of inquiring the digital signature, so that the safety of the cross-chain transaction is improved.
In some embodiments, after receiving the cross-chain transaction data, the second client checks the cross-chain transaction data through the check node, and if the check is passed, the second client checks the cross-chain transaction data again, and executes the cross-chain transaction after proving the validity of the cross-chain transaction data and signing and authenticating. In some embodiments, if the second client passes the check on the cross-link transaction data through the check node, but the second client fails to pass the check on the cross-link transaction data, the current cross-link transaction is not executed, and a rollback operation is executed. In other embodiments, if the second client does not check the cross-link transaction data through the check node, but the second client checks the cross-link transaction data through, the current cross-link transaction is not executed, and a rollback operation is executed. In other words, in this process, the second client needs to verify the cross-link transaction data through the check node, and also needs to verify the cross-link transaction data through the second client, and the cross-link transaction is executed only when the double verification is passed, so that the security of the cross-link transaction is greatly improved.
Through the steps 713 and 714, the first client directly sends the cross-chain transaction data of the cross-chain transaction to the second client, so that the centralized risk is avoided, and further, when the second client receives the cross-chain transaction data, the cross-chain verification data is verified through the verification node, so that the safety of the cross-chain transaction is effectively improved on the premise of direct communication between every two clients.
In some embodiments, the check node stores a cross-chain transaction record for the cross-chain transaction, the cross-chain transaction record indicating a transaction process and a transaction execution for the cross-chain transaction. Optionally, the cross-chain transaction record includes an execution result of the cross-chain transaction, where the execution result indicates that the cross-chain transaction has been successfully executed, or the execution result indicates that the cross-chain transaction has been unsuccessfully executed. And after receiving the execution result of the cross-chain transaction, the check node stores the execution result. Optionally, the cross-chain transaction record further includes time of occurrence of the cross-chain transaction, information of both parties of the cross-chain transaction, a transaction execution parameter, and the like, which is not limited in this embodiment of the present application. Through storing the cross-chain transaction record of the cross-chain transaction in the check node, the authority confirmation and accountability service can be provided for the illegal cross-chain transaction, and therefore the safety of the cross-chain transaction is improved.
In some embodiments, the cross-chain transaction record of the cross-chain transaction stored in the check node only has the query right of the participant of the cross-chain transaction, so that the security of the cross-chain transaction record can be ensured, and the cross-chain transaction record is prevented from being illegally acquired. Illustratively, taking an example that a third client wants to query a cross-chain transaction record of the cross-chain transaction, the check node receives a transaction query request sent by the third client, where the transaction query request indicates to query the cross-chain transaction record of the cross-chain transaction; and the check node checks the third client based on the transaction query request, and sends the cross-chain transaction record to the third client under the condition that the third client is the first client or the second client. Optionally, the check node determines whether the third client is the first client or the second client by using the identity certificate of the third client, which is not limited in this embodiment of the present application. In some embodiments, when the check node is a node in a check cluster, the check cluster is a block chain network composed of a plurality of check nodes, and the plurality of check nodes collectively maintain a third block chain, the check cluster runs a behavior supervision contract to automatically execute the steps of storing the cross-chain transaction record and checking the third client.
To sum up, in the cross-chain transaction method provided in the embodiment of the present application, the cross-chain transaction data of the cross-chain transaction can be directly sent between every two clients, so as to avoid centralized risk, further, the client that receives the cross-chain transaction data can check the cross-chain transaction data through the check node, and execute the cross-chain transaction again when the check is passed, thereby effectively improving the security of the cross-chain transaction on the premise of direct communication between every two clients. Furthermore, the cross-chain transaction method is based on the interaction between the client and the service blockchain, so that different types of blockchains can be adapted, and the application range of the cross-chain transaction method is effectively expanded.
The embodiment shown in fig. 7 above illustrates a specific implementation of the method for performing cross-chain transaction according to the cross-chain transaction system shown in fig. 1. Referring to fig. 8, taking a check node as a node in the check cluster shown in fig. 4 as an example, the cross-chain transaction method provided in the embodiment of the present application is illustrated.
Fig. 8 is a schematic diagram of a cross-chain trading system provided in an embodiment of the present application, and as shown in fig. 8, the cross-chain trading system includes a first client of a first block chain, a second client of a second block chain, and a check cluster, where multiple check nodes in the check cluster commonly maintain a third block chain. The verification cluster is used for verifying the identity of the client according to the registration request of the client and issuing an identity certificate for the client; the check cluster is also used for receiving an authorization request sent by the client and storing a corresponding authorization record; the check cluster is also used for checking the cross-chain transaction request when receiving the cross-chain transaction request sent by the client, and informing the client to send cross-chain transaction data to a receiving end of the cross-chain transaction when the check is passed; the check cluster is also used for storing a cross-chain transaction record of the cross-chain transaction; and so on, the role of the check cluster is the same as that of the check node shown in fig. 7, and thus, the description thereof is omitted here.
In addition, the specific execution steps of the method for realizing cross-link transaction through interaction among the first client, the second client and the check cluster are the same as the execution steps shown in fig. 7, and therefore are not described herein again. The check cluster is a block chain network composed of a plurality of check nodes, and therefore the check cluster stores the identity data of the first client, the identity data of the second client, a cross-chain transaction record of the cross-chain transaction and the like on a third block chain. Optionally, the check cluster runs an identity management contract, a rights management contract, and a behavior supervision contract, and automatically executes the steps executed by the check node in the embodiment shown in fig. 7, which is not limited in the embodiment of the present application.
In the cross-chain transaction method provided in the embodiment shown in fig. 8, cross-chain transaction data of cross-chain transaction can be directly sent between every two clients, so that a centralized risk is avoided, further, the client receiving the cross-chain transaction data can verify the cross-chain transaction data through the verification node in the verification cluster, and execute the cross-chain transaction again when the verification passes, so that the security of the cross-chain transaction is effectively improved on the premise of direct communication between every two clients. Furthermore, the cross-chain transaction method is based on the interaction between the client and the service blockchain, so that different types of blockchains can be adapted, and the application range of the cross-chain transaction method is effectively expanded. Moreover, the check cluster is a block chain network consisting of a plurality of check nodes, and the check nodes jointly maintain the third block chain, so that the safety of the data stored in the check cluster is guaranteed, and the safety of cross-chain transaction is further improved.
Fig. 9 is a schematic structural diagram of a cross-chain transaction apparatus according to an embodiment of the present application. The cross-chain transaction apparatus 900 shown in fig. 9 implements, for example, the function of the first client in the cross-chain transaction method shown in fig. 7. As shown in fig. 9, the cross-chain transaction apparatus 900 includes a sending module 901 and a receiving module 902.
A sending module 901, configured to send a cross-chain transaction request to a check node, where the cross-chain transaction request indicates that a cross-chain transaction is performed on a second blockchain, and the check node does not belong to the first blockchain and the second blockchain;
a receiving module 902, configured to receive a confirmation notification sent by the check node, where the confirmation notification indicates that the first client sends the cross-chain transaction data of the cross-chain transaction to the second client;
the sending module 901 is further configured to send the cross-chain transaction data to the second client.
In some embodiments, the sending module 901 is further configured to send a first registration request to the check node, where the first registration request indicates that the first client requests to register for the cross-chain service.
In some embodiments, the sending module 901 is further configured to send an authorization request to the check node, where the authorization request indicates to execute a cross-chain transaction corresponding to a cross-chain operation type on the second blockchain.
It should be noted that: in the cross-chain transaction apparatus 900 provided in the above embodiment, when performing cross-chain transaction, only the division of the above functional modules is exemplified, and in practical application, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the above described functions. In addition, the cross-chain transaction device and the cross-chain transaction method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
Fig. 10 is a schematic structural diagram of a cross-chain transaction apparatus according to an embodiment of the present application. The cross-chain transaction apparatus 1000 shown in fig. 10 implements, for example, the function of the second client in the cross-chain transaction method shown in fig. 7. As shown in fig. 10, the cross-chain transaction apparatus 1000 includes an execution module 1001.
The execution module 1001 is configured to receive cross-link transaction data of a cross-link transaction sent by the first client, check the cross-link transaction data through the check node, and execute the cross-link transaction when the check of the cross-link transaction data is passed, where the check node does not belong to the first block chain and the second block chain.
In some embodiments, the execution module 1001 is configured to check the cross-chain transaction data through the check node on the third blockchain.
In some embodiments, the executing module 1001 is configured to check the cross-link transaction data by checking the check node in a check cluster, where the check cluster is a cluster based on a consensus mechanism.
In some embodiments, the execution module 1001 is configured to execute the cross-chain transaction if a digital signature corresponding to the identifier of the cross-chain transaction is queried from the check node based on the identifier of the cross-chain transaction carried in the cross-chain transaction data, where the digital signature indicates that the cross-chain transaction data has been verified.
In some embodiments, the apparatus further includes a sending module configured to send a second registration request to the check node, the second registration request indicating that the second client requests registration for the cross-chain service.
In some embodiments, the sending module is further configured to send an authorization notification to the check node based on an authorization request of the first client, the authorization request indicating that a cross-chain transaction corresponding to a cross-chain operation type is performed on the second blockchain, the authorization notification indicating that the first client is approved to perform the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
In some embodiments, the sending module is further configured to any one of:
inquiring the authorization request through the check node, and sending the authorization notification to the check node;
and receiving the authorization request sent by the check node, and sending the authorization notification to the check node.
It should be noted that: in the cross-chain transaction apparatus 1000 according to the above embodiment, when performing cross-chain transaction, only the division of the above functional modules is illustrated, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the above described functions. In addition, the cross-chain transaction device and the cross-chain transaction method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
Fig. 11 is a schematic structural diagram of a cross-chain transaction apparatus according to an embodiment of the present application. The cross-chain transaction apparatus 1100 shown in fig. 11 implements, for example, the function of the check node in the cross-chain transaction method shown in fig. 7. As shown in fig. 11, the cross-chain transaction apparatus 1100 includes a receiving module 1101 and a verifying module 1102.
A receiving module 1101, configured to receive a cross-chain transaction request of a cross-chain transaction sent by the first client, where the cross-chain transaction request indicates that the cross-chain transaction is executed on the second blockchain;
the checking module 1102 is configured to check the cross-chain transaction request based on data stored in the check node, and send a confirmation notification to the first client when the cross-chain transaction request passes the check, where the confirmation notification indicates that the first client sends the cross-chain transaction data to the second client.
In some embodiments, the check node belongs to a third blockchain.
In some embodiments, the check node belongs to a check cluster, which is a cluster based on a consensus mechanism.
In some embodiments, the apparatus further comprises a storage module to:
and storing a cross-chain transaction record of the cross-chain transaction, wherein the cross-chain transaction record indicates the transaction process and the transaction execution condition of the cross-chain transaction.
In some embodiments, the cross-chain transaction record includes an execution result of the cross-chain transaction, the execution result indicating that the cross-chain transaction was successfully executed or the execution result indicating that the cross-chain transaction failed to execute.
In some embodiments, the receiving module 1101 is further configured to receive a transaction query request sent by a third client, where the transaction query request indicates to query the cross-chain transaction record; the checking module 1102 is further configured to check the third client based on the transaction query request, and send the cross-chain transaction record to the third client when the third client is the first client or the second client.
In some embodiments, the checking module 1102 is further configured to check the cross-chain transaction request based on the identity data of the first client and the identity data of the second client stored in the check node.
In some embodiments, the identity data of the first client comprises a first identity certificate of the first client, the first identity certificate indicating that the first client is registered for cross-chain services; the identity data of the second client includes a second identity certificate of the second client, the second identity certificate indicating that the second client is registered for cross-chain services.
In some embodiments, the verification module 1102 is further configured to:
receiving a first registration request sent by a first client, verifying the identity of the first client, generating a first identity certificate and storing the first identity certificate under the condition that the verification is passed, wherein the first registration request indicates that the first client requests to register the cross-link service;
and receiving a second registration request sent by the second client, verifying the identity of the second client, generating a second identity certificate and storing the second identity certificate under the condition that the verification is passed, wherein the second registration request indicates that the second client requests to register the cross-chain service.
In some embodiments, the identity data of the first client further includes an authorization record of the first client, the authorization record indicating a type of cross-chain operation for which the first client has acquired permission.
In some embodiments, the storage module is further configured to:
receiving an authorization request sent by the first client, and storing the authorization request, wherein the authorization request indicates that a cross-chain transaction corresponding to the cross-chain operation type is executed on the second blockchain;
and receiving an authorization notification sent by the second client, and storing the authorization notification, wherein the authorization notification indicates that the first client is allowed to execute the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
In some embodiments, the storage module is further configured to:
and generating a digital signature of the cross-chain transaction in the case that the cross-chain transaction request is verified, and storing the digital signature, wherein the digital signature indicates that the cross-chain transaction data is verified.
It should be noted that: in the cross-chain transaction apparatus 1100 provided in the above embodiment, only the division of the above functional modules is illustrated when performing cross-chain transactions, and in practical applications, the above function distribution may be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the above described functions. In addition, the cross-chain transaction device and the cross-chain transaction method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
The terms "first," "second," and the like in the present invention are used for distinguishing identical items or similar items having substantially the same functions, and it should be understood that the terms "first," "second," and "n" have no logical or temporal dependency, and do not limit the number or execution order. It will be further understood that, although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first client may be referred to as a second client, and similarly, a second client may be referred to as a first client, without departing from the scope of the various described examples. Both the first client and the second client may be clients, and in some cases, may be separate and distinct clients.
The term "at least one" in the present invention means one or more, and the term "a plurality" in the present invention means two or more, for example, a plurality of clients means two or more clients.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive various equivalent modifications or substitutions within the technical scope of the present invention, and these modifications or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a program product. The program product includes one or more program instructions. When loaded and executed on a computing device, cause the flow or functionality in accordance with embodiments of the invention to occur, in whole or in part.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; although the present invention has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and the modifications or the substitutions do not make the essence of the corresponding technical solutions depart from the scope of the technical solutions of the embodiments of the present invention.

Claims (40)

1. A cross-chain trading system is characterized by comprising a first client of a first block chain, a second client of a second block chain and a check node;
the first client is used for sending cross-chain transaction data of cross-chain transaction to the second client;
the second client is configured to receive the cross-chain transaction data, verify the cross-chain transaction data through the check node, and execute the cross-chain transaction when the cross-chain transaction data is verified, where the check node does not belong to the first blockchain and the second blockchain.
2. The system of claim 1,
the second client is configured to receive the cross-chain transaction data, verify the cross-chain transaction data through the verification node on the third blockchain, and execute the cross-chain transaction when the cross-chain transaction data passes verification.
3. The system of claim 1,
the second client is configured to receive the cross-chain transaction data, verify the cross-chain transaction data through the verification node in the verification cluster, and execute the cross-chain transaction when the cross-chain transaction data passes verification, where the verification cluster is a cluster based on a consensus mechanism.
4. The system according to any one of claims 1 to 3,
the second client is further configured to execute the cross-chain transaction if a digital signature corresponding to the identifier of the cross-chain transaction is queried from the check node based on the identifier of the cross-chain transaction carried in the cross-chain transaction data, where the digital signature indicates that the cross-chain transaction data passes verification.
5. The system according to any one of claims 1 to 4,
the check node is used for storing a cross-chain transaction record of the cross-chain transaction, and the cross-chain transaction record indicates a transaction process and a transaction execution condition of the cross-chain transaction.
6. The system of claim 5, wherein the cross-chain transaction record comprises an execution result of the cross-chain transaction, wherein the execution result indicates that the cross-chain transaction was successfully executed or indicates that the cross-chain transaction was unsuccessfully executed.
7. The system of claim 5,
the check node is further configured to:
receiving a transaction query request sent by a third client, wherein the transaction query request indicates to query the cross-chain transaction record;
and checking the third client based on the transaction query request, and sending the cross-chain transaction record to the third client under the condition that the third client is the first client or the second client.
8. The system according to any one of claims 1 to 7,
the check node is further configured to:
receiving a cross-chain transaction request sent by the first client, wherein the cross-chain transaction request indicates that the cross-chain transaction is executed on the second blockchain;
and verifying the cross-chain transaction request based on the data stored in the verification node, and sending a confirmation notice to the first client when the cross-chain transaction request passes verification, wherein the confirmation notice indicates that the first client sends the cross-chain transaction data to the second client.
9. The system of claim 8,
the check node is further configured to check the cross-chain transaction request based on the identity data of the first client and the identity data of the second client stored in the check node.
10. The system of claim 9,
the identity data of the first client comprises a first identity credential of the first client, the first identity credential indicating that the first client is registered for cross-chain service;
the identity data of the second client comprises a second identity certificate of the second client, the second identity certificate indicating that the second client is registered for cross-chain service.
11. The system of claim 10,
the check node is further configured to:
receiving a first registration request sent by the first client, verifying the identity of the first client, generating a first identity certificate and storing the first identity certificate under the condition that the verification is passed, wherein the first registration request indicates that the first client requests to register the cross-link service;
receiving a second registration request sent by the second client, verifying the identity of the second client, generating a second identity certificate and storing the second identity certificate under the condition that the verification is passed, wherein the second registration request indicates that the second client requests to register the cross-chain service.
12. The system according to any one of claims 9 to 11,
the identity data of the first client further comprises an authorization record of the first client, wherein the authorization record indicates a cross-chain operation type of the permission acquired by the first client.
13. The system of claim 12,
the check node is further configured to receive an authorization request sent by the first client, and store the authorization request, where the authorization request indicates that a cross-chain transaction corresponding to the cross-chain operation type is executed on the second blockchain;
the second client is further configured to send, based on the authorization request, an authorization notification to the check node, where the authorization notification indicates that the first client is permitted to perform a cross-chain transaction corresponding to the cross-chain operation type on the second blockchain;
the check node is further configured to receive the authorization notification and store the authorization notification.
14. The system of claim 13, wherein the second client is further configured to either:
inquiring the authorization request through the check node, and sending the authorization notification to the check node;
and receiving the authorization request sent by the check node, and sending the authorization notification to the check node.
15. The system of any one of claims 8 to 14,
the check node is further configured to generate a digital signature of the cross-chain transaction and store the digital signature when the cross-chain transaction request passes the check, where the digital signature indicates that the cross-chain transaction data passes the check.
16. A method of cross-chain trading, performed by a first client of a first blockchain in a cross-chain trading system, the cross-chain trading system further comprising a second client of a second blockchain and a check node, the method comprising:
sending a cross-chain transaction request to the check node, wherein the cross-chain transaction request indicates that cross-chain transaction is executed on the second blockchain, and the check node does not belong to the first blockchain and the second blockchain;
receiving a confirmation notification sent by the check node, wherein the confirmation notification instructs the first client to send cross-chain transaction data of the cross-chain transaction to the second client;
and sending the cross-chain transaction data to the second client.
17. The method of claim 16, further comprising:
sending a first registration request to the check node, wherein the first registration request indicates that the first client requests to register the cross-chain service.
18. The method of claim 16 or 17, further comprising:
sending an authorization request to the check node, the authorization request instructing to execute a cross-chain transaction corresponding to a cross-chain operation type on the second blockchain.
19. A method of cross-chain trading, performed by a second client of a second blockchain in a cross-chain trading system that further includes a first client of a first blockchain and a check node, the method comprising:
receiving cross-chain transaction data of cross-chain transaction sent by the first client, verifying the cross-chain transaction data through the verification node, and executing the cross-chain transaction under the condition that the cross-chain transaction data is verified, wherein the verification node does not belong to the first block chain and the second block chain.
20. The method of claim 19, wherein the verifying the cross-chain transaction data by the verification node comprises:
and verifying the cross-chain transaction data through the verification node on the third block chain.
21. The method of claim 19, wherein the verifying the cross-chain transaction data by the verification node comprises:
and verifying the cross-chain transaction data through the verification nodes in a verification cluster, wherein the verification cluster is a cluster based on a consensus mechanism.
22. The method according to any one of claims 19 to 21, wherein the verifying the cross-chain transaction data by the verification node, and in case the cross-chain transaction data is verified, performing the cross-chain transaction comprises:
based on the identification of the cross-chain transaction carried in the cross-chain transaction data, if a digital signature corresponding to the identification of the cross-chain transaction is inquired from the check node, the cross-chain transaction is executed, and the digital signature indicates that the cross-chain transaction data passes the check.
23. The method of any one of claims 19 to 22, further comprising:
sending a second registration request to the check node, wherein the second registration request indicates that the second client requests to register the cross-chain service.
24. The method of any one of claims 19 to 23, further comprising:
sending an authorization notification to the check node based on an authorization request of the first client, the authorization request indicating that a cross-chain transaction corresponding to a cross-chain operation type is executed on the second blockchain, the authorization notification indicating that the first client is allowed to execute the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
25. The method according to claim 24, wherein the sending an authorization notification to the check node based on the authorization request of the first client comprises any one of:
inquiring the authorization request through the check node, and sending the authorization notification to the check node;
and receiving the authorization request sent by the check node, and sending the authorization notification to the check node.
26. A method of cross-chain trading, performed by a check node in a cross-chain trading system that further includes a first client of a first blockchain and a second client of a second blockchain, the method comprising:
receiving a cross-chain transaction request of a cross-chain transaction sent by the first client, wherein the cross-chain transaction request indicates that the cross-chain transaction is executed on the second blockchain;
and verifying the cross-chain transaction request based on the data stored in the verification node, and sending a confirmation notice to the first client when the cross-chain transaction request passes verification, wherein the confirmation notice indicates that the first client sends the cross-chain transaction data to the second client.
27. The method of claim 26, wherein the check node belongs to a third blockchain.
28. The method of claim 26, wherein the check node belongs to a check cluster, and wherein the check cluster is a consensus mechanism based cluster.
29. The method of any one of claims 26 to 28, further comprising:
storing a cross-chain transaction record of the cross-chain transaction, wherein the cross-chain transaction record indicates a transaction process and a transaction execution condition of the cross-chain transaction.
30. The method of claim 29, wherein the cross-chain transaction record comprises an execution result of the cross-chain transaction, wherein the execution result indicates that the cross-chain transaction was successfully executed or indicates that the cross-chain transaction was unsuccessfully executed.
31. The method of claim 29, further comprising:
receiving a transaction query request sent by a third client, wherein the transaction query request indicates to query the cross-chain transaction record;
and checking the third client based on the transaction query request, and sending the cross-chain transaction record to the third client under the condition that the third client is the first client or the second client.
32. The method of any one of claims 26 to 31, wherein said verifying said cross-chain transaction request based on data stored in said check node comprises:
and verifying the cross-chain transaction request based on the identity data of the first client and the identity data of the second client stored in the verification node.
33. The method of claim 32,
the identity data of the first client comprises a first identity credential of the first client, the first identity credential indicating that the first client is registered for cross-chain service;
the identity data of the second client includes a second identity certificate of the second client, the second identity certificate indicating that the second client is registered for cross-chain service.
34. The method of claim 33, further comprising:
receiving a first registration request sent by the first client, verifying the identity of the first client, generating a first identity certificate and storing the first identity certificate under the condition that the verification is passed, wherein the first registration request indicates that the first client requests to register the cross-link service;
receiving a second registration request sent by the second client, verifying the identity of the second client, generating a second identity certificate and storing the second identity certificate under the condition that the verification is passed, wherein the second registration request indicates that the second client requests to register the cross-chain service.
35. The method according to any one of claims 32 to 34, wherein the identity data of the first client further comprises an authorization record of the first client, the authorization record indicating a type of cross-chain operation for which the first client has acquired rights.
36. The method of claim 35, further comprising:
receiving an authorization request sent by the first client, and storing the authorization request, wherein the authorization request indicates that a cross-chain transaction corresponding to the cross-chain operation type is executed on the second blockchain;
receiving an authorization notification sent by the second client, and storing the authorization notification, wherein the authorization notification indicates that the first client is allowed to execute the cross-chain transaction corresponding to the cross-chain operation type on the second blockchain.
37. The method of any one of claims 26 to 36, further comprising:
and generating a digital signature of the cross-chain transaction if the cross-chain transaction request is verified, and storing the digital signature, wherein the digital signature indicates that the cross-chain transaction data is verified.
38. A computing device comprising a processor and a memory for storing at least one piece of program code, the at least one piece of program code being loaded by the processor and executing the cross-chain transaction method of any one of claims 16 to 18, or the cross-chain transaction method of any one of claims 19 to 25, or the cross-chain transaction method of any one of claims 26 to 37.
39. A computer readable storage medium for storing at least one program code for performing a cross-chain transaction method according to any one of claims 16 to 18, or a cross-chain transaction method according to any one of claims 19 to 25, or a cross-chain transaction method according to any one of claims 26 to 37.
40. A computer program product, which when run on a computer causes the computer to perform a cross-chain transaction method according to any one of claims 16 to 18, or a cross-chain transaction method according to any one of claims 19 to 25, or a cross-chain transaction method according to any one of claims 26 to 37.
CN202110961524.7A 2021-08-20 2021-08-20 Cross-chain transaction system, method, device and storage medium Pending CN115708119A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110961524.7A CN115708119A (en) 2021-08-20 2021-08-20 Cross-chain transaction system, method, device and storage medium
PCT/CN2022/078027 WO2023019903A1 (en) 2021-08-20 2022-02-25 Cross-chain transaction system and method, and device and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110961524.7A CN115708119A (en) 2021-08-20 2021-08-20 Cross-chain transaction system, method, device and storage medium

Publications (1)

Publication Number Publication Date
CN115708119A true CN115708119A (en) 2023-02-21

Family

ID=85212775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110961524.7A Pending CN115708119A (en) 2021-08-20 2021-08-20 Cross-chain transaction system, method, device and storage medium

Country Status (2)

Country Link
CN (1) CN115708119A (en)
WO (1) WO2023019903A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155624B (en) * 2023-04-18 2023-07-18 北京邮电大学 Cross-link method, device and system for heterogeneous alliance chains

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210184863A1 (en) * 2019-12-11 2021-06-17 Mastercard Asia/Pacific Pte. Ltd. Method and system for regulation of blockchain-based payments
CN111640017B (en) * 2020-05-06 2024-05-28 深圳前海微众银行股份有限公司 Transaction correctness verification method and device applied to alliance chain cross-chain transfer
CN112446785B (en) * 2020-11-06 2023-09-22 杭州趣链科技有限公司 Cross-chain transaction method, system, device, equipment and storage medium

Also Published As

Publication number Publication date
WO2023019903A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
CN110012015B (en) Block chain-based Internet of things data sharing method and system
US11088854B2 (en) Securing blockchain access through a gateway on behalf of a communication device
CN112311735B (en) Credible authentication method, network equipment, system and storage medium
US11360963B2 (en) Tracking and verification of physical assets
US20210091960A1 (en) Tracking and verification of physical assets
CN111191283B (en) Beidou positioning information security encryption method and device based on alliance block chain
WO2019033116A1 (en) Systems and methods for rights control of network-connected or iot devices using information stored in a distributed ledger
CN110839029B (en) Micro-service registration method and device
CN108615195B (en) Resource transfer information transmission method and device, storage medium and electronic device
CN110471982B (en) Data processing method and device based on block chain
CN112700251B (en) Identity confirmation method, device and system in financial scene
CN113850599B (en) Cross-link transaction method and system applied to alliance link
CN111460457A (en) Real estate property registration supervision method, device, electronic equipment and storage medium
JP2022553674A (en) Chaincode recommendations based on existing chaincodes
Garba et al. LightLedger: a novel blockchain-based domain certificate authentication and validation scheme
CN115277122B (en) Cross-border data flow and supervision system based on block chain
US20220329411A1 (en) Blockchain processing offload to network device
CN110189440A (en) A kind of smart lock monitoring equipment and its method based on block chain
CN115708119A (en) Cross-chain transaction system, method, device and storage medium
CN114157428A (en) Block chain-based digital certificate management method and system
CN115701078B (en) Cross-chain transaction processing method, device, electronic equipment and storage medium
Qi et al. Double-edged sword: Incentivized verifiable product path query for RFID-enabled supply chain
Behl et al. Trusted data notifications from private blockchains
KR20190010157A (en) System and method for e-commerce using distributed sharing ledger with peer-to-peer network
Sidhu et al. Trust development for blockchain interoperability using self-sovereign identity integration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication