CN111523889A - Multi-signature implementation method, device, equipment and storage medium - Google Patents

Multi-signature implementation method, device, equipment and storage medium Download PDF

Info

Publication number
CN111523889A
CN111523889A CN202010306359.7A CN202010306359A CN111523889A CN 111523889 A CN111523889 A CN 111523889A CN 202010306359 A CN202010306359 A CN 202010306359A CN 111523889 A CN111523889 A CN 111523889A
Authority
CN
China
Prior art keywords
signature
signed
template
participating
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010306359.7A
Other languages
Chinese (zh)
Other versions
CN111523889B (en
Inventor
文格彬
王晓东
孙翰韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kunming Dagangke Technology Co ltd
Original Assignee
Kunming Dagangke Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kunming Dagangke Technology Co ltd filed Critical Kunming Dagangke Technology Co ltd
Priority to CN202010306359.7A priority Critical patent/CN111523889B/en
Publication of CN111523889A publication Critical patent/CN111523889A/en
Application granted granted Critical
Publication of CN111523889B publication Critical patent/CN111523889B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The invention relates to a method, a device, equipment and a storage medium for realizing multiple signatures, wherein the method comprises the following steps: generating a key pair for participating in a transaction; creating a multi-label template and returning the address of the multi-label template; transferring a pass certificate to the multi-signature module; creating a transaction according to the multi-signature template, and returning data to be signed; signing the data to be signed, and returning the signed signature data and the Boolean value; and if the Boolean value does not meet the weight condition, taking the signed signature data as a new signature object, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multi-signature template so as to continue to judge until the Boolean value meets the weight condition, so as to realize the multi-signature. The multiple signature scheme has the characteristics of simple and safe operation and high running speed.

Description

Multi-signature implementation method, device, equipment and storage medium
Technical Field
The invention relates to the technical field of block chains, in particular to a method, a device, equipment and a storage medium for realizing multiple signatures.
Background
In real life, it is usually encountered that a document needs to be signed or sealed by several units or departments respectively before it is effective. Multiple signature techniques are one way to address such problems in a network environment. As early as 12 months in 2011, multiple signature techniques were implemented in the core code of bitcoin, and the first transaction using multiple signature techniques appeared on the blockchain at 1 month 2012. The multiple signature technology is mature and the application scenes of the multiple signature technology are increased along with the time. For example, in decentralized e-commerce, a buyer transfers a token to a multiple signature address by using a multiple signature method, and a seller can transfer the token in the address only if the two parties of a transaction and a third party in an arbitration organization sign together. For example, in the aspect of credit control, each enterprise, organization and individual holds a key, and the credit can be transferred only after all holders or a certain number of required holders sign.
In many current block chain public chains, the realization of the consensus mechanism is mostly completed by using a script or an intelligent contract, and multiple signatures are also one of the consensus mechanisms and are also based on the script or only the contract. Representatives who use scripts to implement BTC, BCH, etc., and representatives who use smart contracts are EOS, ETH, etc.
However, the use of scripts and smart contracts to implement consensus mechanisms inherently has various insecurity and instability factors due to the varying developer levels. Moreover, the method using the script is too complicated to operate, and various limitations of the virtual machine are also considered in the method using the smart contract.
Disclosure of Invention
In view of this, a method, an apparatus, a device and a storage medium for implementing multiple signatures are provided to solve the problems of complex operation, insecurity and slow operation speed in multiple signatures in the prior art.
The invention adopts the following technical scheme:
in a first aspect, an embodiment of the present application provides a multiple signature implementation method, where the method includes:
generating a key pair for participating in a transaction;
creating a multi-label template and returning the address of the multi-label template;
transferring a pass certificate to the multi-signature module;
creating a transaction according to the multi-signature template, and returning data to be signed;
signing the data to be signed, and returning the signed signature data and the Boolean value;
and if the Boolean value does not meet the weight condition, taking the signed signature data as a new signature object, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multi-signature template so as to continue to judge until the Boolean value meets the weight condition, so as to realize the multi-signature.
Optionally, the weight condition includes that the sum of the weights of the signed keys is equal to or greater than the sum of the minimum weights participating in multi-signature in the multi-signature template.
Optionally, before the data to be signed is signed, at least one key in the key pair participating in the transaction exists in the current wallet.
Optionally, the multi-sign template includes a sum of minimum weights participating in multi-sign, a number of private keys defined in the multi-sign template, and a weight of each public key in each public key participating in multi-sign.
Optionally, the signature includes a bitmap, where the bitmap includes private keys participating in multiple signatures, and locations of the private keys participating in the signature.
In a second aspect, an embodiment of the present application provides a multiple signature implementing apparatus, where the apparatus includes:
the key pair generation module is used for generating a key pair participating in the transaction;
the multi-label template creating module is used for creating a multi-label template and returning the address of the multi-label template;
the transfer certificate module is used for transferring a transfer certificate to the multi-signature module;
the transaction creating module is used for creating transactions according to the multi-signature template and returning data to be signed;
the signature module is used for signing the data to be signed and returning the signed signature data and the Boolean value;
and the multiple signature realization module is used for taking the signed signature data as a new signature object when the Boolean value does not meet the weight condition, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multiple signature template for judgment until the Boolean value meets the weight condition so as to realize multiple signatures.
Optionally, the weight condition includes that the sum of the weights of the signed keys is equal to or greater than the sum of the minimum weights participating in multi-signature in the multi-signature template.
Optionally, the system further comprises a determining module, configured to determine that at least one key in the key pair participating in the transaction exists in the current wallet before signing the data to be signed.
Optionally, the multi-sign template includes a sum of minimum weights participating in multi-sign, a number of private keys defined in the multi-sign template, and a weight of each public key in each public key participating in multi-sign.
Optionally, the signature includes a bitmap, where the bitmap includes private keys participating in multiple signatures, and locations of the private keys participating in the signature.
In a third aspect, an embodiment of the present application provides an apparatus, including:
a processor, and a memory coupled to the processor;
the memory is configured to store a computer program, where the computer program is at least configured to execute the multiple signature implementation method according to the first aspect of the embodiments of the present application;
the processor is used for calling and executing the computer program in the memory.
In a fourth aspect, an embodiment of the present application provides a storage medium, where the storage medium stores a computer program, and when the computer program is executed by a processor, the computer program implements the steps in the multiple signature implementing method according to the first aspect.
Therefore, in the embodiment of the application, a scheme of implementing multiple signatures by using a template running in a public chain of a block chain is used, whether a transaction is triggered is judged by weight, and a weight parameter is added to the multiple signatures. The following effects are achieved: the operation is simple, and the operation can be started only by adding a plurality of templates to initiate a plurality of transactions; the encryption and decryption are convenient; increasing weight parameters, and judging whether a transaction is triggered or not according to the weight; the method runs on the template written in the core code of the public chain, and is safe and fast in running speed.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a flowchart of a multiple signature implementation method provided in an embodiment of the present application;
fig. 2 is a schematic structural diagram of a multiple signature implementing apparatus according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of an apparatus in an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the technical solutions of the present invention will be described in detail below. It is to be understood that the described embodiments are merely exemplary of the invention, and not restrictive of the full scope of the invention. All other embodiments, which can be derived by a person skilled in the art from the examples given herein without any inventive step, are within the scope of the present invention.
First, a general signature and a multiple signature will be described, and the general signature can be understood as follows: a puts money into a cipher case, then locks the cipher case by the public key of B, and only B can unlock by the private key of B, and takes out the money. In the transaction of multiple signatures, it can be understood that after money is put into the cipher box, the public key of the cipher box is used to lock the cipher box, the public key of the cipher box is used to perform locking operation, and even the public key of the third party C may be used to lock the cipher box. At this time, if B wants to take out the money in the lockbox, he needs not only to use his own private key for decryption but also to have another person unlock the lockbox.
In the embodiment of the application, in the BigBang public chain, the consensus task is realized by using a method of writing the realization of the consensus mechanism into the code and executing the consensus task by creating a template. The multi-signature template is designed for realizing multiple signatures, and has the characteristics of simple operation, safe execution and high execution speed.
Examples
Fig. 1 is a flowchart of a multiple signature implementation method provided in an embodiment of the present invention, where the method may be performed by a multiple signature implementation apparatus provided in an embodiment of the present invention, and the apparatus may be implemented in software and/or hardware. Referring to fig. 1, the method may specifically include the following steps:
and S101, generating a key pair participating in the transaction.
In particular, it is assumed that three pairs of key pairs can be generated, which can be implemented by the bigbang makekeyair command. In one specific example, the implementation is as follows.
privkey1=″f1547396c4ec9f50a646b6ac791ee11fe493adc04940289752c2dc0494e040f5″
pubkey1=″579792c544d6a6c198498250c1fa1467a5e5eeb59435a6cdeb06085fb8c7b091″
privkey2=″43368761015b9de09dce66826188a22d1cb9d98a2b6e599c56bc384f839d67ff″
pubkey2=″6d95657d15cb91e074f98fdcbbcf311325beb1d8c2c0f6d65d8362c15c213a2f1″
privkey3=″be590f4db119efcff0247e5e08c7e840454b948e7a5c2993f84c12db9770fd8a″
pubkey3=″efd6b29ad69ea477c4f0ac859cdd00039b83c5b074c8b2f4f9038a781b9d63d5″
S102, creating a multi-label template and returning the address of the multi-label template.
Specifically, the method can be realized by bigbang addnewemplate multisig "{ \\" required \ 2, \ "pubkey \ [ \" $ pubkey1\ "$ pubkey2\ and \" $ pubkey3\ where the required parameter means that the specified number of signatures are required in the multi-signature template to be confirmed, and the above command indicates that more than two signatures are required in three keys.
S103, transferring the pass certificate to the multi-signature module.
Specifically, like a common transaction, a multi-label template token can be converted by bigbangsendfrom $ boss _ addr $ addr $ amount, where $ boss _ addr may be an arbitrary address with token, $ addr is an address of the multi-label template returned in the previous step, and $ amount is the number of tokens.
And S104, creating a transaction according to the multi-signature template, and returning data to be signed.
Specifically, by means of the createtraction method, a transaction is created, and transaction raw data, namely, to-be-signed data $ tx _ hex, is returned. In one specific example, when a multi-signature template address is to initiate a transfer to $ any _ addr, multiple signatures are required to be valid, which can be implemented by the big create transfer $ addr $ any _ addr $ amount command. Wherein, $ addr is the multi-label template address.
And S105, signing the data to be signed, and returning the signed signature data and the Boolean value.
Specifically, the returned data $ tx _ hex to be signed is signed through signransaction, and this returns signed transaction raw data and boolean value complete, where txdata is transaction raw data. In one specific example, a boolean value is used to determine whether the multiple signature minimum weight requirement is met.
And S106, if the Boolean value does not meet the weight condition, taking the signed signature data as a new signature object, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multi-signature template to continue to judge until the Boolean value meets the weight condition so as to realize the multi-signature.
Specifically, if the completed is false, that is, the weight condition is not satisfied, the raw data signed in the previous step is used as a new signature object, and the operation of the previous step is repeated by using another private key corresponding to the public key participating in the setting of the multiple templates. If the result of completed is true, the transaction is sent through sendtranction (txdata) signaling transmit raw data. In addition, the signature result $ sg1_ hex in the above-described signature result $ sg1_ data is obtained, and $ sg1_ hex is signed with another private key. Specifically, the signature can be realized by a command big signature $ sg1_ hex, and sg2_ data is returned, wherein the signature result sg2_ hex and a variable complete that whether the multi-signature requirement is met are included. If the completed is true, that is, the weight condition is satisfied, it indicates that the required weight requirement is satisfied, at this time, the transaction is broadcasted to the chain by the sendtranction method, and the token receiving object $ any _ addr at the time of creating the transaction before can receive the corresponding token, which can be specifically realized by the command big sendtranction $ sg2_ hex. If the completed parameter is false, the multi-label requirement is not satisfied, and the above operations are repeated until the completed parameter is true.
Optionally, the weight condition includes that the sum of the weights of the signed keys is equal to or greater than the sum of the minimum weights participating in the multi-sign template. Wherein the value of completed is used to determine that the sum of the signed key weights is equal to or greater than the sum of the required templates.
Optionally, before signing the data to be signed, at least one key of the key pair participating in the transaction exists in the current wallet. At least one of the current wallets is in an unlocked state, and can be realized by a bigbangsignationranging $ tx _ hex command, and sg1_ data is returned, wherein the sg 8932 _ hex contains a signature result sg1_ hex and a variable complete that whether the multi-signature requirement is met or not.
Optionally, the multi-sign template includes a sum of minimum weights participating in multi-sign, a number of private keys defined in the multi-sign template, and a weight of each public key in each public key participating in multi-sign. When multiple signatures are used to initiate a transaction from a multiple signature template address, the transaction becomes a multiple signature transaction. In one specific example, in a multiple-sign transaction, the vchSig contains two parts: one is the content of the multi-signature template and the other is the multi-signature, as shown below.
Figure BDA0002455922900000071
The template content is a binary string whose length depends on the number of keys defined in the template. The number of keys is 255 at most, as shown below.
Figure BDA0002455922900000072
Wherein required is the sum of the minimum weights participating in the multi-sign; the number of keys, nth-public-key, is the n-th participating public key; nth-key-weight is the weight of the nth public key, which can be regarded as a uint256 because the public key is 32 bytes; the order of the public keys is determined by the size of the small end U int 256.
Optionally, the signature comprises a bitmap, wherein the bitmap comprises a private key participating in the multiple signatures, and a location of the private key participating in the signature. The signature includes three parts, as indicated below.
Figure BDA0002455922900000073
The index is a bitmap, i.e. a bitmap, and is used to indicate which keys participate in the multiple signatures, and the position of the index is related to the order of the keys. If index is considered as a uint8 array idx [ ], then the method of setting the public key with sequence number n: idx [ n/8] & (1< (n% 8)); (Ri, Si) is the same as the ciphering _ sign _ ed25519_ decoded () algorithm of libsodium; s ═ Si + ·+ Sj; all parameters of the SHA512 are calculated according to a binary system; ri is Ri × B, B is the base point of ed 25519; Si-Ri + SHA512(Ri, Pi, M) × Si is scalar addition scalar + scalar (mod l) and multiplication scalar (mod l) of ed 25519; ri — SHA512(ki) [32,64), M); ki is the private key; pi is a public key; si — Clamp (SHA512(ki) [0,32)), ki being the private key; there is the equation Pi ═ si × B.
In addition, in a specific example, M is the content to be signed, and in a multiple-sign transaction, it is Hash (IOStream (version, type, timestamp, lockuntil, anchor, input, sendto, amount, txfe, d ata)). Further, the verification may be performed by Si ═ B ═ Ri + SHA512(Ri, Pi, M) × Si ═ B ═ Ri + SHA512(Ri, Pi, M) × Pi.
Therefore, in the embodiment of the application, a scheme of implementing multiple signatures by using a template running in a public chain of a block chain is used, whether a transaction is triggered is judged by weight, and a weight parameter is added to the multiple signatures. The following effects are achieved: the operation is simple, and the operation can be started only by adding a plurality of templates to initiate a plurality of transactions; the encryption and decryption are convenient; increasing weight parameters, and judging whether a transaction is triggered or not according to the weight; the method runs on the template written in the core code of the public chain, and is safe and fast in running speed.
Fig. 2 is a schematic structural diagram of a multiple signature implementing apparatus according to an embodiment of the present invention, which is suitable for executing a multiple signature implementing method according to an embodiment of the present invention. As shown in fig. 2, the apparatus may specifically include a key pair generation module 201, a multi-signature template creation module 202, a pass-through module 203, a transaction creation module 204, a signature module 205, and a multi-signature implementation module 206.
The key pair generating module 201 is configured to generate a key pair for participating in a transaction; a multi-label template creating module 202, configured to create a multi-label template and return an address of the multi-label template; the transfer certificate module 203 is used for transferring a transfer certificate to the multi-signature module; the transaction creating module 204 is used for creating a transaction according to the multi-signature template and returning data to be signed; the signature module 205 is configured to sign data to be signed, and return signed signature data and a boolean value; and the multiple signature implementation module 206 is configured to, when the boolean value does not satisfy the weight condition, use the signed signature data as a new signature object, and continue to perform signature using another private key corresponding to the public key participating in the setting of the multiple templates to continue to perform judgment until the boolean value satisfies the weight condition to implement multiple signatures.
Therefore, in the embodiment of the application, a scheme of implementing multiple signatures by using a template running in a public chain of a block chain is used, whether a transaction is triggered is judged by weight, and a weight parameter is added to the multiple signatures. The following effects are achieved: the operation is simple, and the operation can be started only by adding a plurality of templates to initiate a plurality of transactions; the encryption and decryption are convenient; increasing weight parameters, and judging whether a transaction is triggered or not according to the weight; the method runs on the template written in the core code of the public chain, and is safe and fast in running speed.
Optionally, the weight condition includes that the sum of the weights of the signed keys is equal to or greater than the sum of the minimum weights participating in the multi-sign template.
Optionally, the system further comprises a determining module, configured to determine that there is at least one key in the key pair participating in the transaction in the current wallet before signing the data to be signed.
Optionally, the multi-sign template includes a sum of minimum weights participating in multi-sign, a number of private keys defined in the multi-sign template, and a weight of each public key in each public key participating in multi-sign.
Optionally, the signature comprises a bitmap, wherein the bitmap comprises a private key participating in the multiple signatures, and a location of the private key participating in the signature.
The multiple signature implementation device provided by the embodiment of the invention can execute the multiple signature implementation device method provided by any embodiment of the invention, and has corresponding functional modules and beneficial effects of the execution method.
An embodiment of the present invention further provides an apparatus, please refer to fig. 3, fig. 3 is a schematic structural diagram of an apparatus, and as shown in fig. 3, the apparatus includes: a processor 310, and a memory 320 coupled to the processor 310; the memory 320 is used for storing a computer program for executing at least the multiple signature implementation method in the embodiment of the present invention; the processor 310 is used to call and execute the computer program in the memory; the multiple signature implementation method at least comprises the following steps: generating a key pair for participating in a transaction; creating a multi-label template and returning the address of the multi-label template; transferring a pass certificate to the multi-signature module; creating a transaction according to the multi-signature template, and returning data to be signed; signing the data to be signed, and returning the signed signature data and the Boolean value; and if the Boolean value does not meet the weight condition, taking the signed signature data as a new signature object, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multi-signature template so as to continue to judge until the Boolean value meets the weight condition, so as to realize the multi-signature.
The embodiment of the present invention further provides a storage medium, where the storage medium stores a computer program, and when the computer program is executed by a processor, the multiple signature implementation method in the embodiment of the present invention is implemented as follows: generating a key pair for participating in a transaction; creating a multi-label template and returning the address of the multi-label template; transferring a pass certificate to the multi-signature module; creating a transaction according to the multi-signature template, and returning data to be signed; signing the data to be signed, and returning the signed signature data and the Boolean value; and if the Boolean value does not meet the weight condition, taking the signed signature data as a new signature object, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multi-signature template so as to continue to judge until the Boolean value meets the weight condition, so as to realize the multi-signature.
It should be noted that the terms "first," "second," and the like in the description of the present invention are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Further, in the description of the present invention, the meaning of "a plurality" means at least two unless otherwise specified.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware that is related to instructions of a program, and the program may be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.
In addition, functional units in the embodiments of the present invention may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a separate product, may also be stored in a computer readable storage medium.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the invention. In this specification, the schematic representations of the terms used above do not necessarily refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention, and that variations, modifications, substitutions and alterations can be made to the above embodiments by those of ordinary skill in the art within the scope of the present invention.

Claims (10)

1. A multiple signature implementation method, comprising:
generating a key pair for participating in a transaction;
creating a multi-label template and returning the address of the multi-label template;
transferring a pass certificate to the multi-signature module;
creating a transaction according to the multi-signature template, and returning data to be signed;
signing the data to be signed, and returning the signed signature data and the Boolean value;
and if the Boolean value does not meet the weight condition, taking the signed signature data as a new signature object, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multi-signature template so as to continue to judge until the Boolean value meets the weight condition, so as to realize the multi-signature.
2. The method of claim 1, wherein the weight condition comprises a sum of signed key weights being equal to or greater than a sum of minimum weights participating in multiple-sign in the multi-sign template.
3. The method of claim 1, wherein prior to said signing said data to be signed, there is a key in at least one of said key pairs involved in the transaction present in the current wallet.
4. The method of claim 1, wherein the multi-sign template comprises a sum of minimum weights for participating in multi-sign, a number of private keys defined in the multi-sign template, and a weight of each public key in each public key participating in multi-sign.
5. The method of, wherein the signature comprises a bitmap, wherein the bitmap comprises private keys participating in multiple signatures, and wherein the locations of the private keys participating in the signatures.
6. A multiple signature realization apparatus, comprising:
the key pair generation module is used for generating a key pair participating in the transaction;
the multi-label template creating module is used for creating a multi-label template and returning the address of the multi-label template;
the transfer certificate module is used for transferring a transfer certificate to the multi-signature module;
the transaction creating module is used for creating transactions according to the multi-signature template and returning data to be signed;
the signature module is used for signing the data to be signed and returning the signed signature data and the Boolean value;
and the multiple signature realization module is used for taking the signed signature data as a new signature object when the Boolean value does not meet the weight condition, and continuing to sign by using other private keys corresponding to the public key participating in the setting of the multiple templates so as to continue to judge until the Boolean value meets the weight condition, so as to realize multiple signatures.
7. The apparatus of claim 6, wherein the weight condition comprises a sum of signed key weights being equal to or greater than a sum of minimum weights participating in multiple-sign in the multi-sign template.
8. The apparatus of claim 6, further comprising a determining module configured to determine that there is at least one key of the key pair involved in the transaction in a current wallet before signing the data to be signed.
9. An apparatus, comprising:
a processor, and a memory coupled to the processor;
the memory for storing a computer program for performing at least the multiple signature implementation method of any one of claims 1-5;
the processor is used for calling and executing the computer program in the memory.
10. A storage medium, characterized in that the storage medium stores a computer program, which when executed by a processor implements the steps of the multiple signature implementing method according to any one of claims 1 to 5.
CN202010306359.7A 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium Active CN111523889B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010306359.7A CN111523889B (en) 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010306359.7A CN111523889B (en) 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111523889A true CN111523889A (en) 2020-08-11
CN111523889B CN111523889B (en) 2023-09-01

Family

ID=71903304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010306359.7A Active CN111523889B (en) 2020-04-17 2020-04-17 Multiple signature implementation method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111523889B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113191751A (en) * 2021-04-22 2021-07-30 深圳前海移联科技有限公司 Block chain-based digital currency multi-sign method and system and electronic equipment
CN114024680A (en) * 2020-12-14 2022-02-08 北京八分量信息科技有限公司 Multiple signature method in multi-signature consensus architecture
CN114614992A (en) * 2022-03-11 2022-06-10 深圳市名竹科技有限公司 Signature value output and verification method and device, computer equipment and storage medium

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000221882A (en) * 1999-02-02 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> Multiple digital signature method, system therefor, device therefor and program recording medium therefor
US20090187440A1 (en) * 2008-01-21 2009-07-23 Binny Gopinath Sreevas Method and system for facilitating security management in an electronic network
DE602005024118D1 (en) * 2004-03-30 2010-11-25 Univ Dublin City VERIFICATION OF IDENTITY BASED SIGNATURES
US20150142367A1 (en) * 2011-06-15 2015-05-21 Waters Technologies Corporation Techniques for use with test qualification protocols
KR20150129869A (en) * 2014-05-12 2015-11-23 주식회사 키페어 Hardware Security Module for Certification and Processing Method thereof
CN108370318A (en) * 2015-12-21 2018-08-03 万事达卡国际股份有限公司 Method and system for the block chain modification for using digital signature
KR20180089670A (en) * 2017-02-01 2018-08-09 주식회사 더루프 Method for generating and verifying an digital signature or message authentication code based on a block chain that does not require key management
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
CN108880803A (en) * 2018-07-12 2018-11-23 佛山伊苏巨森科技有限公司 A kind of method and system signed using digital signature to block chain affairs
US20180374087A1 (en) * 2017-06-26 2018-12-27 Stamps.Com Inc. System and method for cryptographic-chain-based verification of postage transaction records
CN109583887A (en) * 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 A kind of method of commerce and device of block chain
CN109615525A (en) * 2019-01-18 2019-04-12 北京阿尔山区块链联盟科技有限公司 Multi-signature shares guard method, system and the electronic equipment of account
CN109685506A (en) * 2018-12-25 2019-04-26 杭州复杂美科技有限公司 The Signature Confirmation method of multi-signature account generation method and multi-signature account
CN109831509A (en) * 2019-02-18 2019-05-31 深圳市优学链科技有限公司 A kind of common recognition algorithm going out block at random for realizing equal weight
CN110011810A (en) * 2019-03-31 2019-07-12 西安电子科技大学 Block chain anonymity signature method based on linkable ring signature and multi-signature
CN110233736A (en) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 A kind of digital signature generation method, verification method, device, equipment, medium
US20190295050A1 (en) * 2018-03-22 2019-09-26 R3 Ltd. Weighted multiple authorizations
CN110351096A (en) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 Multi-signature method, signature center, medium and electronic equipment
US20190347653A1 (en) * 2018-05-10 2019-11-14 Alibaba Group Holding Limited Blockchain data processing method, apparatus, device, and system
US20190378119A1 (en) * 2018-06-12 2019-12-12 Fressets Inc. Wallet device for cryptocurrency and method of signature for the use thereof
CN110785783A (en) * 2019-03-04 2020-02-11 阿里巴巴集团控股有限公司 Method and apparatus for testing signature verification for blockchain systems
CN110826091A (en) * 2018-08-14 2020-02-21 珠海金山办公软件有限公司 File signature method and device, electronic equipment and readable storage medium
CN110929275A (en) * 2019-11-14 2020-03-27 上海金桥信息股份有限公司 Block chain data security method based on multiple signatures
US20220116214A1 (en) * 2020-10-14 2022-04-14 Blockchains, LLC Multisignature key custody, key customization, and privacy service

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000221882A (en) * 1999-02-02 2000-08-11 Nippon Telegr & Teleph Corp <Ntt> Multiple digital signature method, system therefor, device therefor and program recording medium therefor
DE602005024118D1 (en) * 2004-03-30 2010-11-25 Univ Dublin City VERIFICATION OF IDENTITY BASED SIGNATURES
US20090187440A1 (en) * 2008-01-21 2009-07-23 Binny Gopinath Sreevas Method and system for facilitating security management in an electronic network
US20150142367A1 (en) * 2011-06-15 2015-05-21 Waters Technologies Corporation Techniques for use with test qualification protocols
KR20150129869A (en) * 2014-05-12 2015-11-23 주식회사 키페어 Hardware Security Module for Certification and Processing Method thereof
CN108370318A (en) * 2015-12-21 2018-08-03 万事达卡国际股份有限公司 Method and system for the block chain modification for using digital signature
KR20180089670A (en) * 2017-02-01 2018-08-09 주식회사 더루프 Method for generating and verifying an digital signature or message authentication code based on a block chain that does not require key management
US20180374087A1 (en) * 2017-06-26 2018-12-27 Stamps.Com Inc. System and method for cryptographic-chain-based verification of postage transaction records
US20190295050A1 (en) * 2018-03-22 2019-09-26 R3 Ltd. Weighted multiple authorizations
CN108848056A (en) * 2018-05-03 2018-11-20 南京理工大学 Block chain common recognition method based on verifying
US20190347653A1 (en) * 2018-05-10 2019-11-14 Alibaba Group Holding Limited Blockchain data processing method, apparatus, device, and system
US20190378119A1 (en) * 2018-06-12 2019-12-12 Fressets Inc. Wallet device for cryptocurrency and method of signature for the use thereof
CN108880803A (en) * 2018-07-12 2018-11-23 佛山伊苏巨森科技有限公司 A kind of method and system signed using digital signature to block chain affairs
CN110826091A (en) * 2018-08-14 2020-02-21 珠海金山办公软件有限公司 File signature method and device, electronic equipment and readable storage medium
CN109583887A (en) * 2018-10-26 2019-04-05 阿里巴巴集团控股有限公司 A kind of method of commerce and device of block chain
CN109685506A (en) * 2018-12-25 2019-04-26 杭州复杂美科技有限公司 The Signature Confirmation method of multi-signature account generation method and multi-signature account
CN109615525A (en) * 2019-01-18 2019-04-12 北京阿尔山区块链联盟科技有限公司 Multi-signature shares guard method, system and the electronic equipment of account
CN109831509A (en) * 2019-02-18 2019-05-31 深圳市优学链科技有限公司 A kind of common recognition algorithm going out block at random for realizing equal weight
CN110785783A (en) * 2019-03-04 2020-02-11 阿里巴巴集团控股有限公司 Method and apparatus for testing signature verification for blockchain systems
CN110011810A (en) * 2019-03-31 2019-07-12 西安电子科技大学 Block chain anonymity signature method based on linkable ring signature and multi-signature
CN110233736A (en) * 2019-06-19 2019-09-13 核芯互联(北京)科技有限公司 A kind of digital signature generation method, verification method, device, equipment, medium
CN110351096A (en) * 2019-07-24 2019-10-18 深圳壹账通智能科技有限公司 Multi-signature method, signature center, medium and electronic equipment
CN110929275A (en) * 2019-11-14 2020-03-27 上海金桥信息股份有限公司 Block chain data security method based on multiple signatures
US20220116214A1 (en) * 2020-10-14 2022-04-14 Blockchains, LLC Multisignature key custody, key customization, and privacy service

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王建东;邹惠;李霞;崔忠强;: "一种新的基于Meta-ElGamal的多重签名方案", vol. 34, no. 08, pages 161 - 163 *
赵桂敏, 夏利民: "基于手写签名认证的安全机制", 计算机工程与应用, no. 30, pages 72 - 74 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114024680A (en) * 2020-12-14 2022-02-08 北京八分量信息科技有限公司 Multiple signature method in multi-signature consensus architecture
CN113191751A (en) * 2021-04-22 2021-07-30 深圳前海移联科技有限公司 Block chain-based digital currency multi-sign method and system and electronic equipment
CN114614992A (en) * 2022-03-11 2022-06-10 深圳市名竹科技有限公司 Signature value output and verification method and device, computer equipment and storage medium
CN114614992B (en) * 2022-03-11 2023-10-13 深圳市名竹科技有限公司 Signature value output and verification method, device, computer equipment and storage medium

Also Published As

Publication number Publication date
CN111523889B (en) 2023-09-01

Similar Documents

Publication Publication Date Title
US11893584B2 (en) Constraining injection of unlocking transaction bytecode
ES2837395T3 (en) Method and device for writing service data to a blockchain system
US20220156737A1 (en) Tokenisation method and system for implementing exchanges on a blockchain
US11941624B2 (en) Concurrent state machine processing using a blockchain
CN111523889A (en) Multi-signature implementation method, device, equipment and storage medium
JP2024073535A (en) Implementation of logic gate functions using blockchain

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant