CN110992010B - 一种数字货币发行总量控制方法及验证方法 - Google Patents
一种数字货币发行总量控制方法及验证方法 Download PDFInfo
- Publication number
- CN110992010B CN110992010B CN201911240879.6A CN201911240879A CN110992010B CN 110992010 B CN110992010 B CN 110992010B CN 201911240879 A CN201911240879 A CN 201911240879A CN 110992010 B CN110992010 B CN 110992010B
- Authority
- CN
- China
- Prior art keywords
- issuing
- banknote
- transaction
- bank
- row
- 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
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种数字货币发行总量控制方法及验证方法。本发行方法为:1)央行根据各发钞行的身份信息为每一设定发钞行生成对应的身份认证私钥sk1和公钥pk1,并通过秘密传输通道发给对应的设定发钞行;各设定发钞行每次发钞时,随机生成区块链中使用的私钥skx和公钥pkx;所述发钞行的私钥为SK=(sk1,skx)、公钥为PK=(pk1,pkx);2)所述发钞行对本次发钞量和发钞行身份进行多接收者签密,并将该签密信息附在发钞交易信息中;3)央行根据该发钞交易判断发钞量和发钞行身份是否被篡改,如果未被篡改且对应发钞行有所需的发行量,则允许该发钞行发行本次发钞量;否则拒绝发行。本方法满足发行量可控且安全高效。
Description
技术领域
本发明属于密码学技术领域,涉及一种可信的数字货币发行总量控制方法及验证方法。
背景技术
近年来,加密货币逐渐走向成熟,很多国家开始研究区块链等相关技术,并着手推动央行数字货币的发行。相比于普通货币,央行发行数字货币有助于提高支付效率,降低支付成本,防止逃税和洗钱等。
目前,央行发行数字货币还处于研究探索阶段,国际上暂时也没有成功的经验和先例,因而就法定数字货币如何吸收转换区块链技术这一前沿领域的探索和实践有着重要意义。
从2008年中本聪提出比特币开始,比特币、以太坊、EOS等一系列加密货币开始发行和流通。这些加密货币不受时间和空间的限制,能够使支付过程相对于传统货币变得更加便捷有效。尤其在跨境交易时,能够快捷方便且低成本的实现资金的快速转移。同时,这些加密货币利用了密码学的算法和协议,采用分布式记账***,理论上防止了人为的通货膨胀,能够保证货币的安全性,并且具有较好的匿名性。但是,由于这些加密货币的去中心化特性,没有机构或政府给予其信用支撑,理论上不受政府部门管控,导致价格波动很大,货币丢失或被盗后无法找回。
央行数字货币是由国家央行发行的加密货币。其具备法定地位、国家主权背书和明确的发行责任主体,是真正意义上的货币。相比于去中心化加密货币,国家信用和央行的能力可以保证央行数字货币长期具有稳定的价格,更适合实际的使用。虽然已有很多国家正在研究并推动央行数字货币的发行,但是目前还没有国家成功发行央行数字货币。发钞授权、敏感信息保护、发行总量可控等都是央行数字货币面临的问题。另外,去中心化加密货币的一些优点能否保持也受到广泛关注,例如在央行作为发行责任主体后,数字货币能否在技术上预防较大的通货膨胀也是影响央行数字货币广泛流通使用的重要因素。
零知识证明是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的密码学验证技术。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。一些加密货币项目中使用了零知识证明技术来使加密货币获得更良好的属性,例如ZCash中使用零知识证明来实现真正的匿名交易。
多接收者签密是当代密码学领域的另一个研究热点。该技术运用到区块链中,可保证交易的可控匿名性。当一则消息需要向多个接收者传输时,传统的加密方案由于要重复多次加密过程,效率和实时性较低,不能满足实际应用需求。因此,多接收者签密方案被提出。在多接受者签密方案中,签密者对一则消息进行一次签密,每个接收者均可使用自己的私钥对接收到的消息的机密性和可靠性进行验证。
能够安全有效地发钞是数字货币发行的前提。数字货币的很多性质也需要在发钞操作中得到保证。央行数字货币的发钞操作有以下需求:一是数字货币由央行授权发钞行进行发行操作,二是货币的发行量能够由央行监管,三是发钞行身份和发行金额等敏感信息应能够防止泄露,四是在保证发钞行身份和发行金额隐私性的同时能够让更多参与方相信每次发钞行的发钞行为是合法的。
目前,央行发行数字货币还处于研究探索阶段,国际上暂时也没有成功的经验和先例,因而就法定数字货币如何吸收转换区块链技术这一前沿领域的探索和实践有着重要意义。
发明内容
为解决上述问题,本发明提供了一种可信的数字货币发行总量控制方法及验证方法。本发明包含两个算法,范围证明密码算法和可信发行量证明算法。其中为满足央行数字货币的央行授权、发行量可控并监管、发钞行身份信息的动态隐藏和发行金额为密态等要求,本发明使用无证书公钥密码体制和多接收者签密技术设计了范围证明密码算法。在该算法中央行根据各个发钞行的身份信息生成身份认证公私钥对,并通过秘密传输通道发给各发钞行。各发钞行每次发钞时,随机生成区块链中使用的不同公私钥对,同时对本次发钞量和发钞行身份进行多接收者签密操作,并将该签密信息附在发钞交易信息中。虽然发钞行每次使用区块链上不同的公私钥,但央行仍能判断该笔发钞交易属于哪个发钞行,并维护一个发钞行剩余发钞量承诺表进行发钞合法性的判断。
其中为保证用户无法得知发钞交易中发钞行的身份信息以及发钞金额的前提下,仍能判断发钞行每笔发钞交易是否合法,本发明使用零知识证明技术设计了可信发行量证明算法。在该算法中需要央行维护并发布发钞行剩余发钞量承诺表,该表不直接暴露发钞行身份信息以及剩余发钞量,而是公布以上设定敏感信息的哈希值。央行可通过范围证明密码算法获得区块中发钞交易的详细内容,并根据这些信息生成非交互式零知识证据,将该证据以及更新后的发钞行剩余发钞量承诺表等信息打包成一笔交易进行发布。用户可从该交易中提取信息,对交易指向的区块中所有发钞交易的合法性进行验证。
本发明的技术方案为:
一种数字货币发行总量控制方法,其步骤包括:
1)央行根据各设定发钞行的身份信息为每一设定发钞行生成对应的身份认证私钥sk1和公钥pk1,并通过秘密传输通道发给对应的设定发钞行;各设定发钞行每次发钞时,随机生成区块链中使用的私钥skx和公钥pkx;所述发钞行的私钥为SK=(sk1,skx)、公钥为PK=(pk1,pkx);
2)所述发钞行对本次发钞量和发钞行身份进行多接收者签密,并将该签密信息附在发钞交易信息中;
3)央行根据该发钞交易判断发钞量和发钞行身份是否被篡改,如果未被篡改且对应发钞行有所需的发行量,则允许该发钞行发行本次发钞量;否则拒绝发行。
进一步的,生成所述发钞行的私钥SK、公钥PK的方法为:
11)选取一安全参数λ和一个基域Fq,其中q是大素数,且q>2λ;选取一个定义在Fq上的椭圆曲线E(Fq)和E(Fq)上的一个生成元P,生成元P的阶为素数n;选择六个散列函数H1:E(Fq)×E(Fq)→{0,1}w、H2,H3,H4:{0,1}w→{0,1}w和,w是正整数,n-1为循环群中的最大值;选择对称加密函数Esk()及其对应的解密函数Dsk(),其中sk表示对称密钥;
12)央行生成自己的身份认证公私钥对(sc,Pc)以及区块链中的公私钥对(sc2,Pc2);其中私钥sc,公钥Pc=sc·P,私钥sc2,公钥Pc2=sc2·P;央行向各设定发钞行公布公共参数pp={q,E(Fq),n,Pc,Pc2,H0,H1,H2,H3,H4,H5,E,D}并指定发钞行的发行量;
13)以发钞行A的身份ID作为输入,央行计算QID=H0(ID)和发钞行A相应的身份认证私钥skA=sc*QID以及身份认证公钥PKA=skA·P;然后央行经由安全信道向发钞行A发送身份认证公私钥对(skA,PKA);
14)发钞行A随机选取并计算PKx=skx·P,作为本次发钞的区块链公私钥对,得到发钞行A的完整私钥SK=(skA,skx),完整公钥PK=(PKA,PKx);其中身份认证公私钥对(skA,PKA)固定并不对区块链公开,每次发钞时变换公私钥对(skx,PKx)。
进一步的,发钞行A对本次发钞量v和发钞行身份PKA进行多接收者签密的方法为:
21)发钞行A随机选取σ∈{0,1}w,计算r=H1(σ,PKA),U=r·P;
22)计算FA=r·PKx,KA=r·PKA,TA=H1(KA,FA),Fc=r·Pc2,Kc=r·Pc以及Tc=H1(Kc,Fc);
24)计算对称密钥sk=H4(σ),以及V=Esk(v),Γ=Esk(PKA);
25)计算H=H5(U,V,Γ,PKA,PKx),H′=H6(U,V,Γ,PKA,PKx),W=skA+r*H+skx*H′,Λ=H5(v,σ,CA,Cc,V,Γ,U,W);
26)发钞行A生成密文CT=<(CA,Cc),V,Γ,W,U,A>、发钞交易tx=(PKx,CT,Δ),并将该发钞交易tx发布到区块链上;Δ代表防止延展性攻击所需要实现的数据结构。
进一步的,所述步骤3)的实现方法为:
31)央行从区块链上发布的发钞交易tx中提取密文CT=<(CA,Cc),V,Γ,W,U,Λ>;计算K=sc·U,F=sc2·U,T=H1(K,F)以及H2(T);
32)通过CA=H2(T)||Y计算得到Y;Y表示CA移除了H2(T)后的剩余部分;
34)设置sk′=H4(σ),计算得到v′=Dsk′(V),PKA′=Dsk′(Γ),H=H5(U,V,Γ,PKA′,PKx),H′=H5(U,V,Γ,PKA′,PKx),Λ′=H5(v′,σ,CA,Cc,V,Γ,U,W);
35)央行寻找PKA′对应的发钞行,判断该发钞交易tx是否为发钞行A发起,如果是发钞行A发起且Λ′==Λ、PKA′+U·H+PKx·H′==P·W,则判定本次发行量v和发钞行身份PKA未被篡改,否则拒绝发行;
36)央行根据维护的发钞行A剩余发行量承诺,判断该发钞行A的剩余发行量是否满足本次发行量v,若满足则更新发钞行A剩余发行量承诺并允许该发钞行A发行本次发钞量;否则拒绝发行。
1)央行根据安全参数λ,生成安全系数为λ的满足发钞交易可信证明的电路Circuit,生成证明密钥pkproof和验证密钥(pkproof,vkproof):=KeyGen(1λ,Circuit),并公开安全参数λ、可信电路Circuit、证明密钥pkproof以及验证密钥vkproof;
3)央行监听区块链,当发现新区块new中出现发钞交易,从该发钞交易中得到发行量vi,计算发钞行i新的剩余量承诺以及生成多个非交互式零知识证明,非交互式零知识证明πi为发钞行i的非交互式零知识证明;然后将发钞行i的非交互式零知识证明以及更新后的剩余发钞量承诺打包成一笔交易tx进行发布;
4)验证者从区块中获得该交易tx后,对交易指向的区块中所有发钞交易的合法性进行验证。
生成零知识证明πi的方法为:
13)生成零知识证明πi:=Prove(pkproof,xi,ai)。
进一步的,验证者从区块中获得该交易tx后,对交易指向的区块中所有发钞交易的合法性进行验证的方法为:
24)计算bi:=Verify(vkproof,xi,πi),如果验证成功bi=1,否则等于0;
25)输出bA∧bB,如果输出等于1,则判定区块new中的发钞交易在合法范围内。
进一步的,所述验证者为发钞行或用户。
与现有技术相比,本发明的积极效果为:
1.本发明使用多接收者签密和无证书公钥密码体制的思想设计了范围证明密码算法。该算法保证央行数字货币发行操作能够满足央行授权、发行量可控、身份信息的动态隐藏、发行金额为密态等要求,同时拥有较高的安全性和效率。
2.本发明利用非交互式零知识证明技术,设计了可信发行量证明算法。该算法实现了可信发钞,即发钞操作能够在***露发钞行身份及发钞量等敏感信息的前提下,使区块链中任何参与节点(包括用户)均能验证每次发钞行的发行量是否在发行范围内。这一特性使央行数字货币继承了普通加密货币防止大规模通货膨胀的优点,使公众拥有监管发钞行发行量的权利,有利于央行数字货币的推广和流通。
3.对比实验:测试环境为***ubuntu16.04、内存16GB DDR3 1600MHz、[email protected]四核,使用C++实现下面两个算法并进行了测试。针对范围证明算法,明文的加密耗时3ms,解密耗时4ms,密文长度为457字节;针对可信发行量证明算法,验证证据仅需9ms,证据大小为固定的288字节。因此本方案具有毫秒级的运行速率,性能较好,能够满足实际应用,具有较强的实用性。
附图说明
图1为本发明方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图,对本发明作进一步详细说明。
一:范围证明密码算法
首先描述范围证明密码算法,发钞行的私钥为SK=(sk1,skx),其中sk1为部分私钥,由央行根据发钞行身份信息进行生成,skx为区块链中每次身份动态隐藏变换的私钥。与SK相对应的公钥为PK=(pk1,pkx),pk1由sk1生成,pkx由skx生成。其中公私钥对(sk1,pk1)为身份认证公私钥对,保持不变,并且公钥pk1只有发钞行和央行知道,与发钞行进行身份绑定;公私钥对(skx,pkx)为传统区块链中的公私钥对,由发钞行控制进行动态隐藏,每次动态隐藏均代表公私钥对(skx,pkx)的变换。
算法步骤如下:
1)***设置
输入安全参数λ,央行选取一个基域Fq,其中q是大素数,且q>2λ。选取一个定义在Fq上的椭圆曲线E(Fq)和E(Fq)上的一个生成元P,生成元P的阶为一个大素数n。然后,央行选择六个散列函数H1:E(Fq)×E(Fq)→{0,1}w,H2,H3,H4:{0,1}w→{0,1}w和w是正整数,为最大值为n-1的整数循环群,n-1为循环群中的最大值。同时,央行还选择对称加密函数Esk()及其对应的解密函数Dsk(),其中sk表示对称密钥。接下来,央行生成自己的身份认证公私钥对(sc,Pc),其中私钥公钥Pc=sc·P。央行生成在区块链中的公私钥对(sc2,Pc2),其中私钥公钥Pc2=sc2·P。最后,央行向发钞行公布公共参数pp={q,E(Fq),n,Pc,Pc2,H0,H1,H2,H3,H4,H5,E,D}并指定发钞行的发行量。
2)提取部分私钥
以发钞行A的身份ID∈{0,1}*作为输入,央行计算QID=H0(ID)和发钞行A相应的身份认证私钥skA=sc*QID以及身份认证公钥PKA=skA·P。接下来,央行经由安全信道向发钞行A发送身份认证公私钥对(skA,PKA)。
3)设置完整私钥
发钞行A随机选取并计算PKx=skx·P,作为本次发钞的区块链公私钥对。发钞行A的完整私钥为(skA,skx),完整公钥为(PKA,PKx)。其中身份认证公私钥对(skA,PKA)固定并不对区块链公开,每次发钞时变换公私钥对(skx,PKx),做到在区块链中身份的动态隐藏。
4)发行量的签密
为了做到发钞行A的发行量v在区块链上保密,但是对央行和发钞行A公开。使用了多接收者签密技术,央行和发钞行A可对密文进行解密。发钞行A的私钥为(skA,skx),公钥为(PKA,PKx),央行的公钥为(Pc,Pc2)。发钞行A对发行量v以及身份信息PKA进行如下操作得密文CT:
a)随机选取σ∈{0,1}w,计算r=H1(σ,PKA),U=r·P。
b)计算FA=r·PKx,KA=r·PKA以及TA=H1(KA,FA),Fc=r·Pc2,Kc=r·Pc以及Tc=H1(Kc,Fc)。
d)计算对称密钥sk=H4(σ),以及V=Esk(v),Γ=Esk(PKA)。
e)计算H=H5(U,V,Γ,PKA,PKx),H′=H6(U,V,Γ,PKA,PKx),W=skA+r*H+skx*H′,Λ=H5(v,σ,CA,Cc,V,Γ,U,W)。
f)设置密文CT=<(CA,Cc),V,Γ,W,U,Λ>,发钞交易tx=(PKx,CT,Δ),Δ代表防止延展性攻击所需要实现的数据结构,例如对交易进行签名。发钞行A将该发钞交易tx发布到区块链上。
5)发行量的解密
央行首先从区块链上发布的发钞交易tx中提取密文CT=<(CA,Cc),V,Γ,W,U,Λ>,央行和发钞行A可以使用它们的私钥(以央行为例(sc,sc2))进行如下操作:
a)计算K=sc·U,F=sc2·U,T=H1(K,F)以及H2(T)。
b)用H2(T)通过Ci=H2(T)||Y找到Ci(i∈{A,c}),Y表示Ci移除了H2(T)后的剩余部分。对于央行和发钞行来说,解密时只匹配属于自己的密文,央行匹配Cc,发钞行匹配CA;以央行为例,只需要截取Cc移除H2(T)后的剩余部分即可得到Y,例如Cc=1001,H2(T)=10,那么Y=01。
d)设置sk′=H4(σ),得v′=Dsk′(V),PKA′=Dsk′(Γ),H=H5(U,V,Γ,PKA′,PKx),H′=H5(U,V,Γ,PKA′,PKx),Λ′=H5(v′,σ,CA,Cc,V,Γ,U,W)。
e)央行寻找PKA′对应的发钞行,判断该交易是否为合法的发钞行发起,以及如果Λ′==Λ并且PKA′+U·H+PKx·H′==P·W,则说明发行量v和发钞行身份PKA未被篡改,否则“拒绝”。
f)为了效率(避免央行遍历区块)和公开可验证的用途,央行维护一个发钞行剩余发行量承诺(可信发行量证明算法详细介绍),判断该发钞行是否有足够的发行量,若有则更新承诺,否则“拒绝”。
模块二:可信发行量证明算法
接下来介绍可信发行量证明算法,主要思想是用户在不知道发钞行身份和发行金额的情况下,对本区块的发钞交易进行发行量的合法性验证,判断发钞行是否超发货币,从而信任发钞行的发钞行为。以下介绍中会出现央行C、发钞行i{i∈A,B}、央行维护并发布的发钞行剩余量承诺Listi=HASH(PKi‖HASHhead‖Balancei)(其中PKi为发钞行的身份认证公钥并且不对外公开,HASHhead为发钞交易所处区块的哈希值用以保证随机性,防止本区块无该行的发钞交易,Balancei为该行的剩余发钞量)、用户user。
当发钞行发出一笔发钞交易时,央行会对这笔交易进行发钞量的合法性验证,并针对该交易所处的区块生成一笔含有非交互式零知识的证明和新的发钞行剩余量承诺的可信证明交易,以供用户在不知道发钞交易源于哪个发钞行以及发行金额隐藏的情况下,对该区块中的发钞交易进行发行量的合法性验证。
为简化算法的描述,假定old代表前一个拥有发钞交易的区块,new代表当前区块以及该区块中的发钞交易为tx1…txj,j为该区块中发钞交易个数。本发明的算法使用Bryan Parno等人提出的Pinocchio协议作为非交互式零知识证明算法,该算法细节不再赘述。为简化算法的描述,假设发钞行i{i∈A,B}为两个,描述如下:
1)***设置
央行输入安全参数λ,生成安全系数为λ的满足发钞交易可信证明的电路Circuit,生成证明密钥和验证密钥(pkproof,vkproof):=KeyGen(1λ,Circuit),并公开安全参数λ、可信电路Circuit、证明密钥pkproof以及验证密钥vkproof。
2)初始化发钞行剩余量列表
央行分配各发钞行的发行总量Sumi{i∈A,B},随后发起一笔承诺交易,交易信息中包含发钞行的初始剩余量列表其中为该承诺交易发起时最长区块链中最新区块的哈希值。该列表信息并不暴露发钞行的身份以及发钞金额剩余量。
3)生成发钞交易可信证明
c)生成零知识证明πi:=Prove(pkproof,xi,ai),其中xi作为公开输入,ai作为私有输入即证据,i∈A,B。
4)验证可信性证明
用户从区块中获得可信证明交易tx后,可通过如下过程对发钞行的发行量进行验证:
d)计算bi:=Verify(vkproof,xi,πi),如果验证成功bi=1,否则等于0。
e)输出bA∧bB。输出等于1,用户则相信区块new中的发钞交易在合法范围内。
本算法的零知识证明前提是央行发布初始发行量承诺,随后用户验证的可信交易都是基于该承诺来判断发钞行的发钞量是否在最初的承诺范围内,如果央行需动态增加发钞行的发行量,则如同步骤2中再发布一次发行量承诺即可,与初始化承诺的区别在于动态发行量承诺中区块哈希值为上一可信交易中的
通过范围证明密码算法和可信发行量证明算法,发钞行可以做到身份的动态隐藏以及***露发行金额,用户在无法判断发钞交易属于哪个发钞行、无法读取发行金额以及不知道发行总量的情况下可以对发钞行的行为进行合法性验证。
尽管为说明目的公开了本发明的具体内容、实施算法以及附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (5)
1.一种数字货币发行总量验证方法,其步骤包括:
1)央行根据安全参数λ,生成安全系数为λ的满足发钞交易可信证明的电路Circuit,生成证明密钥pkproof和验证密钥(pkproof,vkproof):=KeyGen(1λ,Circuit),并公开安全参数λ、可信电路Circuit、证明密钥pkproof以及验证密钥vkproof;
3)央行监听区块链,当发现新区块new中出现发钞交易,从该发钞交易中得到发行量vi,计算发钞行i新的剩余量承诺以及生成多个非交互式零知识证明,非交互式零知识证明πi为发钞行i的非交互式零知识证明;然后将发钞行i的非交互式零知识证明以及更新后的剩余发钞量承诺打包成一笔交易tx进行发布;
4)验证者从区块中获得该交易tx后,对交易指向的区块中所有发钞交易的合法性进行验证。
5.如权利要求1所述的方法,其特征在于,所述验证者为发钞行或用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911240879.6A CN110992010B (zh) | 2019-12-06 | 2019-12-06 | 一种数字货币发行总量控制方法及验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911240879.6A CN110992010B (zh) | 2019-12-06 | 2019-12-06 | 一种数字货币发行总量控制方法及验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110992010A CN110992010A (zh) | 2020-04-10 |
CN110992010B true CN110992010B (zh) | 2023-05-16 |
Family
ID=70090650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911240879.6A Active CN110992010B (zh) | 2019-12-06 | 2019-12-06 | 一种数字货币发行总量控制方法及验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110992010B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285546B (zh) * | 2021-11-24 | 2023-12-12 | 淮阴工学院 | 一种可用于车载自组网络中的异构签密通信方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110383311A (zh) * | 2018-11-07 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 监管区块链机密交易 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10521776B2 (en) * | 2002-10-01 | 2019-12-31 | Andrew H B Zhou | UN currency (virtual payment cards) issued by central bank or other issuer for mobile and wearable devices |
US20150356523A1 (en) * | 2014-06-07 | 2015-12-10 | ChainID LLC | Decentralized identity verification systems and methods |
WO2018175504A1 (en) * | 2017-03-20 | 2018-09-27 | Wasserman Steven Victor | Blockchain digital currency: systems and methods for use in enterprise blockchain banking |
CN113904785A (zh) * | 2017-05-16 | 2022-01-07 | 江峰 | 一种带主权货币发布机制和区块链发布机制的多中心有限域区块链认证*** |
CN107392605A (zh) * | 2017-06-26 | 2017-11-24 | 中国人民银行数字货币研究所 | 数字货币的发行方法和*** |
CN108765129B (zh) * | 2018-05-17 | 2019-08-23 | 北京众享比特科技有限公司 | 基于区块链的传统银行资产分发与清算***及方法 |
CN109191123B (zh) * | 2018-08-10 | 2022-08-12 | 中国人民银行数字货币研究所 | 一种数字货币代理发行额度控制***及方法 |
-
2019
- 2019-12-06 CN CN201911240879.6A patent/CN110992010B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110383311A (zh) * | 2018-11-07 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 监管区块链机密交易 |
Non-Patent Citations (1)
Title |
---|
Omar Abdulkader;等.IBMSDC: Intelligent Blockchain based Management System for protecting Digital Currencies Transactions.《 2019 Third World Conference on Smart Trends in Systems Security and Sustainablity (WorldS4)》.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110992010A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6446052B1 (en) | Digital coin tracing using trustee tokens | |
Law et al. | How to make a mint: the cryptography of anonymous electronic cash | |
EP0786178B1 (en) | Secret-key certificates | |
Yi et al. | A new blind ECDSA scheme for bitcoin transaction anonymity | |
Chen et al. | A novel electronic cash system with trustee-based anonymity revocation from pairing | |
CN1108041C (zh) | 运用椭圆曲线加密算法的数字签名方法 | |
Zhang et al. | Provably-secure electronic cash based on certificateless partially-blind signatures | |
CN107908932B (zh) | 一种基于l算法的数字货币防伪及验证方法、***和设备 | |
Jacobson et al. | Mix-based electronic payments | |
Tomescu et al. | Utt: Decentralized ecash with accountable privacy | |
CN110599164B (zh) | 一种可监管的链下任意收款方快速支付方法 | |
Naganuma et al. | Auditable zerocoin | |
CN113468570A (zh) | 基于智能合约的隐私数据共享方法 | |
Cao et al. | Strong anonymous mobile payment against curious third-party provider | |
JPH11508707A (ja) | 秘密鍵上の制限的にブラインド可能な証明書 | |
CN110992010B (zh) | 一种数字货币发行总量控制方法及验证方法 | |
CN111539719B (zh) | 基于盲签名的可审计混币服务方法及***模型 | |
Ni et al. | Dual-anonymous off-line electronic cash for mobile payment | |
Verbücheln | How perfect offline wallets can still leak bitcoin private keys | |
Juels | Trustee tokens: Simple and practical anonymous digital coin tracing | |
CN111262844A (zh) | 一种基于密码技术的隐私保护方法 | |
CN114399307B (zh) | 一种区块链隐私的计算机交易方法 | |
Sakalauskas et al. | A simple off-line E-cash system with observers | |
Ebrahimi et al. | Enhancing cold wallet security with native multi-signature schemes in centralized exchanges | |
Tsaur et al. | An efficient and secure ECC-based partially blind signature scheme with multiple banks issuing E-cash payment applications |
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 |