CN111555865B - 一种多终端共同管理数字货币的方法、***和存储介质 - Google Patents
一种多终端共同管理数字货币的方法、***和存储介质 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0863—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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/401—Transaction verification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种多终端共同管理数字货币的方法、***和存储介质,所述方法包括获取多个终端各自生成的私钥,生成多个第一公钥,对各第一公钥进行聚合,得到多个第一聚合公钥,根据各第一聚合公钥确定默克尔树以及默克尔树的根,以及上传默克尔树的根,以对相应的一笔数字货币进行标记等步骤。本发明可以实现只有在至少t个终端都发出交易请求的情况下,才能使数字货币交易请求通过数字货币登记中心的验证,保证了只有足够数量的终端都申请对同一笔数字货币进行交易的情况下,数字货币登记中心才对该笔数字货币进行交易,保证交易过程的安全性和原子性,实施成本较低,同时避免数字货币登记中心过于复杂。本发明广泛应用于数字货币技术领域。
Description
技术领域
本发明涉及数字货币技术领域,尤其是一种多终端共同管理数字货币的方法、***和存储介质。
背景技术
数字货币是一种全新形式的货币,被一些国家或地区的中央银行或其他货币发行机构所承认。现有数字货币的技术框架是:中央银行设立数字货币登记中心来生成和管理加密字符串,这些加密字符串相当于纸质的货币;用户使用电子终端来存储和管理加密字符串,相当于持有货币;数字货币登记中心通过公钥来标记数字货币的所有权,用户在使用数字货币时,使用自己生成的私钥对交易进行签名,由数字货币登记中心根据数字货币的编号与对应的公钥对交易进行验证,从而确定数字货币的所有人身份,进行所有权转换后,使用新的公钥对数字货币进行标记。
现有技术主要是针对单个终端与单个终端之间的交易而设计的。但现实中通常存在涉及多人交易的场景,包括:多人共有一笔数字货币,对一笔数字货币进行交易处理时要求操作人和复核人配合等,这些情形下都涉及多个终端同时对同一笔数字货币进行控制和管理。通过使用智能合约,可以使现有技术适应上述多人交易的场景,但是应用智能合约需要对数字货币登记中心进行改造,这将产生很高的成本,并且使得数字货币登记中心的设计变得复杂,难以保证交易过程的安全性和原子性。
发明内容
针对上述至少一个技术问题,本发明的目的在于提供一种多终端共同管理数字货币的方法、***和存储介质。
一方面,本发明实施例包括一种多终端共同管理数字货币的方法,包括公钥生成阶段;所述公钥生成阶段包括以下步骤:
获取多个终端各自生成的私钥;
生成多个第一公钥;各所述第一公钥分别与各所述私钥一一对应;
对各所述第一公钥进行聚合,得到多个第一聚合公钥;
根据各所述第一聚合公钥确定默克尔树以及所述默克尔树的根;
上传所述默克尔树的根,以对相应的一笔数字货币进行标记。
进一步地,所述生成多个第一公钥这一步骤,所使用的公式为:
Xi=xiG;式中,Xi为第一公钥,xi为所述私钥,i为终端的序号,G为椭圆曲线签名验证算法所设定的基点;
所述对各所述第一公钥进行聚合,得到多个第一聚合公钥这一步骤,具体包括:
分k次选取所述第一公钥,将每次选取到的t个所述第一公钥组成一组,从而获得k组所述第一公钥;
分别将每组中的t个所述第一公钥进行求和,从而获得分别各组所述第一公钥对应的k个所述第一聚合公钥。
进一步地,多终端共同管理数字货币的方法还包括交易签名阶段;所述交易签名阶段包括以下步骤:
获取至少t个所述终端各自生成的随机数;
生成多个第一掩码;各所述第一掩码分别与各所述随机数一一对应;
根据各所述第一掩码,生成一个第二掩码;
生成交易请求信息;
获取多个终端各自生成的第二公钥;
对各所述第二公钥进行聚合,得到一个第二聚合公钥;
当所述第二聚合公钥与任一所述第一聚合公钥相同,生成各所述终端对应的签名体;各所述签名体分别是根据所述第二聚合公钥、默克尔树的根、第二掩码、交易请求信息以及其对应终端的私钥和随机数生成的;
上传所述签名体、第二掩码、交易请求信息、第二聚合公钥以及所有所述第一聚合公钥,以供对所述数字货币进行交易验证。
进一步地,所述根据各所述第一聚合公钥确定默克尔树以及所述默克尔树的根这一步骤,具体包括:
进一步地,所述生成多个第一掩码这一步骤,所使用的公式为:
Ri=riG;式中,Ri为所述第一掩码,ri为所述随机数,i为终端的序号,G为椭圆曲线签名验证算法所设定的基点;
所述根据各所述第一掩码,生成一个第二掩码这一步骤,所使用的公式为:
进一步地,所述生成各所述终端对应的签名体这一步骤,所使用的公式为:
s=ri+H(hroot,X′i,R,M)ximodp;式中,s为所述签名体,ri为所述随机数,xi为所述私钥,i为终端的序号,hroot为所述默克尔树的根,X′i为所述第一聚合公钥,R为所述第二掩码,M为所述交易请求信息的哈希值,H()表示哈希函数,p为椭圆曲线签名验证算法所设定的有限域中Fp的元素个数。
另一方面,实施例中还包括一种多终端共同管理数字货币的***,包括服务端和多个终端;
各所述终端分别用于生成各自的私钥,根据所述私钥生成第一公钥,通过终端之间点对点通讯的方式或通过服务端的方式进行第一公钥的交互;
所述服务端用于获取各所述第一公钥,对各所述第一公钥进行聚合,得到多个第一聚合公钥,根据各所述第一聚合公钥确定默克尔树以及所述默克尔树的根,上传所述默克尔树的根,以对相应的一笔数字货币进行标记。
进一步地,各所述终端分别还用于生成各自的随机数和第二公钥,根据所述随机数生成第一掩码,通过终端之间点对点通讯的方式或通过服务端的方式进行第一掩码的交互;
所述服务端还用于获取各所述第一掩码,根据各所述第一掩码生成一个第二掩码,生成交易请求信息,获取各所述第二公钥,对各所述第二公钥进行聚合,得到一个第二聚合公钥,当所述第二聚合公钥与任一所述第一聚合公钥相同,根据所述第二聚合公钥、默克尔树的根、第二掩码、交易请求信息以及其对应终端的私钥和随机数生成各所述终端对应的签名体,上传所述签名体、第二掩码、交易请求信息、第二聚合公钥以及所有所述第一聚合公钥,以供对所述数字货币进行交易验证。
进一步地,所述服务端是由各所述终端中选定一个来配置得到的。
另一方面,本发明实施例还包括一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行实施例所述方法。
本发明的有益效果是:通过执行实施例中所述的多终端共同管理数字货币的方法,只有在至少t个终端都发出交易请求的情况下,才能使数字货币交易请求通过数字货币登记中心的验证,反之则不能通过验证,从而保证了只有足够数量的终端都申请对同一笔数字货币进行交易的情况下,数字货币登记中心才对该笔数字货币进行交易,实现了多个终端对同一笔数字货币进行控制和管理的效果,保证交易过程的安全性和原子性。由于数字货币登记中心对数字货币交易的验证过程可以与现有技术完全一样,也就是应用本实施例中所述的多终端共同管理数字货币的方法,无需对数字货币登记中心进行改造,因此本实施例中所述的多终端共同管理数字货币的方法具有较低的实施成本,同时避免数字货币登记中心过于复杂。
附图说明
图1为实施例中所述多终端共同管理数字货币的***的原理图。
具体实施方式
以下各个实施例是基于图1所示的硬件架构来实施的。图1中,所述数字货币登记中心是由中央银行或者其他有权发行货币的机构设立的,它可以由单个或者多个服务器组成。所述服务端和终端是具有数据处理能力和通信能力的设备,例如平板电脑或手机等。各所述终端分别被不同的人员所持有,每个终端都可以生成它自己的私钥,从而上传到数字货币登记中心中,由数字货币登记中心根据私钥来生成公钥以对数字货币进行所有人的标记,或者根据私钥来验证该终端是不是他想要操作的这笔数字货币的真正所有人。
以下各实施例中,数字货币登记中心和终端所运行的数字货币算法本身都是现有的,例如可以使用基于Schnorr签名机制的椭圆曲线签名验证算法,来作为数字货币登记中心发行和管理数字货币的基础。
本实施例中,所述多终端共同管理数字货币的方法是由图1中的服务端来执行的。服务端所执行的方法包括公钥生成阶段和交易签名阶段,其中公钥生成阶段所要做的事是请求数字货币登记中心将数字货币的所有人登记为所有终端,这样,在后续操作中,只有所有终端都提供符合条件的数据,才能启动对数字货币的交易;交易签名阶段所要做的事是接收多个终端发出的交易请求,并检验是否各终端都一致地请求进行交易,如果是,则生成相应数据并上传到数字货币登记中心,供数字货币登记中心进行数字货币所有权的划转和标记。
所述公钥生成阶段包括以下步骤:
S1A.获取多个终端各自生成的私钥;本步骤中,一共有n个终端,每个终端生成一个私钥,将序号为i的终端所生成的私钥记为xi;
S2A.生成多个第一公钥;各所述第一公钥分别与各所述私钥一一对应;本步骤中,使用基于Schnorr的椭圆曲线签名验证算法,设定的基点为G,那么根据私钥xi所生成的第一公钥为Xi=xiG;
S3A.对各所述第一公钥进行聚合,得到多个第一聚合公钥;本步骤中,每次从多个第一公钥中选取t个所述第一公钥组成一组,选取k次后,就会得到k组第一公钥,对于第j组(j=1,2,...,k)第一公钥,聚合所用的公式为其中X′j为由第j组第一公钥聚合所得的第一聚合公钥,Xi为第j组第一公钥中的第i个第一公钥;也就是说,经过本步骤所得到的k个第一聚合公钥分别为X′1,X′2,...X′k;本步骤中,t是可以任意设定的,且t≤n,可选地,本步骤中,/>
S4A.根据各所述第一聚合公钥确定默克尔树以及所述默克尔树的根;本步骤中,根据第i个第一聚合公钥X′i可以确定默克尔树中的叶子节点哈希值然后根据公式/>进行递归计算,其中,k为递归参数,l为设定的叶子层的距离,且l的最大可取值为/>n为各所述终端的总数,/>为向上取整函数,H()为哈希函数,最终可以获得递归计算的结果/>将递归计算的结果确定为默克尔树的根hroot,即S5A.向数字货币登记中心上传所述默克尔树的根,以使得数字货币登记中心对相应的一笔数字货币进行标记。
通过执行步骤S1A-S5A,为后续执行的交易签名阶段提供了基础,使得数字货币登记中心使用默克尔树的根hroot对相应的一笔数字货币进行登记,后续步骤中,只有在步骤S1A-S5A所涉及到的所有终端中的至少t个终端同时通过服务端向数字货币登记中心发出交易请求,这个交易请求才能在数字货币登记中心处获得通过,从而使得数字货币登记中心交易该笔数字货币,也就是对该笔数字货币进行所有权的变更登记,如果发出交易请求的终端数量不足t个,那么数字货币登记中心使用相应的验证机制进行验证时,这个交易请求就不会被通过,相应的一笔数字货币也不会被交易。
在至少完成一次上述公钥生成阶段之后的任意时刻,如果接收到至少t个终端所发起的交易请求,则由服务端执行交易签名阶段。
交易签名阶段包括以下步骤:
S1B.获取至少t个所述终端各自生成的随机数;本步骤中,每个终端生成一个随机数,将序号为i的终端所生成的随机数记为ri,本步骤中的数量t与步骤S3A中的数量t是相同的;
S2B.生成多个第一掩码;各所述第一掩码分别与各所述随机数一一对应;本步骤中,使用基于Schnorr的椭圆曲线签名验证算法,设定的基点为G,那么根据随机数ri所生成的第一掩码为Ri=riG;
S4B.生成交易请求信息的哈希值M;
S5B.获取多个终端各自生成的第二公钥;本步骤中,服务端可以指令每个终端参照生成第一公钥的流程来生成第二公钥,也是就是每个终端生成一个私钥,然后使用基于Schnorr的椭圆曲线签名验证算法,设定基点,根据私钥和基点生成第二公钥;
S6B.对各所述第二公钥进行聚合,得到一个第二聚合公钥;可选地,每个终端都生产一个第二公钥,将这些第二公钥全部累加在一起,完成聚合,累加的结果为第二聚合公钥X′;
将步骤S6B中得到的第二聚合公钥,与步骤S3A中得到的各个第一聚合公钥进行比较,看第二聚合公钥是否与任一个第一聚合公钥相同,如果相同,那么就执行以下步骤S7B-S8B:
S7B.生成t个终端各自对应的签名体si,i=1,2,...,t;对于序号为i的终端,其对应的签名体si是根据第二聚合公钥X′、默克尔树的根hroot、第二掩码R、交易请求信息M以及这个终端所产生的私钥xi和随机数ri生成的,当具体公式为:si=ri+H(hroot,X′,R,M)ximodp,其中p表示椭圆曲线签名验证算法所设定的有限域中Fp的元素个数,H()表示哈希函数。
S8B.将签名体si、第二掩码R、交易请求信息M、第二聚合公钥X′以及所有所述第一聚合公钥X′i上传到数字货币登记中心,以使得数字货币登记中心对所述数字货币进行交易验证。
数字货币登记中心使用基于Schnorr的椭圆曲线签名验证算法对接收到的签名体si、第二掩码R、交易请求信息M、第二聚合公钥X′以及所有所述第一聚合公钥X′i等信息进行验证,具体为:根据交易请求信息,计算出其哈希值M,验证公式siG=R+H(hroot,X′,R,M)X′是否成立,如果成立,那么表明签名体si通过验证;然后数字货币登记中心根据接收到的所有第一聚合公钥X′i进行聚合得到第三聚合公钥,再根据第三聚合公钥确定默克尔树的根h′root,将此时得到的默克尔树的根h′root与服务端上传的签名体si中所包含的默克尔树的根hroot进行对比,如果它们相等,也就是h′root=hroot,那么就表明服务端的交易请求验证通过,数字货币登记中心进行数字货币所有权变更登记等操作;如果签名体或者默克尔树的根中任一验证不通过,数字货币登记中心不对数字货币的所有权登记信息进行操作。
公式siG=R+H(hroot,X′,R,M)X′所涉及的参数是基于公钥生成阶段中的步骤S1A-S5A获得的,只有在交易签名阶段由步骤S1A-S5A所涉及到的所有终端中的至少t个终端都发出交易请求(也就是按照预设规则生成随机数和第一掩码)的情况下,该公式才能成立,反之则不成立,从而保证了只有所有终端都申请对同一笔数字货币进行交易的情况下,数字货币登记中心才对该笔数字货币进行交易,实现了多个终端对同一笔数字货币进行控制和管理的效果,保证交易过程的安全性和原子性。
由于数字货币登记中心对数字货币交易的验证过程可以与现有技术完全一样,也就是应用本实施例中所述的多终端共同管理数字货币的方法,无需对数字货币登记中心进行改造,因此本实施例中所述的多终端共同管理数字货币的方法具有较低的实施成本,同时避免数字货币登记中心过于复杂。
对同一笔数字货币进行控制和管理可以应用在以下情景:
图1所示的各终端对需要交易的数字货币具有共有权,并且约定了只有这些终端的全部持有人半数以上或2/3以上均表示愿意交易数字货币,才能对数字货币进行合法交易;此时,执行本实施例中的多终端共同管理数字货币的方法,可以避免不足规定数量的终端私下对该笔共有的数字货币进行处理,从而保障所有共有人的资金安全;
图1所示的各终端分别***作人、复核人、以及多个管理人员等不同人员所持有,在制度上要求半数以上或2/3以上管理人员对数字货币的交易进行一致同意,才能对数字货币进行合法交易;此时,执行本实施例中的多终端共同管理数字货币的方法,可以避免操作人所使用的终端未经授权或复核就对该笔数字货币进行处理,从而保障资金安全。
将本实施例中的多终端共同管理数字货币的方法编写成计算机程序,进而制作成固件并写入服务端设备和终端设备,可以使得服务端设备和终端设备所组成的多终端共同管理数字货币的***能够实现本实施例中所述多终端共同管理数字货币的方法的有益效果。
图1所示的结构中,所述服务端可以是一个专用的设备,也可以由任一终端来担当。也就是说,在执行本实施例中所述的多终端共同管理数字货币的方法时,可以先执行初始化步骤,在多个终端中选定一个,这个被选定的终端除了像其他终端一样执行其本身的数字货币钱包功能之外,还充当本实施例中所述的服务端,负责与其他终端以及数字货币登记中心进行通信,以及执行公钥生成阶段和交易签名阶段的各步骤。通过从多个终端中选定一个来作为所述服务端,可以避免硬件结构过于复杂,以及降低硬件的使用成本。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本实施例所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本实施例说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本实施例所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本实施例所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机***通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
此外,可按任何合适的顺序来执行本实施例描述的过程的操作,除非本实施例另外指示或以其他方式明显地与上下文矛盾。本实施例描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机***的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本实施例所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
计算机程序能够应用于输入数据以执行本实施例所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (8)
1.一种多终端共同管理数字货币的方法,其特征在于,包括公钥生成阶段;所述公钥生成阶段包括以下步骤:
获取多个终端各自生成的私钥;
生成多个第一公钥;各所述第一公钥分别与各所述私钥一一对应;
对各所述第一公钥进行聚合,得到多个第一聚合公钥;
根据各所述第一聚合公钥确定默克尔树以及所述默克尔树的根;
上传所述默克尔树的根,以对相应的一笔数字货币进行标记;
所述生成多个第一公钥这一步骤,所使用的公式为:
Xi=xiG;式中,Xi为第一公钥,xi为所述私钥,i为终端的序号,G为椭圆曲线签名验证算法所设定的基点;
所述对各所述第一公钥进行聚合,得到多个第一聚合公钥这一步骤,具体包括:
分k次选取所述第一公钥,将每次选取到的t个所述第一公钥组成一组,从而获得k组所述第一公钥;
分别将每组中的t个所述第一公钥进行求和,从而获得分别各组所述第一公钥对应的k个所述第一聚合公钥;
所述多终端共同管理数字货币的方法还包括交易签名阶段;所述交易签名阶段包括以下步骤:
获取至少t个所述终端各自生成的随机数;
生成多个第一掩码;各所述第一掩码分别与各所述随机数一一对应;
根据各所述第一掩码,生成一个第二掩码;
生成交易请求信息;
获取多个终端各自生成的第二公钥;
对各所述第二公钥进行聚合,得到一个第二聚合公钥;
当所述第二聚合公钥与任一所述第一聚合公钥相同,生成各所述终端对应的签名体;各所述签名体分别是根据所述第二聚合公钥、默克尔树的根、第二掩码、交易请求信息以及其对应终端的私钥和随机数生成的;
上传所述签名体、第二掩码、交易请求信息、第二聚合公钥以及所有所述第一聚合公钥,以供对所述数字货币进行交易验证。
4.根据权利要求3所述的多终端共同管理数字货币的方法,其特征在于:
所述生成各所述终端对应的签名体这一步骤,所使用的公式为:
s=ri+H(hroot,Xi′,R,M)ximodp;式中,s为所述签名体,ri为所述随机数,xi为所述私钥,i为终端的序号,hroot为所述默克尔树的根,Xi′为所述第一聚合公钥,R为所述第二掩码,M为所述交易请求信息的哈希值,H()表示哈希函数,p为椭圆曲线签名验证算法所设定的有限域中Fp的元素个数。
5.一种多终端共同管理数字货币的***,其特征在于,包括服务端和多个终端;
各所述终端分别用于生成各自的私钥,根据所述私钥生成第一公钥,通过终端之间点对点通讯的方式或通过服务端的方式进行第一公钥的交互;
所述服务端用于获取各所述第一公钥,对各所述第一公钥进行聚合,得到多个第一聚合公钥,根据各所述第一聚合公钥确定默克尔树以及所述默克尔树的根,上传所述默克尔树的根,以对相应的一笔数字货币进行标记;
所述生成第一公钥这一步骤,所使用的公式为:
Xi=xiG;式中,Xi为第一公钥,xi为所述私钥,i为终端的序号,G为椭圆曲线签名验证算法所设定的基点;
所述对各所述第一公钥进行聚合,得到多个第一聚合公钥这一步骤,具体包括:
分k次选取所述第一公钥,将每次选取到的t个所述第一公钥组成一组,从而获得k组所述第一公钥;
分别将每组中的t个所述第一公钥进行求和,从而获得分别各组所述第一公钥对应的k个所述第一聚合公钥;
所述服务端还用于执行交易签名阶段;所述交易签名阶段包括以下步骤:
获取至少t个所述终端各自生成的随机数;
生成多个第一掩码;各所述第一掩码分别与各所述随机数一一对应;
根据各所述第一掩码,生成一个第二掩码;
生成交易请求信息;
获取多个终端各自生成的第二公钥;
对各所述第二公钥进行聚合,得到一个第二聚合公钥;
当所述第二聚合公钥与任一所述第一聚合公钥相同,生成各所述终端对应的签名体;各所述签名体分别是根据所述第二聚合公钥、默克尔树的根、第二掩码、交易请求信息以及其对应终端的私钥和随机数生成的;
上传所述签名体、第二掩码、交易请求信息、第二聚合公钥以及所有所述第一聚合公钥,以供对所述数字货币进行交易验证。
6.根据权利要求5所述的多终端共同管理数字货币的***,其特征在于:
各所述终端分别还用于生成各自的随机数和第二公钥,根据所述随机数生成第一掩码,通过终端之间点对点通讯的方式或通过服务端的方式进行第一掩码的交互;
所述服务端还用于获取各所述第一掩码,根据各所述第一掩码生成一个第二掩码,生成交易请求信息,获取各所述第二公钥,对各所述第二公钥进行聚合,得到一个第二聚合公钥,当所述第二聚合公钥与任一所述第一聚合公钥相同,根据所述第二聚合公钥、默克尔树的根、第二掩码、交易请求信息以及其对应终端的私钥和随机数生成各所述终端对应的签名体,上传所述签名体、第二掩码、交易请求信息、第二聚合公钥以及所有所述第一聚合公钥,以供对所述数字货币进行交易验证。
7.根据权利要求5或6所述的多终端共同管理数字货币的***,其特征在于,所述服务端是由各所述终端中选定一个来配置得到的。
8.一种存储介质,其中存储有处理器可执行的指令,其特征在于,所述处理器可执行的指令在由处理器执行时用于执行如权利要求1-4任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010259319.1A CN111555865B (zh) | 2020-04-03 | 2020-04-03 | 一种多终端共同管理数字货币的方法、***和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010259319.1A CN111555865B (zh) | 2020-04-03 | 2020-04-03 | 一种多终端共同管理数字货币的方法、***和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111555865A CN111555865A (zh) | 2020-08-18 |
CN111555865B true CN111555865B (zh) | 2023-06-20 |
Family
ID=72007335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010259319.1A Active CN111555865B (zh) | 2020-04-03 | 2020-04-03 | 一种多终端共同管理数字货币的方法、***和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111555865B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110009318A (zh) * | 2019-03-22 | 2019-07-12 | 陕西师范大学 | 一种基于门罗币的数字货币追踪方法 |
CN110881063A (zh) * | 2019-11-20 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 一种隐私数据的存储方法、装置、设备及介质 |
Family Cites Families (2)
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 |
-
2020
- 2020-04-03 CN CN202010259319.1A patent/CN111555865B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110009318A (zh) * | 2019-03-22 | 2019-07-12 | 陕西师范大学 | 一种基于门罗币的数字货币追踪方法 |
CN110881063A (zh) * | 2019-11-20 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 一种隐私数据的存储方法、装置、设备及介质 |
Non-Patent Citations (4)
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 (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110419053B (zh) | 用于信息保护的***和方法 | |
CN111989893B (zh) | 用于生成和链接零知识证明的方法、***和计算机可读装置 | |
WO2019144612A1 (zh) | 基于区块链的零知识多账本兑换转账方法、装置及存储介质 | |
CN110419055A (zh) | 基于利用零知识证明的账户票据模型的区块链数据保护 | |
US11588804B2 (en) | Providing verified claims of user identity | |
CN110402561A (zh) | 基于通用账户模型和同态加密的区块链数据保护 | |
CN113537984A (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN116561789B (zh) | 隐私数据的处理方法、装置、电子设备及可读存储介质 | |
CN111177797B (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
US20220215355A1 (en) | Method for directly transmitting electronic coin data records between terminals and payment system | |
CN112968881B (zh) | 区块链匿名投票方法、计算机设备和存储介质 | |
CN110494854A (zh) | 使用安全多方计算的认证*** | |
CN110245482A (zh) | 认证方法和*** | |
WO2020073503A1 (zh) | 合同签订方法、装置及计算机设备 | |
CN108241979A (zh) | 基于区块链的多账本转账方法、电子装置及可读存储介质 | |
US20200320530A1 (en) | Maintenance plant management method, system and data management server | |
CN109325764B (zh) | 基于区块链的敏感数据交易***及方法 | |
CN111612600A (zh) | 区块链拍卖方法、设备、存储介质及区块链*** | |
CN109558918A (zh) | 一种证件链不动产电子证照***及其使用方法 | |
US20190081794A1 (en) | Systems and methods for user identity | |
CN112862589B (zh) | 金融场景下的身份验证方法、装置和*** | |
WO2020008445A1 (en) | Encrypted blockchain voting system | |
CN113609477A (zh) | 用于一个或多个进程的分布式隐私保护共享执行的计算机***和方法 | |
CN111709860A (zh) | 遗嘱处理方法、装置、设备及存储介质 | |
CN109754311A (zh) | 信息处理方法及其装置、电子设备、计算机可读介质 |
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 |