WO2020191935A1 - Method and system for blockchain cross-chain communication, and electronic device and storage medium - Google Patents

Method and system for blockchain cross-chain communication, and electronic device and storage medium Download PDF

Info

Publication number
WO2020191935A1
WO2020191935A1 PCT/CN2019/093483 CN2019093483W WO2020191935A1 WO 2020191935 A1 WO2020191935 A1 WO 2020191935A1 CN 2019093483 W CN2019093483 W CN 2019093483W WO 2020191935 A1 WO2020191935 A1 WO 2020191935A1
Authority
WO
WIPO (PCT)
Prior art keywords
partition
blockchain
transaction
chain
cross
Prior art date
Application number
PCT/CN2019/093483
Other languages
French (fr)
Chinese (zh)
Inventor
张小刚
Original Assignee
深圳市网心科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市网心科技有限公司 filed Critical 深圳市网心科技有限公司
Publication of WO2020191935A1 publication Critical patent/WO2020191935A1/en

Links

Images

Classifications

    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof

Definitions

  • This application relates to the field of blockchain technology, and in particular to a blockchain cross-chain communication method, system, electronic equipment, and computer-readable storage medium.
  • the traditional implementation of blockchain technology is a single-chain architecture, that is, all transaction data that occurs in the blockchain network will be packaged, block, executed, and entered on a single blockchain. Combining simple mathematical knowledge can be obtained, the single-chain architecture is a structure that increases the most when the transaction volume is getting larger and larger. At the same time, due to the uneven performance of each blockchain node that constitutes the blockchain network, The traditional scheme of considering node performance and requiring all blockchain nodes to maintain a complete single chain has become an important issue that restricts the data processing speed of the blockchain network.
  • the multi-short chain architecture also brings another problem, that is, the initiating user and the user of a pending transaction. If the target user is in a different blockchain partition, then the processing of the pending transaction needs to cross different blockchain partitions to achieve cross-chain transactions, so that the pending transaction is stored in the block where the initiating user is located at the same time.
  • the above new scheme does not provide a matching cross-chain communication mechanism between the chain partition and the blockchain partition where the target user is located.
  • the purpose of this application is to provide a blockchain cross-chain communication method, system, electronic device, and computer-readable storage medium, aiming to solve the problem of a cross-chain communication mechanism that matches the lack of existing multiple short-chain architectures.
  • this application provides a blockchain cross-chain communication method, which includes:
  • the first blockchain partition receives the pending transaction, and uses a preset partition algorithm to determine the second blockchain partition to which the target user in the pending transaction belongs; wherein the initiating user of the pending transaction belongs to all In the first block chain partition, the target user belongs to the second block chain partition;
  • the first blockchain partition determines whether the second blockchain partition is a different blockchain partition from the first blockchain partition, and if so, the first blockchain partition uses a hash algorithm Obtain the hash value of the transaction to be processed, and store the hash value in the header information of the next block, and after the next block consensus is completed into the chain, the header information and all the Sending the pending transaction to the second blockchain partition;
  • the second block chain partition verifies the validity of the pending transaction according to the received information, and when the validity of the pending transaction is verified, executes the pending transaction and sends the pending transaction to Complete consensus and enter the chain by itself.
  • the preset partition algorithm is used to determine the second blockchain partition to which the target user in the transaction to be processed belongs, specifically:
  • the first blockchain partition before the first blockchain partition receives the pending transaction, it also includes:
  • the third blockchain partition determines through the preset partition algorithm that the initiating user of the transaction to be processed belongs to the first Block chain partition, and forward the pending transaction to the first blockchain partition.
  • the blockchain cross-chain communication method further includes:
  • the hash value of each pending transaction is grouped and stored in the cross-chain transaction hash set in the header information; the grouping method is that it will belong to the same area
  • the hash value of the pending transaction of the target user of the block chain partition is stored in a group.
  • the method further includes:
  • the second block chain partition verifies whether the received header information is legal
  • the second block chain partition After the received header information is verified to be legal, the second block chain partition performs a validity verification step.
  • the verification of the received header information by the second block chain partition is legal, including:
  • the blockchain cross-chain communication method further includes:
  • any blockchain partition receives a transaction query request, determine the initiating user and/or target user of the transaction corresponding to the transaction query request, and forward the transaction query request to the initiating user and/or
  • the blockchain partition to which the target user belongs can complete the processing of the transaction query request through the blockchain partition to which the initiating user and/or the target user belongs.
  • this application also provides a blockchain cross-chain communication system, which includes:
  • the first block chain partition is used to receive pending transactions, and use a preset partition algorithm to determine the second block chain partition to which the target user in the pending transaction belongs; to determine whether the second block chain partition Is a block chain partition different from the first block chain partition. If yes, the first block chain partition uses a hash algorithm to obtain the hash value of the transaction to be processed, and the hash value Is stored in the header information of the next block, and after the next block consensus is completed into the chain, the header information and the pending transaction are sent to the second block chain partition; where The initiating user of the transaction to be processed belongs to the first blockchain partition, and the target user belongs to the second blockchain partition;
  • the second block chain partition is used to verify the validity of the pending transaction according to the received information. After the validity of the pending transaction is verified, the pending transaction is executed and the pending transaction Complete consensus and enter the chain in oneself.
  • the first block chain partition includes:
  • the user name extraction unit is configured to extract the user name of the target user from the transaction to be processed when the preset partition algorithm is specifically the DHT algorithm;
  • a hash value calculation unit for calculating the hash value of the user name by using a hash algorithm
  • the target user membership partition determining unit is configured to determine that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition.
  • the blockchain cross-chain communication system also includes:
  • the first blockchain partition Before the first blockchain partition receives pending transactions, it also includes:
  • the third blockchain partition is used to determine through the preset partition algorithm that the user who initiated the transaction to be processed belongs to the first blockchain partition when the transaction to be processed is uploaded to the blockchain by itself , And forward the pending transaction to the first blockchain partition.
  • the blockchain cross-chain communication system also includes:
  • the group storage unit is used to group the hash value of each transaction to be processed in the cross-chain transaction hash set in the header information when there are multiple pending transactions with different target users; wherein, the grouping
  • the method is to store the hash values of pending transactions of target users belonging to the same blockchain partition in a group.
  • the second blockchain partition further includes:
  • the legality verification unit is configured to verify whether the received header information is legal before the second blockchain partition verifies the validity of the transaction to be processed according to the received information;
  • the matching execution unit is used for the second block chain partition to execute the validity verification step after the received header information is verified to be legal.
  • the legality verification unit includes:
  • a height determining subunit configured to determine the height of the transaction to be processed in the first block chain partition according to the header information
  • the public key obtaining subunit is used to obtain the public key of the initiating user on the blockchain main chain according to the height;
  • the legality verification subunit based on the public key is used to verify whether the header information is legal according to the public key.
  • the blockchain cross-chain communication system also includes:
  • the transaction query request processing unit is used to determine the initiating user and/or target user of the transaction corresponding to the transaction query request when any blockchain partition receives the transaction query request, and forward the transaction query request to The blockchain partition to which the initiating user and/or the target user belongs may complete the processing of the transaction query request via the blockchain partition to which the initiating user and/or the target user belongs.
  • the present application further provides an electronic device including a memory, a processor, and a bus.
  • the memory stores a blockchain cross-chain communication program that can run on the processor.
  • the blockchain cross-chain communication program is transmitted by the bus to the processor, and when executed by the processor, the blockchain cross-chain communication method described above is implemented.
  • this application further provides a computer-readable storage medium on which a blockchain cross-chain communication program is stored, and the blockchain cross-chain communication program can be used by one or Multiple processors execute to implement the blockchain cross-chain communication method as described above.
  • the blockchain cross-chain communication method uses a partition algorithm that can distinguish between the initiating user and the target user of the transaction to be processed and which blockchain partition actually belongs to, so that the Regardless of which blockchain partition uploads, the processed transaction can be accurately transmitted to the blockchain partition where the initiating user is located for subsequent processing, and when the blockchain partition where the initiating user is located determines that the pending transaction is a cross-chain transaction , Before entering the chain, the hash value of the transaction to be processed will be stored in the header information of the next block, and the header information containing the transaction to be processed and the corresponding hash value will be sent to The block chain partition where the target user is located, so that the block chain partition where the target user is located will also enter the chain after verifying the validity of the data to be traded based on this information.
  • This application provides a set of matching cross-chain communication technologies for the multiple short-chain architecture through the above technical solutions, so that the multiple short-chain architecture can also give full play to its performance advantages.
  • This application also provides a blockchain cross-chain communication system, electronic equipment, and computer-readable storage medium, which have the above-mentioned beneficial effects, and will not be repeated here.
  • Figure 1 is a flowchart of a blockchain cross-chain communication method provided by an embodiment of the application
  • FIG. 2 is a flowchart of a method for determining a block chain partition to which a target user belongs in a block chain cross-chain communication method provided by an embodiment of the application;
  • FIG. 3 is a flowchart of a method for verifying the legitimacy of header information provided by an embodiment of the application
  • FIG. 4 is a structural block diagram of a blockchain cross-chain communication system provided by an embodiment of the application.
  • FIG. 5 is a structural block diagram of another blockchain cross-chain communication system provided by an embodiment of this application.
  • FIG. 6 is a sequence diagram of a blockchain cross-chain communication method provided by an embodiment of the application.
  • FIG. 7 is a schematic structural diagram of an electronic device provided by an embodiment of the application.
  • Figure 1 is a flowchart of a blockchain cross-chain communication method provided by an embodiment of the application, which includes the following steps:
  • the first blockchain partition receives the pending transaction, and uses a preset partition algorithm to determine the second blockchain partition to which the target user in the pending transaction belongs;
  • each step of this application is actually responsible for maintaining the blockchain nodes assigned to its own blockchain partition.
  • each blockchain partition will be used directly to refer to the maintenance of the corresponding blockchain. Partitioned blockchain node.
  • the purpose of this step is to receive pending transactions by the first block chain partition, and the first block chain partition determines the block chain partition to which the target user in the pending transaction belongs, that is, with the help of presets in each block
  • the partitioning algorithm in the blockchain partition (corresponding blockchain node). It should be understood that the process of a transaction will inevitably have the target user of the initiating user, and there are many blockchain partitions under the multi-short chain architecture.
  • the reason why this step is performed by the first blockchain partition is because The initiating user of the pending transaction belongs to the first blockchain partition.
  • the target user belongs to the second blockchain partition. This is preset.
  • the second half of this step The solution provided is how the first blockchain partition determines that the target user belongs to the second blockchain partition.
  • the preset partition algorithm can be completed in different ways under different practical application scenarios
  • the purpose of determining the blockchain partition to which the target user belongs can be based on the DHT algorithm commonly used in distributed computing systems, can be based on a preset custom classification table, or even based on the classification of different user identification information, etc.
  • the preset partitioning algorithm can also be formulated based on the splitting method of splitting a complete single chain into multiple short chains. Those skilled in the art can be used in different application scenarios under the premise of understanding the realization idea of this step. A variety of specific implementation manners are given below, and a specific implementation manner will be provided later in this application, which will not be repeated here.
  • each block chain node only needs to maintain one or a few block chain partitions.
  • user A initiates The transaction of may not be transmitted to the blockchain network on the node of the blockchain partition to which user A belongs. That is, when user A belongs to the first blockchain partition, the transaction may be responsible for maintaining any area
  • the nodes of the block chain partition are uploaded to the blockchain network. When they happen to be uploaded through the node corresponding to the first block chain partition, subsequent processing will be carried out through the technical solution provided in this step; When uploading nodes of other blockchain partitions, the blockchain partition that actually received the transaction will also need to identify that it should be processed by the first blockchain partition through the partition algorithm and send it to the first blockchain partition.
  • Blockchain partition
  • the first blockchain partition determines whether the second blockchain partition is a different blockchain partition from the first blockchain partition. If so, the first blockchain partition uses a hash algorithm to obtain the hash of the transaction to be processed. Hope value, and store the hash value in the header information of the next block, and after the next block consensus is completed into the chain, the header information and pending transactions are sent to the second blockchain partition;
  • this step aims to determine whether the second blockchain partition is a different blockchain partition from the first blockchain partition by the first blockchain partition, that is, the target user determined by comparing S101 Whether the second blockchain partition belongs to the same partition as the first blockchain partition, you can easily determine whether the transaction to be processed is a non-cross-chain transaction or a cross-chain transaction.
  • the first block chain partition After determining that the transaction to be processed is a cross-chain transaction, the first block chain partition needs to use a hash algorithm to calculate the hash value of the cross-chain transaction, and put the hash value in the head of the next block In the preset position of the information, and after completing the consensus of the next block and entering the chain, the header information including the hash value and the pending transaction are sent to the second block chain partition.
  • This information is sent to the second blockchain partition because the transaction involves different blockchain partitions at the same time, and the target user of the initiating user of this transaction needs to store the relevant information of the transaction.
  • each block will only perform consensus and chain entry operations when the time conditions or capacity constraints are met, it usually contains many transactions. Therefore, it does not rule out that the header information will be stored in the preset location.
  • the hash value of cross-chain transactions, especially the chains of different cross-chain transactions, may be the same. Therefore, in order to prevent confusion, you can also group them into corresponding groups according to the different blockchain partitions to be in the next block.
  • this block chain is partitioned into the chain, the included cross-chain transaction hash value and the corresponding cross-chain transaction are sent to the corresponding block chain partition by group.
  • the second block chain partition verifies the validity of the transaction to be processed according to the received information, and when the validity of the transaction to be processed is verified, executes the transaction to be processed, and completes the consensus and in-chain of the transaction to be processed in itself.
  • this step is to verify the validity of the cross-chain transaction by the second blockchain partition based on the received header information and the transaction to be processed. A part of the next block in the transaction area is followed by the subsequent execution, consensus, and chaining steps.
  • the validity verification method based on the hash value is: the second block chain partition uses the same hash algorithm to calculate the hash value of the received transaction to be processed, and combines the hash value obtained by the self-calculation with the In the header information, the hash value calculated by the first block chain partition is compared for consistency. If the two are consistent, it indicates that the transaction to be processed is valid and has not been tampered with.
  • the second block chain partition can also verify the legality of the received header information, so as to perform subsequent follow-ups on the basis of verifying its legality. Effectiveness verification steps can reduce risks.
  • the specific implementation of legality verification can be flexibly selected according to different parameter types and degree of customization in actual application scenarios. Those skilled in the art can provide a variety of specific implementation solutions under the guidance of the ideas provided in this step. A specific legality verification method will also be provided later, which will not be repeated here.
  • any blockchain partition when any blockchain partition receives a transaction query request, it can also determine the initiating user and/or target user of the transaction corresponding to the transaction query request, and forward the transaction query request to the initiating user and/or
  • the blockchain partition to which the target user belongs allows the initiating user and/or the blockchain partition to which the target user belongs to complete the subsequent processing of the transaction query request.
  • the implementation method will also use the preset partition algorithm, which is the same as the principle of receiving and forwarding the pending transaction that is uploaded.
  • the transaction to be processed can always be transferred to The blockchain partition of the initiating user is used for subsequent processing, and when the blockchain partition of the initiating user determines that the transaction to be processed is a cross-chain transaction, the hash value of the transaction to be processed will be stored below before entering the chain In the header information of a block, after entering the chain, the header information containing the transaction to be processed and the corresponding hash value is sent to the target user’s blockchain partition, so that the target user’s blockchain partition is based on this information After verifying the validity of the data to be traded, it is also put into the chain by itself.
  • This application provides a set of matching cross-chain communication technologies for the multiple short-chain architecture through the above technical solutions, so that the multiple short-chain architecture can also give full play to its performance advantages.
  • FIG. 2 is a flowchart of a method for determining the blockchain partition to which a target user belongs in a blockchain cross-chain communication method provided by an embodiment of the application.
  • This embodiment provides on the basis of Embodiment 1.
  • the DHT algorithm is a partitioning algorithm based on hash values
  • the user name that can be converted into a hash value of the same length is used as the target user information to be used in this step.
  • other information that meets the same requirements can also be used. Specific embodiment.
  • this step aims to use the hash algorithm to calculate the hash value of the extracted user name. It should be understood that in order to accurately locate the blockchain partition to which each user belongs, each blockchain partition will They have different hash value ranges, and the hash value calculated based on the hash algorithm must only fall within the hash value range of one of the blockchain partitions.
  • S203 Determine, according to the hash value range corresponding to each block chain partition, that the target user corresponding to the hash value belongs to the second block chain partition.
  • this step will determine that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition, indicating that the second blockchain partition corresponds to
  • the hash value range includes the hash value calculated from the username of the target user.
  • the DHT algorithm is simpler and easier to implement. There is no need to formulate complicated correspondence relations in the early stage, and the related technology is more mature and more practical.
  • FIG. 3 is a flowchart of a method for verifying the legitimacy of header information provided by an embodiment of the application. This embodiment is based on any of the foregoing embodiments, after the header information is received by the second blockchain partition , Before performing validity verification, provide a specific method for verifying the legitimacy of the header information, including the following steps:
  • S301 Determine the height of the transaction to be processed in the first block chain partition according to the header information
  • the purpose of this embodiment is to determine the height at which the processed transaction enters the chain in the first blockchain partition based on the characteristic parameters contained in the header information, and to obtain a list of the bookkeeper public key corresponding to the height from the blockchain index.
  • the public key of the initiating user can be found from the public key list of the bookkeeper, and then the public key can be used to verify whether the block header information of the next block encrypted with the corresponding private key is legal (a certain part of the block header information contains The information is encrypted by the private key).
  • the reliability of subsequent transactions to be processed into the chain can be guaranteed, and the health of transaction data can be guaranteed.
  • FIG. 4 is a structural block diagram of a blockchain cross-chain communication system provided by an embodiment of the application.
  • the system may include:
  • the first blockchain partition 100 is used to receive pending transactions, and use a preset partition algorithm to determine the second blockchain partition to which the target user in the pending transaction belongs; to determine whether the second blockchain partition is the same as the first One block chain is divided into different block chain partitions. If yes, the first block chain partition uses a hash algorithm to obtain the hash value of the transaction to be processed, and stores the hash value in the header information of the next block. And after the next block consensus is completed, the header information and the pending transaction are sent to the second blockchain partition; among them, the initiating user of the pending transaction belongs to the first blockchain partition, and the target user belongs to the second blockchain partition.
  • Blockchain partition ;
  • the second block chain partition 200 is used to verify the validity of the transaction to be processed according to the received information. When the validity of the transaction to be processed is verified, the transaction to be processed is executed, and the transaction to be processed is completed in its own consensus and into the chain .
  • the first blockchain partition 100 may include:
  • the user name extraction unit is used to extract the user name of the target user from the transaction to be processed when the preset partition algorithm is specifically the DHT algorithm;
  • the hash value calculation unit is used to calculate the hash value of the user name by using a hash algorithm
  • the target user membership partition determining unit is used to determine that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition.
  • blockchain cross-chain communication system may also include:
  • the third blockchain partition 300 is used to determine that the initiating user of the transaction to be processed belongs to the first blockchain partition through a preset partition algorithm when the transaction to be processed is uploaded to the blockchain by itself, and to forward the transaction to be processed To the first blockchain partition (see Figure 5).
  • blockchain cross-chain communication system may also include:
  • the group storage unit is used to group the hash value of each transaction to be processed in the cross-chain transaction hash set in the header information when there are multiple pending transactions with different target users; the grouping method is Store the hash values of pending transactions of target users belonging to the same blockchain partition in one group.
  • the second blockchain partition 200 may also include:
  • the legitimacy verification unit is used to verify whether the received header information is legal before the second blockchain partition verifies the validity of the transaction to be processed according to the received information;
  • the matching execution unit is used for the second block chain partition to perform the validity verification step after the received header information is verified to be legal.
  • the legality verification unit may include:
  • the height determination subunit is used to determine the height of the transaction to be processed in the first blockchain partition according to the header information
  • the public key acquisition subunit is used to acquire the public key of the initiating user on the blockchain main chain according to the height;
  • the legality verification subunit based on the public key is used to verify whether the header information is legal according to the public key.
  • the blockchain cross-chain communication system may also include:
  • the transaction query request processing unit is used to determine the initiating user and/or target user of the transaction corresponding to the transaction query request when any blockchain partition receives the transaction query request, and forward the transaction query request to the initiating user and/or Or the blockchain partition to which the target user belongs to complete the transaction query request processing through the blockchain partition to which the initiating user and/or the target user belongs.
  • This embodiment exists as a device embodiment corresponding to the above method embodiment.
  • the above functional units are also described and explained in the above method embodiment.
  • this embodiment also has a method embodiment. All the beneficial effects of, will not be repeated here.
  • this application also combines the actual situation and provides a timing diagram of blockchain cross-chain communication under a multiple short-chain architecture through Figure 6, which specifically involves three blockchain partitions and responsible for maintaining the corresponding blockchain partitions.
  • the blockchain node of the third blockchain partition as user A who initiated transaction 1, actually transmits the device of transaction 1, and transaction 1 is a transaction initiated by user A and the target is user B And user A belongs to the first blockchain partition, and user B belongs to the second blockchain partition.
  • transaction 1 is a cross-chain transaction, so the actual processing process is as follows:
  • Step 1 User A uploads transaction 1 to the blockchain network in blockchain node 1;
  • Step 2 The third blockchain partition uses a partition algorithm to identify which blockchain partition the initiating user of transaction 1 belongs to;
  • Step 3 The third blockchain partition forwards the transaction 1 to the first blockchain partition to which user A (initiating user) belongs;
  • Step 4 After the first block chain partition determines that transaction 1 is a cross-chain transaction, calculate the hash value of transaction 1 and put it in the header information of the next block, and after the next block enters the chain, The header information containing the hash value is sent to the second blockchain partition together with transaction 1;
  • step 2 the first block chain partition also needs to be the same as step 2 to determine whether transaction 1 is a cross-chain transaction
  • Step 5 The second blockchain partition performs legality verification and validity verification according to the received information
  • Step 6 The second block chain partition will verify the transaction 1 that has all passed the consensus and enter the chain.
  • FIG. 7 is a schematic structural diagram of an electronic device according to an embodiment of the application:
  • the electronic device 400 includes a memory 410, a processor 420, and a bus 430.
  • the memory 410 stores a blockchain cross-chain communication program that can run on the processor 420.
  • the blockchain cross-chain communication program is transmitted to The processor 420, when executed by the processor 420, can implement the steps in the blockchain cross-chain communication method described in the foregoing embodiment.
  • the memory 410 includes at least one type of readable storage medium.
  • the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), magnetic memory, magnetic disk, and optical disk.
  • the memory 410 may be an internal storage unit of the electronic device 400 in some embodiments, such as a hard disk of the electronic device 400. In other embodiments, the memory 410 may also be an external storage device of the electronic device 400, such as a plug-in hard disk, a smart media card (SMC), and a secure digital (Secure Digital, SMC) equipped on the electronic device 400. SD card, Flash Card, etc. Further, the memory 410 may also be composed of an internal storage unit and an external storage device at the same time. Further, the memory 410 can be used not only to store various application software and various types of data installed in the electronic device 400, but also to temporarily store data that has been output or will be output.
  • the processor 420 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chips, and is used to run program codes or process data stored in the memory 410 , Such as blockchain cross-chain communication programs.
  • CPU central processing unit
  • controller a controller
  • microcontroller a microprocessor
  • microprocessor or other data processing chips
  • the bus 430 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc.
  • bidirectional hollow indicator line is used in FIG. 7, but it does not mean that there is only one bus or one type of bus.
  • the electronic device can be embodied as a blockchain node capable of executing each step of the blockchain cross-chain communication method described above.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • each unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method given in each embodiment of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code .

Abstract

A method, a system, and an apparatus for blockchain cross-chain communication, and a computer readable storage medium. In the present application, each of a plurality of blockchain partitions is preset with a partition algorithm able to distinguish blockchain partitions affiliated with an initiating user and a target user of a trade to be processed, and thereby, the trade to be processed is caused to always be able to be transferred to the blockchain partition of the initiating user for performance of subsequent processing. When the blockchain partition of the initiating user determines that the present trade to be processed is a cross-chain trade, then before adding the trade to the blockchain, the partition will further store a hash value of the trade to be processed in header information of a next block, and after adding the trade to the chain, the partition sends the header information containing the trade to be processed and containing the corresponding hash value to the blockchain partition of the target user, so as to cause the blockchain partition of the target user to authenticate the validity of the data of the trade to be processed on the basis of said information, and then also add the trade to its own chain.

Description

一种区块链跨链通信方法、系统、电子设备及存储介质Block chain cross-chain communication method, system, electronic equipment and storage medium
本申请要求于2019年03月22日提交至中国专利局、申请号为201910222415.6、发明名称为“一种区块链跨链通信方法、系统、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed to the Chinese Patent Office on March 22, 2019, with the application number 201910222415.6 and the invention title "a blockchain cross-chain communication method, system, electronic equipment and storage medium" , Its entire content is incorporated in this application by reference.
技术领域Technical field
本申请涉及区块链技术领域,特别涉及一种区块链跨链通信方法、系统、电子设备及计算机可读存储介质。This application relates to the field of blockchain technology, and in particular to a blockchain cross-chain communication method, system, electronic equipment, and computer-readable storage medium.
背景技术Background technique
随着中心化技术弊端的不断凸显,基于去中心化理念提出的区块链技术得到广泛的关注。As the disadvantages of centralized technology continue to emerge, blockchain technology based on the concept of decentralization has received widespread attention.
区块链技术的传统实现方案都是单链架构,即发生在区块链网络中的所有交易数据都会在唯一的一条区块链上打包、成块、执行、入链。结合简单的数学知识可以得到,单链架构是一种在交易量越来越大时增长量最大的结构,同时由于构成区块链网络的每个区块链节点性能的参差不齐,使得不考虑节点性能、要求所有区块链节点都全量的维护完整单链的传统方案已经成为制约区块链网络数据处理速度的重要问题。The traditional implementation of blockchain technology is a single-chain architecture, that is, all transaction data that occurs in the blockchain network will be packaged, block, executed, and entered on a single blockchain. Combining simple mathematical knowledge can be obtained, the single-chain architecture is a structure that increases the most when the transaction volume is getting larger and larger. At the same time, due to the uneven performance of each blockchain node that constitutes the blockchain network, The traditional scheme of considering node performance and requiring all blockchain nodes to maintain a complete single chain has become an important issue that restricts the data processing speed of the blockchain network.
因此,为改善这一问题,一种预先将完整区块链网络按特定拆分算法拆分为多个区块链分区的方法已被提出,此方法旨在通过特定的算法将原先完整的单长链拆分为多个短链,即每个区块链分区形成的链被称为短链,且每个区块链分区被分配给特定的区块链节点设备进行维护,也就是说每个区块链节点设备不再需要维护整条链上的所有数据,只需要维护自身对应的区块链分区上形成的短链上的数据即可,极大的降低了对区块链节点设备性能的要求,处理速度也将随着待共识交易数据量的显著减少得到明显提升。Therefore, in order to improve this problem, a method of splitting the complete blockchain network into multiple blockchain partitions according to a specific splitting algorithm in advance has been proposed. This method aims to use a specific algorithm to divide the original complete single The long chain is split into multiple short chains, that is, the chain formed by each block chain partition is called a short chain, and each block chain partition is assigned to a specific block chain node device for maintenance. A blockchain node device no longer needs to maintain all the data on the entire chain. It only needs to maintain the data on the short chain formed on the corresponding blockchain partition, which greatly reduces the need for blockchain node equipment. Performance requirements and processing speed will also be significantly improved as the amount of transaction data to be agreed is significantly reduced.
虽然上面新提出的技术方案通过分区的方式减少了每个区块链节点设备要维护的数据量,但多短链架构也随着带来了另一个问题,就是一条待 处理交易的发起用户和目标用户若处于不同的区块链分区时,此时该待处理交易的处理就需要跨不同的区块链分区来实现跨链交易,以将该待处理交易同时存放在发起用户所在的区块链分区和目标用户所在的区块链分区,上述新方案并未提供一个匹配的跨链通信机制。Although the newly proposed technical solution reduces the amount of data to be maintained by each blockchain node device by partitioning, the multi-short chain architecture also brings another problem, that is, the initiating user and the user of a pending transaction. If the target user is in a different blockchain partition, then the processing of the pending transaction needs to cross different blockchain partitions to achieve cross-chain transactions, so that the pending transaction is stored in the block where the initiating user is located at the same time The above new scheme does not provide a matching cross-chain communication mechanism between the chain partition and the blockchain partition where the target user is located.
因此,如何在多短链架构下提供一种与架构相匹配的跨链通信机制,是本领域技术人员亟待解决的问题。Therefore, how to provide a cross-chain communication mechanism that matches the architecture under the multi-short-chain architecture is an urgent problem to be solved by those skilled in the art.
发明内容Summary of the invention
本申请的目的是提供一种区块链跨链通信方法、系统、电子设备及计算机可读存储介质,旨在解决与现有多短链架构欠缺相匹配的跨链通信机制的问题。The purpose of this application is to provide a blockchain cross-chain communication method, system, electronic device, and computer-readable storage medium, aiming to solve the problem of a cross-chain communication mechanism that matches the lack of existing multiple short-chain architectures.
为实现上述目的,本申请提供了一种区块链跨链通信方法,该方法包括:In order to achieve the above objectives, this application provides a blockchain cross-chain communication method, which includes:
第一区块链分区接收待处理交易,并利用预设分区算法确定所述待处理交易中的目标用户所隶属的第二区块链分区;其中,所述待处理交易的发起用户隶属于所述第一区块链分区,所述目标用户隶属于所述第二区块链分区;The first blockchain partition receives the pending transaction, and uses a preset partition algorithm to determine the second blockchain partition to which the target user in the pending transaction belongs; wherein the initiating user of the pending transaction belongs to all In the first block chain partition, the target user belongs to the second block chain partition;
所述第一区块链分区判断所述第二区块链分区是否为与所述第一区块链分区不同的区块链分区,若是,则所述第一区块链分区利用哈希算法得到所述待处理交易的哈希值,并将所述哈希值存放进下一个区块的头信息中,且在所述下一个区块共识完成入链后,将所述头信息和所述待处理交易发送给所述第二区块链分区;The first blockchain partition determines whether the second blockchain partition is a different blockchain partition from the first blockchain partition, and if so, the first blockchain partition uses a hash algorithm Obtain the hash value of the transaction to be processed, and store the hash value in the header information of the next block, and after the next block consensus is completed into the chain, the header information and all the Sending the pending transaction to the second blockchain partition;
所述第二区块链分区根据接收到的信息验证所述待处理交易的有效性,当所述待处理交易有效性验证通过后,执行所述待处理交易,并将所述待处理交易在自身完成共识和入链。The second block chain partition verifies the validity of the pending transaction according to the received information, and when the validity of the pending transaction is verified, executes the pending transaction and sends the pending transaction to Complete consensus and enter the chain by itself.
可选的,当所述预设分区算法具体为DHT算法时,利用预设分区算法确定所述待处理交易中的目标用户所隶属的第二区块链分区,具体为:Optionally, when the preset partition algorithm is specifically a DHT algorithm, the preset partition algorithm is used to determine the second blockchain partition to which the target user in the transaction to be processed belongs, specifically:
从所述待处理交易中提取得到所述目标用户的用户名;Extract the user name of the target user from the pending transaction;
利用哈希算法计算得到所述用户名的哈希值;Calculating the hash value of the user name by using a hash algorithm;
根据与每个区块链分区分别对应的哈希值范围确定所述哈希值对应的目标用户隶属于所述第二区块链分区。It is determined that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition.
可选的,在第一区块链分区接收待处理交易之前,还包括:Optionally, before the first blockchain partition receives the pending transaction, it also includes:
当所述待处理交易通过第三区块链分区上传至区块链时,所述第三区块链分区通过所述预设分区算法确定所述待处理交易的发起用户隶属于所述第一区块链分区,并将所述待处理交易转发至所述第一区块链分区。When the transaction to be processed is uploaded to the blockchain through the third blockchain partition, the third blockchain partition determines through the preset partition algorithm that the initiating user of the transaction to be processed belongs to the first Block chain partition, and forward the pending transaction to the first blockchain partition.
可选的,该区块链跨链通信方法还包括:Optionally, the blockchain cross-chain communication method further includes:
当存在多条、目标用户不同的待处理交易时,将每条待处理交易的哈希值分组存放在所述头信息中的跨链交易哈希集合中;其中,分组方式为将属于相同区块链分区的目标用户的待处理交易的哈希值存放在一组。When there are multiple pending transactions with different target users, the hash value of each pending transaction is grouped and stored in the cross-chain transaction hash set in the header information; the grouping method is that it will belong to the same area The hash value of the pending transaction of the target user of the block chain partition is stored in a group.
可选的,在所述第二区块链分区根据接收到的信息验证所述待处理交易的有效性之前,还包括:Optionally, before the second blockchain partition verifies the validity of the transaction to be processed according to the received information, the method further includes:
所述第二区块链分区验证接收到的头信息是否合法;The second block chain partition verifies whether the received header information is legal;
当接收到的头信息经验证合法后,所述第二区块链分区执行有效性验证的步骤。After the received header information is verified to be legal, the second block chain partition performs a validity verification step.
可选的,所述第二区块链分区验证接收到的头信息是否合法,包括:Optionally, the verification of the received header information by the second block chain partition is legal, including:
根据所述头信息确定所述待处理交易在所述第一区块链分区中的高度;Determining the height of the transaction to be processed in the first blockchain partition according to the header information;
根据所述高度在区块链主链上获取所述发起用户的公钥;Obtain the public key of the initiating user on the blockchain main chain according to the height;
根据所述公钥验证所述头信息是否合法。Verify whether the header information is legal according to the public key.
可选的,该区块链跨链通信方法还包括:Optionally, the blockchain cross-chain communication method further includes:
当任一区块链分区接收到交易查询请求时,确定与所述交易查询请求对应的交易的发起用户和/或目标用户,并将所述交易查询请求转发至所述发起用户和/或所述目标用户隶属的区块链分区,以经由所述发起用户和/或所述目标用户隶属的区块链分区完成所述交易查询请求的处理。When any blockchain partition receives a transaction query request, determine the initiating user and/or target user of the transaction corresponding to the transaction query request, and forward the transaction query request to the initiating user and/or The blockchain partition to which the target user belongs can complete the processing of the transaction query request through the blockchain partition to which the initiating user and/or the target user belongs.
为实现上述目的,本申请还提供了一种区块链跨链通信系统,该系统包括:In order to achieve the above purpose, this application also provides a blockchain cross-chain communication system, which includes:
第一区块链分区,用于接收待处理交易,并利用预设分区算法确定所述待处理交易中的目标用户所隶属的第二区块链分区;判断所述第二区块链分区是否为与所述第一区块链分区不同的区块链分区,若是,则所述第一区块链分区利用哈希算法得到所述待处理交易的哈希值,并将所述哈希值存放进下一个区块的头信息中,且在所述下一个区块共识完成入链后, 将所述头信息和所述待处理交易发送给所述第二区块链分区;其中,所述待处理交易的发起用户隶属于所述第一区块链分区,所述目标用户隶属于所述第二区块链分区;The first block chain partition is used to receive pending transactions, and use a preset partition algorithm to determine the second block chain partition to which the target user in the pending transaction belongs; to determine whether the second block chain partition Is a block chain partition different from the first block chain partition. If yes, the first block chain partition uses a hash algorithm to obtain the hash value of the transaction to be processed, and the hash value Is stored in the header information of the next block, and after the next block consensus is completed into the chain, the header information and the pending transaction are sent to the second block chain partition; where The initiating user of the transaction to be processed belongs to the first blockchain partition, and the target user belongs to the second blockchain partition;
第二区块链分区,用于根据接收到的信息验证所述待处理交易的有效性,当所述待处理交易有效性验证通过后,执行所述待处理交易,并将所述待处理交易在自身完成共识和入链。The second block chain partition is used to verify the validity of the pending transaction according to the received information. After the validity of the pending transaction is verified, the pending transaction is executed and the pending transaction Complete consensus and enter the chain in oneself.
可选的,所述第一区块链分区包括:Optionally, the first block chain partition includes:
用户名提取单元,用于当所述预设分区算法具体为DHT算法时,从所述待处理交易中提取得到所述目标用户的用户名;The user name extraction unit is configured to extract the user name of the target user from the transaction to be processed when the preset partition algorithm is specifically the DHT algorithm;
哈希值计算单元,用于利用哈希算法计算得到所述用户名的哈希值;A hash value calculation unit for calculating the hash value of the user name by using a hash algorithm;
目标用户隶属分区确定单元,用于根据与每个区块链分区分别对应的哈希值范围确定所述哈希值对应的目标用户隶属于所述第二区块链分区。The target user membership partition determining unit is configured to determine that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition.
可选的,该区块链跨链通信系统还包括:Optionally, the blockchain cross-chain communication system also includes:
在第一区块链分区接收待处理交易之前,还包括:Before the first blockchain partition receives pending transactions, it also includes:
第三区块链分区,用于当所述待处理交易通过自身上传至区块链时,通过所述预设分区算法确定所述待处理交易的发起用户隶属于所述第一区块链分区,并将所述待处理交易转发至所述第一区块链分区。The third blockchain partition is used to determine through the preset partition algorithm that the user who initiated the transaction to be processed belongs to the first blockchain partition when the transaction to be processed is uploaded to the blockchain by itself , And forward the pending transaction to the first blockchain partition.
可选的,该区块链跨链通信系统还包括:Optionally, the blockchain cross-chain communication system also includes:
分组存放单元,用于当存在多条、目标用户不同的待处理交易时,将每条待处理交易的哈希值分组存放在所述头信息中的跨链交易哈希集合中;其中,分组方式为将属于相同区块链分区的目标用户的待处理交易的哈希值存放在一组。The group storage unit is used to group the hash value of each transaction to be processed in the cross-chain transaction hash set in the header information when there are multiple pending transactions with different target users; wherein, the grouping The method is to store the hash values of pending transactions of target users belonging to the same blockchain partition in a group.
可选的,所述第二区块链分区还包括:Optionally, the second blockchain partition further includes:
合法性验证单元,用于在所述第二区块链分区根据接收到的信息验证所述待处理交易的有效性之前,所述第二区块链分区验证接收到的头信息是否合法;The legality verification unit is configured to verify whether the received header information is legal before the second blockchain partition verifies the validity of the transaction to be processed according to the received information;
匹配执行单元,用于当接收到的头信息经验证合法后,所述第二区块链分区执行有效性验证的步骤。The matching execution unit is used for the second block chain partition to execute the validity verification step after the received header information is verified to be legal.
可选的,所述合法性验证单元包括:Optionally, the legality verification unit includes:
高度确定子单元,用于根据所述头信息确定所述待处理交易在所述第 一区块链分区中的高度;A height determining subunit, configured to determine the height of the transaction to be processed in the first block chain partition according to the header information;
公钥获取子单元,用于根据所述高度在区块链主链上获取所述发起用户的公钥;The public key obtaining subunit is used to obtain the public key of the initiating user on the blockchain main chain according to the height;
基于公钥的合法性验证子单元,用于根据所述公钥验证所述头信息是否合法。The legality verification subunit based on the public key is used to verify whether the header information is legal according to the public key.
可选的,该区块链跨链通信系统还包括:Optionally, the blockchain cross-chain communication system also includes:
交易查询请求处理单元,用于当任一区块链分区接收到交易查询请求时,确定与所述交易查询请求对应的交易的发起用户和/或目标用户,并将所述交易查询请求转发至所述发起用户和/或所述目标用户隶属的区块链分区,以经由所述发起用户和/或所述目标用户隶属的区块链分区完成所述交易查询请求的处理。The transaction query request processing unit is used to determine the initiating user and/or target user of the transaction corresponding to the transaction query request when any blockchain partition receives the transaction query request, and forward the transaction query request to The blockchain partition to which the initiating user and/or the target user belongs may complete the processing of the transaction query request via the blockchain partition to which the initiating user and/or the target user belongs.
为实现上述目的,本申请还进一步提供了一种电子设备,所述电子设备包括存储器、处理器以及总线,所述存储器上存储有可在所述处理器上运行的区块链跨链通信程序,所述区块链跨链通信程序被所述总线传输至所述处理器,并在被所述处理器执行时实现如上述内容描述的区块链跨链通信方法。In order to achieve the above objective, the present application further provides an electronic device including a memory, a processor, and a bus. The memory stores a blockchain cross-chain communication program that can run on the processor. , The blockchain cross-chain communication program is transmitted by the bus to the processor, and when executed by the processor, the blockchain cross-chain communication method described above is implemented.
为实现上述目的,本申请还进一步提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链跨链通信程序,所述区块链跨链通信程序可被一个或者多个处理器执行,以实现如上述内容描述的区块链跨链通信方法。In order to achieve the above objective, this application further provides a computer-readable storage medium on which a blockchain cross-chain communication program is stored, and the blockchain cross-chain communication program can be used by one or Multiple processors execute to implement the blockchain cross-chain communication method as described above.
显然,本申请提供的区块链跨链通信方法,通过预先在每个区块链分区都预设能辨别待处理交易的发起用户和目标用户实际隶属哪些区块链分区的分区算法,使待处理交易无论通过那个区块链分区上传都能准确的传递至发起用户所处的区块链分区进行后续处理,而当发起用户所在的区块链分区判别该待处理交易是一个跨链交易时,在入链之前还会将该待处理交易的哈希值存放在下一个区块的头信息中,并在共识完成入链后将包含有该待处理交易和对应哈希值的头信息发送给目标用户所在的区块链分区,以使目标用户所在的区块链分区在根据这些信息验证过待交易数据的有效性后也将其在自身入链。本申请通过上述技术方案为多短链架构提供一套匹配的跨链通信技术,使得多短链架构也能够充分发挥其性能优势。Obviously, the blockchain cross-chain communication method provided by this application uses a partition algorithm that can distinguish between the initiating user and the target user of the transaction to be processed and which blockchain partition actually belongs to, so that the Regardless of which blockchain partition uploads, the processed transaction can be accurately transmitted to the blockchain partition where the initiating user is located for subsequent processing, and when the blockchain partition where the initiating user is located determines that the pending transaction is a cross-chain transaction , Before entering the chain, the hash value of the transaction to be processed will be stored in the header information of the next block, and the header information containing the transaction to be processed and the corresponding hash value will be sent to The block chain partition where the target user is located, so that the block chain partition where the target user is located will also enter the chain after verifying the validity of the data to be traded based on this information. This application provides a set of matching cross-chain communication technologies for the multiple short-chain architecture through the above technical solutions, so that the multiple short-chain architecture can also give full play to its performance advantages.
本申请同时还提供了一种区块链跨链通信系统、电子设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。This application also provides a blockchain cross-chain communication system, electronic equipment, and computer-readable storage medium, which have the above-mentioned beneficial effects, and will not be repeated here.
附图说明Description of the drawings
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。In order to more clearly describe the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings that need to be used in the description of the embodiments or the prior art. Obviously, the drawings in the following description are only It is an embodiment of the present application. For those of ordinary skill in the art, other drawings can be obtained according to the provided drawings without creative work.
图1为本申请实施例提供的一种区块链跨链通信方法的流程图;Figure 1 is a flowchart of a blockchain cross-chain communication method provided by an embodiment of the application;
图2为本申请实施例提供的区块链跨链通信方法中一种确定目标用户所属区块链分区的方法的流程图;FIG. 2 is a flowchart of a method for determining a block chain partition to which a target user belongs in a block chain cross-chain communication method provided by an embodiment of the application;
图3为本申请实施例提供的一种验证头信息合法性的方法的流程图;3 is a flowchart of a method for verifying the legitimacy of header information provided by an embodiment of the application;
图4为本申请实施例提供的一种区块链跨链通信系统的结构框图;4 is a structural block diagram of a blockchain cross-chain communication system provided by an embodiment of the application;
图5为本申请实施例提供的另一种区块链跨链通信系统的结构框图;FIG. 5 is a structural block diagram of another blockchain cross-chain communication system provided by an embodiment of this application;
图6为本申请实施例提供的一种区块链跨链通信方法的时序图;FIG. 6 is a sequence diagram of a blockchain cross-chain communication method provided by an embodiment of the application;
图7为本申请实施例提供的一种电子设备的结构示意图。FIG. 7 is a schematic structural diagram of an electronic device provided by an embodiment of the application.
具体实施方式detailed description
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to make the objectives, technical solutions, and advantages of the present invention clearer, the following further describes the present invention in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, but not to limit the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work shall fall within the protection scope of the present invention.
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, without having to use To describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in an order other than the content illustrated or described herein. In addition, the terms "including" and "having" and any variations of them are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to the clearly listed Those steps or units may include other steps or units that are not clearly listed or are inherent to these processes, methods, products, or equipment.
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。It should be noted that the descriptions related to "first", "second", etc. in the present invention are only for descriptive purposes, and cannot be understood as indicating or implying their relative importance or implicitly indicating the number of technical features indicated. . Therefore, the features defined with "first" and "second" may explicitly or implicitly include at least one of the features. In addition, the technical solutions between the various embodiments can be combined with each other, but it must be based on what can be achieved by a person of ordinary skill in the art. When the combination of technical solutions is contradictory or cannot be achieved, it should be considered that such a combination of technical solutions does not exist. , Is not within the protection scope of the present invention.
实施例一Example one
请参见图1,图1为本申请实施例提供的一种区块链跨链通信方法的流程图,其包括以下步骤:Please refer to Figure 1. Figure 1 is a flowchart of a blockchain cross-chain communication method provided by an embodiment of the application, which includes the following steps:
S101:第一区块链分区接收待处理交易,并利用预设分区算法确定待处理交易中的目标用户所隶属的第二区块链分区;S101: The first blockchain partition receives the pending transaction, and uses a preset partition algorithm to determine the second blockchain partition to which the target user in the pending transaction belongs;
首先需要说明的是,本申请各步骤的执行主体实际是负责维护分配给自身的区块链分区的区块链节点,为简便,后续将直接使用各区块链分区指代负责维护对应区块链分区的区块链节点。First of all, it needs to be explained that the implementation subject of each step of this application is actually responsible for maintaining the blockchain nodes assigned to its own blockchain partition. For simplicity, each blockchain partition will be used directly to refer to the maintenance of the corresponding blockchain. Partitioned blockchain node.
本步骤旨在由第一区块链分区接收待处理交易,并由第一区块链分区进行该待处理交易中的目标用户所隶属的区块链分区的判别,即借助预设在各个区块链分区(对应的区块链节点)中的分区算法。应当理解的是,一笔交易的进行必然会有发起用户的目标用户,而在多短链架构下存在众多区块链分区,之所以是由第一区块链分区来执行本步骤,是因为该待处理交易的发起用户是隶属于该第一区块链分区的,相对应的,目标用户是隶属于第二区块链分区的,这是预先设定好的,本步骤的后半部分提供的方案就是第一区块链分区是如何确定出目标用户是隶属于第二区块链分区的。The purpose of this step is to receive pending transactions by the first block chain partition, and the first block chain partition determines the block chain partition to which the target user in the pending transaction belongs, that is, with the help of presets in each block The partitioning algorithm in the blockchain partition (corresponding blockchain node). It should be understood that the process of a transaction will inevitably have the target user of the initiating user, and there are many blockchain partitions under the multi-short chain architecture. The reason why this step is performed by the first blockchain partition is because The initiating user of the pending transaction belongs to the first blockchain partition. Correspondingly, the target user belongs to the second blockchain partition. This is preset. The second half of this step The solution provided is how the first blockchain partition determines that the target user belongs to the second blockchain partition.
由于待处理交易中必然会存在目标用户的相关信息(诸如用户名、用户账号、用户邮箱、用户识别码等等),因此该预设分区算法可以在不同实际应用场景下以不同的方式来完成确定目标用户所属区块链分区的目的,例如可以基于常用于分布式计算系统中的DHT算法,可以基于预设的自定义分类表,甚至还可以基于为不同用户识别信息的归类等等方式,同时, 该预设分区算法也可以基于将完整的单链拆分为多个短链的拆分方式来制定,本领域技术人员在了解本步骤的实现思想的前提下,可在不同应用场景下给出多种具体的实现方式,本申请后续也将提供一种具体的实现方式,在此不再一一赘述。Since there must be relevant information of the target user (such as user name, user account, user mailbox, user identification code, etc.) in the pending transaction, the preset partition algorithm can be completed in different ways under different practical application scenarios The purpose of determining the blockchain partition to which the target user belongs, for example, can be based on the DHT algorithm commonly used in distributed computing systems, can be based on a preset custom classification table, or even based on the classification of different user identification information, etc. At the same time, the preset partitioning algorithm can also be formulated based on the splitting method of splitting a complete single chain into multiple short chains. Those skilled in the art can be used in different application scenarios under the premise of understanding the realization idea of this step. A variety of specific implementation manners are given below, and a specific implementation manner will be provided later in this application, which will not be repeated here.
同时,由于预先将完整的区块链拆分为多个区块链分区,每个区块链节点只需要维护某一个或某几个区块链分区即可,而实际情况下,A用户发起的交易往往可能并不会在A用户隶属的区块链分区的节点上被传输至区块链网络,即当A用户隶属于第一区块链分区时,该笔交易可能通过负责维护任意区块链分区的节点上传至区块链网络,当恰好通过第一区块链分区对应的节点上传时就会通过本步骤提供的技术方案来进行后续处理;当通过非第一区块链分区的其它区块链分区的节点上传时,将还需要通过实际接收到该交易的区块链分区通过该分区算法识别出其应被第一区块链分区进行后续处理,并将其发送至第一区块链分区。At the same time, since the complete block chain is split into multiple block chain partitions in advance, each block chain node only needs to maintain one or a few block chain partitions. In actual situations, user A initiates The transaction of may not be transmitted to the blockchain network on the node of the blockchain partition to which user A belongs. That is, when user A belongs to the first blockchain partition, the transaction may be responsible for maintaining any area The nodes of the block chain partition are uploaded to the blockchain network. When they happen to be uploaded through the node corresponding to the first block chain partition, subsequent processing will be carried out through the technical solution provided in this step; When uploading nodes of other blockchain partitions, the blockchain partition that actually received the transaction will also need to identify that it should be processed by the first blockchain partition through the partition algorithm and send it to the first blockchain partition. Blockchain partition.
S102:第一区块链分区判断第二区块链分区是否为与第一区块链分区不同的区块链分区,若是,则第一区块链分区利用哈希算法得到待处理交易的哈希值,并将哈希值存放进下一个区块的头信息中,且在下一个区块共识完成入链后,将头信息和待处理交易发送给第二区块链分区;S102: The first blockchain partition determines whether the second blockchain partition is a different blockchain partition from the first blockchain partition. If so, the first blockchain partition uses a hash algorithm to obtain the hash of the transaction to be processed. Hope value, and store the hash value in the header information of the next block, and after the next block consensus is completed into the chain, the header information and pending transactions are sent to the second blockchain partition;
在S101的基础上,本步骤旨在由第一区块链分区判断第二区块链分区是否为与第一区块链分区不同的区块链分区,即通过比对S101确定出的目标用户所属的第二区块链分区是否为与第一区块链分区是否为相同的分区,就可以轻易得出该待处理交易到底是一个非跨链交易还是一个跨链交易。在确定出该待处理交易是一个跨链交易后,第一区块链分区需要利用哈希算法计算的该跨链交易的哈希值,并将该哈希值置入下一个区块的头信息的预设位置中,且在完成下一个区块的共识和入链后,将包含哈希值的头信息和该待处理交易发送给第二区块链分区。将这些信息发送给第二区块链分区是因为这笔交易同时涉及到了不同区块链分区,而此交易的发起用户的目标用户都需要存储这笔交易的相关信息。On the basis of S101, this step aims to determine whether the second blockchain partition is a different blockchain partition from the first blockchain partition by the first blockchain partition, that is, the target user determined by comparing S101 Whether the second blockchain partition belongs to the same partition as the first blockchain partition, you can easily determine whether the transaction to be processed is a non-cross-chain transaction or a cross-chain transaction. After determining that the transaction to be processed is a cross-chain transaction, the first block chain partition needs to use a hash algorithm to calculate the hash value of the cross-chain transaction, and put the hash value in the head of the next block In the preset position of the information, and after completing the consensus of the next block and entering the chain, the header information including the hash value and the pending transaction are sent to the second block chain partition. This information is sent to the second blockchain partition because the transaction involves different blockchain partitions at the same time, and the target user of the initiating user of this transaction needs to store the relevant information of the transaction.
进一步的,由于每个区块只有满足时间条件或容量限制时才会进行共识和入链操作,因此通常其中会包含很多条交易,因此也不排除该头信息的预设位置下会存储多条跨链交易的哈希值,尤其是不同跨链交易跨的链 可能还一致,因此为了防止混乱,还可以按照所属区块链分区的不同将其归纳在对应的组内,以在下一个区块在本区块链分区入链时,按组别的将包含的跨链交易哈希值和相应的跨链交易发送给相应的区块链分区。Furthermore, since each block will only perform consensus and chain entry operations when the time conditions or capacity constraints are met, it usually contains many transactions. Therefore, it does not rule out that the header information will be stored in the preset location. The hash value of cross-chain transactions, especially the chains of different cross-chain transactions, may be the same. Therefore, in order to prevent confusion, you can also group them into corresponding groups according to the different blockchain partitions to be in the next block. When this block chain is partitioned into the chain, the included cross-chain transaction hash value and the corresponding cross-chain transaction are sent to the corresponding block chain partition by group.
S103:第二区块链分区根据接收到的信息验证待处理交易的有效性,当待处理交易有效性验证通过后,执行待处理交易,并将待处理交易在自身完成共识和入链。S103: The second block chain partition verifies the validity of the transaction to be processed according to the received information, and when the validity of the transaction to be processed is verified, executes the transaction to be processed, and completes the consensus and in-chain of the transaction to be processed in itself.
在S102的基础上,本步骤旨在由第二区块链分区根据接收到的头信息和待处理交易来验证其中跨链交易的有效性,并在确定其具有有效性是,将该跨链交易本分区下一区块的一部分进行后续的执行、共识、入链步骤。On the basis of S102, the purpose of this step is to verify the validity of the cross-chain transaction by the second blockchain partition based on the received header information and the transaction to be processed. A part of the next block in the transaction area is followed by the subsequent execution, consensus, and chaining steps.
基于哈希值的有效性验证方法为:第二区块链分区自行利用相同的哈希算法计算得到的接收到的待处理交易的哈希值,并将该自行计算得到的哈希值与包含在头信息中由第一区块链分区计算得到的哈希值进行一致性比较,若两者一致,说明该待处理交易具有有效性,未遭到篡改。The validity verification method based on the hash value is: the second block chain partition uses the same hash algorithm to calculate the hash value of the received transaction to be processed, and combines the hash value obtained by the self-calculation with the In the header information, the hash value calculated by the first block chain partition is compared for consistency. If the two are consistent, it indicates that the transaction to be processed is valid and has not been tampered with.
进一步的,为防止异常情况下非正常跨链交易信息被执行,第二区块链分区还可以对接收到的头信息进行合法性验证,以在验证其具有合法性的基础上才进行后续的有效性验证步骤,得以降低风险。合法性验证的具体实现方式可根据实际应用场景下参数种类和自定义程度的不同灵活选择,本领域技术人员可在本步骤提供的思想的指导下,给出多种具体的实现方案,本申请后续也将提供一种具体的合法性验证方法,此处不再一一赘述。Further, in order to prevent abnormal cross-chain transaction information from being executed under abnormal circumstances, the second block chain partition can also verify the legality of the received header information, so as to perform subsequent follow-ups on the basis of verifying its legality. Effectiveness verification steps can reduce risks. The specific implementation of legality verification can be flexibly selected according to different parameter types and degree of customization in actual application scenarios. Those skilled in the art can provide a variety of specific implementation solutions under the guidance of the ideas provided in this step. A specific legality verification method will also be provided later, which will not be repeated here.
更进一步的,当任一区块链分区接收到交易查询请求时,还可以通过确定与交易查询请求对应的交易的发起用户和/或目标用户,并将交易查询请求转发至发起用户和/或目标用户隶属的区块链分区的方式,来让发起用户和/或目标用户隶属的区块链分区来完成交易查询请求的后续处理。实现方式也将利用预设的分区算法,与前面给出的接收并转发上传来的待处理交易的原理相同。Furthermore, when any blockchain partition receives a transaction query request, it can also determine the initiating user and/or target user of the transaction corresponding to the transaction query request, and forward the transaction query request to the initiating user and/or The blockchain partition to which the target user belongs allows the initiating user and/or the blockchain partition to which the target user belongs to complete the subsequent processing of the transaction query request. The implementation method will also use the preset partition algorithm, which is the same as the principle of receiving and forwarding the pending transaction that is uploaded.
基于上述实施例提供的技术方案,通过在每个区块链分区都预设能辨别待处理交易的发起用户和目标用户所隶属区块链分区的分区算法,使得待处理交易总能被传递至发起用户的区块链分区来进行后续处理,而当发起用户的区块链分区判别该待处理交易是一个跨链交易时,在入链之前还 会将该待处理交易的哈希值存放在下一个区块的头信息中,并在入链后将包含该待处理交易和对应哈希值的头信息发送给目标用户的区块链分区,以使目标用户的区块链分区在根据这些信息验证过待交易数据的有效性后也将其在自身入链。本申请通过上述技术方案为多短链架构提供一套匹配的跨链通信技术,使得多短链架构也能够充分发挥其性能优势。Based on the technical solutions provided by the above-mentioned embodiments, by presetting a partition algorithm that can distinguish the initiating user of the transaction to be processed and the target user belonging to the blockchain partition in each blockchain partition, the transaction to be processed can always be transferred to The blockchain partition of the initiating user is used for subsequent processing, and when the blockchain partition of the initiating user determines that the transaction to be processed is a cross-chain transaction, the hash value of the transaction to be processed will be stored below before entering the chain In the header information of a block, after entering the chain, the header information containing the transaction to be processed and the corresponding hash value is sent to the target user’s blockchain partition, so that the target user’s blockchain partition is based on this information After verifying the validity of the data to be traded, it is also put into the chain by itself. This application provides a set of matching cross-chain communication technologies for the multiple short-chain architecture through the above technical solutions, so that the multiple short-chain architecture can also give full play to its performance advantages.
实施例二Example two
请参见图2,图2为本申请实施例提供的区块链跨链通信方法中一种确定目标用户所属区块链分区的方法的流程图,本实施例在实施例一的基础上,提供一种基于DHT算法原理得到的分区算法,并以确定待处理交易中目标用户所隶属的区块链分区为例进行具体实现步骤的说明:Please refer to FIG. 2. FIG. 2 is a flowchart of a method for determining the blockchain partition to which a target user belongs in a blockchain cross-chain communication method provided by an embodiment of the application. This embodiment provides on the basis of Embodiment 1. A partition algorithm based on the principle of DHT algorithm, and to determine the blockchain partition to which the target user belongs in the transaction to be processed as an example to explain the specific implementation steps:
S201:从待处理交易中提取得到目标用户的用户名;S201: Extract the user name of the target user from the transaction to be processed;
由于DHT算法是基于哈希值的分区算法,本步骤将能够转换为相同长度哈希值的用户名作为将利用的目标用户信息,当然也可以使用其它符合同样要求的信息,此处仅作为一个具体的实施例。Since the DHT algorithm is a partitioning algorithm based on hash values, the user name that can be converted into a hash value of the same length is used as the target user information to be used in this step. Of course, other information that meets the same requirements can also be used. Specific embodiment.
S202:利用哈希算法计算得到用户名的哈希值;S202: Calculate the hash value of the user name by using a hash algorithm;
在S201的基础上,本步骤旨在利用哈希算法计算得到提取得到的用户名的哈希值,应当理解的是,为了准确定位每个用户所隶属的区块链分区,各区块链分区会拥有互不相同的哈希值范围,且基于哈希算法计算得到的哈希值一定只会落其中一个区块链分区的哈希值范围内。On the basis of S201, this step aims to use the hash algorithm to calculate the hash value of the extracted user name. It should be understood that in order to accurately locate the blockchain partition to which each user belongs, each blockchain partition will They have different hash value ranges, and the hash value calculated based on the hash algorithm must only fall within the hash value range of one of the blockchain partitions.
S203:根据与每个区块链分区分别对应的哈希值范围确定哈希值对应的目标用户隶属于第二区块链分区。S203: Determine, according to the hash value range corresponding to each block chain partition, that the target user corresponding to the hash value belongs to the second block chain partition.
在S202的基础上,本步骤将根据与每个区块链分区分别对应的哈希值范围确定哈希值对应的目标用户隶属于第二区块链分区,说明第二区块链分区对应的哈希值范围包含了该目标用户用户名计算得到的哈希值。On the basis of S202, this step will determine that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition, indicating that the second blockchain partition corresponds to The hash value range includes the hash value calculated from the username of the target user.
相比于实现原理更简单的自定义对应表法,基于DHT算法更加简单、易行,无需前期制定繁杂的对应关系,且相关技术较为成熟,实用性更强。Compared with the self-defined correspondence table method with simpler implementation principle, the DHT algorithm is simpler and easier to implement. There is no need to formulate complicated correspondence relations in the early stage, and the related technology is more mature and more practical.
实施例三Example three
请参见图3,图3为本申请实施例提供的一种验证头信息合法性的方法 的流程图,本实施例在上述任意实施例的基础上,在第二区块链分区接收到头信息之后、在进行有效性验证之前,提供一种具体验证头信息合法性的方法,包括如下步骤:Please refer to FIG. 3, which is a flowchart of a method for verifying the legitimacy of header information provided by an embodiment of the application. This embodiment is based on any of the foregoing embodiments, after the header information is received by the second blockchain partition , Before performing validity verification, provide a specific method for verifying the legitimacy of the header information, including the following steps:
S301:根据头信息确定待处理交易在第一区块链分区中的高度;S301: Determine the height of the transaction to be processed in the first block chain partition according to the header information;
S302:根据高度在区块链索引上获取发起用户的公钥;S302: Obtain the public key of the initiating user on the blockchain index according to the height;
S303:根据公钥验证头信息是否合法。S303: Verify whether the header information is legal according to the public key.
本实施例旨在根据头信息中包含的特征参数确定该处理交易在第一区块链分区入链的高度,并从区块链索引上获取与该高度对应的记账人公钥列表,就可以从该记账人公钥列表找到发起用户的公钥,再利用该公钥就可以验证使用相应私钥加密过的下一个区块的区块头信息是否合法(区块头信息中包含的某个信息被该私钥加密过)。The purpose of this embodiment is to determine the height at which the processed transaction enters the chain in the first blockchain partition based on the characteristic parameters contained in the header information, and to obtain a list of the bookkeeper public key corresponding to the height from the blockchain index. The public key of the initiating user can be found from the public key list of the bookkeeper, and then the public key can be used to verify whether the block header information of the next block encrypted with the corresponding private key is legal (a certain part of the block header information contains The information is encrypted by the private key).
通过本步骤提供的合法性验证步骤,得以保证后续入链的待处理交易的可靠性,保障交易数据的健康。Through the legality verification step provided in this step, the reliability of subsequent transactions to be processed into the chain can be guaranteed, and the health of transaction data can be guaranteed.
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。Because the situation is complicated, it is impossible to enumerate one by one. Those skilled in the art should be aware that there can be many examples based on the basic method and principle provided in this application combined with the actual situation. Without paying enough creative work, they should all be included in this application. Within the scope of protection.
实施例四Example four
请参见图4,图4为本申请实施例提供的一种区块链跨链通信系统的结构框图,该系统可以包括:Please refer to FIG. 4, which is a structural block diagram of a blockchain cross-chain communication system provided by an embodiment of the application. The system may include:
第一区块链分区100,用于接收待处理交易,并利用预设分区算法确定待处理交易中的目标用户所隶属的第二区块链分区;判断第二区块链分区是否为与第一区块链分区不同的区块链分区,若是,则第一区块链分区利用哈希算法得到待处理交易的哈希值,并将哈希值存放进下一个区块的头信息中,且在下一个区块共识完成入链后,将头信息和待处理交易发送给第二区块链分区;其中,待处理交易的发起用户隶属于第一区块链分区,目标用户隶属于第二区块链分区;The first blockchain partition 100 is used to receive pending transactions, and use a preset partition algorithm to determine the second blockchain partition to which the target user in the pending transaction belongs; to determine whether the second blockchain partition is the same as the first One block chain is divided into different block chain partitions. If yes, the first block chain partition uses a hash algorithm to obtain the hash value of the transaction to be processed, and stores the hash value in the header information of the next block. And after the next block consensus is completed, the header information and the pending transaction are sent to the second blockchain partition; among them, the initiating user of the pending transaction belongs to the first blockchain partition, and the target user belongs to the second blockchain partition. Blockchain partition;
第二区块链分区200,用于根据接收到的信息验证待处理交易的有效性,当待处理交易有效性验证通过后,执行待处理交易,并将待处理交易 在自身完成共识和入链。The second block chain partition 200 is used to verify the validity of the transaction to be processed according to the received information. When the validity of the transaction to be processed is verified, the transaction to be processed is executed, and the transaction to be processed is completed in its own consensus and into the chain .
其中,该第一区块链分区100可以包括:Wherein, the first blockchain partition 100 may include:
用户名提取单元,用于当预设分区算法具体为DHT算法时,从待处理交易中提取得到目标用户的用户名;The user name extraction unit is used to extract the user name of the target user from the transaction to be processed when the preset partition algorithm is specifically the DHT algorithm;
哈希值计算单元,用于利用哈希算法计算得到用户名的哈希值;The hash value calculation unit is used to calculate the hash value of the user name by using a hash algorithm;
目标用户隶属分区确定单元,用于根据与每个区块链分区分别对应的哈希值范围确定哈希值对应的目标用户隶属于第二区块链分区。The target user membership partition determining unit is used to determine that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition.
进一步的,该区块链跨链通信系统还可以包括:Further, the blockchain cross-chain communication system may also include:
第三区块链分区300,用于当待处理交易通过自身上传至区块链时,通过预设分区算法确定待处理交易的发起用户隶属于第一区块链分区,并将待处理交易转发至第一区块链分区(可参见图5)。The third blockchain partition 300 is used to determine that the initiating user of the transaction to be processed belongs to the first blockchain partition through a preset partition algorithm when the transaction to be processed is uploaded to the blockchain by itself, and to forward the transaction to be processed To the first blockchain partition (see Figure 5).
进一步的,该区块链跨链通信系统还可以包括:Further, the blockchain cross-chain communication system may also include:
分组存放单元,用于当存在多条、目标用户不同的待处理交易时,将每条待处理交易的哈希值分组存放在头信息中的跨链交易哈希集合中;其中,分组方式为将属于相同区块链分区的目标用户的待处理交易的哈希值存放在一组。The group storage unit is used to group the hash value of each transaction to be processed in the cross-chain transaction hash set in the header information when there are multiple pending transactions with different target users; the grouping method is Store the hash values of pending transactions of target users belonging to the same blockchain partition in one group.
其中,该第二区块链分区200还可以包括:Wherein, the second blockchain partition 200 may also include:
合法性验证单元,用于在第二区块链分区根据接收到的信息验证待处理交易的有效性之前,第二区块链分区验证接收到的头信息是否合法;The legitimacy verification unit is used to verify whether the received header information is legal before the second blockchain partition verifies the validity of the transaction to be processed according to the received information;
匹配执行单元,用于当接收到的头信息经验证合法后,第二区块链分区执行有效性验证的步骤。The matching execution unit is used for the second block chain partition to perform the validity verification step after the received header information is verified to be legal.
其中,该合法性验证单元可以包括:Wherein, the legality verification unit may include:
高度确定子单元,用于根据头信息确定待处理交易在第一区块链分区中的高度;The height determination subunit is used to determine the height of the transaction to be processed in the first blockchain partition according to the header information;
公钥获取子单元,用于根据高度在区块链主链上获取发起用户的公钥;The public key acquisition subunit is used to acquire the public key of the initiating user on the blockchain main chain according to the height;
基于公钥的合法性验证子单元,用于根据公钥验证头信息是否合法。The legality verification subunit based on the public key is used to verify whether the header information is legal according to the public key.
更进一步的,该区块链跨链通信系统还可以包括:Furthermore, the blockchain cross-chain communication system may also include:
交易查询请求处理单元,用于当任一区块链分区接收到交易查询请求时,确定与交易查询请求对应的交易的发起用户和/或目标用户,并将交易查询请求转发至发起用户和/或目标用户隶属的区块链分区,以经由发起用 户和/或目标用户隶属的区块链分区完成交易查询请求的处理。The transaction query request processing unit is used to determine the initiating user and/or target user of the transaction corresponding to the transaction query request when any blockchain partition receives the transaction query request, and forward the transaction query request to the initiating user and/or Or the blockchain partition to which the target user belongs to complete the transaction query request processing through the blockchain partition to which the initiating user and/or the target user belongs.
本实施例作为与上述方法实施例对应的装置实施例存在,上述各功能单元也以在上述方法实施例中进行过说明和解释,由于对应于方法实施例,本实施例也相应具有方法实施例的全部有益效果,此处不再一一赘述。This embodiment exists as a device embodiment corresponding to the above method embodiment. The above functional units are also described and explained in the above method embodiment. As it corresponds to the method embodiment, this embodiment also has a method embodiment. All the beneficial effects of, will not be repeated here.
为方便理解,本申请还结合实际情况,通过图6给出了一种多短链架构下区块链跨链通信的时序图,具体涉及三个区块链分区以及负责维护相应区块链分区的区块链节点,其中,第三区块链分区的区块链节点1作为发起交易1的用户A实际上传该交易1的设备,而该交易1是一笔由用户A发起目标为用户B的交易,且用户A隶属于第一区块链分区,用户B隶属于第二区块链分区,根据图6可见,交易1是一笔跨链交易,因此其实际处理过程如下:In order to facilitate understanding, this application also combines the actual situation and provides a timing diagram of blockchain cross-chain communication under a multiple short-chain architecture through Figure 6, which specifically involves three blockchain partitions and responsible for maintaining the corresponding blockchain partitions. The blockchain node of the third blockchain partition, as user A who initiated transaction 1, actually transmits the device of transaction 1, and transaction 1 is a transaction initiated by user A and the target is user B And user A belongs to the first blockchain partition, and user B belongs to the second blockchain partition. According to Figure 6, it can be seen that transaction 1 is a cross-chain transaction, so the actual processing process is as follows:
步骤1:用户A将交易1在区块链节点1中上传至区块链网络;Step 1: User A uploads transaction 1 to the blockchain network in blockchain node 1;
步骤2:第三区块链分区利用分区算法识别交易1的发起用户隶属于哪个区块链分区;Step 2: The third blockchain partition uses a partition algorithm to identify which blockchain partition the initiating user of transaction 1 belongs to;
步骤3:第三区块链分区将该交易1转发给用户A(发起用户)所隶属的第一区块链分区;Step 3: The third blockchain partition forwards the transaction 1 to the first blockchain partition to which user A (initiating user) belongs;
步骤4:第一区块链分区在判定出交易1为跨链交易后,计算交易1的哈希值并将其置入下一个区块的头信息中,并在下一个区块入链后将包含该哈希值的头信息和交易1一起发送给第二区块链分区;Step 4: After the first block chain partition determines that transaction 1 is a cross-chain transaction, calculate the hash value of transaction 1 and put it in the header information of the next block, and after the next block enters the chain, The header information containing the hash value is sent to the second blockchain partition together with transaction 1;
需要说明的是,第一区块链分区也需要与步骤2相同的来判别出交易1是否为跨链交易;It should be noted that the first block chain partition also needs to be the same as step 2 to determine whether transaction 1 is a cross-chain transaction;
步骤5:第二区块链分区根据接收到的信息先后进行合法性验证和有效性验证;Step 5: The second blockchain partition performs legality verification and validity verification according to the received information;
步骤6:第二区块链分区将验证均通过的交易1在自身进行共识、入链。Step 6: The second block chain partition will verify the transaction 1 that has all passed the consensus and enter the chain.
在上文中已经通过一些实施例对如何实现区块链跨链通信进行了详细的描述,本申请还提供一种与该方法对应的实体硬件装置,此部分内容原理与方案部分相对应,实现原理的部分此处不再赘述,以下将对该实体硬件装置的硬件组成进行描述,请参见图7,图7为本申请实施例提供的一种 电子设备的结构示意图:In the above, some embodiments have been used to describe in detail how to implement blockchain cross-chain communication. This application also provides a physical hardware device corresponding to this method. The content principle of this part corresponds to the solution part, and the implementation principle The part of is not repeated here. The hardware composition of the physical hardware device will be described below. Please refer to FIG. 7. FIG. 7 is a schematic structural diagram of an electronic device according to an embodiment of the application:
该电子设备400包括存储器410、处理器420以及总线430,存储器410上存储有可在处理器420上运行的区块链跨链通信程序,该区块链跨链通信程序通过总线430被传输至处理器420,并在被处理器420执行时可实现如上述实施例所描述的区块链跨链通信方法中的各步骤。The electronic device 400 includes a memory 410, a processor 420, and a bus 430. The memory 410 stores a blockchain cross-chain communication program that can run on the processor 420. The blockchain cross-chain communication program is transmitted to The processor 420, when executed by the processor 420, can implement the steps in the blockchain cross-chain communication method described in the foregoing embodiment.
其中,存储器410至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器410在一些实施例中可以是电子设备400的内部存储单元,例如该电子设备400的硬盘。存储器410在另一些实施例中也可以是该电子设备400的外部存储设备,例如该电子设备400上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器410还可以同时由内部存储单元和外部存储设备同时组成。进一步的,存储器410不仅可以用于存储安装于该电子设备400中的各种应用软件和各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。The memory 410 includes at least one type of readable storage medium. The readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), magnetic memory, magnetic disk, and optical disk. The memory 410 may be an internal storage unit of the electronic device 400 in some embodiments, such as a hard disk of the electronic device 400. In other embodiments, the memory 410 may also be an external storage device of the electronic device 400, such as a plug-in hard disk, a smart media card (SMC), and a secure digital (Secure Digital, SMC) equipped on the electronic device 400. SD card, Flash Card, etc. Further, the memory 410 may also be composed of an internal storage unit and an external storage device at the same time. Further, the memory 410 can be used not only to store various application software and various types of data installed in the electronic device 400, but also to temporarily store data that has been output or will be output.
处理器420在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器410中存储的程序代码或处理数据,例如区块链跨链通信程序等。In some embodiments, the processor 420 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chips, and is used to run program codes or process data stored in the memory 410 , Such as blockchain cross-chain communication programs.
总线430可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条双向中空指示线表示,但并不表示仅有一根总线或一种类型的总线。The bus 430 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. The bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one bidirectional hollow indicator line is used in FIG. 7, but it does not mean that there is only one bus or one type of bus.
该电子设备可以具体表现为能够执行上述内容描述的区块链跨链通信方法各步骤的区块链节点。The electronic device can be embodied as a blockchain node capable of executing each step of the blockchain cross-chain communication method described above.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可 以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware or any combination thereof. In the several embodiments provided in this application, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the device embodiments described above are merely illustrative, for example, the division of units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or integrated. To another system, or some features can be ignored, or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separate, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, the functional units in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中所给出的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on this understanding, the technical solution of this application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the method given in each embodiment of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code .
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。It should be noted that the sequence numbers of the above-mentioned embodiments of the present invention are only for description, and do not represent the advantages and disadvantages of the embodiments. And the terms "include", "include" or any other variants thereof in this article are intended to cover non-exclusive inclusion, so that a process, device, article or method including a series of elements not only includes those elements, but also includes The other elements listed may also include elements inherent to the process, device, article, or method. If there are no more restrictions, the element defined by the sentence "including a..." does not exclude the existence of other identical elements in the process, device, article or method that includes the element.
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围 内。The above are only the preferred embodiments of the present invention, and do not limit the scope of the present invention. Any equivalent structure or equivalent process transformation made by using the contents of the description and drawings of the present invention, or directly or indirectly applied to other related technical fields , The same reason is included in the scope of patent protection of the present invention.

Claims (10)

  1. 一种区块链跨链通信方法,其特征在于,包括:A block chain cross-chain communication method is characterized in that it includes:
    第一区块链分区接收待处理交易,并利用预设分区算法确定所述待处理交易中的目标用户所隶属的第二区块链分区;其中,所述待处理交易的发起用户隶属于所述第一区块链分区,所述目标用户隶属于所述第二区块链分区;The first blockchain partition receives the pending transaction, and uses a preset partition algorithm to determine the second blockchain partition to which the target user in the pending transaction belongs; wherein the initiating user of the pending transaction belongs to all In the first block chain partition, the target user belongs to the second block chain partition;
    所述第一区块链分区判断所述第二区块链分区是否为与所述第一区块链分区不同的区块链分区,若是,则所述第一区块链分区利用哈希算法得到所述待处理交易的哈希值,并将所述哈希值存放进下一个区块的头信息中,且在所述下一个区块共识完成入链后,将所述头信息和所述待处理交易发送给所述第二区块链分区;The first blockchain partition determines whether the second blockchain partition is a different blockchain partition from the first blockchain partition, and if so, the first blockchain partition uses a hash algorithm Obtain the hash value of the transaction to be processed, and store the hash value in the header information of the next block, and after the next block consensus is completed into the chain, the header information and all the Sending the pending transaction to the second blockchain partition;
    所述第二区块链分区根据接收到的信息验证所述待处理交易的有效性,当所述待处理交易有效性验证通过后,执行所述待处理交易,并将所述待处理交易在自身完成共识和入链。The second block chain partition verifies the validity of the pending transaction according to the received information, and when the validity of the pending transaction is verified, executes the pending transaction and sends the pending transaction to Complete consensus and enter the chain by itself.
  2. 根据权利要求1所述的区块链跨链通信方法,其特征在于,当所述预设分区算法具体为DHT算法时,利用预设分区算法确定所述待处理交易中的目标用户所隶属的第二区块链分区,具体为:The blockchain cross-chain communication method according to claim 1, wherein when the preset partitioning algorithm is a DHT algorithm, the preset partitioning algorithm is used to determine to which the target user in the pending transaction belongs The second blockchain partition, specifically:
    从所述待处理交易中提取得到所述目标用户的用户名;Extract the user name of the target user from the pending transaction;
    利用哈希算法计算得到所述用户名的哈希值;Calculating the hash value of the user name by using a hash algorithm;
    根据与每个区块链分区分别对应的哈希值范围确定所述哈希值对应的目标用户隶属于所述第二区块链分区。It is determined that the target user corresponding to the hash value belongs to the second blockchain partition according to the hash value range corresponding to each blockchain partition.
  3. 根据权利要求1所述的区块链跨链通信方法,其特征在于,在第一区块链分区接收待处理交易之前,还包括:The block chain cross-chain communication method according to claim 1, wherein before the first block chain partition receives the transaction to be processed, it further comprises:
    当所述待处理交易通过第三区块链分区上传至区块链时,所述第三区块链分区通过所述预设分区算法确定所述待处理交易的发起用户隶属于所述第一区块链分区,并将所述待处理交易转发至所述第一区块链分区。When the transaction to be processed is uploaded to the blockchain through the third blockchain partition, the third blockchain partition determines through the preset partition algorithm that the initiating user of the transaction to be processed belongs to the first Block chain partition, and forward the pending transaction to the first blockchain partition.
  4. 根据权利要求1所述的区块链跨链通信方法,其特征在于,还包括:The blockchain cross-chain communication method according to claim 1, characterized in that it further comprises:
    当存在多条、目标用户不同的待处理交易时,将每条待处理交易的哈希值分组存放在所述头信息中的跨链交易哈希集合中;其中,分组方式为将属于相同区块链分区的目标用户的待处理交易的哈希值存放在一组。When there are multiple pending transactions with different target users, the hash value of each pending transaction is grouped and stored in the cross-chain transaction hash set in the header information; the grouping method is that it will belong to the same area The hash value of the pending transaction of the target user of the block chain partition is stored in a group.
  5. 根据权利要求1所述的区块链跨链通信方法,其特征在于,在所述第二区块链分区根据接收到的信息验证所述待处理交易的有效性之前,还包括:The blockchain cross-chain communication method according to claim 1, wherein before the second blockchain partition verifies the validity of the transaction to be processed according to the received information, the method further comprises:
    所述第二区块链分区验证接收到的头信息是否合法;The second block chain partition verifies whether the received header information is legal;
    当验证接收到的头信息经验证合法后,所述第二区块链分区执行有效性验证的步骤。After verifying that the received header information is verified to be legal, the second block chain partition performs a validity verification step.
  6. 根据权利要求5所述的区块链跨链通信方法,其特征在于,所述第二区块链分区验证接收到的头信息是否合法,包括:The blockchain cross-chain communication method according to claim 5, wherein the verification of the received header information by the second blockchain partition is legal, comprising:
    根据所述头信息确定所述待处理交易在所述第一区块链分区中的高度;Determining the height of the transaction to be processed in the first blockchain partition according to the header information;
    根据所述高度在区块链主链上获取所述发起用户的公钥;Obtain the public key of the initiating user on the blockchain main chain according to the height;
    根据所述公钥验证所述头信息是否合法。Verify whether the header information is legal according to the public key.
  7. 根据权利要求1至6任一项所述的区块链跨链通信方法,其特征在于,还包括:The blockchain cross-chain communication method according to any one of claims 1 to 6, characterized in that it further comprises:
    当任一区块链分区接收到交易查询请求时,确定与所述交易查询请求对应的交易的发起用户和/或目标用户,并将所述交易查询请求转发至所述发起用户和/或所述目标用户隶属的区块链分区,以经由所述发起用户和/或所述目标用户隶属的区块链分区完成所述交易查询请求的处理。When any blockchain partition receives a transaction query request, determine the initiating user and/or target user of the transaction corresponding to the transaction query request, and forward the transaction query request to the initiating user and/or The blockchain partition to which the target user belongs can complete the processing of the transaction query request through the blockchain partition to which the initiating user and/or the target user belongs.
  8. 一种区块链跨链通信系统,其特征在于,包括:A block chain cross-chain communication system is characterized in that it includes:
    第一区块链分区,用于接收待处理交易,并利用预设分区算法确定所述待处理交易中的目标用户所隶属的第二区块链分区;判断所述第二区块链分区是否为与所述第一区块链分区不同的区块链分区,若是,则所述第一区块链分区利用哈希算法得到所述待处理交易的哈希值,并将所述哈希值存放进下一个区块的头信息中,且在所述下一个区块共识完成入链后,将所述头信息和所述待处理交易发送给所述第二区块链分区;其中,所述待处理交易的发起用户隶属于所述第一区块链分区,所述目标用户隶属于所述第二区块链分区;The first block chain partition is used to receive pending transactions, and use a preset partition algorithm to determine the second block chain partition to which the target user in the pending transaction belongs; to determine whether the second block chain partition Is a block chain partition different from the first block chain partition. If yes, the first block chain partition uses a hash algorithm to obtain the hash value of the transaction to be processed, and the hash value Stored in the header information of the next block, and after the next block consensus is completed into the chain, the header information and the pending transaction are sent to the second blockchain partition; where The initiating user of the transaction to be processed belongs to the first blockchain partition, and the target user belongs to the second blockchain partition;
    第二区块链分区,用于根据接收到的信息验证所述待处理交易的有效性,当所述待处理交易有效性验证通过后,执行所述待处理交易,并将所述待处理交易在自身完成共识和入链。The second block chain partition is used to verify the validity of the pending transaction according to the received information. After the validity of the pending transaction is verified, the pending transaction is executed and the pending transaction Complete consensus and enter the chain in oneself.
  9. 一种电子设备,其特征在于,所述电子设备包括存储器、处理器以及总线,所述存储器上存储有可在所述处理器上运行的区块链跨链通信程序,所述区块链跨链通信程序被所述总线传输至所述处理器,并在被所述处理器执行时可实现如权利要求1至7任一项所述的区块链跨链通信方法。An electronic device, characterized in that the electronic device includes a memory, a processor, and a bus, the memory stores a blockchain cross-chain communication program that can run on the processor, and the blockchain cross-chain communication program The chain communication program is transmitted by the bus to the processor, and when executed by the processor, the blockchain cross-chain communication method according to any one of claims 1 to 7 can be realized.
  10. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有区块链跨链通信程序,所述预安装程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的区块链跨链通信方法。A computer-readable storage medium, characterized in that a blockchain cross-chain communication program is stored on the computer-readable storage medium, and the pre-installed program can be executed by one or more processors to realize The blockchain cross-chain communication method described in any one of 1 to 7.
PCT/CN2019/093483 2019-03-22 2019-06-28 Method and system for blockchain cross-chain communication, and electronic device and storage medium WO2020191935A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910222415.6A CN109934592A (en) 2019-03-22 2019-03-22 A kind of across the chain communication means of block chain, system, electronic equipment and storage medium
CN201910222415.6 2019-03-22

Publications (1)

Publication Number Publication Date
WO2020191935A1 true WO2020191935A1 (en) 2020-10-01

Family

ID=66988198

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/093483 WO2020191935A1 (en) 2019-03-22 2019-06-28 Method and system for blockchain cross-chain communication, and electronic device and storage medium

Country Status (2)

Country Link
CN (1) CN109934592A (en)
WO (1) WO2020191935A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446785A (en) * 2020-11-06 2021-03-05 杭州趣链科技有限公司 Cross-chain transaction method, system, device, equipment and storage medium
CN112507393A (en) * 2020-12-10 2021-03-16 浙商银行股份有限公司 Method for guaranteeing consistency of cross-chain transactions of block chain
CN112738243A (en) * 2020-12-29 2021-04-30 合肥达朴汇联科技有限公司 Block chain information cross-chain interaction system
CN112818014A (en) * 2020-12-31 2021-05-18 杭州趣链科技有限公司 Block chain data analysis method and device and electronic equipment
CN112910946A (en) * 2020-12-29 2021-06-04 合肥达朴汇联科技有限公司 Block chain information cross-chain interaction method, system and equipment applied to t2 node
CN113032474A (en) * 2021-04-13 2021-06-25 上海边界智能科技有限公司 Block chain cross-chain monitoring method and device
CN113535849A (en) * 2021-07-08 2021-10-22 电子科技大学 Extensible consensus method for block chain
CN114070554A (en) * 2021-11-11 2022-02-18 杭州安存网络科技有限公司 Method and device for confirming ownership of block chain machine generated data
CN114499869A (en) * 2020-11-13 2022-05-13 顺丰科技有限公司 Resource cross-link exchange method and device based on block chain and computer equipment
CN115189965A (en) * 2022-09-06 2022-10-14 浙江数秦科技有限公司 Cross-chain management system and cross-chain operation method of block chain
CN114499869B (en) * 2020-11-13 2024-05-17 顺丰科技有限公司 Resource cross-chain exchange method and device based on block chain and computer equipment

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109934592A (en) * 2019-03-22 2019-06-25 深圳市网心科技有限公司 A kind of across the chain communication means of block chain, system, electronic equipment and storage medium
CN110443704B (en) * 2019-06-28 2021-02-19 创新先进技术有限公司 Method and device for sending resources in cross-link mode
CN110532801A (en) * 2019-08-29 2019-12-03 深圳市网心科技有限公司 Communication means, device, client and storage medium based on multi-tiling interchain
CN110517145B (en) * 2019-08-29 2023-02-24 深圳市网心科技有限公司 Data transaction method based on multi-block chain and related equipment
CN110874365B (en) * 2019-11-20 2023-11-17 深圳市迅雷网络技术有限公司 Information query method and related equipment thereof
CN111464518B (en) * 2020-03-25 2022-08-05 北京新创智链科技有限公司 Method and device for sending and verifying cross-link communication data
CN111489161A (en) * 2020-04-20 2020-08-04 北京俩撇科技有限公司 Block chain system, registration and chain crossing method and device
CN111538791B (en) * 2020-05-07 2023-09-22 深圳创客区块链技术有限公司 Block chain multiple-cross-chain mutual protection method, device and storage medium
CN111914021B (en) * 2020-07-02 2022-12-02 众连智能科技有限公司 Cross-block-chain interaction method, system, computer equipment and storage medium
CN112087497B (en) * 2020-08-17 2021-04-27 成都质数斯达克科技有限公司 Data synchronization method and device, electronic equipment and readable storage medium
CN112565364B (en) * 2020-11-26 2022-11-04 东南大学 Cross-chain cooperation method and device based on highway path recognition result
CN113179272B (en) * 2021-04-28 2022-02-25 爱云保(上海)科技有限公司 Intelligent contract-based block chain cross-chain interaction method and device and computer-readable storage medium
CN116204110A (en) * 2021-11-30 2023-06-02 腾讯科技(深圳)有限公司 Block processing method, device and equipment based on block chain, medium and product
CN114338770A (en) * 2021-12-27 2022-04-12 杭州趣链科技有限公司 Cross-block-chain data processing method and device, storage medium and terminal equipment
CN114780932B (en) * 2022-06-21 2022-09-02 中铁电气化局集团有限公司 Cross-block chain data interaction verification method, system and equipment for management three-mode platform

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107807984A (en) * 2017-10-31 2018-03-16 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing subregion common recognition
CN108596613A (en) * 2018-03-22 2018-09-28 深圳市网心科技有限公司 block chain transaction processing method, device and storage medium
CN108900321A (en) * 2018-06-06 2018-11-27 广州链块科技有限公司 The method that a kind of block chain by stages carries out real-time atom transaction
CN108920723A (en) * 2018-08-01 2018-11-30 江苏恒宝智能系统技术有限公司 A kind of nodal hierarchy partition management method
CN108985742A (en) * 2018-07-19 2018-12-11 深圳市网心科技有限公司 Transaction processing method, device and block catenary system
US20190007199A1 (en) * 2016-07-15 2019-01-03 Mastercard International Incorporated Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains
CN109934592A (en) * 2019-03-22 2019-06-25 深圳市网心科技有限公司 A kind of across the chain communication means of block chain, system, electronic equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423980A (en) * 2017-07-11 2017-12-01 厦门易功成信息技术有限公司 Data trade reference platform and method in a kind of supply chain
CN107909369A (en) * 2017-10-13 2018-04-13 布比(北京)网络技术有限公司 Based on the common recognition method, apparatus merchandised across chain and storage medium
CN108023896B (en) * 2017-12-28 2020-09-08 江苏通付盾科技有限公司 Block synchronization method and system
CN108492183B (en) * 2018-03-29 2021-05-18 深圳前海微众银行股份有限公司 Block chain account transaction method, system and computer readable storage medium

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190007199A1 (en) * 2016-07-15 2019-01-03 Mastercard International Incorporated Method and system for partitioned blockchains and enhanced privacy for permissioned blockchains
CN107807984A (en) * 2017-10-31 2018-03-16 上海分布信息科技有限公司 A kind of block chain network of subregion and its method for realizing subregion common recognition
CN108596613A (en) * 2018-03-22 2018-09-28 深圳市网心科技有限公司 block chain transaction processing method, device and storage medium
CN108900321A (en) * 2018-06-06 2018-11-27 广州链块科技有限公司 The method that a kind of block chain by stages carries out real-time atom transaction
CN108985742A (en) * 2018-07-19 2018-12-11 深圳市网心科技有限公司 Transaction processing method, device and block catenary system
CN108920723A (en) * 2018-08-01 2018-11-30 江苏恒宝智能系统技术有限公司 A kind of nodal hierarchy partition management method
CN109934592A (en) * 2019-03-22 2019-06-25 深圳市网心科技有限公司 A kind of across the chain communication means of block chain, system, electronic equipment and storage medium

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112446785A (en) * 2020-11-06 2021-03-05 杭州趣链科技有限公司 Cross-chain transaction method, system, device, equipment and storage medium
CN112446785B (en) * 2020-11-06 2023-09-22 杭州趣链科技有限公司 Cross-chain transaction method, system, device, equipment and storage medium
CN114499869A (en) * 2020-11-13 2022-05-13 顺丰科技有限公司 Resource cross-link exchange method and device based on block chain and computer equipment
CN114499869B (en) * 2020-11-13 2024-05-17 顺丰科技有限公司 Resource cross-chain exchange method and device based on block chain and computer equipment
CN112507393A (en) * 2020-12-10 2021-03-16 浙商银行股份有限公司 Method for guaranteeing consistency of cross-chain transactions of block chain
CN112507393B (en) * 2020-12-10 2024-01-30 浙商银行股份有限公司 Method for guaranteeing consistency of block chain cross-chain transaction
CN112910946A (en) * 2020-12-29 2021-06-04 合肥达朴汇联科技有限公司 Block chain information cross-chain interaction method, system and equipment applied to t2 node
CN112910946B (en) * 2020-12-29 2022-06-28 合肥达朴汇联科技有限公司 Block chain information cross-chain interaction method, system and equipment applied to t2 node
CN112738243A (en) * 2020-12-29 2021-04-30 合肥达朴汇联科技有限公司 Block chain information cross-chain interaction system
CN112818014B (en) * 2020-12-31 2022-07-26 杭州趣链科技有限公司 Block chain data analysis method and device and electronic equipment
CN112818014A (en) * 2020-12-31 2021-05-18 杭州趣链科技有限公司 Block chain data analysis method and device and electronic equipment
CN113032474A (en) * 2021-04-13 2021-06-25 上海边界智能科技有限公司 Block chain cross-chain monitoring method and device
CN113535849A (en) * 2021-07-08 2021-10-22 电子科技大学 Extensible consensus method for block chain
CN113535849B (en) * 2021-07-08 2023-03-07 电子科技大学 Extensible consensus method for block chain
CN114070554A (en) * 2021-11-11 2022-02-18 杭州安存网络科技有限公司 Method and device for confirming ownership of block chain machine generated data
CN114070554B (en) * 2021-11-11 2024-01-19 杭州安存网络科技有限公司 Method and device for determining ownership of block chain machine generated data
CN115189965A (en) * 2022-09-06 2022-10-14 浙江数秦科技有限公司 Cross-chain management system and cross-chain operation method of block chain

Also Published As

Publication number Publication date
CN109934592A (en) 2019-06-25

Similar Documents

Publication Publication Date Title
WO2020191935A1 (en) Method and system for blockchain cross-chain communication, and electronic device and storage medium
AU2020201652B2 (en) Method and system for blockchain variant using digital signatures
CN108961052B (en) Verification method, storage method, device, equipment and medium of block chain data
US10776786B2 (en) Method for creating, registering, revoking authentication information and server using the same
US20200295949A1 (en) Blockchain-based content verification
CN109815657B (en) Identity authentication method and device based on alliance chain, computer readable storage medium and terminal equipment
CN109542888B (en) Data modification and synchronization method, device, equipment and storage medium of block chain
CN111414373B (en) Consensus method and consensus system
CN108241968B (en) Method for leading processor to participate block chain consensus
US20180165476A1 (en) Interlocked blockchains to increase blockchain security
CN111163182B (en) Block chain-based device registration method and apparatus, electronic device, and storage medium
WO2018177093A1 (en) Block chain processing method, accounting node, verification node and storage medium
CN110505305B (en) Block chain fragmentation method and device and block chain system
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
CN108073351B (en) Data storage method of nonvolatile storage space in chip and credible chip
CN110543488B (en) Verification node updating method, device and equipment
WO2022179115A1 (en) User authentication method and apparatus, server and storage medium
WO2022088666A1 (en) Service instance verification method and apparatus, electronic device, and storage medium
CN111612600A (en) Block chain auction method, equipment, storage medium and block chain system
JP7447127B2 (en) Preventing the sending of accidental copies of data records to a distributed ledger system
CN113508570B (en) Method for sharing and verifying blocks and electronic documents among nodes in block chain
CN106548043A (en) A kind of authorization method of application program, installation method, installation end and system
KR102438846B1 (en) Method, device and system for providing nft asset trading service of user style information based on did
CN109862006A (en) A kind of block catenary system cut-in method, apparatus and system
CN109685507A (en) The identification of transactions requests validity and initiating method, device, equipment and medium

Legal Events

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

Ref document number: 19920813

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

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

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

122 Ep: pct application non-entry in european phase

Ref document number: 19920813

Country of ref document: EP

Kind code of ref document: A1