Blockchain capacity expansion method, device and equipment and computer storage medium

By establishing core nodes and referee nodes in the blockchain for transaction verification, the problems of low blockchain throughput and high communication overhead after partitioning are solved, achieving more efficient transaction verification.

CN117009431BActive Publication Date: 2025-11-21LIAONING MOBILE COMM +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210468032.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-29
Publication Date
2025-11-21
Estimated Expiration
2042-04-29

AI Technical Summary

Technical Problem

The low throughput of blockchain, especially during cross-regional transaction verification after partitioning, results in frequent communication overhead that affects scaling performance.

Method used

By acquiring the amount of information and interaction data of blockchain nodes, the influence of each node is determined. Based on this influence, the blockchain is partitioned, and core nodes and referee nodes are established to verify transactions, thus avoiding the communication overhead caused by full node verification.

Benefits of technology

It improves the efficiency of blockchain transaction verification, reduces communication overhead between partitions, and enhances scalability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117009431B_ABST
    Figure CN117009431B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a blockchain capacity expansion method, device, equipment and computer storage medium. Information quantity of nodes in a blockchain in a preset time period and interaction information quantity of the nodes and other nodes are acquired, the information quantity includes total interaction times of the nodes, and the interaction information quantity includes interaction times between the nodes; influence of the nodes is determined according to the information quantity of the nodes, the interaction information quantity of the nodes and other nodes and a preset relationship; the blockchain is partitioned according to a preset condition to obtain a plurality of capacity expansion partitions after partitioning; the nodes are sorted according to the influence of the nodes to obtain a first sequence after sorting; and a first preset number of nodes with greater influence are extracted from the first sequence as core nodes and referee nodes of the plurality of capacity expansion partitions; the core nodes and the referee nodes are used for verifying transactions in the capacity expansion partitions where the core nodes and the referee nodes are located. According to the blockchain capacity expansion method of the embodiments of the present application, the blockchain can be expanded.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of blockchains, and particularly relates to a blockchain capacity expansion method and device, equipment and a computer storage medium. BACKGROUND

[0002] With the development of society, the application of blockchain technology is becoming more and more extensive. In the current application of blockchain technology, there is a problem of low throughput of the blockchain.

[0003] In view of the problem of low throughput of the blockchain, the most commonly used method at present is to divide the blockchain into different partitions, and verify different transaction nodes on the blockchain in different partitions to improve the verification efficiency of the blockchain, thereby improving the throughput of the blockchain.

[0004] However, when using the partitioned blockchain to verify cross-regional transactions, all nodes in different partitions need to verify the transactions and reach a consensus on the verification results. This requires frequent communication between nodes in different partitions. Frequent communication increases the communication overhead between different partitions, affecting the capacity expansion effect of the blockchain. SUMMARY

[0005] The embodiments of the present application provide a blockchain verification method, device, equipment and computer storage medium, which can expand the capacity of the blockchain and improve the efficiency of transaction verification of the blockchain.

[0006] In a first aspect, the embodiments of the present application provide a blockchain capacity expansion method, which comprises:

[0007] Obtaining the information amount of the nodes in the blockchain and the interaction information amount of the nodes and the remaining nodes in a preset time period; the information amount includes the total interaction times of the nodes, and the interaction information amount includes the interaction times between the nodes;

[0008] Determining the influence of the nodes according to the information amount of the nodes, the interaction information amount of the nodes and the remaining nodes and a preset relationship;

[0009] Partitioning the blockchain according to a preset condition to obtain a plurality of capacity expansion partitions after partitioning;

[0010] Sorting the nodes according to the influence of the nodes to obtain a first sequence after sorting;

[0011] Extracting the first sequence to obtain a first preset number of nodes with greater influence as core nodes and referee nodes of the plurality of capacity expansion partitions; the core nodes and the referee nodes are used to verify the transactions in the capacity expansion partitions where the core nodes and the referee nodes are located.

[0012] In some embodiments, after extracting the first preset number of nodes with greater influence as core nodes and referee nodes of the plurality of expansion partitions according to the first sequence, the method further comprises:

[0013] obtaining transaction data;

[0014] determining whether the transaction sender and the transaction receiver corresponding to the transaction data are in the same expansion partition according to the transaction data;

[0015] in the case where the transaction sender and the transaction receiver are in different expansion partitions, verifying the transaction data corresponding to the transaction sender according to the referee nodes and the core nodes of the expansion partition where the transaction sender is located to obtain a first verification result;

[0016] verifying the transaction data corresponding to the transaction receiver according to the referee nodes and the core nodes of the expansion partition where the transaction receiver is located to obtain a second verification result;

[0017] in the case where the proportion of the referee nodes and the core nodes that pass the verification reaches a first preset threshold in the first verification result and the proportion of the referee nodes and the core nodes that pass the verification reaches a second preset threshold in the second verification result, passing the verification.

[0018] In some embodiments, the blockchain expansion method further comprises:

[0019] in the case where the transaction sender and the transaction receiver are in the same expansion partition, verifying the transaction data corresponding to the transaction sender and the transaction receiver based on the referee nodes and the core nodes of the current expansion partition to obtain a third verification result;

[0020] in the case where the proportion of the referee nodes and the core nodes that pass the verification reaches a third preset threshold in the third verification result, passing the verification.

[0021] In some embodiments, the blockchain expansion method further comprises:

[0022] obtaining the verification accuracy of the core nodes and the referee nodes; wherein the verification accuracy is determined based on the number of times of correct verification and the total number of times of participation in verification;

[0023] in the case where a new node is added to the blockchain, replacing the referee node with the lowest verification accuracy with the new node;

[0024] after the replacement, replacing the core node with the lowest verification accuracy and the referee node with the highest verification accuracy in the expansion partition where the new node is located.

[0025] In some embodiments, after obtaining the verification accuracy of the core nodes and the referee nodes, the method further comprises:

[0026] According to a preset period, the node with the highest verification accuracy is obtained, and in the case that the node with the highest verification accuracy is a referee node, the node with the highest verification accuracy and the core node with the lowest verification accuracy are replaced.

[0027] In some embodiments, the influence of the node is determined according to the information amount of the node, the interaction information amount of the node and the rest of the nodes, and a preset relationship, specifically including:

[0028] The interaction degree of the node and the rest of the nodes is determined based on the ratio of the interaction information amount of the node and the rest of the nodes to the information amount of the node.

[0029] The influence of the node is determined according to the interaction degree and a preset relationship.

[0030] The relationship includes:

[0031]

[0032] Wherein, SNR(q) is the influence of node q, E is the set of all nodes interacting with node q, t is a preset time, n p represents the interaction information amount of nodes p and q within t time, C is a constant, A p,q is the proportion of the interaction degree of nodes p and q in the total interaction degree of node q.

[0033] In a second aspect, an embodiment of the present application provides a blockchain capacity expansion device, the device comprising:

[0034] A first acquisition module is configured to acquire the information amount of nodes in a blockchain and the interaction information amount of the nodes and the rest of the nodes within a preset time period. The information amount includes the total interaction times of the nodes, and the interaction information amount includes the interaction times between the nodes.

[0035] A first determination module is configured to determine the influence of the nodes according to the information amount of the nodes, the interaction information amount of the nodes and the rest of the nodes, and a preset relationship.

[0036] A second determination module is configured to partition the blockchain according to a preset condition to obtain a plurality of capacity expansion partitions after partitioning.

[0037] A third determination module is configured to sort the nodes according to the influence of the nodes to obtain a first sequence after sorting.

[0038] A fourth determination module is configured to extract a first preset number of nodes with greater influence from the first sequence as core nodes and referee nodes of the plurality of capacity expansion partitions. The core nodes and the referee nodes are used to verify transactions within the capacity expansion partitions where the core nodes and the referee nodes are located.

[0039] In some embodiments, the blockchain capacity expansion device further comprises:

[0040] The second obtaining module is configured to, after extracting, according to the first sequence, a first preset number of nodes with greater influence as core nodes and adjudication nodes of a plurality of expansion partitions, obtain transaction data;

[0041] The fifth determining module is configured to determine, according to the transaction data, whether a transaction sender and a transaction receiver corresponding to the transaction data are in a same expansion partition;

[0042] The first verifying module is configured to, in a case where the transaction sender and the transaction receiver are in different expansion partitions, verify, according to the adjudication nodes and the core nodes of the expansion partition where the transaction sender is located, the transaction data corresponding to the transaction sender, to obtain a first verification result;

[0043] The second verifying module is configured to verify, according to the adjudication nodes and the core nodes of the expansion partition where the transaction receiver is located, the transaction data corresponding to the transaction receiver, to obtain a second verification result;

[0044] The third verifying module is configured to, in a case where the first verification result indicates that a proportion of the adjudication nodes and the core nodes that pass the verification reaches a first preset threshold and the second verification result indicates that a proportion of the adjudication nodes and the core nodes that pass the verification reaches a second preset threshold, pass the verification.

[0045] In some embodiments, the blockchain expansion device further includes:

[0046] The fourth verifying module is configured to, in a case where the transaction sender and the transaction receiver are in a same expansion partition, verify, based on the adjudication nodes and the core nodes of the current expansion partition, the transaction data corresponding to the transaction sender and the transaction receiver, to obtain a third verification result;

[0047] The fifth verifying module is configured to, in a case where the third verification result indicates that a proportion of the adjudication nodes and the core nodes that pass the verification reaches a third preset threshold, pass the verification.

[0048] In some embodiments, the blockchain verification device further includes:

[0049] The third obtaining module is configured to obtain verification accuracy of the core nodes and the adjudication nodes; wherein the verification accuracy is determined based on a number of times of correct verification and a total number of times of participation in verification;

[0050] The first replacing module is configured to, in a case where a new node is added to the blockchain, replace, with the new node, an adjudication node with the lowest verification accuracy;

[0051] The second replacing module is configured to, after the replacement, replace, with the new node, a core node with the lowest verification accuracy and an adjudication node with the highest verification accuracy in an expansion partition where the new node is located.

[0052] In some embodiments, the blockchain capacity expansion device further comprises:

[0053] The third replacing module is configured to obtain the node with the highest verification accuracy according to the preset period after obtaining the verification accuracy of the core node and the adjudication node, and replace the node with the highest verification accuracy with the core node with the lowest verification accuracy in a case that the node with the highest verification accuracy is the adjudication node.

[0054] In some embodiments, the first determining module specifically comprises:

[0055] The first determining unit is configured to determine the interaction degree of the node with the rest of the nodes based on the ratio of the interaction information amount of the node with the rest of the nodes to the information amount of the node.

[0056] The second determining unit is configured to determine the influence of the node according to the interaction degree and a preset relationship.

[0057] The relationship comprises:

[0058]

[0059] wherein, SNR(q) is the influence of the node q, E is a set of all nodes interacting with the node q, t is a preset time, n p represents the interaction information amount of the nodes p and q within t time, C is a constant, A p,q is the proportion of the interaction degree of the nodes p and q in the total interaction degree of the node q.

[0060] In a third aspect, an embodiment of the present application provides a computer readable storage medium, and the computer readable storage medium stores computer program instructions. When the computer program instructions are executed by a processor, the steps of the blockchain capacity expansion method in any one of the embodiments of the first aspect are implemented.

[0061] In a fourth aspect, an embodiment of the present application provides a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device can execute the steps of the blockchain capacity expansion method in any one of the embodiments of the first aspect.

[0062] The blockchain expansion method, device, equipment and computer storage medium provided by the embodiment of the present application obtain the information amount of a node in a blockchain and the interaction information amount of the node and other nodes in a preset time period, then determine the influence of the node according to the information amount of the node, the interaction information amount of the node and other nodes and a preset relationship, then sort the nodes based on the influence to obtain a first sequence, then partition the blockchain based on a preset condition to obtain a plurality of expansion partitions after partitioning. A first preset number of nodes with greater influence are taken as core nodes and judge nodes of the plurality of expansion partitions based on the first sequence, wherein the core nodes and the judge nodes are used for verifying transactions in the expansion partitions. Therefore, since the core nodes and the judge nodes used for verifying transactions in the current partition are set in the plurality of expansion partitions, when verifying transactions, the core nodes and the judge nodes in the current partition can be used for verifying transactions, so that the plurality of partitions after partitioning can verify different transactions at the same time, and since the core nodes and the judge nodes are used for verifying transactions, the problem that the communication overhead between nodes is large due to the need for the nodes in the partition to reach an agreement on the verification result when all the nodes in the partition need to verify transactions is avoided, which affects the expansion effect. Overall, the expansion effect of the blockchain is better, and the efficiency of transaction verification of the blockchain is improved. BRIEF DESCRIPTION OF DRAWINGS

[0063] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiments of the present application will be briefly introduced as follows. Those skilled in the art can also obtain other drawings according to these drawings without creative labor.

[0064] Figure 1 is a flowchart of a blockchain expansion method provided by the embodiment of the present application;

[0065] Figure 2 is a flowchart of a verification method of an expanded blockchain provided by the embodiment of the present application;

[0066] Figure 3 is a flowchart of a reconstruction method of an expanded blockchain provided by the embodiment of the present application;

[0067] Figure 4 is a structural diagram of a blockchain expansion device provided by the embodiment of the present application;

[0068] Figure 5 is a structural diagram of an electronic device provided by the embodiment of the present application. DETAILED DESCRIPTION

[0069] The features and exemplary embodiments of the various aspects of the present application will be described in detail below with reference to the drawings. The following detailed description is merely intended to teach a person skilled in the art how to make and use the best mode of the present application and is not intended to limit the scope of the application. The following examples are merely illustrative of the present application and are not intended to limit the scope of the present application. The present application can be implemented in other ways without departing from the spirit and essential characteristics of the present application. The embodiments of the present application described below are merely for the purpose of providing a better understanding of the present application.

[0070] It should be noted that the relational terms herein such as first and second and the like are used solely to distinguish one entity or action from another, without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by an "comprising" statement is not excluded from a process, method, article, or apparatus that includes the element, even if the same process, method, article, or apparatus also includes other similar elements, not expressly listed or inherent to the process, method, article, or apparatus.

[0071] With the development of society, the application of blockchain technology is more and more widely. In the current application of blockchain technology, there is a problem of low blockchain throughput.

[0072] In order to solve the problem of low efficiency of the blockchain, the blockchain can be partitioned, and then the transactions in the blockchain are divided into different shards according to the hash value of the transaction parameters of the accounts, and then the transactions in the current shard are verified by the nodes in different shards. However, in this expansion scheme, different transactions initiated by the same transaction initiator in a short time can be verified by the nodes in different shards. Based on this situation, all the nodes in different shards need to verify the transactions in the current shard, and after verification, the verification results need to be sent to the shard where the transaction initiator is located and the shard where the transaction initiator's another transaction is verified, so that the nodes in the above two shards can confirm the verification results. Thus, the problem that the transaction amount of the transaction initiator can be used multiple times after the transaction amount is deducted or the transaction amount of the transaction initiator can be used multiple times due to slow message transmission between different shards. However, since this method requires multiple nodes in different shards to verify the transaction, and after verification, the verification results of different shards need to be sent to other shards for re-verification by the nodes in other shards, the different shards need to repeatedly send and receive information with other shards, which increases the communication overhead and occupies the message transmission path, resulting in low expansion efficiency.

[0073] In order to solve the problem of the prior art, the embodiments of the present application provide a blockchain expansion method, device, equipment and computer storage medium.

[0074] Firstly, the blockchain expansion method provided by the embodiments of the present application is introduced.

[0075] Figure 1 A flowchart of the blockchain expansion method provided by an embodiment of the present application is shown. As shown in Figure 1 The method can include the following steps:

[0076] S110, obtaining the information amount of the nodes in the blockchain and the interaction information amount of the nodes and the remaining nodes in a preset time period; the information amount includes the total interaction times of the nodes, and the interaction information amount includes the interaction times between the nodes;

[0077] S120, determining the influence of the nodes according to the information amount of the nodes, the interaction information amount of the nodes and the remaining nodes, and a preset relationship;

[0078] S130, partitioning the blockchain according to a preset condition to obtain a plurality of expansion partitions after partitioning;

[0079] S140, sorting the nodes according to the influence of the nodes to obtain a first sequence after sorting;

[0080] S150, extract the first preset number of nodes with greater influence from the first sequence as core nodes and adjudication nodes of the multiple expansion partitions; the core nodes and the adjudication nodes are used for verifying transactions in the expansion partition where the core nodes and the adjudication nodes are located.

[0081] The blockchain expansion method of the embodiment of the application obtains the information amount of a node in a blockchain and the interaction information amount of the node with other nodes in a preset time period, then determines the influence of the node according to the information amount of the node, the interaction information amount of the node with other nodes and a preset relationship, then sorts the nodes based on the influence of the nodes to obtain a first sequence, then partitions the blockchain based on a preset condition to obtain multiple expansion partitions after partitioning. The first preset number of nodes with greater influence are taken as core nodes and adjudication nodes of the multiple expansion partitions based on the first sequence, wherein the core nodes and the adjudication nodes are used for verifying transactions in the expansion partition. Thus, since the core nodes and the adjudication nodes for verifying transactions in the current partition are set up in the multiple expansion partitions, when verifying transactions, the core nodes and the adjudication nodes in the current partition can be used for verifying transactions, so that the multiple partitions after partitioning can simultaneously verify different transactions, and since the core nodes and the adjudication nodes are used for verifying transactions, the problem that the communication overhead between nodes is large due to the need for the nodes to reach an agreement on the verification result when all nodes in the partition need to verify transactions, which affects the expansion effect, is avoided, so that the expansion effect of the blockchain is better and the efficiency of transaction verification of the blockchain is improved.

[0082] In some embodiments, in S110, the information amount of the node includes the total interaction times of the node, for example,

[0083] C(q)=a1C1+a2C2...+a n C n

[0084] wherein C i represents the total number of different interaction behaviors with the node q, which can be the behavior of trading different goods, C1 can be the transaction of electronic products, and C2 is the transaction of sports goods; a i is the weight value given to different interaction behaviors, and C can be the information amount of the node.

[0085] In some embodiments, the interaction information amount of the node with other nodes includes the interaction times between the nodes, for example,

[0086]

[0087] wherein M represents the number of interactions between node p and node q, which can be the behavior of trading different commodities, for example, M1 can be the transaction of electronic products, M2 is the transaction of sports goods consumption, and the like; b i is the weight given to different interaction behaviors.

[0088] In some embodiments, S120 can specifically include:

[0089] According to the information amount of the node, the interaction information amount of the node and the rest of the nodes, and the preset relationship, the influence of the node is determined, specifically including:

[0090] Based on the proportion of the interaction information amount of the node and the rest of the nodes and the information amount of the node, the interaction degree of the node and the rest of the nodes is determined.

[0091] According to the interaction degree and the preset relationship, the influence of the node is determined.

[0092] wherein the relationship includes:

[0093]

[0094] wherein SNR(q) is the influence of node q, E is the set of all nodes interacting with node q, t is a preset time, n p represents the interaction information amount of p and q nodes within t time, C is a constant, A p,q is the proportion of the interaction degree of node p and q nodes in the total interaction degree of q node.

[0095] In some embodiments, based on the proportion of the interaction information amount of the node and the rest of the nodes and the information amount of the node, the interaction degree of the node and the rest of the nodes can be determined, specifically including:

[0096] The interaction degree is the interaction degree between the control node and the controlled node in the interaction relationship, and the interaction degree between the nodes is defined as follows:

[0097]

[0098] wherein M represents the number of interactions between node p and node q, that is, the interaction information amount between node p and node q, C(q) represents the information amount of node q, and I(p, q) represents the interaction degree of node p and node q.

[0099] In some specific examples, when node p enters the blockchain, it will select multiple nodes with the same connection relationship as itself and have further interaction with them.

[0100] In some embodiments, after obtaining the interaction degree between the nodes, the proportion of the interaction degree between the nodes in the total interaction degree of a certain node can also be obtained according to the following relationship.

[0101]

[0102] wherein I(p, q) represents the interaction degree of nodes p and q, E represents a set of all nodes that unidirectionally interact with node p, A p,q represents the proportion of the interaction degree of node p and q in the total interaction degree of node q.

[0103] In some embodiments, after obtaining the proportion of the interaction degree of the node in the total interaction degree of another node, the influence of the node q can be calculated based on A p,q .

[0104] Thus, the interaction degree of the node and the rest of the nodes is determined based on the information amount of the node and the interaction information amount of the node and the rest of the nodes, then the proportion of the interaction degree of the node and the rest of the nodes in the total interaction degree of the node is determined based on the interaction degree of the node and the rest of the nodes, and then the influence of the node is obtained based on the obtained proportion and the preset relationship. Since the influence of the node is determined based on the interaction degree of the node, the obtained influence of the node can be more accurate.

[0105] In some embodiments, in S130, the preset condition can include a condition customized by a user, which is not specifically limited here.

[0106] In some embodiments, after partitioning the blockchain, different expansion partitions can respectively verify transactions, without the need for all nodes of the blockchain to verify transactions.

[0107] In some embodiments, in S140, sorting the nodes according to the influence of the nodes can include sorting the nodes according to the influence of the nodes from large to small according to the influence of the nodes, to obtain a first sequence.

[0108] In some embodiments, the referee node and the core node can be used to verify transactions in the expansion partition.

[0109] In some embodiments, S150 can specifically include, after obtaining the first sequence, the node with the largest influence in the first sequence can be obtained as the core node of the first expansion partition, a second sequence after selection is obtained, then the node with the largest influence in the second sequence is obtained as the core node of the second expansion partition, and then in this way, the core node corresponding to each expansion partition in the plurality of expansion partitions is determined.

[0110] In some embodiments, after the core nodes are selected, a third sequence is obtained, the node with the greatest influence in the third sequence is selected as the adjudication node of the first expansion partition, a fourth sequence after selection is obtained, and the node with the greatest influence in the fourth sequence is selected as the adjudication node of the second expansion partition. Then, the adjudication node corresponding to each expansion partition in the plurality of expansion partitions is determined in this way.

[0111] To introduce the expanded partition in detail, the application embodiment further provides a verification method of an expanded blockchain, as shown in Figure 2 As shown in the flowchart of the verification method of the expanded blockchain provided by the application embodiment, the verification method of the expanded blockchain can include: Figure 2

[0112] S210, obtaining transaction data;

[0113] S220, determining whether the transaction sending party and the transaction receiving party corresponding to the transaction data are in the same expansion partition according to the transaction data;

[0114] S230, in the case where the transaction sending party and the transaction receiving party are in different expansion partitions, verifying the transaction data corresponding to the transaction sending party according to the adjudication node and the core node of the expansion partition where the transaction sending party is located, to obtain a first verification result;

[0115] S240, verifying the transaction data corresponding to the transaction receiving party according to the adjudication node and the core node of the expansion partition where the transaction receiving party is located, to obtain a second verification result;

[0116] S250, in the case where the proportion of the adjudication nodes and the core nodes indicating that the verification is passed reaches a first preset threshold in the first verification result and the proportion of the adjudication nodes and the core nodes indicating that the verification is passed reaches a second preset threshold in the second verification result, the verification is passed.

[0117] Therefore, since the transaction is verified based on the adjudication nodes and the core nodes in the expanded partition after partitioning, the problem of long verification time and low efficiency of different nodes caused by the need for all nodes in the expanded partition to verify the transaction can be avoided. The efficiency of the blockchain in verifying the transaction is improved.

[0118] In some embodiments, in S210, the transaction can include different types of transactions, and the specific type of the transaction is not limited here.

[0119] In some embodiments, in S220, the blockchain can determine the expansion partition where the transaction sending party and the transaction receiving party are located based on the transaction data.

[0120] ​In some embodiments, in S230, the transaction data corresponding to the transaction initiator is verified by the adjudication nodes and the core nodes of the expansion partition where the transaction initiator is located, and the first verification result can include:

[0121] The transaction data is verified by multiple adjudication nodes, and in a case where the number of nodes that pass the verification in the multiple adjudication nodes reaches a third threshold, the transaction data is sent to multiple core nodes, and the transaction data is verified by the multiple core nodes, and in a case where the number of nodes that pass the verification in the multiple core nodes reaches a fourth threshold, it is determined that the transaction data passes the verification, wherein the first preset threshold can include the third threshold and the fourth threshold.

[0122] In some embodiments, the method of verifying the transaction data corresponding to the transaction initiator is the same as the method of verifying the transaction data corresponding to the transaction acceptor, which will not be described here.

[0123] In some embodiments, in S250, in a case where the transaction data of the transaction initiator passes the verification and the first verification result is obtained, and the transaction data of the transaction acceptor passes the verification and the second verification result is obtained, and the first verification result and the second verification result both indicate that the verification passes, it can be determined that the transaction passes the verification.

[0124] Therefore, the transaction data of the transaction initiator is verified by the expansion partition where the transaction initiator is located, and the transaction data of the transaction acceptor is verified by the expansion partition where the transaction acceptor is located. After obtaining the verification results of the expansion partitions where the transaction initiator and the transaction acceptor are located, only the verification results of the two expansion partitions need to be compared, and the expansion partitions where the transaction initiator and the transaction acceptor are located do not need to send the verification results to the expansion partition where the transaction counterpart is located for further verification. The problem of low verification efficiency and large communication overhead caused by repeated verification between different partitions is avoided, and the expansion effect is poor.

[0125] In some embodiments, the verification method of the expanded blockchain can further include:

[0126] In a case where the transaction initiator and the transaction acceptor are in the same expansion partition, the transaction data corresponding to the transaction initiator and the transaction acceptor is verified based on the adjudication nodes and the core nodes of the current expansion partition, and a third verification result is obtained;

[0127] In a case where the proportion of the adjudication nodes and the core nodes that pass the verification indicated by the third verification result reaches a third preset threshold, the verification passes.

[0128] In some embodiments, the adjudication nodes and the core nodes of the expansion partition verify the transaction data corresponding to the transaction sending party and the transaction receiving party in the same manner as the expansion partition verifies the transaction data corresponding to the transaction sending party and the transaction receiving party in the above-mentioned embodiments, and details are not repeated here.

[0129] The difference is that, in the case where the transaction sending party and the transaction receiving party are in the same expansion partition, only the above-mentioned expansion partition needs to verify the transaction data of the transaction sending party and the transaction receiving party at the same time to obtain a third verification result, and in the case where the third verification result of the expansion partition indicates that the verification results of the transaction data of the transaction sending party and the transaction receiving party by the adjudication nodes and the core nodes in the expansion partition are consistent, the verification is passed.

[0130] In some embodiments, the application also provides a reconstruction method of the expanded blockchain, as shown in Figure 3 As shown in FIG. 6, the reconstruction method of the expanded blockchain can include: Figure 3

[0131] S310, obtaining the verification accuracy of the core nodes and the adjudication nodes; wherein the verification accuracy is determined based on the number of correct verifications and the total number of verifications participated in;

[0132] S320, in the case where the blockchain increases a new node, replacing the adjudication node with the lowest verification accuracy with the new node;

[0133] S330, after the replacement, replacing the core node with the lowest verification accuracy and the adjudication node with the highest verification accuracy in the expansion partition where the new node is located.

[0134] Therefore, since the core nodes and the adjudication nodes are replaced based on the verification accuracy of the core nodes and the adjudication nodes, the problem of reduced verification accuracy of the expanded blockchain caused by attacks on the nodes or the existence of malicious nodes can be avoided.

[0135] In some embodiments, in S310, the verification accuracy can include that the verification accuracy is based on the number of correct verifications and the total number of verifications participated in, wherein the number of correct verifications can include that the verification result of the node is the same as the final verification result of the plurality of nodes.

[0136] In some embodiments, S320 can specifically include: obtaining the verification accuracy of each adjudication node, then sorting the adjudication nodes from high to low based on the verification accuracy to obtain the sorted adjudication nodes. Then select the adjudication node with the lowest verification accuracy from the sorted adjudication nodes. Then replace the new node added with the adjudication node with the lowest verification accuracy.​

[0137] In some embodiments, S330 can specifically include: obtaining the verification accuracy of each core node, and then sorting the core nodes from high to low based on the verification accuracy to obtain the sorted core nodes. Then the core node with the lowest verification accuracy is selected from the sorted core nodes. Then the core node with the highest verification accuracy is obtained from the sorting of the above-mentioned judge nodes, and the core node with the highest verification accuracy is replaced with the core node with the lowest verification accuracy.

[0138] In some embodiments, after S310, the reconstruction method of the expanded blockchain can further include:

[0139] The node with the highest verification accuracy is obtained according to the preset period, and in the case that the node with the highest verification accuracy is a judge node, the node with the highest verification accuracy is replaced with the core node with the lowest verification accuracy.

[0140] In some embodiments, since only core nodes and judge nodes are involved in verification, the node with the highest verification accuracy can only be a judge node and a core node. In the case that the node with the highest verification accuracy is a judge node, the above-mentioned judge node is replaced with the core node with the lowest verification accuracy among all core nodes. In the case that the node with the highest verification accuracy is a core node, no replacement is needed.

[0141] Therefore, since the core nodes and the judge nodes are reconstructed based on the verification accuracy, the malicious nodes or attacked nodes among the reconstructed core nodes and judge nodes involved in verification can be found and excluded in time, avoiding the problem of low verification accuracy caused by the existence of malicious nodes or attacked nodes. The accuracy of blockchain verification is improved.

[0142] It should be noted that the application scenarios described in the above-mentioned disclosed embodiments are used to more clearly illustrate the technical solutions of the disclosed embodiments, and do not limit the technical solutions provided by the disclosed embodiments. Those skilled in the art can know that with the emergence of new application scenarios, the technical solutions provided by the disclosed embodiments are also applicable to similar technical problems.

[0143] Based on the same inventive concept, the embodiments of the present application also provide a blockchain expansion device. As shown in Figure 4 , it is a structural schematic diagram of the blockchain expansion device provided by the embodiments of the present application. As shown in Figure 4 , the device can include:

[0144] The first obtaining module 401 is configured to obtain information quantity of nodes in a blockchain and interaction information quantity of the nodes with other nodes in a preset time period; the information quantity comprises total interaction times of the nodes, and the interaction information quantity comprises interaction times between the nodes;

[0145] The first determining module 402 is configured to determine influence of the nodes according to the information quantity of the nodes, the interaction information quantity of the nodes with other nodes, and a preset relationship;

[0146] The second determining module 403 is configured to partition the blockchain according to a preset condition to obtain a plurality of expansion partitions after partitioning.

[0147] The third determining module 404 is configured to sort the nodes according to the influence of the nodes to obtain a first sequence after sorting.

[0148] The fourth determining module 405 is configured to extract a first preset number of nodes with greater influence from the first sequence as core nodes and adjudication nodes of the plurality of expansion partitions; the core nodes and the adjudication nodes are configured to verify transactions in the expansion partitions where the core nodes and the adjudication nodes are located.

[0149] The blockchain expansion device of the embodiment of the application obtains information quantity of nodes in a blockchain and interaction information quantity of the nodes with other nodes in a preset time period, then determines influence of the nodes according to the information quantity of the nodes, the interaction information quantity of the nodes with other nodes, and a preset relationship, then sorts the nodes based on the influence of the nodes to obtain a first sequence, then partitions the blockchain based on a preset condition to obtain a plurality of expansion partitions after partitioning. A first preset number of nodes with greater influence are extracted from the first sequence as core nodes and adjudication nodes of the plurality of expansion partitions, wherein the core nodes and the adjudication nodes are configured to verify transactions in the expansion partitions. Thus, since the core nodes and the adjudication nodes for verifying transactions in the current partition are set up in the plurality of expansion partitions, when verifying transactions, the core nodes and the adjudication nodes in the current partition can be used to verify the transactions, so that the plurality of partitions after partitioning can simultaneously verify different transactions, and since the core nodes and the adjudication nodes are used to verify the transactions, the problem that the communication overhead between the nodes is large due to the need for the nodes in the partition to reach an agreement on the verification result when all the nodes in the partition need to verify the transactions is avoided, which affects the expansion effect. Overall, the expansion effect of the blockchain is better, and the efficiency of the blockchain in verifying transactions is improved.

[0150] In some embodiments, the blockchain expansion device can further comprise:

[0151] The second obtaining module can be configured to obtain transaction data after extracting a first preset number of nodes with greater influence from the first sequence as core nodes and adjudication nodes of the plurality of expansion partitions.

[0152] The fifth determination module can be configured to determine, according to the transaction data, whether the transaction sender and the transaction receiver corresponding to the transaction data are in the same expansion partition;

[0153] The first verification module can be configured to, in a case where the transaction sender and the transaction receiver are in different expansion partitions, verify, according to the adjudication nodes and the core nodes of the expansion partition where the transaction sender is located, the transaction data corresponding to the transaction sender, to obtain a first verification result;

[0154] The second verification module can be configured to verify, according to the adjudication nodes and the core nodes of the expansion partition where the transaction receiver is located, the transaction data corresponding to the transaction receiver, to obtain a second verification result;

[0155] The third verification module can be configured to, in a case where the proportion of the adjudication nodes and the core nodes that pass the verification indicated by the first verification result reaches a first preset threshold and the proportion of the adjudication nodes and the core nodes that pass the verification indicated by the second verification result reaches a second preset threshold, pass the verification.

[0156] Thus, the transaction data of the transaction sender is verified by the expansion partition where the transaction sender is located, and the transaction data of the transaction receiver is verified by the expansion partition where the transaction receiver is located. After obtaining the verification results of the expansion partitions where the transaction sender and the transaction receiver are located, it is only necessary to compare the verification results of the two expansion partitions, and the expansion partitions where the transaction sender and the transaction receiver are located do not need to send the verification results to the expansion partition where the transaction receiver is located for further verification. The problem of low verification efficiency and poor expansion effect caused by large communication overhead due to repeated verification between different partitions is avoided.

[0157] In some embodiments, the blockchain expansion apparatus can further include:

[0158] The fourth verification module can be configured to, in a case where the transaction sender and the transaction receiver are in the same expansion partition, verify, based on the adjudication nodes and the core nodes of the current expansion partition, the transaction data corresponding to the transaction sender and the transaction receiver, to obtain a third verification result;

[0159] The fifth verification module can be configured to, in a case where the proportion of the adjudication nodes and the core nodes that pass the verification indicated by the third verification result reaches a third preset threshold, pass the verification.

[0160] Therefore, since the transaction is verified by the referee node and the core node in the expanded partition based on the partition, the problem of long verification time and low efficiency of different nodes caused by the need for all nodes in the expanded partition to verify the transaction can be avoided. The efficiency of the blockchain in verifying the transaction is improved.

[0161] In some embodiments, the blockchain verification device can further include:

[0162] The third acquisition module can be configured to acquire the verification accuracy of the core node and the referee node, wherein the verification accuracy is determined based on the number of correct verifications and the total number of verifications;

[0163] The first replacement module can be configured to replace the new node with the referee node with the lowest verification accuracy when the blockchain adds a new node.

[0164] The second replacement module can be configured to replace the core node with the lowest verification accuracy in the expanded partition where the new node is located with the referee node with the highest verification accuracy after the replacement.

[0165] In some embodiments, the blockchain expansion device can further include:

[0166] The third replacement module can be configured to acquire the node with the highest verification accuracy according to a preset period after acquiring the verification accuracy of the core node and the referee node, and replace the node with the highest verification accuracy with the core node with the lowest verification accuracy when the node with the highest verification accuracy is the referee node.

[0167] In some embodiments, the first determination module can specifically include:

[0168] The first determination unit can be configured to determine the interaction degree of the node and the remaining nodes based on the ratio of the interaction information amount of the node and the remaining nodes to the information amount of the node.

[0169] The second determination unit can be configured to determine the influence of the node according to the interaction degree and a preset relationship.

[0170] The relationship can include:

[0171]

[0172] wherein SNR(q) is the influence of node q, E is a set of all nodes interacting with node q, t is a preset time, n p represents the interaction information amount of nodes p and q within t time, C is a constant, and A p,q is the proportion of the interaction degree of nodes p and q in the total interaction degree of node q.

[0173] Thus, since the core nodes and the judge nodes are reconstructed based on the verification accuracy, the malicious nodes or the attacked nodes in the reconstructed core nodes and the judge nodes participating in the verification can be found and excluded in time, and the problem of low verification accuracy caused by the malicious nodes or the attacked nodes is avoided. The accuracy of the blockchain verification is improved.

[0174] Figure 5 A hardware structure schematic diagram of an electronic device provided by an embodiment of the application is shown.

[0175] Figure 5 A hardware structure schematic diagram of an embodiment of an electronic device provided by an embodiment of the application is shown.

[0176] The electronic device 500 can include a processor 501 and a memory 502 storing computer program instructions.

[0177] Specifically, the processor 501 can include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement one or more embodiments of the application.

[0178] The memory 502 can include a mass storage for data or instructions. By way of example and not limitation, the memory 502 can include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. Where appropriate, the memory 502 can include removable or non-removable (or fixed) media. Where appropriate, the memory 502 can be internal or external to the integrated gateway disaster recovery device. In a particular embodiment, the memory 502 is non-volatile, solid-state memory.

[0179] The memory can include read-only memory (ROM), random-access memory (RAM), magnetic disk storage mediums, optical storage mediums, flash memory devices, electrical, optical, or other physical / tangible memory storage devices. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., a memory device) encoded with software that, when executed (by one or more processors), is operable to perform operations described with reference to the methods according to an aspect of the application.

[0180] The processor 501 implements any one of the blockchain expansion methods in the above embodiments by reading and executing computer program instructions stored in the memory 502.

[0181] In some examples, the electronic device 500 can further include a communication interface 503 and a bus 510. As shown, the processor 501, the memory 502, and the communication interface 503 are connected through the bus 510 and complete communication with each other. Figure 5

[0182] The communication interface 503 can be mainly used to realize the communication between various modules, devices, units and / or equipment in the embodiments of the present application.

[0183] The bus 510 includes hardware, software or both to couple components of the online data traffic billing device to each other. By way of example, and not limitation, the bus 510 can include an accelerated graphics port (AGP) or other graphics bus, an enhanced industry standard architecture (EISA) bus, a front-side bus (FSB), a HyperTransport (HT) interconnect, an industry standard architecture (ISA) bus, an InfiniBand (IB) interconnect, a low pin count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standards association local (VLB) bus, or another suitable bus or combination of two or more of these. Where appropriate, the bus 510 can include one or more buses. Although the present application describes and illustrates a particular bus, the present application contemplates any suitable bus or interconnect.

[0184] For example, as a payment terminal, the electronic device 500 can be a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted electronic device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc. As a code scanning terminal, the electronic device 500 can be a POS machine (Point of sales terminal, POS), a code scanner, etc.

[0185] The electronic device can execute the blockchain expansion method in the embodiments of the present application, thereby realizing the blockchain expansion method and device described in combination Figures 1 to 4 with the above embodiments.

[0186] ​In addition, in combination with the blockchain expansion method in the above embodiments, the embodiments of the present application can provide a computer readable storage medium for implementation. The computer readable storage medium stores computer program instructions; the computer program instructions are executed by the processor to implement any one of the blockchain expansion methods in the above embodiments. Examples of the computer readable storage medium include non-transitory computer readable storage media, such as portable disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), portable compact disk read-only memories (CD-ROM), optical storage devices, magnetic storage devices, etc.

[0187] It should be noted that the present application is not limited to the specific configurations and processes described above and shown in the drawings. For the sake of brevity, detailed descriptions of well-known methods are omitted. In the above embodiments, several specific steps are described and shown as examples. However, the method processes of the present application are not limited to the specific steps described and shown, and those skilled in the art can make various changes, modifications and additions, or change the order between steps, after understanding the spirit of the present application.

[0188] The functional blocks shown in the above structural block diagram can be implemented as hardware, software, firmware or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a functional card, etc. When implemented in software, the elements of the present application are program or code segments that can be used to perform the required tasks. The program or code segments can be stored in a machine readable medium or transmitted through a data signal carried in a carrier wave over a transmission medium or communication link. The "machine readable medium" can include any medium capable of storing or transmitting information. Examples of the machine readable medium include electronic circuits, semiconductor memory devices, ROM, flash memory, erasable ROM (EROM), floppy disks, CD-ROMs, optical disks, hard disks, optical fiber media, radio frequency (RF) links, etc. The code segments can be downloaded via a computer network such as the Internet, an intranet, etc.

[0189] It should also be noted that the exemplary embodiments mentioned in the present application describe some methods or systems based on a series of steps or devices. However, the present application is not limited to the order of the above steps, that is, the steps can be executed in the order mentioned in the embodiments, or in an order different from the embodiments, or several steps can be executed simultaneously.

[0190] The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other processing device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other processing device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0191] The above is merely specific implementation of the present application, and those skilled in the art can clearly understand the specific working processes of the systems, modules and units described above for the convenience and brevity of description, which can refer to the corresponding processes in the foregoing method embodiments, and will not be described herein. It should be understood that the protection scope of the present application is not limited in this way, and any person skilled in the art can easily think of various equivalent modifications or replacements within the technical range disclosed in the present application, and these modifications or replacements should be covered within the protection scope of the present application.

Claims

1. A method for expanding capacity of a blockchain, characterized in that, The method comprises: acquiring information quantity of nodes in a blockchain and interaction information quantity between the nodes and other nodes in a preset time period; the information quantity comprises total interaction times of the nodes, and the interaction information quantity comprises interaction times between the nodes; determining influence of the nodes according to the information quantity of the nodes, the interaction information quantity between the nodes and other nodes, and a preset relationship; partitioning the blockchain according to a preset condition to obtain multiple expansion partitions after partitioning; sorting the nodes according to the influence of the nodes to obtain a first sequence after sorting; extracting a first preset number of nodes with greater influence from the first sequence as core nodes and adjudication nodes of the multiple expansion partitions; the core nodes and the adjudication nodes are used for verifying transactions in the expansion partitions where the core nodes and the adjudication nodes are located; after the first sequence is extracted to extract a first preset number of nodes with greater influence as the core nodes and the adjudication nodes of the multiple expansion partitions, the method further comprises: acquiring transaction data; determining whether a transaction sender and a transaction receiver corresponding to the transaction data are in the same expansion partition according to the transaction data; in a case where the transaction sender and the transaction receiver are in different expansion partitions, verifying the transaction data corresponding to the transaction sender according to the adjudication nodes and the core nodes of the expansion partition where the transaction sender is located to obtain a first verification result; verifying the transaction data corresponding to the transaction receiver according to the adjudication nodes and the core nodes of the expansion partition where the transaction receiver is located to obtain a second verification result; in a case where a proportion of the adjudication nodes and the core nodes that pass the verification reaches a first preset threshold in the first verification result and a proportion of the adjudication nodes and the core nodes that pass the verification reaches a second preset threshold in the second verification result, passing the verification; the method further comprises: acquiring verification accuracy of the core nodes and the adjudication nodes; wherein the verification accuracy is determined based on a number of times of correct verification and a total number of times of participation in verification; in a case where the blockchain increases a new node, replacing the new node with a core node with the lowest verification accuracy in the expansion partition where the new node is located; after the replacement, replacing a core node with the lowest verification accuracy with an adjudication node with the highest verification accuracy in the expansion partition where the new node is located.

2. The method of claim 1, wherein, the method further comprises: in a case where the transaction sender and the transaction receiver are in the same expansion partition, verifying the transaction data corresponding to the transaction sender and the transaction receiver based on the adjudication nodes and the core nodes of the current expansion partition to obtain a third verification result; in a case where a proportion of the adjudication nodes and the core nodes that pass the verification reaches a third preset threshold in the third verification result, passing the verification.

3. The method of claim 1, wherein, after the verification accuracy of the core nodes and the adjudication nodes is acquired, the method further comprises: acquiring the node with the highest verification accuracy according to a preset period, and replacing the node with the highest verification accuracy with a core node with the lowest verification accuracy in a case where the node with the highest verification accuracy is an adjudication node.

4. The method of claim 1, wherein, The influence of the node is determined according to the information amount of the node, the interaction information amount of the node and the rest of the nodes, and a preset relationship formula, and specifically includes: The interaction degree of the node and the rest of the nodes is determined based on the proportion of the interaction information amount of the node and the rest of the nodes to the information amount of the node; The influence of the node is determined according to the interaction degree and the preset relationship formula; The relationship formula includes: ; wherein, is the influence of node q, E is the set of all nodes that interact with node q, t is a preset time, represents the amount of interaction information between nodes p and q within time t, c is a constant, is the proportion of the interaction degree between nodes p and q in the total interaction degree of node q. 5.A blockchain capacity expansion apparatus characterized by comprising: The device includes: The first acquisition module is configured to acquire the information amount of the node and the interaction information amount of the node and the rest of the nodes in a preset time period in the blockchain; the information amount includes the total interaction times of the node, and the interaction information amount includes the interaction times between the nodes; The first determination module is configured to determine the influence of the node according to the information amount of the node, the interaction information amount of the node and the rest of the nodes, and a preset relationship formula; The second determination module is configured to partition the blockchain according to a preset condition to obtain a plurality of expansion partitions after partitioning; The third determination module is configured to sort the nodes according to the influence of the nodes to obtain a first sequence after sorting; The fourth determination module is configured to extract a first preset number of nodes with greater influence from the first sequence as core nodes and judge nodes of the plurality of expansion partitions; the core nodes and the judge nodes are used to verify transactions in the expansion partition where the core nodes and the judge nodes are located; The first acquisition module is further configured to, after extracting a first preset number of nodes with greater influence from the first sequence as core nodes and judge nodes of the plurality of expansion partitions, the device further includes: Acquire transaction data; Determine whether the transaction sender and the transaction acceptor corresponding to the transaction data are in the same expansion partition according to the transaction data; In the case where the transaction sender and the transaction acceptor are in different expansion partitions, verify the transaction data corresponding to the transaction sender according to the judge nodes and the core nodes of the expansion partition where the transaction sender is located to obtain a first verification result; Verify the transaction data corresponding to the transaction acceptor according to the judge nodes and the core nodes of the expansion partition where the transaction acceptor is located to obtain a second verification result; In the case where the proportion of the judge nodes and the core nodes indicating that the verification is passed reaches a first preset threshold in the first verification result and the proportion of the judge nodes and the core nodes indicating that the verification is passed reaches a second preset threshold in the second verification result, the verification is passed; The first acquisition module is further configured to, the device further includes: Acquire the verification accuracy of the core nodes and the judge nodes; wherein the verification accuracy is determined based on the number of correct verifications and the total number of verifications; In the case where the blockchain increases a new node, replace the judge node with the lowest verification accuracy with the new node; After replacement, replace the core node with the lowest verification accuracy in the expansion partition where the new node is located with the judge node with the highest verification accuracy.

6. An electronic device, comprising: The device comprises a processor and a memory storing computer program instructions; the processor reads and executes the computer program instructions to implement the blockchain capacity expansion method according to any one of claims 1-4.

7. A computer readable storage medium characterized in that, The computer readable storage medium stores computer program instructions, and the computer program instructions are executed by the processor to implement the blockchain capacity expansion method according to any one of claims 1-4.

8. A computer program product, characterised in that, The instructions in the computer program product are executed by the processor of the electronic device, so that the electronic device executes the blockchain capacity expansion method according to any one of claims 1-4.

Citation Information

Patent Citations

  • Block chain evidence storage content verification method and apparatus, and a computing device

    CN109409136A

  • Consensus method used for miner node in blockchain system and blockchain system

    US20210176058A1