Transaction processing method and related equipment

By synchronously updating the software versions of blockchain clients and nodes and dynamically selecting the target cryptographic algorithm, the problem of cryptographic algorithms being easily hacked in blockchain systems is solved, and the system security and the success rate of transaction processing are improved.

CN115842639BActive Publication Date: 2025-10-03CHINA MOBILE COMM LTD RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111091827.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-17
Publication Date
2025-10-03
Estimated Expiration
2041-09-17

AI Technical Summary

Technical Problem

In existing blockchain systems, cryptographic algorithms are fixed and easy to crack, resulting in reduced system security.

Method used

By synchronously updating the software versions of the blockchain client and nodes and dynamically selecting the target cryptographic algorithm, the cryptographic algorithm used in the blockchain system is not fixed, ensuring that the available cryptographic algorithms of the blockchain client and nodes are consistent.

Benefits of technology

It reduces the probability of cryptographic algorithms in blockchain systems being hacked, and improves the overall security of the system and the success rate of transaction request processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115842639B_ABST
    Figure CN115842639B_ABST
Patent Text Reader

Abstract

The present invention provides a transaction processing method and related equipment. The transaction processing method, executed by a blockchain client, includes: determining a target cryptographic algorithm from a first cryptographic algorithm set, where the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, which is the current software version of the blockchain client; sending a transaction request message to a blockchain node, where the transaction request message carries the target cryptographic algorithm, and the target cryptographic algorithm is used to instruct the blockchain node to process the transaction request message based on the target cryptographic algorithm; and synchronizing the software versions of the blockchain client and the blockchain node. This method can improve the security of the blockchain system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of blockchain technology, and more particularly to a transaction processing method and related equipment. Background Art

[0002] Cryptographic algorithms are used in multiple transaction processing links of the blockchain system, and can ensure the authenticity of the identity of digital asset holders, ensure that information is not tampered with, and ensure the integrity of transaction information.

[0003] The cryptographic algorithms in existing blockchain systems are usually fixed. Over time, the fixed cryptographic algorithms may gradually become incompatible with the blockchain system, or the algorithms themselves may begin to have vulnerabilities. These situations may increase the probability of the cryptographic algorithms being hacked. Summary of the Invention

[0004] The purpose of the embodiments of the present invention is to provide a transaction processing method and related equipment, which solves the problem that the existing cryptographic algorithms have a high probability of being cracked.

[0005] To solve the above problems, in a first aspect, an embodiment of the present invention provides a transaction processing method, which is executed by a blockchain client and includes:

[0006] Determining a target cryptographic algorithm from a first cryptographic algorithm set, where the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, where the first software version is the current software version of the blockchain client;

[0007] Sending a transaction request message to a blockchain node, the transaction request message carrying the target cryptographic algorithm, the target cryptographic algorithm being used to instruct the blockchain node to process the transaction request message based on the target cryptographic algorithm;

[0008] The software version of the blockchain client is updated synchronously with the software version of the blockchain node.

[0009] In a second aspect, an embodiment of the present invention provides a transaction processing method, which is executed by a blockchain node, comprising:

[0010] Receive a transaction request message sent by a blockchain client, where the transaction request message carries a target cryptographic algorithm, where the target cryptographic algorithm is a cryptographic algorithm in a first cryptographic algorithm set, where the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, where the first software version is the current software version of the blockchain client;

[0011] Processing the transaction request message based on the target cryptographic algorithm;

[0012] The software version of the blockchain node is updated synchronously with the software version of the blockchain client.

[0013] In a third aspect, an embodiment of the present invention provides a transaction processing device, including:

[0014] a first determining module, configured to determine a target cryptographic algorithm within a first cryptographic algorithm set, wherein the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, wherein the first software version is a current software version of the apparatus;

[0015] A first sending module is configured to send a transaction request message to a blockchain node, wherein the transaction request message carries the target cryptographic algorithm, and the target cryptographic algorithm is used to instruct the blockchain node to process the transaction request message based on the target cryptographic algorithm;

[0016] The software version of the device is updated synchronously with the software version of the blockchain node.

[0017] In a fourth aspect, an embodiment of the present invention provides a transaction processing device, including:

[0018] A second receiving module is configured to receive a transaction request message sent by a blockchain client, the transaction request message carrying a target cryptographic algorithm, the target cryptographic algorithm being a cryptographic algorithm in a first cryptographic algorithm set, the first cryptographic algorithm set being a set of available cryptographic algorithms corresponding to a first software version, and the first software version being the current software version of the blockchain client;

[0019] A first processing module, configured to process the transaction request message based on the target cryptographic algorithm;

[0020] The software version of the device is updated synchronously with the software version of the blockchain client.

[0021] In a fifth aspect, an embodiment of the present invention provides an electronic device comprising a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the steps of the transaction processing method described above when executed by the processor.

[0022] In a sixth aspect, an embodiment of the present invention provides a computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the transaction processing method described above are implemented.

[0023] One of the above technical solutions has the following advantages or beneficial effects:

[0024] In an embodiment of the present invention, the blockchain client can determine the target cryptographic algorithm from the currently available set of available cryptographic algorithms each time it initiates a transaction request message, so that the cryptographic algorithm used in the blockchain system is not fixed, thereby reducing the probability of the system cryptographic algorithm being hacked and improving the overall security of the blockchain system. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 is a structural diagram of a network system to which an embodiment of the present invention can be applied;

[0026] Figure 2 It is a flowchart of the blockchain transaction processing process;

[0027] Figure 3 This is one of the flow charts of the transaction processing method provided by an embodiment of the present invention;

[0028] Figure 4 This is a schematic diagram of the synchronous update of the blockchain client and blockchain node provided by an embodiment of the present invention;

[0029] Figure 5a This is an interactive diagram of a cryptographic algorithm selection and determination process provided by an embodiment of the present invention;

[0030] Figure 5b This is a flowchart of a cryptographic algorithm selection and determination process provided by an embodiment of the present invention;

[0031] Figure 6 This is the second flow chart of the transaction processing method provided by the embodiment of the present invention;

[0032] Figure 7 This is one of the structural diagrams of the transaction processing device provided by an embodiment of the present invention;

[0033] Figure 8 This is the second structural diagram of the transaction processing device provided by an embodiment of the present invention;

[0034] Figure 9 A structural diagram of an electronic device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0035] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of them. All other embodiments obtained by ordinary technicians in this field based on the embodiments of the present invention without making any creative efforts shall fall within the scope of protection of the present invention.

[0036] The terms "first", "second" etc. in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequential order. In addition, the terms "comprise" and "have" and any of their variations are intended to cover non-exclusive inclusions, for example, the process, method, system, product or equipment comprising a series of steps or units need not be limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or that are inherent to these processes, methods, products or equipment. In addition, "and / or" is used in this application to represent at least one of the connected objects, for example A and / or B and / or C, which means comprising separate A, separate B, separate C, and A and B all exist, B and C all exist, A and C all exist, and 7 situations in which A, B and C all exist.

[0037] In the embodiments of the present invention, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present invention should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0038] See Figure 1 , Figure 1 This is a structural diagram of a network system to which the embodiment of the present invention can be applied. Figure 1 As shown, the network system includes a blockchain client 11 and a blockchain node 12, and the blockchain client 11 and the blockchain node 12 can communicate with each other.

[0039] In embodiments of the present invention, the network system can be considered a blockchain system. A blockchain is essentially a decentralized distributed ledger established on a blockchain network. The blockchain network includes multiple blockchain nodes 12, also referred to as blockchain network nodes, which jointly maintain the distributed ledger. The blockchain system also includes one or more blockchain clients 11. These clients 11 can broadcast transaction requests to the blockchain network. The blockchain network, based on a consensus mechanism, determines a blockchain node 12 with accounting rights (hereinafter referred to as an accounting node) to process the transaction request.

[0040] For ease of understanding, some contents involved in the embodiments of the present invention are described below:

[0041] 1. Transaction processing flow of the blockchain system.

[0042] like Figure 2 As shown, the specific steps of the transaction processing flow are as follows:

[0043] Step 201: The blockchain client logs in to the blockchain system.

[0044] In this step, for permissionless blockchain systems, the blockchain client can log in to the system without authentication. For permissioned blockchain systems, the blockchain client needs to be authenticated before logging in.

[0045] Step 202: Generate a transaction.

[0046] In this step, the blockchain client uses its private key to sign the transaction request message to authorize the transaction. In a permissionless blockchain system, the transaction request message includes but is not limited to: transaction details, signature, initiator's public key, and recipient's address. The recipient's address can be determined by hashing the recipient's public key. In a permissioned blockchain system, the transaction request message includes but is not limited to: initiator's certificate, transaction proposal, and signature. The transaction proposal includes but is not limited to: initiator's identity, transaction payload, and transaction identifier. After the transaction is generated, it can be propagated through the peer-to-peer network.

[0047] Step 203: Use the consensus mechanism to determine the accounting node.

[0048] In this step, blockchain nodes in a blockchain network can use a consensus mechanism to acquire accounting rights, i.e., the right to create blocks (write block data). In permissionless blockchain systems, a competitive consensus mechanism is primarily used to select accounting nodes to create blocks. The selection process is determined by resources such as the computing power and asset quantity of each blockchain node. In permissioned blockchain systems, a collaborative consensus mechanism is primarily used to achieve consensus among multiple nodes. The consensus mechanism of permissioned blockchain systems typically uses a signature algorithm to ensure the integrity of exchanged messages.

[0049] Step 204: forming a block.

[0050] In this step, block formation can be understood as the process of writing block data. The accounting node verifies the signature in the transaction request message to ensure the authenticity of the transaction. It also checks whether the transaction format is correct and whether the digital asset provider in each transaction is authentic. Then, a new block is formed by collecting a set of transactions and writing them into the block. Typically, a block consists of a block header and block data. The block header includes the block metadata, and the block data includes a list of transactions. The transaction list is typically managed in a Merkle tree (Merkle Authentication Tree). The leaves of the Merkle tree represent transactions, and the root represents the digital fingerprint of the entire transaction set. A hash function is used to perform layer-by-layer hashing from the leaves to the root, and the root of the Merkle tree is ultimately written into the block header.

[0051] Step 205: Update the account book.

[0052] In this step, based on the principle of distributed ledger in blockchain, after a ledger node forms a block, it can broadcast the block through the blockchain network (typically a peer-to-peer network). After confirming the block's validity, other blockchain nodes in the blockchain network can link it to the last block in the corresponding blockchain ledger. The block header of each block in the blockchain ledger contains the hash digest of the block header of the previous block. This independent ledger update ensures consistency across all blockchain nodes in the blockchain network.

[0053] In the transaction processing process described above, cryptographic algorithms are used in multiple stages. For example, digital signature algorithms are used in the transaction generation phase to ensure that the transaction is initiated by the digital asset holder. Another example is the digital signature algorithm used in the consensus mechanism phase to ensure that the exchanged messages have not been tampered with. Another example is the hash algorithm used in the block formation phase to ensure the integrity of the transaction.

[0054] See Figure 3 , Figure 3 This is one of the flow charts of a transaction processing method provided by an embodiment of the present invention. The transaction processing method can be executed by a blockchain client.

[0055] like Figure 3 As shown, the transaction processing method includes the following steps:

[0056] Step 301: Determine a target cryptographic algorithm in a first cryptographic algorithm set.

[0057] Among them, the first cryptographic algorithm set is the available cryptographic algorithm set corresponding to the first software version, and the first software version is the current software version of the blockchain client.

[0058] In embodiments of the present invention, the set of available cryptographic algorithms may include the cryptographic algorithms currently available in the blockchain system, allowing users to select the cryptographic algorithms as needed when initiating transaction requests. The blockchain system may encapsulate the set of available cryptographic algorithms into the blockchain software, which is the application used to implement all transactions on the blockchain.

[0059] It is understood that the code base of the available cryptographic algorithm set can be considered part of the blockchain software's code base. When the available cryptographic algorithm set is updated, the blockchain software version will also be updated accordingly. When a user needs to use a blockchain client to initiate a transaction request, the cryptographic algorithm set available to the blockchain client is the cryptographic algorithm set encapsulated in the current software version of the blockchain client, namely the first cryptographic algorithm set.

[0060] In this step, the blockchain client can determine the target cryptographic algorithm in the first cryptographic algorithm set based on the user's selection operation.

[0061] In an optional embodiment, the set of available cryptographic algorithms includes at least one of the following: a set of available signature algorithms; a set of available hash algorithms; and a set of available encryption algorithms. In one example, the set of available signature algorithms may be a signature algorithm list, i.e., signature algorithm list = {signature algorithm 1, signature algorithm 2, ..., signature algorithm n}, for example, signature algorithm list = {ECDSA, EDDSA, DSA}; the set of available hash algorithms may be a hash algorithm list, i.e., hash algorithm list = {hash algorithm 1, hash algorithm 2, ..., hash algorithm m}, for example, hash algorithm list = {SHA-256, SHA-384, SHA-3}; and the set of available encryption algorithms may be an encryption algorithm list, i.e., encryption algorithm list = {encryption algorithm 1, encryption algorithm 2, ..., encryption algorithm k}, for example, encryption algorithm list = {AES 128, AES 256, IDEA}.

[0062] When the available cryptographic algorithm set includes the available signature algorithm set, the available hash algorithm set, and the available encryption algorithm set, the target cryptographic algorithm includes the target signature algorithm, the target hash algorithm, and the target encryption algorithm. Specific implementations may include the following four cases:

[0063] In the first case, if the user does not select any cryptographic algorithm, the target signature algorithm is the default signature algorithm available in the system, the target hash algorithm is the default hash algorithm available in the system, and the target encryption algorithm is the default encryption algorithm available in the system.

[0064] In the second case, the user selects a cryptographic algorithm. This means the user selects a signature algorithm from the set of available signature algorithms, a hash algorithm from the set of available hash algorithms, or a signature encryption algorithm from the set of available encryption algorithms. Assuming a signature algorithm is selected from the set of available signature algorithms, the target signature algorithm is the signature algorithm selected by the user, the target hash algorithm is the default hash algorithm available in the system, and the target encryption algorithm is the default encryption algorithm available in the system.

[0065] In the third scenario, the user selects two cryptographic algorithms: one from the available signature algorithm set and one from the available hash algorithm set, one from the available signature algorithm set and one from the available encryption algorithm set, or one from the available hash algorithm set and one from the available encryption algorithm set. Assuming one cryptographic algorithm is selected from both the available signature algorithm set and the available hash algorithm set, the target signature algorithm is the signature algorithm selected by the user, the target hash algorithm is the hash algorithm selected by the user, and the target encryption algorithm is the default encryption algorithm available to the system.

[0066] In the fourth case, the user selects three cryptographic algorithms, then the target signature algorithm is the signature algorithm selected by the user, the target hash algorithm is the hash algorithm selected by the user, and the target encryption algorithm is the encryption algorithm selected by the user.

[0067] It should be noted that a default cryptographic algorithm is pre-set in the available cryptographic algorithm set corresponding to each software version. When the available cryptographic algorithm set includes an available signature algorithm set, an available hash algorithm set and an available encryption algorithm set, a default signature algorithm, a default hash algorithm and a default encryption algorithm are pre-set.

[0068] Step 302: Send a transaction request message to the blockchain node.

[0069] The transaction request message carries the target cryptographic algorithm and, optionally, the algorithm identifier of the target cryptographic algorithm. The target cryptographic algorithm is used to instruct the blockchain node to process the transaction request message based on the target cryptographic algorithm. The software version of the blockchain client is updated synchronously with the software version of the blockchain node.

[0070] In this step, the blockchain client can encapsulate the target cryptographic algorithm into the transaction request message. If the blockchain client's software version is updated synchronously with the blockchain node's software version, the software versions of the blockchain client and blockchain node can remain consistent, and the sets of available cryptographic algorithms they can provide can also be consistent. Upon receiving the transaction request message, the blockchain node can obtain the target cryptographic algorithm and verify the signature of the transaction request message based on the target cryptographic algorithm. Upon successful verification, subsequent transaction processing can be performed based on the target cryptographic algorithm.

[0071] In a specific implementation, a blockchain client can use its private key to sign a transaction request message, using a signature algorithm determined by the target cryptographic algorithm. The blockchain client can broadcast the transaction request message to the blockchain network. Upon receiving the transaction request message, the blockchain node can verify the signature, using a signature algorithm determined by the target cryptographic algorithm.

[0072] If signature verification is successful, the blockchain node can proceed based on the target cryptographic algorithm throughout the subsequent transaction processing process, including but not limited to the consensus mechanism, block formation, and ledger updates. It should be noted that if signature verification is unsuccessful, indicating that the initiator of the transaction request may not be the holder of the digital asset, the blockchain node can send a second indication to the blockchain client, indicating that the signature verification failed, and the blockchain client can re-initiate the transaction request.

[0073] The transaction processing method provided by the embodiments of the present invention allows a blockchain client to determine a target cryptographic algorithm from the currently available set of available cryptographic algorithms each time it initiates a transaction request message. This allows the cryptographic algorithm used in the blockchain system to be flexible, reducing the probability of the system's cryptographic algorithm being compromised and improving the overall security of the blockchain system. Furthermore, by synchronizing the software versions of the blockchain client and blockchain node, the available cryptographic algorithms of the blockchain client and blockchain node can be kept consistent, avoiding vulnerabilities and anomalies such as signature verification failures caused by inconsistent available cryptographic algorithms, thereby improving the success rate of transaction request processing.

[0074] Optionally, before determining the target cryptographic algorithm in the first cryptographic algorithm set, the transaction processing method further includes: controlling the software version of the blockchain client and the software version of the blockchain node to be synchronously updated.

[0075] In this embodiment, the blockchain client can synchronize the software version of the blockchain node by controlling the update of its software version. Optionally, there are two implementation methods:

[0076] The first implementation method controls the synchronization of the blockchain client software version and the blockchain node software version, including:

[0077] Controlling the blockchain client software version to be updated at a first preset time interval;

[0078] Among them, the first preset time interval is the update time interval of the software version of the blockchain node.

[0079] In this embodiment, the blockchain client and the blockchain node update the software version based on the same time interval to achieve synchronization of software version updates.

[0080] The first preset time interval is recorded as T. Figure 4As shown, the time each blockchain client joins the blockchain system is denoted as PTJ (Point of Time for Join). Based on PTJ, the update time of the blockchain client can be PTJi+T, PTJi+2T, PTJi+3T, ..., where i represents the blockchain client number. The time each blockchain node is activated in the blockchain network is denoted as PTA (Point of Time for Activation). Based on PTA, the update time of the blockchain node can be PTAj+T, PTAj+2T, PTAj+3T, ..., where j represents the blockchain node number. In a specific implementation, a unified timer can be set on each blockchain client and each blockchain node. Every time the timer value increases by T, the timer will issue an update reminder to the blockchain client or blockchain node.

[0081] In a second embodiment, controlling the blockchain client software version and the blockchain node software version to be updated synchronously includes:

[0082] Sending an update request message to the software server at a first update time point;

[0083] Receiving information about a second software version returned by the software server, where the second software version is the latest software version;

[0084] According to the information of the second software version, the software version of the blockchain client is updated, and the information of the second software version is sent to any other blockchain client and any blockchain node, so that any other blockchain client and any blockchain node update their software version according to the information of the second software version.

[0085] In this embodiment, taking the method executed by blockchain client 1 as an example, the first update time point is the update time point of blockchain client 1. The first update time point can be the time point when blockchain client 1 joins the blockchain system, or any subsequent update time point of blockchain client 1.

[0086] When blockchain client 1 reaches the update time point, blockchain client 1 can obtain the latest software version information from the software server. By broadcasting this information to the blockchain system, any other blockchain client and any blockchain node in the blockchain system, except blockchain client 1, can synchronize their software versions based on the latest software version information.

[0087] In a specific implementation, after blockchain client 1 receives the latest software version information from the software server, it can download the latest software version data from the software server to implement the update. For other blockchain clients or blockchain nodes whose software versions are already the latest software version, after receiving the latest software version information from blockchain client 1, they do not need to repeat the update. For other blockchain clients or blockchain nodes whose update time has not yet arrived, after receiving the latest software version information from blockchain client 1, they can download the latest software version data from the software server to implement the update.

[0088] It should be noted that in an alternative embodiment, the two aforementioned embodiments can be combined. Specifically, a unified update interval, T, is set for each blockchain client and each blockchain node in the blockchain system. After blockchain client 1 reaches the update time and broadcasts the latest software version information to the blockchain system, all blockchain clients and blockchain nodes can update the software version to achieve consistency. Afterwards, all blockchain clients and blockchain nodes update their subsequent update time points. The subsequent update time points for any blockchain client or blockchain node are the first update time point + T, the first update time point + 2T, the first update time point + 3T, and so on.

[0089] For easier understanding, the following examples are given:

[0090] Assume that the first update time point is August 13, and the update interval T is 10 days.

[0091] In the first case, for blockchain client 1, August 13 is its original update time point, so the subsequent update time points will continue to be based on August 13 and determined at intervals of 10 days.

[0092] In the second scenario, for other blockchain clients or blockchain nodes, take blockchain client 2 as an example. Assuming its last update time is August 10, its original next update time is August 20. Due to the update of blockchain client 1, in order to achieve update synchronization, if blockchain client 2 determines on August 13 that its software version is not the latest software version, it will be updated on August 13, and its next update time will be changed to August 23. If blockchain client 2 determines on August 13 that its software version is the latest software version, then blockchain client 2 does not need to be updated again on August 13, and its next update time will still be changed to August 23.

[0093] In this way, the software versions of blockchain clients and blockchain nodes can not only be updated synchronously at the same time interval, but also, if an individual blockchain client or blockchain node is offline due to abnormal network disconnection and the update is out of sync, the update synchronization can be achieved again through the broadcast information of a currently updated blockchain client or blockchain node. This further improves the consistency of the available cryptographic algorithm sets of both blockchain clients and blockchain nodes, and improves the adaptability of the target cryptographic algorithm and blockchain nodes. Moreover, it can ensure that the cryptographic algorithm used in the blockchain system is always the latest available cryptographic algorithm, reducing the probability of being easily cracked due to outdated cryptographic algorithms, and further improving the security of the blockchain system.

[0094] It should be noted that the blockchain node can also synchronize the software version updates with the blockchain client by controlling the update of its own software version. The specific implementation method is the same as the implementation method for implementing update synchronization of the blockchain client described above, and will not be repeated here.

[0095] Optionally, after sending the transaction request message to the blockchain node, the method further includes:

[0096] Receiving first indication information and a version identifier of a third software version sent by a blockchain node, where the first indication information is used to indicate that the target cryptographic algorithm is not in the second cryptographic algorithm set, the second cryptographic algorithm set is a set of available cryptographic algorithms corresponding to the third software version, and the third software version is the current software version of the blockchain node;

[0097] When the version identifier of the third software version indicates that the third software version is higher than the first software version, the software version of the blockchain client is updated.

[0098] In this embodiment, even if the software version of the blockchain client and the software version of the blockchain node are updated synchronously, the first software version is generally the same as the third software version, and the first cryptographic algorithm set is generally the same as the second cryptographic algorithm set. However, it is not ruled out that the software versions of individual blockchain clients or blockchain nodes are inconsistent due to abnormal offline reasons such as network disconnection.

[0099] Based on this, upon receiving a transaction request, the blockchain node can compare the target cryptographic algorithm with a second set of cryptographic algorithms it can provide. If the target cryptographic algorithm is within the second set, the transaction request can continue to be processed based on the target cryptographic algorithm. If the target cryptographic algorithm is not within the second set, this indicates that the target cryptographic algorithm is inconsistent with the cryptographic algorithms available to the blockchain node. This could be due to an older software version on the blockchain client or the blockchain node. The blockchain node can return the first indication and the version identifier of the third software version to the blockchain client, allowing the blockchain client to verify and compare the software versions.

[0100] The version identifier can be a version number. The blockchain client can compare the first software version number with the third software version number. If the first software version number is lower, the blockchain client will update its software version. If the first software version number is higher, the blockchain client may not update its software version. This can further ensure that the target cryptographic algorithm is the latest available cryptographic algorithm, further preventing the vulnerability of cryptographic algorithms due to outdated attacks, and thus improving the overall security of the blockchain system.

[0101] Optionally, the transaction request message also carries a version identifier of the first software version, and the version identifier of the first software version is used to instruct the blockchain node to determine whether to update the software version of the blockchain node.

[0102] In this embodiment, the version identifier may be a version number. If the transaction request message also carries the first software version number, upon receiving the transaction request message, the blockchain node may compare the target cryptographic algorithm with a set of second cryptographic algorithms that it can provide. If the target cryptographic algorithm is within the set of second cryptographic algorithms, the transaction request may continue to be processed. If the target cryptographic algorithm is not within the set of second cryptographic algorithms, this indicates that the target cryptographic algorithm is inconsistent with the cryptographic algorithms available to the blockchain node. This may be due to an older software version on the blockchain client or the blockchain node.

[0103] The blockchain node can compare the first software version number with the third software version number. If the third software version number is lower, the blockchain node will update its software version. If the third software version number is higher, the blockchain node may not update its software version and return the first indication information and the third software version number to the blockchain client. This can further ensure that the cryptographic algorithms available in the blockchain system are the latest cryptographic algorithms, further avoid the situation where outdated cryptographic algorithms are easily cracked, and improve the overall security of the blockchain system.

[0104] The following describes an exemplary cryptographic algorithm selection and determination process in an embodiment of the present invention:

[0105] like Figure 5a and Figure 5b As shown, the cryptographic algorithm selection and determination process is as follows:

[0106] Step 501: Determine the target cryptographic algorithm.

[0107] In this step, if the user selects a target algorithm, the target algorithm is determined from the blockchain client's set of available cryptographic algorithms based on the user's selection. If the user does not select a target algorithm, the default algorithm is used as the target algorithm. The blockchain client can then encapsulate the target cryptographic algorithm in a transaction request message and sign the transaction request message using the target cryptographic algorithm. The transaction request message specifically includes the client software version number (V), the target cryptographic algorithm (CHA), transaction-related information (TRI), and the signature (SIG). For permissionless blockchain systems, transaction-related information includes the transaction content, the sender's public key, and the recipient's address. For permissioned blockchain systems, transaction-related information includes the sender's certificate and transaction proposal. After this step, step 502 is executed.

[0108] Step 502: The blockchain client broadcasts a transaction request message to the blockchain network.

[0109] After this step, execute step 503.

[0110] Step 503: The blockchain node determines whether the target cryptographic algorithm is in its set of available cryptographic algorithms.

[0111] In this step, after receiving the transaction request message, each blockchain node in the blockchain network compares the target cryptographic algorithm with its set of available cryptographic algorithms. If the target cryptographic algorithm matches, step 504 is executed; if not, step 507 is executed.

[0112] Step 504: The blockchain node uses the target signature algorithm to verify the transaction request message.

[0113] In this step, if the signature verification is successful, step 505 is executed; if the signature verification fails, step 506 is executed.

[0114] Step 505: The blockchain node processes the transaction request message using the target cryptographic algorithm. In this step, the blockchain node can use the target cryptographic algorithm for transaction processing, including consensus mechanism, block formation, and ledger updates. The process ends after this step.

[0115] Step 506: The blockchain node sends the second indication information to the blockchain client.

[0116] In this step, the second indication information is used to indicate that the signature verification failed. The blockchain client can resend the transaction request message. After this step, step 501 is re-executed.

[0117] Step 507: The blockchain node sends the first indication information and the software version number to the blockchain client.

[0118] In this step, the first indication information is used to indicate that the target cryptographic algorithm is not in the set of available cryptographic algorithms of the blockchain node. After this step, steps 508 and 510 may be executed.

[0119] Step 508: The blockchain client compares its own software version number with the software version number of the blockchain node.

[0120] In this step, if the version number of the blockchain client is higher, the process ends; if the version number of the blockchain client is lower, step 509 is executed. It should be noted that, in general, the software version number of the blockchain client in the blockchain system is consistent with the software version number of the blockchain node on the software server, that is, the software version number of the blockchain client and the software version number of the blockchain node are updated synchronously.

[0121] Step 509: The blockchain client updates its software version.

[0122] In this step, the blockchain client updates its software version and can re-initiate the transaction request message. After this step, step 501 is re-executed.

[0123] Step 510: The blockchain node compares its own software version number with the software version number of the blockchain client.

[0124] In this step, if the version number of the blockchain node is higher, the process ends; if the version number of the blockchain node is lower, step 511 is executed.

[0125] Step 511: The blockchain node updates its software version.

[0126] In this step, after the blockchain node updates its software version, it can proceed to step 504.

[0127] See Figure 6 , Figure 6 This is the second flow chart of a transaction processing method provided by an embodiment of the present invention. The transaction processing method can be executed by a blockchain node.

[0128] like Figure 6 As shown, the transaction processing method includes the following steps:

[0129] Step 601: Receive a transaction request message sent by a blockchain client. The transaction request message carries a target cryptographic algorithm. The target cryptographic algorithm is a cryptographic algorithm in a first cryptographic algorithm set. The first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version. The first software version is the current software version of the blockchain client.

[0130] Step 602: Process the transaction request message based on the target cryptographic algorithm.

[0131] Among them, the software version of the blockchain node and the software version of the blockchain client are updated synchronously.

[0132] Optionally, the set of available cryptographic algorithms includes at least one of the following: an available signature algorithm; an available hash algorithm; and an available encryption algorithm.

[0133] Optionally, before receiving the transaction request message sent by the blockchain client, the method further includes:

[0134] The software version of the control blockchain node is updated synchronously with the software version of the blockchain client.

[0135] Optionally, the software version of the control blockchain node is updated synchronously with the software version of the blockchain client, including:

[0136] Controlling the blockchain node software version to be updated at a first preset time interval;

[0137] The first preset time interval is the update time interval of the software version of the blockchain client.

[0138] Optionally, the software version of the control blockchain node is updated synchronously with the software version of the blockchain client, including:

[0139] Sending an update request message to the software server at a second update time point;

[0140] Receiving information about a second software version returned by the software server, where the second software version is the latest software version;

[0141] According to the information of the second software version, the software version of the blockchain node is updated, and the information of the second software version is sent to any other blockchain node and any blockchain client, so that any other blockchain node and any blockchain client update the software version according to the information of the second software version.

[0142] Optionally, after receiving the transaction request message sent by the blockchain client, the method further includes:

[0143] If the target cryptographic algorithm is not in the second cryptographic algorithm set, sending the first indication information and the version identifier of the third software version to the blockchain client, where the second cryptographic algorithm set is the set of available cryptographic algorithms corresponding to the third software version, and the third software version is the current software version of the blockchain node;

[0144] Process the transaction request message based on the target cryptographic algorithm, including:

[0145] In a case where the target cryptographic algorithm is in the second cryptographic algorithm set, the transaction request message is processed based on the target cryptographic algorithm.

[0146] Optionally, the transaction request message further carries a version identifier of the first software version;

[0147] After receiving the transaction request message sent by the blockchain client, the method further includes:

[0148] When the target cryptographic algorithm is not in the second cryptographic algorithm set and the version identifier of the first software version indicates that the first software version is higher than the third software version, the software version of the blockchain node is updated.

[0149] It should be noted that this embodiment is an implementation method of a blockchain node corresponding to the above method embodiment. Therefore, reference can be made to the relevant description in the above method embodiment, and the same beneficial effects can be achieved. To avoid repetition, it will not be repeated here.

[0150] The transaction processing method provided by the embodiments of the present invention allows a blockchain client to determine a target cryptographic algorithm from the currently available set of available cryptographic algorithms each time it initiates a transaction request message. This allows the cryptographic algorithm used in the blockchain system to be flexible, reducing the probability of the system's cryptographic algorithm being compromised and improving the overall security of the blockchain system. Furthermore, by synchronizing the software versions of the blockchain client and blockchain node, the available cryptographic algorithms of the blockchain client and blockchain node can be kept consistent, avoiding vulnerabilities and anomalies such as signature verification failures caused by inconsistent available cryptographic algorithms, thereby improving the success rate of transaction request processing.

[0151] See also Figure 7 , Figure 7 This is one of the structural diagrams of the transaction processing device provided in an embodiment of the present invention.

[0152] like Figure 7 As shown, the transaction processing device 700 includes:

[0153] A first determination module 701 is configured to determine a target cryptographic algorithm in a first cryptographic algorithm set, where the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, where the first software version is the current software version of the blockchain client;

[0154] A first sending module 702 is configured to send a transaction request message to a blockchain node, where the transaction request message carries a target cryptographic algorithm, and the target cryptographic algorithm is configured to instruct the blockchain node to process the transaction request message based on the target cryptographic algorithm;

[0155] Among them, the software version of the device is updated synchronously with the software version of the blockchain node.

[0156] Optionally, the set of available cryptographic algorithms includes at least one of the following: an available signature algorithm; an available hash algorithm; and an available encryption algorithm.

[0157] Optionally, the transaction processing device 700 further includes:

[0158] The first control module is used to control the synchronization update of the software version of the blockchain client and the software version of the blockchain node.

[0159] Optionally, the first control module is specifically configured to:

[0160] Controlling the blockchain client software version to be updated at a first preset time interval;

[0161] Among them, the first preset time interval is the update time interval of the software version of the blockchain node.

[0162] Optionally, the first control module includes:

[0163] A first sending unit, sending an update request message to the software server at a first update time point;

[0164] The first receiving unit is configured to receive information about a second software version returned by the software server, where the second software version is the latest software version;

[0165] The first processing unit is configured to update the software version of the blockchain client according to the information of the second software version, and to send the information of the second software version to the information of the latest software version, so that the information of the latest software version updates the software version according to the information of the second software version.

[0166] Optionally, the transaction processing device 700 further includes:

[0167] a first receiving module, configured to receive first indication information and a version identifier of a third software version sent by a blockchain node, wherein the first indication information is used to indicate that a target cryptographic algorithm is not in a second cryptographic algorithm set, the second cryptographic algorithm set is a set of available cryptographic algorithms corresponding to the third software version, and the third software version is a current software version of the blockchain node;

[0168] The first updating module is configured to update the software version of the blockchain client when the version identifier of the third software version indicates that the third software version is higher than the first software version.

[0169] Optionally, the transaction request message also carries a version identifier of the first software version, and the version identifier of the first software version is used to instruct the blockchain node to determine whether to update the software version of the blockchain node.

[0170] The transaction processing device 700 can implement each process that the blockchain client in the embodiment of the method of the present invention can implement, and achieve the same beneficial effects. To avoid repetition, it will not be described here.

[0171] See also Figure 8 , Figure 8 This is the second structural diagram of the transaction processing device provided in an embodiment of the present invention.

[0172] like Figure 8 As shown, the transaction processing device 800 includes:

[0173] A second receiving module 801 is configured to receive a transaction request message sent by a blockchain client, the transaction request message carrying a target cryptographic algorithm, the target cryptographic algorithm being a cryptographic algorithm in a first cryptographic algorithm set, the first cryptographic algorithm set being a set of available cryptographic algorithms corresponding to a first software version, and the first software version being the current software version of the blockchain client;

[0174] A first processing module 802 is configured to process the transaction request message based on a target cryptographic algorithm;

[0175] Among them, the software version of the device is updated synchronously with the software version of the blockchain client.

[0176] Optionally, the set of available cryptographic algorithms includes at least one of the following: an available signature algorithm; an available hash algorithm; and an available encryption algorithm.

[0177] Optionally, the transaction processing device 800 further includes:

[0178] The second control module is used to control the synchronization update of the software version of the blockchain node and the software version of the blockchain client.

[0179] Optionally, the second control module is specifically configured to:

[0180] Controlling the blockchain node software version to be updated at a first preset time interval;

[0181] The first preset time interval is the update time interval of the software version of the blockchain client.

[0182] Optionally, the second control module includes:

[0183] The second inventive unit is configured to send an update request message to the software server at a second update time point;

[0184] A second receiving unit is configured to receive information about a second software version returned by the software server, where the second software version is the latest software version;

[0185] The third processing unit is used to update the software version of the blockchain node according to the information of the second software version, and send the information of the second software version to any other blockchain node and any blockchain client, so that any other blockchain node and any blockchain client update the software version according to the information of the second software version.

[0186] Optionally, the transaction processing device 800 further includes:

[0187] a second sending module, configured to send, to the blockchain client, the first indication information and a version identifier of a third software version, if the target cryptographic algorithm is not in the second cryptographic algorithm set, where the second cryptographic algorithm set is a set of available cryptographic algorithms corresponding to the third software version, and the third software version is a current software version of the blockchain node;

[0188] The first processing module 802 is specifically configured to:

[0189] In a case where the target cryptographic algorithm is in the second cryptographic algorithm set, the transaction request message is processed based on the target cryptographic algorithm.

[0190] Optionally, the transaction request message further carries a version identifier of the first software version;

[0191] The transaction processing device 800 further includes:

[0192] The second update module is used to update the software version of the blockchain node when the target cryptographic algorithm is not in the second cryptographic algorithm set and the version identifier of the first software version indicates that the first software version is higher than the third software version.

[0193] The transaction processing device 800 can implement each process that the blockchain node in the embodiment of the method of the present invention can implement, and achieve the same beneficial effects. To avoid repetition, it will not be described here.

[0194] The embodiment of the present invention also provides an electronic device. Figure 9 The electronic device 900 may include a processor 901, a memory 902, and a computer program 9021 stored in the memory 902 and executable on the processor 901. When the computer program 9021 is executed by the processor 901, the computer program 9021 may be executed. Figure 3 or Figure 6 Any steps in the corresponding method embodiments and achieving the same beneficial effects will not be repeated here.

[0195] A person skilled in the art will understand that all or part of the steps of the above-mentioned embodiment method can be completed by hardware related to program instructions, and the program can be stored in a readable medium. The embodiment of the present invention also provides a readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned Figure 3 or Figure 6 Any steps in the corresponding method embodiments can achieve the same technical effects and will not be described again here to avoid repetition.

[0196] The storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0197] The above is a preferred implementation of the embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles described in the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A transaction processing method, executed by a blockchain client, characterized in that: include: Determining a target cryptographic algorithm from a first cryptographic algorithm set, where the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, where the first software version is the current software version of the blockchain client; Sending a transaction request message to a blockchain node, the transaction request message carrying the target cryptographic algorithm, the target cryptographic algorithm being used to instruct the blockchain node to process the transaction request message based on the target cryptographic algorithm; The software version of the blockchain client is updated synchronously with the software version of the blockchain node.

2. The method according to claim 1, characterized in that The set of available cryptographic algorithms includes at least one of the following: an available signature algorithm; an available hash algorithm; and an available encryption algorithm.

3. The method according to claim 1, characterized in that Before determining the target cryptographic algorithm in the first cryptographic algorithm set, the method further includes: Control the synchronization of the software version of the blockchain client and the software version of the blockchain node.

4. The method according to claim 3, characterized in that The software version of the control blockchain client is synchronously updated with the software version of the blockchain node, including: Controlling the software version of the blockchain client to be updated at a first preset time interval; The first preset time interval is the update time interval of the software version of the blockchain node.

5. The method according to claim 3, characterized in that The software version of the control blockchain client is synchronously updated with the software version of the blockchain node, including: Sending an update request message to the software server at a first update time point; receiving information of a second software version returned by the software server, where the second software version is the latest software version; According to the information of the second software version, the software version of the blockchain client is updated, and the information of the second software version is sent to any other blockchain client and any blockchain node, so that any other blockchain client and any blockchain node update their software version according to the information of the second software version.

6. The method according to claim 1, characterized in that After sending the transaction request message to the blockchain node, the method further includes: receiving first indication information and a version identifier of a third software version sent by the blockchain node, wherein the first indication information is used to indicate that the target cryptographic algorithm is not in a second cryptographic algorithm set, the second cryptographic algorithm set is a set of available cryptographic algorithms corresponding to the third software version, and the third software version is the current software version of the blockchain node; In a case where the version identifier of the third software version indicates that the third software version is higher than the first software version, the software version of the blockchain client is updated.

7. The method according to claim 1, characterized in that The transaction request message also carries a version identifier of the first software version, and the version identifier of the first software version is used to instruct the blockchain node to determine whether to update the software version of the blockchain node.

8. A transaction processing method, executed by a blockchain node, characterized in that: include: Receive a transaction request message sent by a blockchain client, where the transaction request message carries a target cryptographic algorithm, where the target cryptographic algorithm is a cryptographic algorithm in a first cryptographic algorithm set, where the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, where the first software version is the current software version of the blockchain client; Processing the transaction request message based on the target cryptographic algorithm; The software version of the blockchain node is updated synchronously with the software version of the blockchain client.

9. The method according to claim 8, characterized in that The set of available cryptographic algorithms includes at least one of the following: an available signature algorithm; an available hash algorithm; and an available encryption algorithm.

10. The method according to claim 8, characterized in that Before receiving the transaction request message sent by the blockchain client, the method further includes: Control the synchronization of the software version of the blockchain node and the software version of the blockchain client.

11. The method according to claim 10, characterized in that The software version of the blockchain node controlled by the blockchain client is updated synchronously with the software version of the blockchain client, including: Controlling the software version of the blockchain node to be updated at a first preset time interval; The first preset time interval is the update time interval of the software version of the blockchain client.

12. The method according to claim 10, characterized in that The software version of the blockchain node controlled by the blockchain client is updated synchronously with the software version of the blockchain client, including: Sending an update request message to the software server at a second update time point; receiving information of a second software version returned by the software server, where the second software version is the latest software version; According to the information of the second software version, the software version of the blockchain node is updated, and the information of the second software version is sent to any other blockchain node and any blockchain client, so that any other blockchain node and any blockchain client update the software version according to the information of the second software version.

13. The method according to claim 8, characterized in that After receiving the transaction request message sent by the blockchain client, the method further includes: If the target cryptographic algorithm is not in the second cryptographic algorithm set, sending the first indication information and the version identifier of the third software version to the blockchain client, where the second cryptographic algorithm set is the set of available cryptographic algorithms corresponding to the third software version, and the third software version is the current software version of the blockchain node; The processing of the transaction request message based on the target cryptographic algorithm includes: In a case where the target cryptographic algorithm is in the second cryptographic algorithm set, the transaction request message is processed based on the target cryptographic algorithm.

14. The method according to claim 8, characterized in that The transaction request message also carries a version identifier of the first software version; After receiving the transaction request message sent by the blockchain client, the method further includes: When the target cryptographic algorithm is not in the second cryptographic algorithm set and the version identifier of the first software version indicates that the first software version is higher than the third software version, the software version of the blockchain node is updated.

15. A transaction processing device, characterized in that: include: a first determining module, configured to determine a target cryptographic algorithm within a first cryptographic algorithm set, wherein the first cryptographic algorithm set is a set of available cryptographic algorithms corresponding to a first software version, wherein the first software version is a current software version of the apparatus; A first sending module is configured to send a transaction request message to a blockchain node, wherein the transaction request message carries the target cryptographic algorithm, and the target cryptographic algorithm is used to instruct the blockchain node to process the transaction request message based on the target cryptographic algorithm; The software version of the device is updated synchronously with the software version of the blockchain node.

16. The device according to claim 15, characterized in that The set of available cryptographic algorithms includes at least one of the following: an available signature algorithm; an available hash algorithm; and an available encryption algorithm.

17. The device according to claim 15, characterized in that The device further comprises: The first control module is used to control the synchronization update of the software version of the blockchain client and the software version of the blockchain node.

18. The device according to claim 17, characterized in that The first control module is specifically configured to: Controlling the software version of the blockchain client to be updated at a first preset time interval; The first preset time interval is the update time interval of the software version of the blockchain node.

19. The device according to claim 17, characterized in that The first control module includes: A first sending unit, sending an update request message to the software server at a first update time point; a first receiving unit, configured to receive information about a second software version returned by the software server, where the second software version is the latest software version; The first processing unit is configured to update the software version of the blockchain client according to the information of the second software version, and send the information of the second software version to any other blockchain client and any blockchain node, so that any other blockchain client and any blockchain node update their software versions according to the information of the second software version.

20. The device according to claim 15, characterized in that The device further comprises: a first receiving module, configured to receive first indication information and a version identifier of a third software version sent by the blockchain node, wherein the first indication information is used to indicate that the target cryptographic algorithm is not in a second cryptographic algorithm set, the second cryptographic algorithm set is a set of available cryptographic algorithms corresponding to the third software version, and the third software version is a current software version of the blockchain node; A first updating module is configured to update the software version of the blockchain client when the version identifier of the third software version indicates that the third software version is higher than the first software version.

21. The device according to claim 15, characterized in that The transaction request message also carries a version identifier of the first software version, and the version identifier of the first software version is used to instruct the blockchain node to determine whether to update the software version of the blockchain node.

22. A transaction processing device, characterized in that: include: A second receiving module is configured to receive a transaction request message sent by a blockchain client, the transaction request message carrying a target cryptographic algorithm, the target cryptographic algorithm being a cryptographic algorithm in a first cryptographic algorithm set, the first cryptographic algorithm set being a set of available cryptographic algorithms corresponding to a first software version, and the first software version being the current software version of the blockchain client; A first processing module, configured to process the transaction request message based on the target cryptographic algorithm; The software version of the device is updated synchronously with the software version of the blockchain client.

23. The device according to claim 22, characterized in that The set of available cryptographic algorithms includes at least one of the following: an available signature algorithm; an available hash algorithm; and an available encryption algorithm.

24. The device according to claim 22, characterized in that The device further comprises: The second control module is used to control the synchronous update of the software version of the blockchain node and the software version of the blockchain client.

25. The device according to claim 24, characterized in that The second control module is specifically configured to: Controlling the software version of the blockchain node to be updated at a first preset time interval; The first preset time interval is the update time interval of the software version of the blockchain client.

26. The device according to claim 24, characterized in that The second control module includes: The second inventive unit is configured to send an update request message to the software server at a second update time point; A second receiving unit is configured to receive information about a second software version returned by the software server, where the second software version is the latest software version; The third processing unit is configured to update the software version of the blockchain node according to the information of the second software version, and send the information of the second software version to any other blockchain node and any blockchain client, so that any other blockchain node and any blockchain client update their software version according to the information of the second software version.

27. The device according to claim 22, characterized in that The device further comprises: a second sending module, configured to send, if the target cryptographic algorithm is not in a second cryptographic algorithm set, first indication information and a version identifier of a third software version to the blockchain client, where the second cryptographic algorithm set is a set of available cryptographic algorithms corresponding to the third software version, and the third software version is a current software version of the blockchain node; The first processing module is specifically configured to: In a case where the target cryptographic algorithm is in the second cryptographic algorithm set, the transaction request message is processed based on the target cryptographic algorithm.

28. The device according to claim 22, characterized in that The transaction request message also carries a version identifier of the first software version; The device further comprises: The second update module is used to update the software version of the blockchain node when the target cryptographic algorithm is not in the second cryptographic algorithm set and the version identifier of the first software version indicates that the first software version is higher than the third software version.

29. An electronic device, characterized in that: The method comprises a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the steps of the method according to any one of claims 1 to 14 when executed by the processor.

30. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, which implements the steps of the method according to any one of claims 1 to 14 when executed by a processor.

Citation Information

Patent Citations

  • Software upgrading method, client and electronic device

    CN108241517A

  • Data storage method of block chain system, nodes and block chain system

    CN109495249A