A method, apparatus and device for processing a blockchain transaction

By maintaining only the correspondence between target blockchain accounts and shared public keys in the blockchain network, user devices generate and send threshold signatures, which are then verified by blockchain nodes. This solves the problem of the complexity of blockchain account management and transaction processing, and enables convenient account management and transaction processing.

CN114281893BActive Publication Date: 2025-10-17ANT BLOCKCHAIN TECHNOLOGY (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111580444.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-22
Publication Date
2025-10-17
Estimated Expiration
2041-12-22

AI Technical Summary

Technical Problem

In existing technologies, blockchain account management and transaction processing are not very convenient, mainly because blockchain networks need to maintain the correspondence between blockchain accounts and multiple public keys and public key weights, which makes the management and verification process complicated.

Method used

By maintaining only the correspondence between the target blockchain account and the first shared public key in the blockchain network, the user device generates and sends transaction information carrying a threshold signature, and the blockchain nodes use the shared public key for verification, simplifying account management and transaction processing.

Benefits of technology

It improves the ease of managing and processing blockchain accounts, simplifies the maintenance of the correspondence between accounts and public keys, and increases processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114281893B_ABST
    Figure CN114281893B_ABST
Patent Text Reader

Abstract

Embodiments of the present specification disclose a kind of processing method, device and equipment of blockchain transaction.The scheme can include: the corresponding relationship between target blockchain account and the first shared public key of multiple first private keys can be maintained in blockchain network, after user generates first transaction information based on the account identification information of target blockchain account, first transaction information can be digitally signed using at least part of first private key, obtain first threshold signature, to send the first transaction information carrying the first threshold signature to the blockchain node in the blockchain network, and the blockchain node can process the first transaction information based on the first shared public key stored in blockchain network.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of blockchain, and in particular to a blockchain transaction processing method, device and equipment. BACKGROUND

[0002] Blockchain is a kind of distributed shared ledger and database, which has the characteristics of decentralization, non-tamperability, full traceability, collective maintenance, openness and transparency, etc. These characteristics make blockchain technology have a wider application prospect. At present, when multiple users need to use and control the same blockchain account and corresponding resources, the corresponding weights can be set for the public keys of the multiple users, and the blockchain account can be created based on the multiple public keys and the corresponding weights, so that the multiple users can use the blockchain account to initiate blockchain transactions based on the weights of the respective public keys and the corresponding private keys. The blockchain network can maintain the correspondence between the blockchain account and the multiple public keys, so as to process the blockchain transactions of the blockchain account based on the multiple public keys.

[0003] Therefore, how to improve the management convenience of the blockchain account and the processing convenience of the blockchain transaction has become a technical problem to be solved. SUMMARY

[0004] The blockchain transaction processing method, device and equipment provided by the embodiments of the present application can improve the management convenience of the blockchain account and the processing convenience of the blockchain transaction.

[0005] To solve the above technical problems, the embodiments of the present application are implemented as follows:

[0006] The blockchain transaction processing method provided by the embodiments of the present application comprises:

[0007] The user equipment acquires account identification information of a target blockchain account; the target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of multiple first private keys, the first shared public key is used for verifying a digital signature generated by using the first private key, and the first shared public key is stored in a blockchain network;

[0008] Based on the account identification information of the target blockchain account, first transaction information is generated;

[0009] At least part of the first private key is used to digitally sign the first transaction information to obtain a first threshold signature;

[0010] The first transaction information carrying the first threshold signature is sent to a blockchain node in the blockchain network.

[0011] The embodiment of the present specification provides a processing method of a blockchain transaction, comprising:

[0012] The blockchain node acquires first transaction information carrying a first threshold signature, the first transaction information is blockchain transaction information generated based on account identification information of a target blockchain account, the target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, and the first threshold signature is obtained by digitally signing the first transaction information using at least part of the first private keys;

[0013] Based on the first transaction information, the first shared public key is acquired;

[0014] The first threshold signature is verified using the first shared public key, and a first signature verification result is obtained;

[0015] According to the first signature verification result, the first transaction information is processed.

[0016] The embodiment of the present specification provides a processing device of a blockchain transaction, comprising:

[0017] The acquisition module is used for a user equipment to acquire account identification information of a target blockchain account; the target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, the first shared public key is used for verifying a digital signature generated using the first private key, and the first shared public key is stored in a blockchain network;

[0018] The first generation module is used for generating first transaction information based on the account identification information of the target blockchain account;

[0019] The digital signature module is used for digitally signing the first transaction information using at least part of the first private keys to obtain a first threshold signature;

[0020] The first sending module is used for sending the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

[0021] The embodiment of the present specification provides a processing device of a blockchain transaction, comprising:

[0022] The first acquisition module is used for a blockchain node to acquire first transaction information carrying a first threshold signature, the first transaction information is blockchain transaction information generated based on account identification information of a target blockchain account, the target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, and the first threshold signature is obtained by digitally signing the first transaction information using at least part of the first private keys;

[0023] A second acquisition module, configured to acquire the first shared public key based on the first transaction information;

[0024] a signature verification module, configured to verify the first threshold signature using the first shared public key to obtain a first signature verification result;

[0025] A transaction processing module is used to process the first transaction information according to the first signature verification result.

[0026] The embodiments of this specification provide a blockchain transaction processing device, including:

[0027] at least one processor; and,

[0028] a memory communicatively connected to the at least one processor; wherein,

[0029] The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to:

[0030] Obtaining account identification information of a target blockchain account; the target blockchain account is a blockchain account that has a corresponding relationship with a first shared public key of multiple first private keys, the first shared public key is used to verify a digital signature generated using the first private key, and the first shared public key is stored in the blockchain network;

[0031] Generate first transaction information based on the account identification information of the target blockchain account;

[0032] digitally signing the first transaction information using at least part of the first private key to obtain a first threshold signature;

[0033] Send the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

[0034] The embodiments of this specification provide a blockchain transaction processing device, wherein the device is deployed with a blockchain node, including:

[0035] at least one processor; and,

[0036] a memory communicatively connected to the at least one processor; wherein,

[0037] The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to:

[0038] obtain first transaction information carrying a first threshold signature, the first transaction information being blockchain transaction information generated based on account identification information of a target blockchain account, the target blockchain account being a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, the first threshold signature being obtained by digitally signing the first transaction information using at least part of the first private keys;

[0039] obtain the first shared public key based on the first transaction information;

[0040] verify the first threshold signature using the first shared public key to obtain a first signature verification result;

[0041] process the first transaction information according to the first signature verification result.

[0042] At least one of the embodiments provided in the specification can achieve the following beneficial effects:

[0043] The corresponding relationship between the target blockchain account and the first shared public key of the plurality of first private keys can be maintained in the blockchain network. After the user generates the first transaction information based on the account identification information of the target blockchain account, the user can digitally sign the first transaction information using at least part of the first private keys to obtain the first threshold signature, and send the first transaction information carrying the first threshold signature to the blockchain node in the blockchain network. The blockchain node can process the first transaction information based on the first shared public key stored in the blockchain network. Since the blockchain network only needs to maintain the corresponding relationship between the target blockchain account and the first shared public key, and does not need to maintain the corresponding relationship between the target blockchain account and the plurality of public keys and the public key weight, the management convenience for the blockchain account is improved.

[0044] Since the blockchain node can verify the threshold signature carried by the blockchain transaction of the target blockchain account using the first shared public key, and does not need to process the blockchain transaction of the target blockchain account based on the plurality of public keys and the public key weight, the processing convenience for the blockchain transaction is improved. BRIEF DESCRIPTION OF DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the embodiments of the specification or the prior art, the drawings needed in the embodiment or prior art description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments described in the present application, and those skilled in the art can also obtain other drawings according to these drawings without creative labor.

[0046] Figure 1A schematic diagram of an overall scheme flow of a processing method of a blockchain transaction in an embodiment of the present specification;

[0047] Figure 2 A schematic diagram of a processing method of a blockchain transaction in an embodiment of the present specification;

[0048] Figure 3 A schematic diagram of a processing method of a blockchain transaction in an embodiment of the present specification;

[0049] Figure 4 A swim lane schematic diagram of a processing method of a blockchain transaction in an embodiment of the present specification corresponding to Figure 2 and Figure 3 ;

[0050] Figure 5 A schematic diagram of a processing device of a blockchain transaction in an embodiment of the present specification corresponding to Figure 2 ;

[0051] Figure 6 A schematic diagram of a processing device of a blockchain transaction in an embodiment of the present specification corresponding to Figure 3 ;

[0052] Figure 7 A schematic diagram of a processing device of a blockchain transaction in an embodiment of the present specification corresponding to Figure 2 ;

[0053] Figure 8 A schematic diagram of a processing device of a blockchain transaction in an embodiment of the present specification corresponding to Figure 3 . DETAILED DESCRIPTION

[0054] In order to make the purpose, technical solutions and advantages of one or more embodiments of the present specification clearer, the technical solutions of one or more embodiments of the present specification will be described clearly and completely below in conjunction with the specific embodiments of the present specification and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of the present specification, rather than all the embodiments. Based on the embodiments in the present specification, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of one or more embodiments of the present specification.

[0055] The technical solutions provided by the embodiments of the present specification will be described in detail below in conjunction with the drawings.

[0056] In the prior art, a block chain can be understood as a data chain composed of a plurality of blocks stored in sequence, and the block header of each block contains a timestamp of the block, a hash value of information of a previous block, and a hash value of information of the block, thereby realizing mutual verification between blocks and forming an unalterable block chain. Each block can be understood as a data block (a unit for storing data). The block chain, as a decentralized database, is a chain of data blocks associated with each other using a cryptographic method, each data block contains information of a network transaction, and is used to verify the validity (anti-fake) of the information and generate the next block. The chain formed by connecting the blocks at the head and tail is the block chain. If the data in the block needs to be modified, the contents of all blocks after the block need to be modified, and the data backed up by all nodes in the block chain network needs to be modified. Therefore, the block chain has the characteristics of being difficult to tamper with and delete, and after the data is saved to the block chain, it has reliability as a method for maintaining the integrity of the content.

[0057] At present, when a plurality of users need to use and control the same block chain account, the corresponding weights of the public keys of the plurality of users can be set, and a block chain account is requested to be created based on the plurality of public keys and the corresponding weights, so that the plurality of users can use and control the resources at the block chain account based on the weights of the respective public keys and the corresponding private keys. For the sake of understanding, an example is given.

[0058] Suppose that the public key weights of the public key 1, the public key 2 and the public key 3 of the user A, the user B and the user C are set as 40:40:60 respectively, and the signature threshold value of the block chain transaction is set as 90. The block chain network can generate a target block chain account based on the above information, and establish the corresponding relationship between the target block chain account and the public key 1, the public key 2 and the public key 3, store the public key 1, the public key 2 and the public key 3 and the corresponding public key weights, and store the signature threshold value of the block chain transaction of the target block chain account as 90.

[0059] Subsequently, after the user A generates target transaction information using the block chain account, if the user A uses the private key 1 corresponding to the public key 1 to digitally sign the target transaction information to obtain a first digital signature, and the user C uses the private key 3 corresponding to the public key 3 to digitally sign the target transaction information to obtain a second digital signature, the user A can send the target transaction information carrying the first digital signature and the second digital signature to the block chain node in the block chain network.

[0060] The blockchain node can use the public key 1, the public key 2 and the public key 3 stored at the blockchain network to respectively verify the first digital signature and the second digital signature. At this time, since the public key 1 can pass the verification of the first digital signature, and the public key 3 can pass the verification of the second digital signature, and the sum of the public key weights corresponding to the public key 1 and the public key 3 (100) is greater than the signature threshold value (90), therefore, the blockchain node can allow the target transaction information to be processed.

[0061] The prior art scheme is inconvenient for managing the blockchain account, because the blockchain network needs to maintain the correspondence between the blockchain account and the plurality of public keys. In addition, the blockchain node may need to use a plurality of public keys to respectively verify the digital signatures carried by the blockchain transaction when processing the blockchain transaction, which also affects the processing convenience of the blockchain transaction.

[0062] In order to solve the defects in the prior art, the present scheme provides the following embodiments:

[0063] Figure 1 A schematic diagram of the overall scheme flow of a blockchain transaction processing method in an embodiment of the present specification.

[0064] As shown in Figure 1 The blockchain network can include a plurality of blockchain nodes capable of communicating with each other, for example, a first blockchain node 101, a second blockchain node 102, a third blockchain node 103, a fourth blockchain node 104, a fifth blockchain node 105, etc. In actual application, the blockchain network can also include other blockchain nodes not shown in the figure, which are not limited here. The blockchain network has a target blockchain account created based on a first shared public key of a plurality of first private keys, and stores the correspondence between the target blockchain account and the first shared public key. Figure 1

[0065] The user device 106 can generate first transaction information based on the account identifier information of the target blockchain account, and use at least part of the first private key to digitally sign the first transaction information to obtain a first threshold signature. The first transaction information carrying the first threshold signature is sent to the blockchain nodes in the blockchain network.

[0066] Suppose the first blockchain node 101 obtains the first transaction information carrying the first threshold signature, the first blockchain node 101 can obtain the first shared public key based on the first transaction information, and use the first shared public key to verify the first threshold signature. If the verification is passed, the first transaction information can be processed, if the verification is not passed, the first transaction information can be prohibited to be processed.

[0067] ​The blockchain transaction processing method provided in the embodiments of the present specification is beneficial to improving the management convenience of the blockchain account, because the correspondence between the target blockchain account and the first shared public key needs to be maintained in the blockchain network, and the correspondence between the target blockchain account and the plurality of public keys and the public key weights does not need to be maintained.

[0068] Moreover, the blockchain node can verify the threshold signature carried by the blockchain transaction of the target blockchain account by using the first shared public key, and the blockchain transaction of the target blockchain account does not need to be processed based on the plurality of public keys and the public key weights, which is beneficial to improving the processing convenience of the blockchain transaction.

[0069] Next, a blockchain transaction processing method provided by the embodiments of the present specification will be described in detail in combination with the drawings:

[0070] Figure 2 The flowchart of the blockchain transaction processing method provided by the embodiments of the present specification. From the program perspective, the execution subject of the flowchart can be a user device, or an application program loaded at the user device. As shown in the figure, Figure 2 The flowchart can include the following steps:

[0071] Step 202: The user device acquires account identification information of a target blockchain account; the target blockchain account is a blockchain account having a correspondence relationship with a first shared public key of a plurality of first private keys, the first shared public key is used for verifying a digital signature generated by using the first private key, and the first shared public key is stored in a blockchain network.

[0072] In the embodiments of the present specification, the blockchain network can have a target blockchain account created based on a first shared public key of a plurality of first private keys, and store the correspondence between the target blockchain account and the first shared public key. Among them, the plurality of first private keys correspond to the same public key (i.e. the first shared public key), and the specific content (such as the included string) of different first private keys is usually different, and the first shared public key can verify the digital signature generated by using each first private key.

[0073] In the embodiments of the present specification, when a plurality of users need to use the same target blockchain account, the target blockchain account needs to be created in advance. Specifically, before step 202, the method can further include:

[0074] Obtaining the first shared public key of the plurality of first private keys.

[0075] Generating account identification information of the target blockchain account.

[0076] According to the account identification information and the first shared public key, second transaction information for requesting creation of the target blockchain account is generated.

[0077] The second transaction information is sent to a blockchain node in a blockchain network.

[0078] In the embodiments of the present specification, a user can generate a first shared public key corresponding to a plurality of first private keys by himself / herself, and generate account identification information of a target blockchain account by himself / herself, to request to establish a target blockchain account with an account address being the account identification information and a public key being the first shared public key.

[0079] In actual applications, a Blockchain as a Service (BaaS) platform can embed a blockchain framework into a cloud computing platform, utilize the deployment and management advantages of a cloud service infrastructure, and provide a user with a convenient and high-performance blockchain ecological environment and ecological supporting services, to help the user quickly and easily build a blockchain network and a Decentralized Application (DAPP) in various business scenarios. Therefore, the user can use the BaaS platform to conveniently manage the blockchain network based on the BaaS platform.

[0080] Based on this, the user can use the BaaS platform to request to create a target blockchain account in a blockchain network. Specifically, the user can set a blockchain account name by himself / herself, and process the blockchain account name based on the BaaS platform to generate a blockchain account address with a fixed length, so that the blockchain account address can be used as the account identification information of the target blockchain account. Alternatively, after the user obtains a first shared public key corresponding to a plurality of private keys, the first shared public key can also be processed based on the BaaS platform to generate a blockchain account address with a fixed length, so that the blockchain account address can be used as the account identification information of the target blockchain account. Alternatively, the blockchain account address can also be generated based on a blockchain account name, a first shared public key and other specified information, which is not limited in detail.

[0081] In the embodiments of the present specification, the second transaction information for requesting creation of the target blockchain account can include:

[0082] a "From" field, a "To" field, and a "Data" field; the "From" field can be filled with an account address of a sender, i.e., account identification information of the target blockchain account generated by the user, for example, a fixed-length blockchain account address generated by the user; the "To" field can be filled with an account address of a blockchain node receiving the second transaction information. The "Data" field, i.e., a data field in the transaction, can be filled with the first shared public key. Of course, the second transaction information can also carry a digital signature generated by using the first private key for the second transaction information.

[0083] After receiving the second transaction information, if verification by using the first shared public key for the digital signature carried by the second transaction information is passed, it can be indicated that the second transaction information is not tampered with, and thus the second transaction information can be sent to other blockchain nodes in the blockchain network for consensus verification to create the target blockchain account in the blockchain.

[0084] Step 204: generating first transaction information based on account identification information of the target blockchain account.

[0085] In the embodiments of the present specification, the account identification information of the target blockchain account can be an account address of the target blockchain account, and the user can use the account address of the target blockchain account as the account address of the sender in the first transaction information to initiate the first transaction information according to actual needs. In actual applications, the transaction corresponding to the first transaction information can have multiple functions, for example, used for storing information to the blockchain network, used for transferring resources to other blockchain accounts, and the like, which are not limited specifically.

[0086] Step 206: digitally signing the first transaction information by using at least part of the first private key to obtain a first threshold signature.

[0087] In the embodiments of the present specification, the first transaction information can be directly digitally signed by using the first private key to obtain the first threshold signature, or the hash value of the first transaction information can be digitally signed by using the first private key to obtain the first threshold signature, which is not limited specifically.

[0088] In the embodiments of the present specification, if the number of the first private keys contained in the at least part of the first private key is equal to 1, the first transaction information can be directly digitally signed by using the one first private key, and the generated signature data can be used as the first threshold signature. If the number of the first private keys contained in the at least part of the first private key is greater than 1, each first private key contained in the at least part of the first private key can be used to digitally sign the first transaction information, and the set of the generated multiple signature data can be used as the first threshold signature.

[0089] That is, step 206 can specifically include: digitally signing the first transaction information respectively by using at least part of the first private keys to obtain a sub-signature set; and one sub-signature in the sub-signature set is generated by using one of the at least part of the first private keys.

[0090] In the embodiments of the present specification, each user in the plurality of users can only be in charge of part of the first private keys, so that the plurality of users can jointly use and control the same target blockchain account based on the respective first private keys in their charge. Wherein, each user can be in charge of one first private key or multiple first private keys, which is not specifically limited.

[0091] Based on this, if at least part of the first private keys are stored in a plurality of private key management devices, then digitally signing the first transaction information respectively by using at least part of the first private keys to obtain a sub-signature set can specifically include:

[0092] Sending a digital signature request for the first transaction information to the private key management device.

[0093] Receiving a sub-signature fed back by the private key management device in response to a user authorization instruction for the digital signature request to obtain a sub-signature set; the sub-signature is signature data obtained by digitally signing the first transaction information by using the first private key stored at the private key management device.

[0094] In actual application, if some of the at least part of the first private keys are stored in the execution subject (i.e. user equipment) of the method in the middle, then the first private key at the user equipment can be directly called to sign the first transaction information, without the need to send a digital signature request again. Figure 2

[0095] Step 208: sending the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

[0096] In the embodiments of the present specification, after receiving the first transaction information, the blockchain node in the blockchain network can verify the first threshold signature carried by the first transaction information by using the first shared public key stored in the blockchain network, and if the verification is passed, the first transaction information is allowed to be processed, and if the verification is not passed, the first transaction information is prohibited to be processed.

[0097] ​Specifically, the first shared public key has a first threshold value (i.e., a signature threshold value) that is pre-designated by the users, and if the first threshold signature is generated by using a number of first private keys reaching the first threshold value, the first public shared public key can pass the verification for the first threshold signature, and if the first threshold signature is generated by using a number of first private keys not reaching the first threshold value, the first public shared public key can fail the verification for the first threshold signature, so as to enable the users to jointly use and control the same target blockchain account and related resources.

[0098] Figure 2 The method in the above embodiment has the advantages that, in the blockchain network, only the correspondence between the target blockchain account and the first shared public key needs to be maintained, and the correspondence between the target blockchain account and the plurality of public keys and the public key weights does not need to be maintained, thereby facilitating the management convenience of the blockchain account.

[0099] Based on the method in the above embodiment, the present embodiment further provides some specific implementation solutions of the method, which are described below. Figure 2

[0100] In the present embodiment, before creating the blockchain account, the user can also use an off-chain device to obtain the plurality of private keys and the corresponding first shared public key by himself / herself, so as to create and use the target blockchain account based on the generated first shared public key and the plurality of private keys. The off-chain device can refer to a device that does not need to provide a blockchain node service.

[0101] In the method, the first shared public key of the plurality of first private keys can be obtained in the following manner:

[0102] According to the first number and the first threshold value, a first key set is generated by using a distributed key generation protocol; the first key set includes a first shared public key and the first number of first private keys, the first shared public key is used to generate a signature verification result indicating a pass for a second threshold signature, and the second threshold signature is a digital signature generated by using the first private keys reaching the first threshold value.

[0103] In the present embodiment, the distributed key generation protocol (DKG) allows a plurality of participants to jointly generate a public key and a plurality of private keys of a secret system, so that the public key is output in a public form, and the plurality of private keys are shared by the participants according to a certain secret sharing scheme, so that the shared private key can be used for a group-oriented cryptographic system, such as group signature or group decryption.

[0104] ​In practical applications, the (n, t)-DKG can allow a user to set the number n of private keys to be generated and the threshold value t, so that the shared public key generated by the user can pass the verification of the digital signature generated by the private key with a number greater than or equal to t, and the shared public key can not pass the verification of the digital signature generated by the private key with a number less than t. Therefore, the user can set n as a first number and t as a first threshold value to generate a plurality of first private keys and corresponding first shared public keys.

[0105] In the prior art, when a target blockchain account is created based on a plurality of public keys and public key weights, if a new user wants to use the target blockchain account by using a personal private key, or a user wants to update the management weight of the target blockchain account (which can be realized by changing the public key weight), or a user wants to change the signature threshold value of the target blockchain account, a new blockchain account needs to be created, which means that the account address of the blockchain account commonly used by a plurality of users needs to be changed, and dynamic updating cannot be realized, resulting in poor management convenience of the blockchain account.

[0106] In the embodiments of the present specification, a plurality of ways can be used to dynamically update the number of users, the management weight of the user, or the signature threshold value without changing the account address of the target blockchain account.

[0107] Implementation manner one

[0108] After the first key set is generated based on the first number and the first threshold value by using the distributed key generation protocol, the following can be further included:

[0109] Based on the first private key of the first number, a new first private key corresponding to the first shared public key is generated by using the distributed key generation protocol; the first shared public key is used to generate a signature verification result indicating pass for a third threshold signature, the third threshold signature is a digital signature generated by using a specified private key with a number reaching the first threshold value, and the specified private key includes the first private key and the first new private key.

[0110] In the embodiments of the present specification, the distributed key generation protocol can be an adaptive distributed key generation protocol. After generating the first key set, the adaptive distributed key generation protocol can generate a new private key corresponding to the first shared public key (i.e., a new first private key) according to all the first private keys in the first key set. The new first private key is different from the specific content of each first private key included in the first key set, but the new first private key has the same function as each first private key included in the first key set. Thus, without changing the account address of the target blockchain account and the corresponding first shared public key, the new user can use the new first private key to use or control the target blockchain account, or increase the number of first private keys managed by the specified user to increase the management weight (i.e., signature weight) of the specified user on the target blockchain account.

[0111] In actual applications, the adaptive distributed key generation protocol can perform corresponding calculations for each first private key to obtain a calculation result that does not disclose the first private key. By aggregating all the calculation results, a new first private key can be obtained. Subsequently, when the user initiates a blockchain transaction using the target blockchain account, the new first private key and the first private keys in the first key set can be used to digitally sign the blockchain transaction.

[0112] Implementation mode two

[0113] After sending the second transaction information for requesting to create the target blockchain account to the node in the blockchain network, the method can further include:

[0114] According to the second number and the second threshold value, a second key set is generated by using the distributed key generation protocol. The second key set includes a second shared public key and a second number of second private keys. The second shared public key is used to generate a signature verification result indicating a verification pass for a fourth threshold signature. The fourth threshold signature is a digital signature generated by using the second private keys whose number reaches the second threshold value.

[0115] According to the second shared public key, third transaction information is generated. The third transaction information is used to indicate a correspondence between the second shared public key and the target blockchain account. The third transaction information can also be used to indicate that the correspondence between the first shared public key and the target blockchain account is set to an invalid state.

[0116] The third transaction information is sent to a blockchain node in the blockchain network.

[0117] In the embodiments of the present specification, when the signature threshold value needs to be changed, the shared public key corresponding to the target blockchain account needs to be changed. At this time, the second key set can be generated according to actual needs by using a distributed key generation protocol. The second shared public key in the second key set corresponds to a second threshold value. After establishing the correspondence between the second shared public key and the target blockchain account in the blockchain network, the correspondence between the target blockchain account and the first shared public key can also be invalidated, so as to change the signature threshold value of the target blockchain account from the first threshold value to the second threshold value.

[0118] In the embodiments of the present specification, the change of the signature threshold value is realized by changing the shared public key corresponding to the target blockchain account, without changing the account address of the target blockchain account. It is convenient and fast.

[0119] In the embodiments of the present specification, after the third transaction information is sent to the blockchain node in the blockchain network, the method can further include:

[0120] Based on the account identification information of the target blockchain account, fourth transaction information is generated.

[0121] The fourth transaction information is digitally signed by using at least part of the second private key to obtain a fifth threshold signature.

[0122] The fourth transaction information carrying the fifth threshold signature is sent to the blockchain node in the blockchain network.

[0123] In the embodiments of the present specification, after the correspondence between the target blockchain account and the second shared public key is established, when the user needs to initiate a blockchain transaction using the target blockchain account, the second private key corresponding to the second shared public key needs to be used to digitally sign the blockchain transaction, so that the blockchain node verifies the blockchain transaction based on the second shared public key.

[0124] Based on the same idea as the scheme shown in Figure 1 The embodiments of the present specification also provide another method for processing a blockchain transaction. Figure 3 The flowchart of another method for processing a blockchain transaction provided by the embodiments of the present specification is shown. The execution subject of the flowchart can be a blockchain node, or an application program loaded on the blockchain node. As Figure 3 shown, the flowchart can include:

[0125] Step 302: The blockchain node acquires first transaction information carrying a first threshold signature, the first transaction information being blockchain transaction information generated based on account identification information of a target blockchain account, the target blockchain account being a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, and the first threshold signature being a digital signature of the first transaction information using at least part of the first private keys.

[0126] In an embodiment of the present specification, the blockchain network to which the blockchain node belongs can have a target blockchain account created based on a first shared public key of a plurality of first private keys, and store a corresponding relationship between the target blockchain account (account address) and the first shared public key. Among them, the plurality of first private keys correspond to the same public key (i.e. the first shared public key), and the specific content of different first private keys is usually different, and the first shared public key can verify the digital signature generated by using each first private key.

[0127] In an embodiment of the present specification, the first transaction information carrying the first threshold signature acquired by the blockchain node in step 302 can be Figure 2 The first transaction information generated in steps 202-206 is not described herein.

[0128] Step 304: Based on the first transaction information, the first shared public key is acquired.

[0129] In an embodiment of the present specification, the first transaction information can include an account address of the target blockchain account, and the first shared public key can be acquired by acquiring the public key having a corresponding relationship with the account address.

[0130] Step 306: The first threshold signature is verified using the first shared public key to obtain a first signature verification result.

[0131] In an embodiment of the present specification, the first shared public key can be a shared public key in a first key set generated based on a first number and a first threshold value (i.e. a signature threshold value) using a distributed key generation protocol, and the first key set also includes the first number of first private keys.

[0132] Then, step 306 can specifically include: if the first threshold signature is a digital signature of the first transaction information using the first private keys whose number reaches the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification is passed.

[0133] If the first threshold signature is obtained by digitally signing the first transaction information using the first private key in an amount that does not reach the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification fails.

[0134] Step 308: processing the first transaction information according to the first signature verification result.

[0135] In the embodiments of the present specification, if the first signature verification result indicates that the verification of the first threshold signature passes, the first transaction information is allowed to be processed, for example, the consensus verification process for the first transaction information is continued. If the first signature verification result indicates that the verification of the first threshold signature fails, the first transaction information is prohibited from being processed, for example, the consensus verification process for the first transaction information is prohibited.

[0136] Figure 3 The method in the above embodiment can simplify the correspondence between accounts and public keys required to be maintained in the blockchain network, and is beneficial to simplifying the signature verification operation, thereby being beneficial to improving the processing convenience of the blockchain transaction.

[0137] Based on the method in the above embodiment, the present specification further provides some specific implementation solutions of the method, which are described below. Figure 3

[0138] In the embodiments of the present specification, the user also needs to create the target blockchain account before initiating the first transaction information using the target blockchain account.

[0139] Specifically, before step 302, the blockchain node obtaining the first transaction information carrying the first threshold signature can further include:

[0140] The blockchain node obtains second transaction information for requesting to create a target blockchain account, wherein the second transaction information is blockchain transaction information generated by a user device according to the first shared public key and account identifier information of the target blockchain account.

[0141] Based on the second transaction information, the target blockchain account with the account identifier information as the account address is created.

[0142] The correspondence between the target blockchain account and the first shared public key is established.

[0143] ​In the embodiment of this specification, the second transaction information obtained by the blockchain node for requesting to create a target blockchain account is Figure 2 The second transaction information generated in the embodiment of the method. The second transaction information may include:

[0144] The "From," "To," and "Data" fields contain the sender's account address, i.e., the user-generated account identification information for the target blockchain account, for example, a fixed-length user-generated blockchain account address. The "To" field contains the account address of the blockchain node receiving the second transaction information. The "Data" field is the data field in the transaction. For the second transaction information, the data field may include at least the first shared public key. Of course, the second transaction information may also carry a digital signature generated using the first private key for the second transaction information. Once the blockchain node verifies the digital signature carried by the second transaction information using the first shared public key, the target blockchain account is created and a corresponding relationship is established between the target blockchain account and the first shared public key.

[0145] In the embodiment of this specification, since the user can add a private key corresponding to the first shared public key (i.e., add a new first private key) without changing the first shared public key, so as to add a new user or change the signature weight of a specified user, when the user generates the first threshold signature using the newly added first private key, step 306 may specifically include:

[0146] If the first threshold signature is obtained by digitally signing the first transaction information using designated private keys whose number reaches the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification is passed; the designated private key includes the first private key and the newly added first private key, and the newly added first private key is a private key corresponding to the first shared public key generated by the distributed key generation protocol based on the first number of first private keys.

[0147] If the first threshold signature is obtained by digitally signing the first transaction information using a designated private key whose number does not reach the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification failed.

[0148] In the embodiments of the present specification, since the first shared public key corresponding to the target blockchain account does not change when the first private key is added to add a user or change the signature weight of a designated user, the correspondence between the target blockchain account and the first shared public key maintained at the blockchain network does not need to be changed, and the processing procedure of the blockchain node for the blockchain transaction of the target blockchain account does not need to be changed, thereby improving the operation convenience when adding a user or changing the signature weight of a designated user.

[0149] In the embodiments of the present specification, the user can also change the signature threshold value of the target blockchain account by changing the shared public key corresponding to the target blockchain account.

[0150] Specifically, Figure 3 The method in the above method can further include:

[0151] obtaining third transaction information, the third transaction information being used to indicate that a correspondence between a second shared public key and the target blockchain account is established; the second shared public key being a shared public key in a second key set generated by a distributed key generation protocol based on a second number and a second threshold value, the second key set further containing a second number of second private keys.

[0152] based on the third transaction information, the correspondence between the target blockchain account and the second shared public key is established, and the correspondence between the target blockchain account and the first shared public key is invalidated.

[0153] In the embodiments of the present specification, by enabling the user to change the shared public key corresponding to the target blockchain account to change the signature threshold value of the target blockchain account, the management convenience of the blockchain account is improved without the need to recreate the blockchain account.

[0154] In actual applications, after the correspondence between the target blockchain account and the second shared public key is established, Figure 3 The method in the above method can further include:

[0155] obtaining fourth transaction information carrying a second threshold signature, the fourth transaction information being blockchain transaction information generated based on the account identifier information of the target blockchain account, and the second threshold signature being obtained by digitally signing the fourth transaction information using at least part of the second private key.

[0156] based on the fourth transaction information, the second shared public key is obtained.

[0157] The second threshold signature is verified using the second shared public key, and a second signature verification result is obtained.

[0158] According to the second signature verification result, the fourth transaction information is processed.

[0159] In the embodiments of the present specification, the principle of verifying the fourth threshold signature by using the second shared public key can be the same as the principle of verifying the first threshold signature by using the first shared public key, and details are not repeated. Similarly, if the second signature verification result indicates that the fourth threshold signature is verified, the fourth transaction information is allowed to be processed, otherwise, the fourth transaction information is prohibited to be processed.

[0160] In the embodiments of the present specification, the first threshold signature can be a sub-signature set, and the sub-signature set can include sub-signatures obtained by digitally signing the first transaction information by using at least part of the first private key.

[0161] The first shared public key can be used to verify the first threshold signature, and specifically can include:

[0162] The sub-signature set is aggregated to obtain an aggregated signature.

[0163] The first shared public key is used to verify the aggregated signature.

[0164] In the embodiments of the present specification, the first shared public key is used to verify the aggregated signature, without the need to verify each sub-signature, which can improve the efficiency of digital signature verification.

[0165] Figure 4 The swim lane flowchart of the processing method of the blockchain transaction in the embodiments of the present specification is provided. As shown in Figure 2 , the processing flow of the blockchain transaction can involve a first user device of a first user, a second user device of a second user, a blockchain node and the like as execution subjects. Among them, the first user device and the second user device can be off-chain devices. Figure 3 Figure 4 In the creation stage of the target blockchain account, assuming that the first user and the second user need to jointly use and control the same target blockchain account, the first user device can be used to generate a first shared public key and a first number of first private keys according to the first number and the first threshold value by using a distributed key generation protocol. The first user device can also store part of the first private keys, and send other first private keys to the second user device for storage.

[0166] In the creation stage of the target blockchain account, assuming that the first user and the second user need to jointly use and control the same target blockchain account, the first user device can be used to generate a first shared public key and a first number of first private keys according to the first number and the first threshold value by using a distributed key generation protocol. The first user device can also store part of the first private keys, and send other first private keys to the second user device for storage.

[0167] ​The first device can further generate account identification information of the target blockchain account; generate second transaction information for requesting creation of the target blockchain account according to the account identification information and the first shared public key; and send the second transaction information to a blockchain node in the blockchain network.

[0168] After the blockchain node obtains the second transaction information for requesting creation of the target blockchain account, the blockchain node can create the target blockchain account with the account address being the account identification information based on the second transaction information, and establish a corresponding relationship between the target blockchain account and the first shared public key.

[0169] In the application stage of the target blockchain account, the first user device can obtain account identification information of the target blockchain account, and generate first transaction information based on the account identification information of the target blockchain account. The first user device can digitally sign the first transaction information using at least part of the first private key stored by the first user device to obtain a first sub-signature, and send a digital signature request for the first transaction information to a second user device. The second user device can digitally sign the first transaction information using at least part of the first private key stored by the second user device to obtain a second sub-signature, and feed back the second sub-signature to the first user device, so that the first user device takes a set of the first sub-signature and the second sub-signature as a first threshold signature. The first user device can send the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

[0170] After the blockchain node obtains the first transaction information carrying the first threshold signature, the blockchain node can aggregate all sub-signatures in the first threshold signature to obtain an aggregated signature. The blockchain node can obtain the first shared public key based on the first transaction information, and verify the aggregated signature using the first shared public key. If the verification is passed, the blockchain node allows processing of the first transaction information. If the verification is not passed, the blockchain node prohibits processing of the first transaction information.

[0171] Subsequently, it is assumed that the second user needs to increase the weight of his signature, or the second user is a new user. The first user device can generate a new first private key corresponding to the first shared public key based on the first number of first private keys using the distributed key generation protocol, and send the new first private key to the second user device of the second user for storage.

[0172] If the signature threshold of the target blockchain account needs to be changed, the first user device can generate a second key set according to the second quantity and the second threshold value by using the distributed key generation protocol, generate third transaction information according to a second shared public key in the second key set, the third transaction information being used to indicate a correspondence between the second shared public key and the target blockchain account, and send the third transaction information to a blockchain node in the blockchain network. After obtaining the third transaction information, the blockchain node can establish the correspondence between the target blockchain account and the second shared public key and the correspondence between the target blockchain account and the first shared public key based on the third transaction information.

[0173] Based on the same idea, the present specification also provides a device corresponding to the above method. Figure 5 The present specification provides a device corresponding to the above method. Figure 2 The device can include: Figure 5 The acquisition module 502 is configured to acquire, by a user device, account identification information of a target blockchain account.

[0174] The target blockchain account is a blockchain account having a correspondence with a first shared public key of a plurality of first private keys.

[0175] The first generation module 504 is configured to generate first transaction information based on the account identification information of the target blockchain account.

[0176] The digital signature module 506 is configured to digitally sign the first transaction information by using at least part of the first private key to obtain a first threshold signature.

[0177] The first sending module 508 is configured to send the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

[0178] Based on the device, Figure 5 the present specification also provides some specific embodiments of the device, which are described below.

[0179] Optionally, Figure 5 The device described in the present specification can further include:

[0180] The second generating module is configured to generate a first key set according to the first quantity and the first threshold value by using a distributed key generation protocol; the first key set includes a first shared public key and the first quantity of first private keys, and the first shared public key is used to generate a signature verification result indicating a verification pass for a second threshold signature, and the second threshold signature is a digital signature generated by using the first private keys with a quantity reaching the first threshold value.

[0181] The third generating module is configured to generate account identification information of a target blockchain account.

[0182] The fourth generating module is configured to generate second transaction information used to request creation of the target blockchain account according to the account identification information and the first shared public key.

[0183] The second sending module is configured to send the second transaction information to a blockchain node in a blockchain network.

[0184] Optionally, the apparatus described in any one of the preceding Figure 5

[0185] The fifth generating module is configured to generate a new first private key corresponding to the first shared public key based on the first quantity of first private keys by using the distributed key generation protocol; the first shared public key is used to generate a signature verification result indicating a verification pass for a third threshold signature, and the third threshold signature is a digital signature generated by using specified private keys with a quantity reaching the first threshold value, and the specified private keys include the first private keys and the first new private keys.

[0186] Optionally, the apparatus described in any one of the preceding Figure 5

[0187] The sixth generating module is configured to generate a second key set according to a second quantity and a second threshold value by using the distributed key generation protocol; the second key set includes a second shared public key and the second quantity of second private keys, and the second shared public key is used to generate a signature verification result indicating a verification pass for a fourth threshold signature, and the fourth threshold signature is a digital signature generated by using the second private keys with a quantity reaching the second threshold value.

[0188] The seventh generating module is configured to generate third transaction information according to the second shared public key, and the third transaction information is used to indicate a correspondence between the second shared public key and the target blockchain account.

[0189] The third sending module is configured to send the third transaction information to a blockchain node in the blockchain network.

[0190] Optionally, the apparatus described in any one of the preceding Figure 5 ​​​​​The apparatus described in the specification can further include:

[0191] The fourth transaction information generation module is configured to generate fourth transaction information based on the account identification information of the target blockchain account.

[0192] The signature module is configured to digitally sign the fourth transaction information using at least part of the second private key to obtain a fifth threshold signature.

[0193] The fourth transaction information sending module is configured to send the fourth transaction information carrying the fifth threshold signature to a blockchain node in the blockchain network.

[0194] Optionally, the digital signature module 506 can be specifically configured to:

[0195] digitally sign the first transaction information using at least part of the first private key to obtain a sub-signature set; one sub-signature in the sub-signature set is generated using one of the at least part of the first private key.

[0196] Optionally, the at least part of the first private key is stored at a plurality of private key management devices; and the digital signature module 506 can be specifically configured to:

[0197] send a digital signature request for the first transaction information to the private key management device.

[0198] receive a sub-signature fed back by the private key management device in response to a user authorization instruction for the digital signature request to obtain a sub-signature set; the sub-signature is signature data obtained by digitally signing the first transaction information using the first private key stored at the private key management device.

[0199] Based on the same idea, the embodiments of the present specification also provide a device corresponding to the above method. Figure 6 The structure of a blockchain transaction processing device corresponding to Figure 3 provided by the embodiments of the present specification is shown in the structure diagram. As Figure 6 shown, the device can include:

[0200] The first acquisition module 602 is configured to acquire, by a blockchain node, first transaction information carrying a first threshold signature, the first transaction information being blockchain transaction information generated based on account identification information of a target blockchain account, the target blockchain account being a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, and the first threshold signature being obtained by digitally signing the first transaction information using at least part of the first private key.

[0201] The second obtaining module 604 is configured to obtain the first shared public key based on the first transaction information.

[0202] The signature verification module 606 is configured to verify the first threshold signature by using the first shared public key to obtain a first signature verification result.

[0203] The transaction processing module 608 is configured to process the first transaction information according to the first signature verification result.

[0204] The apparatus based on Figure 6 The embodiments of the present specification also provide some specific implementation solutions of the apparatus, which are described below.

[0205] Optionally, Figure 6 The apparatus in the method can further include the following technical solutions.

[0206] The second transaction information obtaining module is configured to obtain, by the blockchain node, second transaction information used for requesting creation of a target blockchain account; the second transaction information is blockchain transaction information generated by a user device according to the first shared public key and account identifier information of the target blockchain account.

[0207] The creation module is configured to create, based on the second transaction information, the target blockchain account with the account identifier information as the account address.

[0208] The corresponding relationship establishing module is configured to establish a corresponding relationship between the target blockchain account and the first shared public key.

[0209] Optionally, the first shared public key is a shared public key in a first key set generated by using a distributed key generation protocol based on a first quantity and a first threshold value, and the first key set also contains a first quantity of first private keys; the signature verification module 606 can be specifically configured to:

[0210] If the first threshold signature is obtained by using the first private keys with a quantity reaching the first threshold value to digitally sign the first transaction information, the first shared public key is used to verify the first threshold signature to obtain a first signature verification result indicating that the verification is passed.

[0211] Optionally, the signature verification module 606 can be specifically configured to:

[0212] If the first threshold signature is obtained by digitally signing the first transaction information using designated private keys whose number reaches the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification is passed; the designated private key includes the first private key and the newly added first private key, and the newly added first private key is a private key corresponding to the first shared public key generated by the distributed key generation protocol based on the first number of first private keys.

[0213] Optional, Figure 6 The device may further include:

[0214] A third acquisition module is used to obtain third transaction information, where the third transaction information is used to indicate the establishment of a correspondence between a second shared public key and the target blockchain account; the second shared public key is a shared public key in a second key set generated based on a second quantity and a second threshold value using a distributed key generation protocol, and the second key set also includes the second quantity of second private keys.

[0215] An establishing module is used to establish a corresponding relationship between the target blockchain account and the second shared public key based on the third transaction information.

[0216] Optionally, the first threshold signature is a sub-signature set, and the sub-signature set includes sub-signatures obtained by digitally signing the first transaction information using at least part of the first private key.

[0217] The signature verification module 606 may be specifically configured to:

[0218] Aggregate all sub-signatures in the sub-signature set to obtain an aggregate signature.

[0219] The aggregate signature is verified using the first shared public key.

[0220] Optional, Figure 6 The device may further include:

[0221] a fourth transaction information acquisition module, configured to acquire fourth transaction information carrying a second threshold signature, wherein the fourth transaction information is blockchain transaction information generated based on the account identification information of the target blockchain account, and the second threshold signature is obtained by digitally signing the fourth transaction information using at least a portion of the second private key.

[0222] The second shared public key acquisition module is configured to acquire the second shared public key based on the fourth transaction information.

[0223] A second signature verification result generation module is configured to verify the fourth threshold signature by using the second shared public key, to obtain a second signature verification result.

[0224] A fourth transaction information processing module is configured to process the fourth transaction information according to the second signature verification result.

[0225] Based on the same idea, the present specification also provides a device corresponding to the above method.

[0226] Figure 7 A structure diagram of a processing device of a blockchain transaction corresponding to Figure 2 is provided in the present specification. As shown in Figure 7 , the device 700 can include:

[0227] at least one processor 710; and

[0228] a memory 730 in communication connection with the at least one processor; wherein

[0229] the memory 730 stores instructions 720 executable by the at least one processor 710, and the instructions are executed by the at least one processor 710 to enable the at least one processor 710 to:

[0230] obtain account identification information of a target blockchain account; the target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, the first shared public key is used for verifying a digital signature generated by using the first private key, and the first shared public key is stored in a blockchain network.

[0231] generate first transaction information based on the account identification information of the target blockchain account.

[0232] digitally sign the first transaction information by using at least part of the first private key, to obtain a first threshold signature.

[0233] send the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

[0234] Figure 8 A structure diagram of a processing device of a blockchain transaction corresponding to Figure 3 is provided in the present specification. As shown in Figure 8 , the device 800 is deployed with a blockchain node, and the device 800 can include:

[0235] at least one processor 810; and

[0236] a memory 830 in communication connection with the at least one processor; wherein

[0237] The memory 830 stores instructions 820 executable by the at least one processor 810 for enabling the at least one processor 810 to:

[0238] obtain first transaction information carrying a first threshold signature, the first transaction information being blockchain transaction information generated based on account identification information of a target blockchain account, the target blockchain account being a blockchain account having a corresponding relationship with a first shared public key of a plurality of first private keys, the first threshold signature being obtained by digitally signing the first transaction information using at least part of the first private keys.

[0239] obtain the first shared public key based on the first transaction information.

[0240] verify the first threshold signature using the first shared public key to obtain a first signature verification result.

[0241] process the first transaction information according to the first signature verification result.

[0242] Each of the embodiments in the specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other. Each of the embodiments focuses on the difference from other embodiments. In particular, for the device shown in Figure 7 and Figure 8 , since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiment.

[0243] In the 1990s, it was relatively easy to distinguish whether an improvement in a technology was a hardware improvement (e.g., an improvement in the circuit structure of a diode, transistor, switch, etc.) or a software improvement (an improvement in a method flow). However, as technology has evolved, many improvements in method flows today can be considered as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flows into hardware circuits. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A designer programs a digital system "integrated" on a PLD by himself, without having to ask a chip manufacturer to design and manufacture a special integrated circuit chip. Moreover, instead of manually manufacturing integrated circuit chips, this programming is now mostly implemented using "logic compiler" software, which is similar to the software compiler used when developing programs, and the original code before compilation must also be written in a specific programming language, which is called a hardware description language (HDL), and there are many types of HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also be aware that it is easy to obtain a hardware circuit that implements a logical method flow by simply logically programming the method flow in the above-mentioned hardware description languages and programming it into an integrated circuit.

[0244] The controller can be implemented in any suitable way, for example, the controller can take the form of a microprocessor or processor and a computer readable medium storing computer readable program code, such as software or firmware, executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that, in addition to being implemented in pure computer readable program code, the controller can also be implemented to perform the same functions in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers and embedded microcontrollers, etc. by logically programming the method steps. Therefore, such a controller can be considered as a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can even be considered as both a software module implementing a method and a structure within a hardware component.

[0245] The systems, apparatuses, modules or units illustrated by the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0246] For the sake of description, the above apparatuses are described in functional division and are described respectively. Of course, the functions of the units can be implemented in the same or multiple software and / or hardware in the implementation of the present application.

[0247] Those skilled in the art will understand that the embodiments of the present application can be provided as a method, a system or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.

[0248] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof.

[0249] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof.

[0250] The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof. Figure 1 one or more flowcharts and / or blocks in the flowcharts and / or combination thereof.

[0251] In one typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0252] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) and / or cache memory, non-volatile memory, such as read-only memory (ROM), EPROM, and / or flash memory. The memory is an example of computer-readable media.

[0253] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.

[0254] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover non-exclusive inclusion, such that a process, method, article or apparatus that comprises a list of elements does not only include those elements, but can also include other elements not expressly listed or inherent to such process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus that includes the element.

[0255] Those skilled in the art will appreciate that embodiments of the present application can be provided as a method, system or computer program product. Accordingly, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) containing computer usable program code.

[0256] The present application can be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communication network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including memory storage devices.

[0257] The above merely provides an example of the present application, and is not intended to limit the present application. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present application should be included in the scope of claims of the present application.

Claims

1. A method for processing blockchain transactions, comprising: The user device obtains the account identification information of the target blockchain account; The target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of multiple first private keys, the first shared public key is used to verify a digital signature generated using the first private key, and the first shared public key is stored in a blockchain network; the blockchain network is used to maintain the corresponding relationship between the target blockchain account and the first shared public key of the multiple first private keys; The plurality of user devices generate first transaction information based on the account identification information of the target blockchain account; Digitally signing the first transaction information using at least part of the first private key to obtain a first threshold signature, including: multiple user devices digitally signing the first transaction information using at least part of the first private key; Send the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

2. The method according to claim 1, before the user device obtains the account identification information of the target blockchain account, further comprising: Obtaining a first shared public key of the plurality of first private keys; Generate account identification information of the target blockchain account; Generate second transaction information for requesting to create the target blockchain account based on the account identification information and the first shared public key; Send the second transaction information to a blockchain node in the blockchain network.

3. The method according to claim 2, wherein obtaining the first shared public key of the plurality of first private keys comprises: generating a first key set using a distributed key generation protocol according to the first quantity and the first threshold; The first key set includes a first shared public key and the first number of first private keys. The first shared public key is used to generate a signature verification result indicating that the verification is passed for a second threshold signature. The second threshold signature is a digital signature generated using the first private key whose number reaches the first threshold value.

4. The method of claim 3, further comprising: after generating the first key set using a distributed key generation protocol based on the first quantity and the first threshold, Based on the first number of first private keys, generating a new first private key corresponding to the first shared public key using the distributed key generation protocol; The first shared public key is used to generate a signature verification result indicating that the verification is passed for the third threshold signature. The third threshold signature is a digital signature generated using a number of designated private keys that reaches the first threshold value. The designated private keys include: the first private key and the first newly added private key.

5. The method according to claim 3, after sending the second transaction information to the blockchain node in the blockchain network, further comprising: generating a second key set using the distributed key generation protocol according to the second quantity and the second threshold; The second secret key set includes a second shared public key and the second number of second private keys, the second shared public key is used to generate a signature verification result indicating a passed verification for a fourth threshold signature, the fourth threshold signature being a digital signature generated using the second private keys whose number reaches the second threshold value; Generate third transaction information based on the second shared public key, where the third transaction information is used to indicate the establishment of a correspondence between the second shared public key and the target blockchain account; Send the third transaction information to a blockchain node in the blockchain network.

6. The method of claim 5, further comprising: after sending the third transaction information to the blockchain node in the blockchain network; Generate fourth transaction information based on the account identification information of the target blockchain account; digitally signing the fourth transaction information using at least part of the second private key to obtain a fifth threshold signature; Send the fourth transaction information carrying the fifth threshold signature to a blockchain node in the blockchain network.

7. The method according to claim 1, wherein the step of digitally signing the first transaction information using at least a portion of the first private key to obtain a first threshold signature comprises: digitally signing the first transaction information using at least part of the first private key to obtain a sub-signature set; A sub-signature in the sub-signature set is generated using one of the at least part of the first private key.

8. The method of claim 7, wherein at least part of the first private key is stored at a plurality of private key management devices; The digitally signing the first transaction information using at least part of the first private key to obtain a sub-signature set specifically includes: Sending a digital signature request for the first transaction information to the private key management device; Receive a sub-signature fed back by the private key management device in response to a user authorization instruction for the digital signature request, and obtain a sub-signature set; the sub-signature is signature data obtained by digitally signing the first transaction information using the first private key stored at the private key management device.

9. A method for processing blockchain transactions, comprising: The blockchain node obtains first transaction information carrying a first threshold signature, where the first transaction information is blockchain transaction information generated by multiple user devices based on account identification information of a target blockchain account, the target blockchain account being a blockchain account having a corresponding relationship with a first shared public key of multiple first private keys, and the first threshold signature is obtained by the multiple user devices digitally signing the first transaction information using at least part of the first private key; and the blockchain network to which the blockchain node belongs is configured to maintain a corresponding relationship between the target blockchain account and the first shared public key of the multiple first private keys; Based on the first transaction information, obtaining the first shared public key; Verifying the first threshold signature using the first shared public key to obtain a first signature verification result; The first transaction information is processed according to the first signature verification result.

10. The method according to claim 9, before the blockchain node obtains the first transaction information carrying the first threshold signature, further comprising: The blockchain node obtains second transaction information for requesting to create a target blockchain account; The second transaction information is blockchain transaction information generated by the user device according to the first shared public key and the account identification information of the target blockchain account; Based on the second transaction information, create the target blockchain account whose account address is the account identification information; Establish a corresponding relationship between the target blockchain account and the first shared public key.

11. The method of claim 9, wherein the first shared public key is a shared public key in a first key set generated based on a first quantity and a first threshold value using a distributed key generation protocol, and the first key set further includes the first quantity of first private keys; The verifying the first threshold signature by using the first shared public key to obtain a first signature verification result specifically includes: If the first threshold signature is obtained by digitally signing the first transaction information using the first private key whose number reaches the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification is passed.

12. The method according to claim 11, wherein verifying the first threshold signature using the first shared public key to obtain a first signature verification result specifically comprises: If the first threshold signature is obtained by digitally signing the first transaction information using designated private keys whose number reaches the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification is passed; the designated private key includes the first private key and the newly added first private key, and the newly added first private key is a private key corresponding to the first shared public key generated by the distributed key generation protocol based on the first number of first private keys.

13. The method according to claim 11 or 12, wherein the first threshold signature is a sub-signature set, wherein the sub-signature set includes sub-signatures obtained by digitally signing the first transaction information using at least part of the first private key; The verifying the first threshold signature by using the first shared public key specifically includes: Aggregating all sub-signatures in the sub-signature set to obtain an aggregated signature; The aggregate signature is verified using the first shared public key.

14. The method of claim 9, further comprising: Obtaining third transaction information, where the third transaction information is used to indicate establishing a correspondence between the second shared public key and the target blockchain account; The second shared public key is a shared public key in a second key set generated based on a second quantity and a second threshold value using a distributed key generation protocol, and the second key set further includes the second quantity of second private keys; Based on the third transaction information, a correspondence between the target blockchain account and the second shared public key is established.

15. The method of claim 14, further comprising, after establishing the correspondence between the target blockchain account and the second shared public key: Obtaining fourth transaction information carrying a second threshold signature, where the fourth transaction information is blockchain transaction information generated based on the account identification information of the target blockchain account, and the second threshold signature is obtained by digitally signing the fourth transaction information using at least a portion of the second private key; Based on the fourth transaction information, obtaining the second shared public key; Verifying the fourth threshold signature using the second shared public key to obtain a second signature verification result; The fourth transaction information is processed according to the second signature verification result.

16. A blockchain transaction processing device, comprising: An acquisition module is used for a user device to obtain the account identification information of a target blockchain account; The target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of multiple first private keys, the first shared public key is used to verify a digital signature generated using the first private key, and the first shared public key is stored in a blockchain network; the blockchain network is used to maintain the corresponding relationship between the target blockchain account and the first shared public key of the multiple first private keys; A first generating module, configured for the plurality of user devices to generate first transaction information based on the account identification information of the target blockchain account; a digital signature module, configured to digitally sign the first transaction information using at least part of the first private key to obtain a first threshold signature, including: a plurality of the user devices digitally signing the first transaction information using at least part of the first private key; The first sending module is used to send the first transaction information carrying the first threshold signature to the blockchain node in the blockchain network.

17. The apparatus of claim 16, further comprising: A second generation module is configured to generate a first key set using a distributed key generation protocol according to the first quantity and the first threshold; The first key set includes a first shared public key and the first number of first private keys, the first shared public key is used to generate a signature verification result indicating a passed verification for a second threshold signature, and the second threshold signature is a digital signature generated using the first private keys in a number that reaches the first threshold value; A third generation module is used to generate account identification information of the target blockchain account; a fourth generating module, configured to generate second transaction information for requesting creation of the target blockchain account based on the account identification information and the first shared public key; The second sending module is used to send the second transaction information to a blockchain node in the blockchain network.

18. The apparatus of claim 17, further comprising: a fifth generating module, configured to generate, based on the first number of first private keys, a newly added first private key corresponding to the first shared public key by using the distributed key generation protocol; The first shared public key is used to generate a signature verification result indicating that the verification is passed for the third threshold signature. The third threshold signature is a digital signature generated using a number of designated private keys that reaches the first threshold value. The designated private keys include: the first private key and the first newly added private key.

19. The apparatus of claim 17, further comprising: a sixth generation module, configured to generate a second key set using the distributed key generation protocol based on the second quantity and the second threshold; the second key set including a second shared public key and the second quantity of second private keys, the second shared public key being used to generate a signature verification result indicating a passed verification for a fourth threshold signature, the fourth threshold signature being a digital signature generated using the second private keys whose quantity reaches the second threshold; a seventh generating module, configured to generate third transaction information based on the second shared public key, wherein the third transaction information is used to indicate establishment of a correspondence between the second shared public key and the target blockchain account; The third sending module is used to send the third transaction information to the blockchain node in the blockchain network.

20. A blockchain transaction processing device, comprising: a first acquisition module, configured for a blockchain node to acquire first transaction information carrying a first threshold signature, where the first transaction information is blockchain transaction information generated by multiple user devices based on account identification information of a target blockchain account, where the target blockchain account is a blockchain account corresponding to a first shared public key of multiple first private keys, and the first threshold signature is obtained by the multiple user devices digitally signing the first transaction information using at least part of the first private key; A second acquisition module, configured to acquire the first shared public key based on the first transaction information; a signature verification module, configured to verify the first threshold signature using the first shared public key to obtain a first signature verification result; A transaction processing module is used to process the first transaction information according to the first signature verification result.

21. The apparatus of claim 20, wherein the first shared public key is a shared public key in a first key set generated based on a first quantity and a first threshold value using a distributed key generation protocol, and the first key set further includes the first quantity of first private keys; The signature verification module is specifically used to: If the first threshold signature is obtained by digitally signing the first transaction information using the first private key whose number reaches the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification is passed.

22. The apparatus according to claim 21, wherein the signature verification module is specifically configured to: If the first threshold signature is obtained by digitally signing the first transaction information using designated private keys whose number reaches the first threshold value, the first threshold signature is verified using the first shared public key to obtain a first signature verification result indicating that the verification is passed; the designated private key includes the first private key and the newly added first private key, and the newly added first private key is a private key corresponding to the first shared public key generated by the distributed key generation protocol based on the first number of first private keys.

23. The apparatus of claim 20, further comprising: A third acquisition module is used to obtain third transaction information, where the third transaction information is used to indicate the establishment of a correspondence between the second shared public key and the target blockchain account; The second shared public key is a shared public key in a second key set generated based on a second quantity and a second threshold value using a distributed key generation protocol, and the second key set further includes the second quantity of second private keys; An establishing module is used to establish a corresponding relationship between the target blockchain account and the second shared public key based on the third transaction information.

24. A blockchain transaction processing device comprising: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to: Obtaining account identification information of a target blockchain account; the target blockchain account is a blockchain account having a corresponding relationship with a first shared public key of multiple first private keys, the first shared public key is used to verify a digital signature generated using the first private key, and the first shared public key is stored in a blockchain network; the blockchain network is used to maintain the corresponding relationship between the target blockchain account and the first shared public key of the multiple first private keys; Generate first transaction information based on the account identification information of the target blockchain account; digitally signing the first transaction information using at least part of the first private key to obtain a first threshold signature; Send the first transaction information carrying the first threshold signature to a blockchain node in the blockchain network.

25. A blockchain transaction processing device, wherein the device is deployed with a blockchain node, comprising: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to: Obtaining first transaction information carrying a first threshold signature, where the first transaction information is blockchain transaction information generated by multiple user devices based on account identification information of a target blockchain account, the target blockchain account being a blockchain account having a corresponding relationship with a first shared public key of multiple first private keys, and the first threshold signature being obtained by the multiple user devices digitally signing the first transaction information using at least part of the first private keys; and the blockchain network to which the blockchain node belongs is configured to maintain a corresponding relationship between the target blockchain account and the first shared public key of the multiple first private keys; Based on the first transaction information, obtaining the first shared public key; Verifying the first threshold signature using the first shared public key to obtain a first signature verification result; The first transaction information is processed according to the first signature verification result.

Citation Information

Patent Citations

  • Data processing method and device, computer equipment and medium

    CN111489159A

  • Block chain transaction processing method and device, equipment and storage medium

    CN112446039A