CN111555865B - Method, system and storage medium for managing digital currency jointly by multiple terminals - Google Patents

Method, system and storage medium for managing digital currency jointly by multiple terminals Download PDF

Info

Publication number
CN111555865B
CN111555865B CN202010259319.1A CN202010259319A CN111555865B CN 111555865 B CN111555865 B CN 111555865B CN 202010259319 A CN202010259319 A CN 202010259319A CN 111555865 B CN111555865 B CN 111555865B
Authority
CN
China
Prior art keywords
public key
public keys
terminals
mask
digital currency
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.)
Active
Application number
CN202010259319.1A
Other languages
Chinese (zh)
Other versions
CN111555865A (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.)
Shenzhen Huashu Cloud Computing Technology Co ltd
Original Assignee
Shenzhen Huashu Cloud Computing 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 Shenzhen Huashu Cloud Computing Technology Co ltd filed Critical Shenzhen Huashu Cloud Computing Technology Co ltd
Priority to CN202010259319.1A priority Critical patent/CN111555865B/en
Publication of CN111555865A publication Critical patent/CN111555865A/en
Application granted granted Critical
Publication of CN111555865B publication Critical patent/CN111555865B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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

Abstract

The invention discloses a method, a system and a storage medium for managing digital currency jointly by a plurality of terminals, wherein the method comprises the steps of obtaining private keys respectively generated by the terminals, generating a plurality of first public keys, aggregating the first public keys to obtain a plurality of first aggregation public keys, determining merck trees and roots of the merck trees according to the first aggregation public keys, uploading the roots of the merck trees, marking a corresponding piece of digital currency and the like. The invention can realize that the digital currency transaction request can pass the verification of the digital currency registration center only under the condition that at least t terminals send out the transaction request, ensures that the digital currency registration center can only conduct the transaction on the same digital currency under the condition that only a sufficient number of terminals apply for conducting the transaction on the same digital currency, ensures the safety and atomicity of the transaction process, has lower implementation cost and simultaneously avoids the complexity of the digital currency registration center. The invention is widely applied to the technical field of digital currency.

Description

Method, system and storage medium for managing digital currency jointly by multiple terminals
Technical Field
The invention relates to the technical field of digital currency, in particular to a method, a system and a storage medium for jointly managing digital currency by multiple terminals.
Background
Digital money is a completely new form of money that is accepted by central banks or other money issuing authorities in some countries or regions. The technical framework of the existing digital currency is as follows: the central bank sets up a digital currency registration center to generate and manage encrypted strings corresponding to paper money; the user uses the electronic terminal to store and manage the encrypted character string, which is equivalent to holding money; the digital currency registration center marks ownership of the digital currency through the public key, when a user uses the digital currency, the user signs a transaction by using a private key generated by the user, the digital currency registration center verifies the transaction according to the number of the digital currency and the corresponding public key, so that the identity of the owner of the digital currency is determined, and after ownership conversion is carried out, the digital currency is marked by using a new public key.
The prior art is designed primarily for transactions between individual terminals. But in reality there are generally scenarios involving multi-person transactions, including: the multiple persons share one digital currency, and the operation person and the rechecking person are required to cooperate when the transaction is carried out on the digital currency, and in these cases, a plurality of terminals are involved to control and manage the same digital currency at the same time. The prior art can be adapted to the above-described scenario of multi-person transactions by using the smart contracts, but applying the smart contracts requires modification of the digital currency registration center, which results in high costs and complicates the design of the digital currency registration center, making it difficult to guarantee the security and atomicity of the transaction process.
Disclosure of Invention
In view of at least one of the above-mentioned problems, it is an object of the present invention to provide a method, system and storage medium for managing digital money in common by multiple terminals.
In one aspect, an embodiment of the present invention includes a method for collectively managing digital money by a plurality of terminals, including a public key generation stage; the public key generation stage comprises the following steps:
acquiring private keys generated by a plurality of terminals respectively;
generating a plurality of first public keys; each first public key corresponds to each private key one by one;
aggregating each first public key to obtain a plurality of first aggregation public keys;
determining a merck tree and a root of the merck tree according to each first aggregation public key;
uploading the root of the merck tree to mark a corresponding piece of digital currency.
Further, the step of generating a plurality of first public keys uses the formula:
X i =x i g, G; wherein X is i X is the first public key i For the private key, i is the serial number of the terminal, and G is the base point set by the elliptic curve signature verification algorithm;
the step of aggregating the first public keys to obtain a plurality of first aggregate public keys specifically includes:
selecting the first public keys for k times, and forming a group of t first public keys selected each time, thereby obtaining k groups of first public keys;
and summing t first public keys in each group respectively, so as to obtain k first aggregation public keys corresponding to the first public keys in each group respectively.
Further, the method for jointly managing digital currency by the multiple terminals further comprises a transaction signature stage; the transaction signature stage comprises the following steps:
acquiring random numbers generated by at least t terminals respectively;
generating a plurality of first masks; each first mask corresponds to each random number one by one;
generating a second mask according to each first mask;
generating transaction request information;
acquiring second public keys respectively generated by a plurality of terminals;
aggregating each second public key to obtain a second aggregated public key;
when the second aggregation public key is the same as any one of the first aggregation public keys, generating signature bodies corresponding to the terminals; each signature body is generated according to the second aggregation public key, the root of the merck tree, the second mask, the transaction request information, the private key of the corresponding terminal and the random number;
uploading the signature body, the second mask, the transaction request information, the second aggregate public key and all the first aggregate public keys for transaction verification of the digital currency.
Further, the step of determining the merck tree and the root of the merck tree according to each first aggregation public key specifically includes:
determining one of said first aggregation public keys X' i Leaf node hash value of (a)
Figure BDA0002438695810000021
i is the serial number of the first aggregation public key;
according to the formula
Figure BDA0002438695810000022
Performing recursive calculation; wherein k is a recursive parameter, l is a distance of a set leaf layer, and the maximum acceptable value of l is +.>
Figure BDA0002438695810000023
n is the total number of terminals +.>
Figure BDA0002438695810000024
For the round-up function, H () is a hash function;
from the result of said recursive computation
Figure BDA0002438695810000031
Determining the root of the merck tree as +.>
Figure BDA0002438695810000032
Further, the step of generating a plurality of first masks uses the formula:
R i =r i g, G; wherein R is i R is the first mask i For the random number, i is the serial number of the terminal, and G is the base point set by the elliptic curve signature verification algorithm;
the step of generating a second mask according to each first mask uses the formula:
Figure BDA0002438695810000033
wherein R is the second mask, and t is the number of first public keys selected each time when the first public keys are aggregated.
Further, the step of generating the signature body corresponding to each terminal uses the formula:
s=r i +H(h root ,X′ i ,R,M)x i modp; wherein s is the signature body, r i X is the random number i I is the serial number of the terminal, h is the private key root Is the root of the merck tree, X' i For the first aggregation public key, R is the second mask, M is the hash value of the transaction request information, H () represents a hash function, and p is F in a finite field set by an elliptic curve signature verification algorithm p Is a number of elements of (a).
On the other hand, the embodiment also comprises a system for jointly managing digital currency by a plurality of terminals, wherein the system comprises a server side and a plurality of terminals;
each terminal is used for generating a private key, generating a first public key according to the private key, and carrying out interaction of the first public key in a point-to-point communication mode between the terminals or in a server mode;
the server side is used for acquiring each first public key, aggregating each first public key to obtain a plurality of first aggregation public keys, determining a merck tree and the root of the merck tree according to each first aggregation public key, and uploading the root of the merck tree to mark a corresponding piece of digital currency.
Further, each terminal is further configured to generate a random number and a second public key, generate a first mask according to the random number, and perform interaction of the first mask in a peer-to-peer communication manner between the terminals or in a server manner;
the server side is further configured to obtain each first mask, generate a second mask according to each first mask, generate transaction request information, obtain each second public key, aggregate each second public key to obtain a second aggregate public key, generate a signature body corresponding to each terminal according to the second aggregate public key, the root of the merck tree, the second mask, the transaction request information, the private key of the corresponding terminal and the random number when the second aggregate public key is the same as any first aggregate public key, and upload the signature body, the second mask, the transaction request information, the second aggregate public key and all the first aggregate public keys for performing transaction verification on the digital currency.
Further, the server is configured by selecting one of the terminals.
In another aspect, embodiments of the present invention also include a storage medium having stored therein processor-executable instructions which, when executed by a processor, are adapted to carry out the method of the embodiments.
The beneficial effects of the invention are as follows: by executing the method for jointly managing digital currency by the multiple terminals in the embodiment, the digital currency transaction request can pass the verification of the digital currency registration center only under the condition that at least t terminals send out transaction requests, and otherwise, the digital currency registration center cannot pass the verification, so that the digital currency registration center can only conduct transactions on the same digital currency under the condition that only enough terminals apply for conducting transactions on the same digital currency, the effect of controlling and managing the same digital currency by the multiple terminals is achieved, and the safety and atomicity of the transaction process are guaranteed. The verification process of the digital currency registration center for the digital currency transaction can be completely the same as that of the prior art, namely, the method for jointly managing the digital currency by the multiple terminals in the embodiment is applied, and the digital currency registration center does not need to be modified, so that the method for jointly managing the digital currency by the multiple terminals in the embodiment has lower implementation cost, and meanwhile, the digital currency registration center is prevented from being excessively complex.
Drawings
Fig. 1 is a schematic diagram of a system for commonly managing digital money by a plurality of terminals according to an embodiment.
Detailed Description
The following embodiments are implemented based on the hardware architecture shown in fig. 1. In fig. 1, the digital money registering center is established by a central bank or other institution authorized to issue money, and may be composed of a single or a plurality of servers. The server and the terminal are devices with data processing capability and communication capability, such as tablet computers or mobile phones. Each of the terminals is held by a different person, and each terminal can generate its own private key for uploading to the digital currency registration center, which generates a public key from the private key to mark the digital currency for its owner, or verifies from the private key that the terminal is the true owner of the digital currency he wants to operate.
In the following embodiments, the digital currency registration center and the digital currency algorithm operated by the terminal are existing themselves, for example, an elliptic curve signature verification algorithm based on the Schnorr signature mechanism may be used as a basis for the digital currency registration center to issue and manage digital currency.
In this embodiment, the method for the multi-terminal to commonly manage digital money is performed by the server in fig. 1. The method executed by the server side comprises a public key generation stage and a transaction signature stage, wherein the public key generation stage is used for requesting the digital currency registration center to register the owners of the digital currency as all terminals, so that in the follow-up operation, only if all terminals provide data meeting the conditions, the transaction of the digital currency can be started; the transaction signature stage is to receive transaction requests sent by a plurality of terminals, check whether each terminal requests to conduct transactions consistently, if so, generate corresponding data and upload the data to the digital currency registration center for the digital currency registration center to conduct transfer and marking of digital currency ownership.
The public key generation stage comprises the following steps:
S1A, acquiring private keys generated by a plurality of terminals respectively; in this step, there are n terminals, each terminal generates a private key, and the private key generated by the terminal with the sequence number i is denoted as x i
S2A, generating a plurality of first public keys; each first public key corresponds to each private key one by one; in this step, using the Schnorr-based elliptic curve signature verification algorithm, the base point is set to be G, and then according to the private key x i The generated first public key is X i =x i G;
S3A, aggregating each first public key to obtain a plurality of first aggregation public keys; in this step, t first public keys are selected from the plurality of first public keys to form a group each time, k groups of first public keys are obtained after k times of selection, and for the j-th group (j=1, 2., k) of first public keys, the formula used for aggregation is
Figure BDA0002438695810000051
Wherein X 'is' j X is a first aggregated public key obtained by aggregation of a j-th group of first public keys i An ith first public key of the jth set of first public keys; that is, the k first aggregation public keys obtained through the step are X 'respectively' 1 ,X′ 2 ,...X′ k The method comprises the steps of carrying out a first treatment on the surface of the In this step, t is arbitrarily settable and t.ltoreq.n, optionally in this step,/->
Figure BDA0002438695810000052
S4A, determining a merck tree and a root of the merck tree according to each first aggregation public key; in this step, the first aggregation public key X 'according to the ith' i Leaf node hash values in the merck tree may be determined
Figure BDA0002438695810000053
Then +.>
Figure BDA0002438695810000054
Performing recursive calculation, wherein k is a recursive parameter, l is a set distance of leaf layers, and the maximum acceptable value of l is +.>
Figure BDA0002438695810000055
n is the total number of terminals +.>
Figure BDA0002438695810000056
To round up function, H () is a hash function, and finally the result of the recursive computation can be obtained +.>
Figure BDA0002438695810000057
Determining the result of the recursive computation as the root h of the merck tree root I.e.
Figure BDA0002438695810000058
S5a. uploading the root of the merck tree to the digital currency registration center so that the digital currency registration center marks a corresponding piece of digital currency.
By executing steps S1A-S5A, a basis is provided for the subsequently executed transaction signature phase, such that the digital currency registering center uses the root h of the merck tree root In the subsequent steps, only at least t terminals in all terminals involved in the steps S1A-S5A send a transaction request to the digital currency registration center through the service end at the same time, the transaction request can be passed through the digital currency registration center, so that the digital currency registration center can trade the digital currency, namely, the ownership of the digital currency is changed and registered, and if the number of terminals sending the transaction request is less than t, the digital currency registration center uses a corresponding verification mechanism to verify, the transaction request can not be passed, and the corresponding digital currency can not be traded.
At any time after the public key generation stage is completed at least once, if transaction requests initiated by at least t terminals are received, the server side executes a transaction signature stage.
The transaction signature stage comprises the following steps:
S1B, acquiring random numbers generated by at least t terminals respectively; in this step, each terminal generates a random number, and the random number generated by the terminal with the sequence number i is denoted as r i The number t in this step is the same as the number t in step S3A;
S2B, generating a plurality of first masks; each first mask corresponds to each random number one by one; in the step, an elliptic curve signature verification algorithm based on Schnorr is used, and a set base point is G, so that the random number r is used i The generated first mask is R i =r i G;
S3B, generating a second mask according to each first mask; in this step, according to each first mask R 1 、R 2 、……R n Generating a second mask R by summing, i.e
Figure BDA0002438695810000061
S4B, generating a hash value M of transaction request information;
S5B, obtaining second public keys generated by each of the plurality of terminals; in this step, the server may instruct each terminal to generate the second public key with reference to the process of generating the first public key, that is, each terminal generates a private key, and then uses the Schnorr-based elliptic curve signature verification algorithm to set a base point, and generate the second public key according to the private key and the base point;
S6B, aggregating each second public key to obtain a second aggregated public key; optionally, each terminal generates a second public key, and all the second public keys are accumulated together to complete aggregation, wherein the accumulated result is a second aggregation public key X';
comparing the second aggregated public key obtained in step S6B with the respective first aggregated public keys obtained in step S3A to see if the second aggregated public key is identical to any one of the first aggregated public keys, and if so, performing the following steps S7B-S8B:
S7B, generating signature bodies s corresponding to t terminals respectively i I=1, 2,; for the terminal with the serial number i, the corresponding signature body s i Is based on the second polymeric public key X', the root h of the Merker tree root A second mask R, transaction request information M and a private key x generated by the terminal i And a random number r i The specific formula is: s is(s) i =r i +H(h root ,X′,R,M)x i mod p, where p represents F in the finite field set by the elliptic curve signature verification algorithm p And H () represents a hash function.
S8B, signature body s i A second mask R, transaction request information M, a second aggregate public key X 'and all of said first aggregate public keys X' i Uploading to a digital currency registration center to cause the digital currency registration center to conduct transaction verification of the digital currency.
The digital currency registration center uses a Schnorr-based elliptic curve signature verification algorithm to verify the received signature body s i A second mask R, transaction request information M, a second aggregate public key X 'and all of said first aggregate public keys X' i The information is verified, and the specific steps are as follows: according to the transaction request information, calculating a hash value M of the transaction request information, and verifying a formula s i G=R+H(h root Whether X ', R, M) X' is true or not, if so, then the signature volume s is indicated i Passing verification; the digital currency registering center then receives all the first aggregate public keys X 'based on the received first aggregate public keys X' i Polymerizing to obtain a third polymerized public key, and determining the root h 'of the merck tree according to the third polymerized public key' root The root h 'of the merck tree obtained at this time is then used' root Signature body s uploaded with server side i Root h of the merck tree contained in (a) root In contrast, if they are equal, i.e. h' root =h root Then the transaction request verification of the server is indicated to pass, and the digital currency registration center performs operations such as digital currency ownership change registration and the like; if signing body orAny verification in the root of the merck tree is not passed and the digital currency registration center does not operate on ownership registration information for the digital currency.
Formula s i G=R+H(h root The parameters related to X ', R, M) X' are obtained based on the steps S1A-S5A in the public key generation stage, the formula can be established only when at least t terminals in all terminals related to the steps S1A-S5A send out transaction requests (namely, random numbers and first masks are generated according to preset rules) in the transaction signature stage, and otherwise, the formula is not established, so that the digital currency registration center can only conduct transactions on the same digital currency under the condition that all terminals apply for conducting transactions on the same digital currency, the effect of controlling and managing the same digital currency by a plurality of terminals is achieved, and the safety and atomicity of the transaction process are guaranteed.
The verification process of the digital currency registration center for the digital currency transaction can be completely the same as that of the prior art, namely, the method for jointly managing the digital currency by the multiple terminals in the embodiment is applied, and the digital currency registration center does not need to be modified, so that the method for jointly managing the digital currency by the multiple terminals in the embodiment has lower implementation cost, and meanwhile, the digital currency registration center is prevented from being excessively complex.
The control and management of the same digital currency can be applied in the following scenarios:
the terminals shown in fig. 1 have a common right to digital money to be traded, and agree that legal trading of digital money is only possible if more than half or more than 2/3 of all holders of the terminals indicate willingness to trade digital money; at this time, the method for jointly managing digital money by the multiple terminals in the embodiment is executed, so that the situation that the digital money shared by the terminals with less than the specified number is privately processed can be avoided, and the fund safety of all sharing persons is ensured;
each terminal shown in fig. 1 is held by different personnel such as an operator, a rechecker, a plurality of managers and the like, and requires more than half or more than 2/3 of the managers to agree with the transaction of the digital currency in a system so as to perform legal transaction on the digital currency; at this time, the method for jointly managing digital money by the multiple terminals in the embodiment is executed, so that the digital money can be prevented from being processed by unauthorized or rechecking of the terminals used by operators, and the fund safety is guaranteed.
The method for jointly managing digital currency by the multiple terminals in the embodiment is written into a computer program, further is manufactured into firmware, and is written into the server equipment and the terminal equipment, so that the system for jointly managing digital currency by the multiple terminals formed by the server equipment and the terminal equipment can realize the beneficial effects of the method for jointly managing digital currency by the multiple terminals in the embodiment.
In the structure shown in fig. 1, the service end may be a dedicated device, or may be implemented by any terminal. That is, in executing the method for managing digital money in common by the plurality of terminals described in the present embodiment, an initialization step may be first performed, one of the plurality of terminals is selected, and this selected terminal functions as a server described in the present embodiment in addition to performing its own digital money wallet function like the other terminals, is responsible for communication with the other terminals and the digital money registration center, and performs the steps of the public key generation stage and the transaction signature stage. By selecting one of the plurality of terminals as the service terminal, the hardware structure is prevented from being too complex, and the use cost of the hardware is reduced.
It should be noted that, unless otherwise specified, when a feature is referred to as being "fixed" or "connected" to another feature, it may be directly or indirectly fixed or connected to the other feature. Further, the descriptions of the upper, lower, left, right, etc. used in this disclosure are merely with respect to the mutual positional relationship of the various components of this disclosure in the drawings. As used in this disclosure, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. In addition, unless defined otherwise, all technical and scientific terms used in this example have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the description of the embodiments is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The term "and/or" as used in this embodiment includes any combination of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used in this disclosure to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element of the same type from another. For example, a first element could also be termed a second element, and, similarly, a second element could also be termed a first element, without departing from the scope of the present disclosure. The use of any and all examples, or exemplary language (e.g., "such as") provided herein, is intended merely to better illuminate embodiments of the invention and does not pose a limitation on the scope of the invention unless otherwise claimed.
It should be appreciated that embodiments of the invention may be implemented or realized by computer hardware, a combination of hardware and software, or by computer instructions stored in a non-transitory computer readable memory. The methods may be implemented in a computer program using standard programming techniques, including a non-transitory computer readable storage medium configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner, in accordance with the methods and drawings described in the specific embodiments. Each program may be implemented in a high level procedural or object oriented programming language to communicate with a computer system. However, the program(s) can be implemented in assembly or machine language, if desired. In any case, the language may be a compiled or interpreted language. Furthermore, the program can be run on a programmed application specific integrated circuit for this purpose.
Furthermore, the operations of the processes described in the present embodiments may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The processes (or variations and/or combinations thereof) described in this embodiment may be performed under control of one or more computer systems configured with executable instructions, and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications), by hardware, or combinations thereof, that collectively execute on one or more processors. The computer program includes a plurality of instructions executable by one or more processors.
Further, the method may be implemented in any type of computing platform operatively connected to a suitable computing platform, including, but not limited to, a personal computer, mini-computer, mainframe, workstation, network or distributed computing environment, separate or integrated computer platform, or in communication with a charged particle tool or other imaging device, and so forth. Aspects of the invention may be implemented in machine-readable code stored on a non-transitory storage medium or device, whether removable or integrated into a computing platform, such as a hard disk, optical read and/or write storage medium, RAM, ROM, etc., such that it is readable by a programmable computer, which when read by a computer, is operable to configure and operate the computer to perform the processes described herein. Further, the machine readable code, or portions thereof, may be transmitted over a wired or wireless network. When such media includes instructions or programs that, in conjunction with a microprocessor or other data processor, implement the steps described above, the invention described in this embodiment includes these and other different types of non-transitory computer-readable storage media. The invention also includes the computer itself when programmed according to the methods and techniques of the present invention.
The computer program can be applied to the input data to perform the functions described in this embodiment, thereby converting the input data to generate output data that is stored to the non-volatile memory. The output information may also be applied to one or more output devices such as a display. In a preferred embodiment of the invention, the transformed data represents physical and tangible objects, including specific visual depictions of physical and tangible objects produced on a display.
The present invention is not limited to the above embodiments, but can be modified, equivalent, improved, etc. by the same means to achieve the technical effects of the present invention, which are included in the spirit and principle of the present invention. Various modifications and variations are possible in the technical solution and/or in the embodiments within the scope of the invention.

Claims (8)

1. A method for managing digital money jointly by a plurality of terminals, which is characterized by comprising a public key generation stage; the public key generation stage comprises the following steps:
acquiring private keys generated by a plurality of terminals respectively;
generating a plurality of first public keys; each first public key corresponds to each private key one by one;
aggregating each first public key to obtain a plurality of first aggregation public keys;
determining a merck tree and a root of the merck tree according to each first aggregation public key;
uploading the root of the merck tree to mark a corresponding piece of digital currency;
the step of generating a plurality of first public keys uses the formula:
X i =x i g, G; wherein X is i X is the first public key i For the private key, i is the serial number of the terminal, and G is the base point set by the elliptic curve signature verification algorithm;
the step of aggregating the first public keys to obtain a plurality of first aggregate public keys specifically includes:
selecting the first public keys for k times, and forming a group of t first public keys selected each time, thereby obtaining k groups of first public keys;
summing t first public keys in each group respectively, so as to obtain k first aggregation public keys corresponding to the first public keys in each group respectively;
the method for jointly managing digital currency by the multiple terminals further comprises a transaction signature stage; the transaction signature stage comprises the following steps:
acquiring random numbers generated by at least t terminals respectively;
generating a plurality of first masks; each first mask corresponds to each random number one by one;
generating a second mask according to each first mask;
generating transaction request information;
acquiring second public keys respectively generated by a plurality of terminals;
aggregating each second public key to obtain a second aggregated public key;
when the second aggregation public key is the same as any one of the first aggregation public keys, generating signature bodies corresponding to the terminals; each signature body is generated according to the second aggregation public key, the root of the merck tree, the second mask, the transaction request information, the private key of the corresponding terminal and the random number;
uploading the signature body, the second mask, the transaction request information, the second aggregate public key and all the first aggregate public keys for transaction verification of the digital currency.
2. The method for managing digital money jointly by multiple terminals according to claim 1, characterized in that said step of determining the merck tree and the root of the merck tree from each of said first aggregated public keys comprises:
determining one of said first aggregation public keys X i ' leaf node hash value
Figure FDA0004161251670000021
i is the serial number of the first aggregation public key;
according to the formula
Figure FDA0004161251670000022
Performing recursive calculation; wherein k is a recursive parameter, l is a distance of a set leaf layer, and the maximum acceptable value of l is +.>
Figure FDA0004161251670000023
n is the total number of terminals +.>
Figure FDA0004161251670000024
For the round-up function, H () is a hash function;
from the result of said recursive computation
Figure FDA0004161251670000025
Determining the root of the merck tree as +.>
Figure FDA0004161251670000026
3. A method for multi-terminal co-management of digital money according to claim 1 or 2, wherein:
the step of generating a plurality of first masks uses the formula:
R i =r i g, G; wherein R is i R is the first mask i For the random number, i is the serial number of the terminal, and G is the base point set by the elliptic curve signature verification algorithm;
the step of generating a second mask according to each first mask uses the formula:
Figure FDA0004161251670000027
wherein R is the second mask, and t is the number of first public keys selected each time when the first public keys are aggregated.
4. A method for multi-terminal co-management of digital money according to claim 3, wherein:
the step of generating the signature body corresponding to each terminal uses the following formula:
s=r i +H(h root ,X i ′,R,M)x i modp; wherein s is the signature body, r i X is the random number i I is the serial number of the terminal, h is the private key root For the default ofRoot, X of Kerr Tree i ' is the first aggregation public key, R is the second mask, M is the hash value of the transaction request information, H () represents a hash function, and p is F in a finite field set by an elliptic curve signature verification algorithm p Is a number of elements of (a).
5. A system for jointly managing digital money by a plurality of terminals, which is characterized by comprising a service end and a plurality of terminals;
each terminal is used for generating a private key, generating a first public key according to the private key, and carrying out interaction of the first public key in a point-to-point communication mode between the terminals or in a server mode;
the server side is used for acquiring each first public key, aggregating each first public key to obtain a plurality of first aggregation public keys, determining a merck tree and the root of the merck tree according to each first aggregation public key, and uploading the root of the merck tree to mark a corresponding piece of digital currency;
the step of generating the first public key uses the formula:
X i =x i g, G; wherein X is i X is the first public key i For the private key, i is the serial number of the terminal, and G is the base point set by the elliptic curve signature verification algorithm;
the step of aggregating the first public keys to obtain a plurality of first aggregate public keys specifically includes:
selecting the first public keys for k times, and forming a group of t first public keys selected each time, thereby obtaining k groups of first public keys;
summing t first public keys in each group respectively, so as to obtain k first aggregation public keys corresponding to the first public keys in each group respectively;
the server is also used for executing a transaction signature stage; the transaction signature stage comprises the following steps:
acquiring random numbers generated by at least t terminals respectively;
generating a plurality of first masks; each first mask corresponds to each random number one by one;
generating a second mask according to each first mask;
generating transaction request information;
acquiring second public keys respectively generated by a plurality of terminals;
aggregating each second public key to obtain a second aggregated public key;
when the second aggregation public key is the same as any one of the first aggregation public keys, generating signature bodies corresponding to the terminals; each signature body is generated according to the second aggregation public key, the root of the merck tree, the second mask, the transaction request information, the private key of the corresponding terminal and the random number;
uploading the signature body, the second mask, the transaction request information, the second aggregate public key and all the first aggregate public keys for transaction verification of the digital currency.
6. The system for multi-terminal co-management of digital money according to claim 5, wherein:
each terminal is also used for generating a random number and a second public key respectively, generating a first mask according to the random number, and carrying out interaction of the first mask in a point-to-point communication mode between the terminals or in a server mode;
the server side is further configured to obtain each first mask, generate a second mask according to each first mask, generate transaction request information, obtain each second public key, aggregate each second public key to obtain a second aggregate public key, generate a signature body corresponding to each terminal according to the second aggregate public key, the root of the merck tree, the second mask, the transaction request information, the private key of the corresponding terminal and the random number when the second aggregate public key is the same as any first aggregate public key, and upload the signature body, the second mask, the transaction request information, the second aggregate public key and all the first aggregate public keys for performing transaction verification on the digital currency.
7. A system for co-managing digital money according to claim 5 or 6 in which the server is configured by a selected one of the terminals.
8. A storage medium having stored therein processor executable instructions which, when executed by a processor, are for performing the method of any of claims 1-4.
CN202010259319.1A 2020-04-03 2020-04-03 Method, system and storage medium for managing digital currency jointly by multiple terminals Active CN111555865B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010259319.1A CN111555865B (en) 2020-04-03 2020-04-03 Method, system and storage medium for managing digital currency jointly by multiple terminals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010259319.1A CN111555865B (en) 2020-04-03 2020-04-03 Method, system and storage medium for managing digital currency jointly by multiple terminals

Publications (2)

Publication Number Publication Date
CN111555865A CN111555865A (en) 2020-08-18
CN111555865B true CN111555865B (en) 2023-06-20

Family

ID=72007335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010259319.1A Active CN111555865B (en) 2020-04-03 2020-04-03 Method, system and storage medium for managing digital currency jointly by multiple terminals

Country Status (1)

Country Link
CN (1) CN111555865B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009318A (en) * 2019-03-22 2019-07-12 陕西师范大学 A kind of digital cash method for tracing based on door sieve coin
CN110881063A (en) * 2019-11-20 2020-03-13 腾讯科技(深圳)有限公司 Storage method, device, equipment and medium of private data

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230525B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Public key rollup for merkle tree signature scheme
US11057187B2 (en) * 2018-08-09 2021-07-06 Guardtime Sa Blockchain-assisted hash-based data signature system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110009318A (en) * 2019-03-22 2019-07-12 陕西师范大学 A kind of digital cash method for tracing based on door sieve coin
CN110881063A (en) * 2019-11-20 2020-03-13 腾讯科技(深圳)有限公司 Storage method, device, equipment and medium of private data

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Gregory Maxwell etal..Simple Schnorr Multi-Signatures with Applications to Bitcoin.《Cryptology ePrint Archive》.2018, *
Simple Schnorr Multi-Signatures with Applications to Bitcoin;Gregory Maxwell etal.;《Cryptology ePrint Archive》;20180520;第1-5节 *
Taproot:Privacy preserving switchable scripting;Gregory Maxwell;《Bitcoin-dev》;20180123;第1-2页 *
基于区块链的数字证书审计技术研究;胡逸飞;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20190815;第4章 *

Also Published As

Publication number Publication date
CN111555865A (en) 2020-08-18

Similar Documents

Publication Publication Date Title
CN111989893B (en) Method, system and computer readable device for generating and linking zero knowledge proofs
KR102215773B1 (en) Blockchain data protection based on account note model with zero-knowledge proof
JP3220620U (en) System to realize blockchain multi-factor personal identity authentication
JP2021184274A (en) Method for secure peer-to-peer communication on blockchain
US11588804B2 (en) Providing verified claims of user identity
CN110520881A (en) Method and system for secure data record distribution using blockchains
CN110402561A (en) Block chain data protection based on universal account model and homomorphic cryptography
CN109242675A (en) Assets dissemination method and device, electronic equipment based on block chain
CN111177800B (en) Block chain-based data processing method and device and electronic equipment
US20220215355A1 (en) Method for directly transmitting electronic coin data records between terminals and payment system
JP2017507408A5 (en)
CN110494854A (en) Use the Verification System of multi-party computations
US20200027169A1 (en) Blockchain-enabled double entry recordkeeping system and method of implementing the same
CN112968881B (en) Block chain anonymous voting method, computer device and storage medium
CN116561789B (en) Processing method and device of privacy data, electronic equipment and readable storage medium
CN107851146A (en) Authentication method and system
CN109558918A (en) A kind of certificate chain real estate electronics license system and its application method
CN111612600A (en) Block chain auction method, equipment, storage medium and block chain system
EP3818481A1 (en) Encrypted blockchain voting system
CN113609477A (en) Computer system and method for distributed privacy-preserving shared execution of one or more processes
JP2023145662A (en) Computer-implemented methods and systems for controlling tasks implemented by cyclically-ordered set of nodes participating in blockchain network
JP2019012303A (en) Virtual currency transaction system, virtual currency transaction apparatus and virtual currency transaction program
CN112862589B (en) Authentication method, device and system in financial scene
CN111555865B (en) Method, system and storage medium for managing digital currency jointly by multiple terminals
CN112184216A (en) Digital currency transaction method, device, digital currency transaction system and storage medium

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