一种基于分布式账本的量子货币交易方法

文档序号:26986855发布日期:2021-10-19 20:03阅读:207来源:国知局
一种基于分布式账本的量子货币交易方法

1.本发明涉及量子货币、区块链与量子计算领域,具体说是一种基于分布式账本的量子货币交易方法。


背景技术:

2.近年来,电子货币的兴起,提供了一种新型的无现金结算方式,这是一种基于密码学技术和区块链技术的数字加密货币。基于密码学的设计,电子货币作为一种数字加密货币,只能被真实的拥有者支付或转移,一定程度上保证了电子货币所有权及流通交易的匿名性。基于区块链技术,电子货币的交易依靠网络节点生成,从而实现了点对点的去中心化的支付系统,不依靠特定的发行方,同时不受央行和其他金融机构的操纵和控制。相较于传统的纸币和由特定机构发行的传统电子货币,区块链电子货币依据特定算法,本质上是一堆复杂算法产生的有限个的特解。尽管包括比特币在内的经典电子货币在市场中发展很快,然而它的技术层面仍然存在许多问题。
3.首先,现有的电子货币支付加密不够安全。传统电子货币采用的是经典加密算法,比如椭圆曲线加密算法,该算法生成公钥和私钥。私钥可以推出公钥,反之公钥不能推出私钥。私钥作为电子货币持有权的凭证,可对文本签名。同时,公钥可以根据签名认证该用户是否拥有私钥,所以为了安全起见,公钥则需进行哈希加密。因此,电子货币的安全性是相对的,建立在算法的复杂性上。攻击者通过各种经典手段都能够提高碰撞的概率,破译哈希算法,破坏公钥,窃取电子货币,从而引发电子货币市场的波动甚至崩溃。随着量子计算和量子搜索算法的迅速发展,经典的加密方式面临越来越严峻的挑战。
4.其次,电子货币的匿名性较差。基于密码学技术和区块链技术,电子货币账户利用公钥地址代替用户的真实身份,借助这种假名的方式实现匿名性,一定程度上保护了用户的隐私。然而,这种方式并不能完全保证用户的匿名性。电子货币系统用一个公共总账记录交易往来,该公共总账就是区块链,任何人都可以访问,交易数据的关联性对任何人都是可见的。当用户的一个公钥地址泄露,意味着用户所有相关公钥地址均可泄露,甚至与用户有关的他人地址也可能泄露。因此,网络攻击可以破坏电子货币的匿名性从而窃取用户的隐私。
5.再次,现有的电子货币的密钥管理效率不高。与传统的数字加密货币不同,电子货币依托区块链技术,区块链作为一种只能在尾部添加而不能删除或修改的数据结构,其交易过程相当于网络节点自动完成的,具有不可逆性,一旦丢失或者被盗窃,带来的经济损失不可恢复,即使追踪到了盗窃者的地址,电子货币也将无法追回。能证明电子货币持有权的唯一凭证是电子货币地址对应的私钥,如何加强私钥管理直接关系到电子货币的安全性问题,然而现实中即便存在诸多密钥管理软件,但依赖于算法复杂性的经典密钥仍然存在管理问题,私钥失窃问题仍然存在,而且增加加密解密算法的复杂性还会导致加密解密效率的急速下降。
6.最后,电子货币不适合作为分布式公开可认证的支付系统和结算系统。经典电子
货币交易需要与互联网进行双向通信,受到交易速率限制和网络环境影响,使用不方便。
7.电子货币在全球范围流通的同时,区块链涉及的用户匿名性及密钥涉及的财产安全性问题逐渐显露。随着量子计算技术的不断发展,为电子货币的量子计算提供了改进的思想,有可能产生一种基于分布式账本的量子货币交易方法。然而目前的市场上很少有基于量子计算的量子货币支付系统。


技术实现要素:

8.本发明的目的是为了克服现有的电子货币技术与方法的一些缺陷,本发明提出了一种基于分布式账本的量子货币交易方法,通过量子货币的生成、发行、交易与验证,来完成量子货币交易。
9.一种基于分布式账本的量子货币交易方法,包括量子货币交易平台,量子货币系统,量子货币验证仪,分布式账本;主要步骤包括量子货币生成、量子货币发行、量子货币的代理交易、量子货币验证;
10.步骤1,量子货币生成;用户需要先申请量子货币交易账户,由用户向量子货币交易平台提交申请量子货币账户,量子货币交易平台随机为用户账户生成公私钥对;用户通过量子货币交易平台登陆账户,量子货币系统将量子货币地址作为原始比特串k0=(a1,a2,...,a
n
),其中,a
i
∈{0,1},将原始比特串输入至量子指纹函数获取量子货币态,然后量子货币系统通过量子单向函数的作用生成最终态量子货币,并根据需要分配到用户账户;此时,量子货币系统生成的最终态量子货币与量子指纹函数态形成了一个映射,再将原始比特串记录从而生成量子货币;
11.步骤2,量子货币发行;在量子货币系统生成量子货币后,还要进行量子货币的发行;量子货币发行由量子货币交易平台进行,用户可登陆申请的账户在量子货币交易平台进行量子货币的挖矿,用户在其个人计算机上从量子货币交易平台下载量子货币客户端软件,并保持与量子货币交易平台的服务器通讯,然后运行指定的量子货币挖矿算法,便可获得相应的量子货币;个人用户可以通过挖矿方式自行取得量子货币,代理方可以通过收购个人用户手中的量子货币而获得量子货币,代理方也可以向个人出售所获得的量子货币;量子货币发行和交易记录可以使用分布式账本进行记账;
12.步骤3,量子货币的代理交易;非挖矿用户想获取量子货币,可通过由量子货币交易平台的代理交易销售进行,用户可登陆申请的账户在量子货币交易平台向量子货币代理用户购买量子货币;完成系统初始化后,用户可利用量子盲签名算法通过量子货币系统获取一次性密钥对,量子货币系统将公钥地址发至代理方用于向代理方存入量子货币;先由量子货币购买方在量子货币交易平台向代理方申请存款,代理方处理存款申请,并生成存款协议发送至量子货币购买方,在量子货币购买方核实协议真实性后兑现量子货币存款,代理方收到量子货币存款后利用量子盲签名算法生成付款交易凭证,量子货币存款结束,即量子货币交易初始化结束;进行量子货币代理交易时,量子货币购买方在量子货币交易平台计算本订单交易的量子货币地址并向代理方提交量子货币交易订单,代理方计算得出交易承诺并反馈给量子货币购买方,完成订单提交;量子货币购买方通过量子货币系统利用量子盲签名去盲算法计算支付协议并将其发送至代理方;之后由代理方验证支付协议,若收款方在量子货币交易平台上找到一条交易,该交易的输入为代理方的公钥,输出为一
次性公钥地址,则收款方可兑现交易承诺,将与订单对应数量的量子货币发送到购买方账户;量子货币购买方收到量子货币后,即将收货凭证通过量子货币系统进行量子加密,并发送至代理方;量子货币交易平台核查本次量子货币交易结果,若双方钱货两清,即购买方已收到相应订单的量子货币,收款方已收到相应订单的款项,则在分布式账本记账,完成本次代理交易。
13.步骤4,量子货币验证;量子货币用户在量子货币交易平台根据查询列表检查原始比特串,若可查询到一致的结果,则说明该量子货币在量子货币交易平台发行,可进一步使用量子货币验证仪验证量子货币状态;否则,如查询结果不一致,则判断该量子货币为假,验证结束;进一步地,量子货币用户可利用量子货币验证仪验证量子货币态真实性,若量子货币验证仪检测结果一致,则判断该量子货币为真;否则该量子货币为假,量子货币验证结束;优选地,量子货币验证仪还可协助量子货币用户在量子货币交易平台进行用户身份的验证与校正,以及在分布式账本上审计记账的准确性和处理记账冲突。
14.所述的一种基于分布式账本的量子货币交易方法,包括步骤1,量子货币生成,其包括以下具体步骤:
15.子步骤1

1,申请量子货币交易账户;用户alice在交易量子货币前,需要向量子货币交易平台申请一个账户,量子货币交易平台收到申请后验证用户alice的申请信息,验证成功后为用户alice创建一个账户,并通过量子货币系统向用户alice提供一个私钥,私钥只有alice自己知道,然后量子货币交易平台生成一串包括用户alice账户id的经典字符r=(id||password)
alice
,即原始比特串(||表示两个字符串的拼接),用户alice完成了量子货币交易账户申请;
16.子步骤1

2,生成量子货币;量子货币系统把这串拼接后的得到的字符串输入量子指纹函数,获取量子货币态,然后通过量子单向函数的作用生成最终态量子货币;
17.量子货币系统生成的每个量子货币中都包含一个字符串lk作为公钥和y个相同的量子货币态,所有的lk都是不一样的,量子货币态的制备由一个经典比特串开始;
18.量子货币系统为了制备一个量子货币,必须先选择一个原始比特串
19.k0=(a1,a2,...,a
n
);
20.其中,a
i
={0,1};
21.进一步,量子货币系统选定一个量子货币生成函数f
2n
,并从中随机选择一个秘密的多阶多项式g(x)满足g(0)=k0;
22.进一步,量子货币系统计算该多项式并得到k
j
=g(x
j
),j∈{1,...,n},其中x
j
为非零元素;
23.进一步,量子货币系统采用一种函数编码方法来完成对原始比特串的转换,其中,e是关于k
j
的编码后的函数,而e(k
j
)是一个从k
j
随机提取出来的字符串,e
i
(k
j
)是指从k
j
随机提取出来的第i个随机结果,函数形式如下:
24.e:{0,1}
w

{0,1}
m

25.满足w=cm,并且c>1;
26.进一步,量子货币系统将e
i
(k
j
)输入到量子单向函数中,就会产生含有log(n)+1个量子位的量子态其结果表示为:
[0027][0028]
其中,k
j
∈{0,1}
n
,i∈{1,...,n},j∈{1,...,n};
[0029]
最后,量子货币系统从n个选择z个不同的量子态,并把这些量子态一一输入到量子指纹函数中,得到的量子态表示为:
[0030][0031]
其中,h表示量子指纹函数;此时对应原始比特串k0=(a1,a2,...,a
n
)的量子货币最终生成,其与量子指纹函数的最终量子态一一对应,因此可用量子指纹函数唯一识别量子货币。
[0032]
所述的一种基于分布式账本的量子货币交易方法,包括步骤2,量子货币发行,其包括以下具体步骤
[0033]
子步骤2

1,量子货币的分发;
[0034]
在量子货币发行和交易之前,量子货币个人用户user和代理方用户m必须在量子货币交易平台成功申请交易账户,无合法账户的任何个人用户或代理方用户均无法获得量子货币或进行量子货币交易;获得合法账户的个人用户user可以在量子货币系统中通过挖矿方式自行取得量子货币;获得合法账户的代理方用户m可以通过量子货币交易平台以收购方式从个人用户获得量子货币;进一步地,在量子货币代理收购交易中,量子货币代理方m必须向量子货币个人用户user支付足够款项才可购买一定数量的量子货币,即量子货币代理方m为付款方,量子货币购买方user为收款方,量子货币为收购交易的商品;
[0035]
假设量子货币系统使用的椭圆曲线数字签名算法的公共参数为(f
q
,a,b,g,n),为了简单起见,这里所描述的比特公钥地址均指量子货币地址;
[0036]
进一步地,量子货币交易平台选择一个经典比特串地址
[0037]
进一步地,量子货币交易平台调用量子货币系统和量子盲签名算法的密钥生成算法,生成量子公私钥对(pk,sk);
[0038]
进一步地,量子货币代理方用户m可通过量子货币系统选择两对长期使用的量子公私钥对(v
pka
,v
a
)和(v
pkb
,v
b
),使用两对量子密钥是为了生成一次性量子公钥地址,一次性量子公钥地址既能一定程度上实现匿名性;
[0039]
进一步地,量子货币个人用户user通过量子货币系统选择—对长期使用的量子密钥(m
pub
,m
prv
)作为签名密钥,以便生成量子货币代理方用户m的支付凭证;
[0040]
进一步地,量子货币代理方用户m选择量子货币公钥地址v
upk
向量子货币交易平台存款,即准备收购量子货币的款项;
[0041]
子步骤2

2,代理方存款;
[0042]
在交易量子货币前,量子货币代理方用户m需要通过量子货币交易平台在账户上存款,才可购买存款额度内的量子货币;量子货币代理方用户m通过量子货币交易平台发送(m,t1,v
upk
),申请在账户上进行存款;
[0043]
进一步地,若量子货币交易平台接收到了量子货币代理方用户m的存款申请,则计算存款承诺σ
c
=sig(m
prv
,(m,t1,v
upk
,v
tpk
)),并发送给量子货币代理方用户m,此时,量子货
币交易平台已经向量子货币代理方用户m做出了接受其存款的承诺;否则,量子货币交易平台可因交易风险或用户黑名单等任何原因不发送接受其存款的承诺,量子货币代理方用户m存款过程中止;
[0044]
进一步地,量子货币代理方用户m通过量子货币交易平台收到其发送的存款承诺后,可通过量子货币交易平台验证合法性;若验证合法,则量子货币代理方用户m开始创建量子货币存款业务,其输入为v
upk
,输出为量子货币交易平台的量子公钥地址v
tpk
;否则,若验证不合法,则量子货币代理方用户m存款过程中止;
[0045]
进一步地,量子货币代理方用户m通过量子货币交易平台向本人账户提交足额存款;如果量子货币交易平台在时间t1前收到了量子货币代理方用户m的存款,则量子货币交易平台通过量子货币系统调用量子签名算法生成签名σ
m
,并将签名结果发送给量子货币代理方用户m,该签名σ
m
含有量子货币代理方用户m的存款时间戳、账户余额等信息,并将本次交易记录在分布式账本,相当于付款凭证;否则,如量子货币交易平台未在规定时间收到足额存款,则量子货币代理方用户m存款过程中止;
[0046]
进一步地,如果量子货币代理方用户m付款成功后没有收到σ
m
,则可向量子货币交易平台公开其存款承诺σ
c
进行申诉,量子货币交易平台可以验证σ
c
的有效性,并在分布式账本查找量子货币代理方用户m的付款交易和签名σ
m
,从而对存款冲突问题进行裁决;
[0047]
子步骤2

3,代理方购买量子货币;
[0048]
量子货币代理方用户m通过量子货币交易平台提交购买一定数量量子货币的订单,量子货币个人用户user可响应该订单,并向量子货币代理方用户m出售自己挖矿得到的量子货币;量子货币代理方用户m根据量子货币个人用户user响应消息确定是否同意收购,如同意则随机选择r∈[1,n

1],计算r=tg,通过量子货币系统计算本次订单的一次性量子公钥地址p=h
s
(rv
pka
)g+v
pkb
;量子货币代理方用户m通过量子货币交易平台将订单请求r||msg发送给量子货币个人用户user,其中msg为订单信息;
[0049]
进一步地,量子货币个人用户user收到量子货币代理方用户m同意购买量子货币的订单请求后,通过量子货币系统计算本次订单的一次性量子公钥地址p=h
s
(v
a
r)g+v
pkb
,同时计算该公钥对应的量子私钥p=h
s
(v
a
r)+v
b
[0050]
进一步地,量子货币个人用户user计算交易承诺σ
vender
=sig(v
b
,(r,msg)),是否可满足量子货币代理方用户m提交的订单请求,如果可满足,则量子货币个人用户user将响应订单的请求通过量子货币交易平台发送给量子货币代理方用户m;如果无法满足量子货币代理方用户m提交的订单请求,则量子货币个人用户user将拒绝订单的消息通过量子货币交易平台发送给量子货币代理方用户m,量子货币交易平台将中止本次量子货币收购行为;
[0051]
进一步地,量子货币代理方用户m通过量子货币交易平台进行预付款,即将量子货币代理方用户m账户上的余额按照本次订单数额进行扣除,扣除的款项暂时由量子货币交易平台保存,不交给量子货币个人用户user,也不交给量子货币代理方用户m;同时,量子货币代理方用户m通过量子货币系统对一次性量子公钥地址p进行盲化,即计算p
*
=blind(p),量子货币系统计算盲化后的支付信息并将发送给量子货币个人用户user,c为量子货币购买数量,v
usk
为量子货币代理方用户m的签名量子私
钥;
[0052]
进一步地,量子货币个人用户user收到量子货币代理方用户m的预付款消息和签名后,调用量子货币系统和量子签名验证算法,若成立,说明量子公钥地址v
upk
确实为user所有,购买订单真实;之后,量子货币个人用户user继续调用分布式账本验证算法,若verify(v
tpk

m
)=1成立,再检查σ
m
是否被使用过以及c≤m是否成立,若分布式账本中没有出现过该笔交易,且预付款凭证合法,则量子货币个人用户user通过量子货币交易平台向量子货币代理方用户m账户按订单请求支付一定数量的量子货币;否则,量子货币收购过程中止;
[0053]
进一步地,量子货币个人用户user调用量子货币系统和量子盲签名中的签名生成算法,计算对该笔交易的量子货币进行盲签名,生成嵌入有共识参数s的支付承诺;
[0054]
子步骤2

4,个人用户收款;
[0055]
量子货币代理方用户m调用量子盲签名算法中的去盲算法,检查账户上的量子货币是否到账,如果检查订单上的量子货币已经足额到账,则计算并使用匿名身份将σ
pay
发送给量子货币个人用户user;量子货币代理方用户m通过量子货币交易平台发送已经收到量子货币的确认消息;
[0056]
进一步地,量子货币个人用户user调用量子盲签名算法中的签名验证算法,若verify(pk,σ
pay
)=1成立,且签名是第一次使用,量子货币个人用户user可确认量子货币代理方用户m已经收到本次交易订单规定的量子货币,交易的输入为v
tpk
,输出为p,交易数量为c;
[0057]
进一步地,量子货币交易平台收到量子货币代理方用户m发送的已经收到量子货币的确认消息,则将相应数量的预付款支付到量子货币个人用户user账户上,并修改量子货币个人用户user账户的存款余额;
[0058]
进一步地,量子货币个人用户user收到款项后,计算签名σ'
m
=sig(v
tsk
,(v
upk
,m',t')),其中m'=m

c,表示user的最新余额信息,将发送给向量子货币交易平台,表示已经收到足额款项;
[0059]
子步骤2

5,分布式记账;
[0060]
量子货币个人用户user挖矿成功或完成本次交易成功后,以及量子货币代理方用户m收购成功后,量子货币交易平台均会在分布式账本创建本次交易的记录,并全网记账;所有账本信息保持一致;一旦有账本信息与大多数账本信息不一致,则认为该账本无效;
[0061]
进一步地,发生交易纠纷和交易冲突时,一旦量子货币交易平台可在分布式账本上查找相应交易,如果能找到对应的交易记录,且该交易的信息一致,则通过共识机制认可该笔交易;
[0062]
进一步地,分布式账本可与量子货币系统结合使用,对量子货币发行中的交易纠纷和交易冲突进行自动裁决;例如,量子货币代理方用户m收到量子货币后,调用签名算法,用r作为私钥,计算σ
receive
=sig(r,msg)得到收货凭证并发送给量子货币个人用户user;
[0063]
进一步地,如果量子货币个人用户user没有发货,量子货币代理方用户m将

vender
,r,(v
pka
,v
pkb
))发送给量子货币交易平台,量子货币交易平台调用量子货币系统和量子签名验证算法,如果verify(v
pkb

vender
)=1成立,证明该交易承诺确实由量子货币个人用户user生成,再计算p=h
s
(rv
pka
)g+v
pkb
和r=rg,如果r=r',说明p确定为本次订单的一次性公钥地址,分布式账本可与量子货币系统向量子货币交易平台发送仲裁结果,催促量子货币个人用户user发货;
[0064]
进一步地,如果量子货币代理方用户m已经收货却否认收货,诽谤量子货币个人用户user,量子货币交易平台也可以通过查询分布式账本和量子货币系统,公开量子货币代理方用户m的收货凭证σ
receive
,并调用签名验证算法验证verify(r,σ
receive
)=1成立,证明量子货币代理方用户m已经收货,不可抵赖。
[0065]
所述的一种基于分布式账本的量子货币交易方法,包括步骤3,量子货币的代理交易,其包括以下具体步骤:
[0066]
子步骤3

1,量子货币代理交易初始化;
[0067]
在量子货币代理交易之前,量子货币购买方user和代理方m必须在量子货币交易平台成功申请交易账户,无合法账户的任何用户均无法进行量子货币代理交易;在量子货币代理交易中,量子货币购买方user向代理方m购买一定数量的量子货币,并向量子货币代理方m支付足够款项,即量子货币购买方user为付款方,量子货币代理方m为收款方,量子货币为交易的商品;
[0068]
假设量子货币系统使用的椭圆曲线数字签名算法的公共参数为(f
q
,a,b,g,n),为了简单起见,这里所描述的比特公钥地址均指量子货币地址;
[0069]
进一步地,量子货币交易平台选择一个经典比特串地址
[0070]
进一步地,量子货币交易平台调用量子货币系统和量子盲签名算法的密钥生成算法,生成量子公私钥对(pk,sk);
[0071]
进一步地,量子货币购买方user通过量子货币系统选择两对长期使用的量子公私钥对(v
pka
,v
a
)和(v
pkb
,v
b
),使用两对量子密钥是为了生成一次性量子公钥地址,一次性量子公钥地址既能一定程度上实现匿名性;
[0072]
进一步地,代理方m通过量子货币系统选择—对长期使用的量子密钥(m
pub
,m
prv
)作为签名密钥,以便生成量子货币购买方user的支付凭证;
[0073]
进一步地,量子货币购买方user选择量子货币公钥地址v
upk
向量子货币交易平台存款;
[0074]
子步骤3

2,购买方存款;
[0075]
在交易量子货币前,购买方需要通过量子货币交易平台在账户上存款,才可购买存款额度内的量子货币;量子货币购买方user通过量子货币交易平台发送(m,t1,v
upk
),申请在账户上进行存款;
[0076]
进一步地,若量子货币交易平台接收到了量子货币购买方user的存款申请,则计算存款承诺σ
c
=sig(m
prv
,(m,t1,v
upk
,v
tpk
)),并发送给量子货币购买方user,此时,量子货币交易平台已经向user做出了接受其存款的承诺;否则,量子货币交易平台可因交易风险或用户黑名单等任何原因不发送接受其存款的承诺,购买方存款过程中止;
[0077]
进一步地,购买方user通过量子货币交易平台收到其发送的存款承诺后,可通过量子货币交易平台验证合法性;若验证合法,则用户user开始创建量子货币存款业务,其输
入为v
upk
,输出为量子货币交易平台的量子公钥地址v
tpk
;否则,若验证不合法,则购买方存款过程中止;
[0078]
进一步地,购买方user通过量子货币交易平台向本人账户提交足额存款;如果量子货币交易平台在时间t1前收到了购买方user的存款,则量子货币交易平台通过量子货币系统调用量子签名算法生成签名σ
m
,并将签名结果发送给购买方user,该签名σ
m
含有user的存款时间戳、账户余额等信息,并将本次交易记录在分布式账本,相当于付款凭证;否则,如量子货币交易平台未在规定时间收到足额存款,则购买方存款过程中止;
[0079]
进一步地,如果购买方user付款成功后没有收到σ
m
,则可向量子货币交易平台公开其存款承诺σ
c
进行申诉,量子货币交易平台可以验证σ
c
的有效性,并在分布式账本查找user的付款交易和签名σ
m
,从而对存款冲突问题进行裁决;
[0080]
子步骤3

3,向代理方购买量子货币;
[0081]
量子货币购买方user通过量子货币交易平台提交购买一定数量量子货币的订单;购买方user随机选择r∈[1,n

1],计算r=tg,通过量子货币系统计算本次订单的一次性量子公钥地址p=h
s
(rv
pka
)g+v
pkb
;user通过量子货币交易平台将订单请求r||msg发送给量子货币代理方m,其中msg为订单信息;
[0082]
进一步地,量子货币代理方m收到用户购买量子货币的订单请求后,通过量子货币系统计算本次订单的一次性量子公钥地址p=h
s
(v
a
r)g+v
pkb
,同时计算该公钥对应的量子私钥p=h
s
(v
a
r)+v
b
[0083]
进一步地,量子货币代理方m计算交易承诺σ
vender
=sig(v
b
,(r,msg)),是否可满足量子货币购买方user提交的订单请求,如果可满足,则量子货币代理方m将响应订单的请求通过量子货币交易平台发送给user;如果无法满足购买方user提交的订单请求,则量子货币代理方m将拒绝订单的消息通过量子货币交易平台发送给user,量子货币交易平台将中止本次量子货币交易;
[0084]
进一步地,量子货币购买方user通过量子货币交易平台进行预付款,即将购买方user账户上的余额按照本次订单数额进行扣除,扣除的款项暂时由量子货币交易平台保存,不交给量子货币购买方user,也不交给量子货币代理方m;同时,量子货币购买方user通过量子货币系统对一次性量子公钥地址p进行盲化,即计算p
*
=blind(p),量子货币系统计算盲化后的支付信息并将发送给量子货币代理方m,c为量子货币购买数量,v
usk
为user的签名量子私钥;
[0085]
进一步地,量子货币代理方m收到user的预付款消息和签名后,调用量子货币系统和量子签名验证算法,若成立,说明量子公钥地址v
upk
确实为user所有,购买订单真实;之后,量子货币代理方m继续调用分布式账本验证算法,若verify(v
tpk

m
)=1成立,再检查σ
m
是否被使用过以及c≤m是否成立,若分布式账本中没有出现过该笔交易,且预付款凭证合法,则量子货币代理方m通过量子货币交易平台向购买方user账户按订单请求支付一定数量的量子货币;否则,量子货币交易过程中止;
[0086]
进一步地,量子货币代理方m调用量子货币系统和量子盲签名中的签名生成算法,计算对该笔交易的量子货币进行盲签名,生成嵌入有共识参数s的
支付承诺;
[0087]
子步骤3

4,向代理方支付;
[0088]
量子货币购买方user调用量子盲签名算法中的去盲算法,检查账户上的量子货币是否到账,如果检查订单上的量子货币已经足额到账,则计算并使用匿名身份将σ
pay
发送给代理方m;量子货币购买方user通过量子货币交易平台发送已经收到量子货币的确认消息;
[0089]
进一步地,代理方m调用量子盲签名算法中的签名验证算法,若verify(pk,σ
pay
)=1成立,且签名是第一次使用,代理方m可确认购买方user已经收到本次交易订单规定的量子货币,交易的输入为v
tpk
,输出为p,交易数量为c;
[0090]
进一步地,量子货币交易平台收到量子货币购买方user发送的已经收到量子货币的确认消息,则将相应数量的预付款支付到量子货币代理方m账户上,并修改量子货币代理方m账户的存款余额;
[0091]
进一步地,量子货币代理方m收到款项后,计算签名σ'
m
=sig(v
tsk
,(v
upk
,m',t')),其中m'=m

c,表示量子货币代理方m的最新余额信息,将发送给向量子货币交易平台,表示已经收到足额款项;
[0092]
子步骤3

5,分布式记账;
[0093]
本次交易成功后,量子货币交易平台在分布式账本创建本次交易的记录,并全网记账;所有账本信息保持一致;一旦有账本信息与大多数账本信息不一致,则认为该账本无效;
[0094]
进一步地,发生交易纠纷和交易冲突时,一旦量子货币交易平台可在分布式账本上查找相应交易,如果能找到对应的交易记录,且该交易的信息一致,则通过共识机制认可该笔交易;
[0095]
进一步地,分布式账本可与量子货币系统结合使用,对交易纠纷和交易冲突进行自动裁决;例如,购买方user收到量子货币后,调用签名算法,用r作为私钥,计算σ
receive
=sig(r,msg)得到收货凭证并发送给量子货币代理方m;
[0096]
进一步地,如果量子货币代理方m没有发货,购买方user将(σ
vender
,r,(v
pka
,v
pkb
))发送给量子货币交易平台,量子货币交易平台调用量子货币系统和量子签名验证算法,如果verify(v
pkb

vender
)=1成立,证明该交易承诺确实由量子货币代理方m生成,再计算p=h
s
(rv
pka
)g+v
pkb
和r=rg,如果r=r',说明p确定为本次订单的一次性公钥地址,分布式账本可与量子货币系统向量子货币交易平台发送仲裁结果,催促量子货币代理方m发货;
[0097]
进一步地,如果购买方user已经收货却否认收货,诽谤量子货币代理方m,量子货币交易平台也可以通过查询分布式账本和量子货币系统,公开购买方user的收货凭证σ
receive
,并调用签名验证算法验证verify(r,σ
receive
)=1成立,证明量子货币购买方user已经收货,不可抵赖。
[0098]
所述的一种基于分布式账本的量子货币交易方法,包括步骤4,量子货币验证,其包括以下具体步骤:
[0099]
子步骤4

1,量子货币原始比特串查询:
[0100]
具有合法账户的用户alice可通过量子货币交易平台使用量子货币验证仪验证量
子货币的真伪,量子货币验证仪能够通过量子货币系统提取量子货币内被加密的量子货币态及原始比特串地址:
[0101][0102]
量子货币验证仪检查原始比特串地址,如果原始比特串地址不由量子货币交易平台发行,则判断该量子货币为假量子货币,本次验证结束;如果是原始比特串地址,量子货币验证仪进入下面步骤;
[0103]
子步骤4

2,量子货币的量子态验证:
[0104]
利用陷门s,量子货币验证仪对加密过的量子货币态进行解密,具体如下:
[0105][0106][0107]
进一步地,量子货币验证仪就得到加密态|h
r
>,还有量子货币态∑
l
α
l
|l>;
[0108]
进一步地,量子货币验证仪检查用户alice的id,并且为了进行身份认证,可通过量子货币交易平台要求用户alice输入密码,
[0109]
alice

qbm:id||password
[0110]
进一步地,量子货币验证仪就会得到一个经典字符串r1=(id1||password1)
alice
,并把这个字符串输入量子指纹函数中去,此步骤与生成加密态的过程类似,然后就可以得到量子货币自己生成的加密态|h'
r
>;
[0111]
进一步地,利用量子交换测试电路,量子货币验证仪比较两个加密态|h
r
>和|h'
r
>,如果两个量子态不相等,则量子货币验证仪则没收该量子货币;如果两个量子态相等,则判断这个量子货币是用户alice的财产;
[0112]
进一步地,分布式账本将量子货币内解密获得的量子货币态和真量子态量子货币相较比较,如果两个量子货币态不相等,则说明是假量子货币;如果相等,则说明是真量子货币,并输出量子货币态;
[0113]
子步骤4

3,量子货币的伪态恢复:
[0114]
进一步地,量子货币验证仪还可通过量子货币系统和分布式账本找到其真正的主人,并将该量子货币归还原账户,实现强大的量子货币伪态恢复和容错计算能力;
[0115]
进一步地,量子货币验证仪可通过量子货币交易平台要求用户将其密码和id输入r=(id||password)
shop

[0116]
shop

qbm:id||password
[0117]
然后,根据用户输入的密码和id,量子货币验证仪通过量子货币系统生成一个新的加密态|h
r
>,并通过上述陷门函数,对量子货币态进行加密;
[0118][0119]
最后的得到一个新的量子态,并量子货币交易平台和量子货币系统把它重新存入
量子货币中,并通过共识算法更新分布式账本,修改错误的账本数据。
[0120]
与现有技术相比,本发明具有如下技术效果:
[0121]
1)由于量子的不可克隆定理和量子态的无条件安全以及量子单值函数的不可逆性,极大的保证了量子货币的安全可靠性。量子货币对量子攻击或量子计算机伪造量子货币的行为具有天然的免疫力,理论上是无条件安全的,相应的安全性证明并非是基于传统的算法复杂性假设,而是基于标准的攻击者复杂性假设的;
[0122]
2)采用量子货币代理交易极大地缩短交易确认时间,解决了区块链验证的交易延时问题,同时提高了交易的匿名性和隐私性。量子货币交易是实时的,而经典电子货币交易验证时间较长,交易速度较慢,而量子货币交易仅需接收者读取区块链中一个最近的副本即可。量子货币代理交易就像普通的硬币和纸币交易一样,能够被多次重复使用直至衰减耗尽。
[0123]
3)采用量子货币验证仪保证了量子货币交易的真实性和匿名性,防止伪造量子货币的产生与流通。量子货币采用量子盲签名算法,由于量子盲签名的盲性,使得交易信息更加安全。量子货币是完全依照事先规定好的规则产生新的量子货币,可以有效地避免以往实体量子货币或经典电子货币的物理版权伪造,同时基于量子密码技术也可以有效地防止信息伪造。同时,量子货币验证仪还可以验证用户身份及用户财产真实性,保证了量子货币交易的公平性。
[0124]
4)量子货币更适合作为分布式公开可认证的支付系统。量子货币系统中不需要有一个中央权威机构发放量子货币,只须在分布式环境中制备、存储、测量和重构低噪声的量子态,便可完成量子货币的使用。不可克隆定理从理论上提供了量子货币的不可复制性,分布式账本技术也能以分布和民主的方式创造安全的账本和共识机制。因此,量子货币是一个与本地交易相结合的高度安全的分布式支付系统,使用更方便。
附图说明
[0125]
下面结合附图和实施例对本发明作进一步说明:
[0126]
图1为本发明的量子货币技术与方法的结构图;
[0127]
图2为本发明的量子货币工作流程图;
具体实施方式
[0128]
一种基于分布式账本的量子货币交易方法,包括以下步骤:
[0129]
步骤1,量子货币生成;
[0130]
步骤2,量子货币发行;
[0131]
步骤3,量子货币的代理交易;
[0132]
步骤4,量子货币验证;
[0133]
在步骤1中,用户先申请量子货币交易账户,由用户向量子货币交易平台101提交申请量子货币账户,量子货币交易平台101随机为用户账户生成公私钥对;用户通过量子货币交易平台101登陆账户,量子货币系统102将量子货币地址作为原始比特串k0=(a1,a2,...,a
n
),其中,a
i
∈{0,1},将原始比特串输入至量子指纹函数获取量子货币态,然后量子货币系统102通过量子单向函数的作用生成最终态量子货币,并根据需要分配到用户账
户;此时,量子货币系统102生成的最终态量子货币与量子指纹函数态形成了一个映射,再将原始比特串记录从而生成量子货币。
[0134]
在步骤2中,在量子货币系统102生成量子货币后,在进行量子货币的发行时;量子货币发行由量子货币交易平台101进行,用户登陆申请的账户在量子货币交易平台101进行量子货币的挖矿,用户保持与量子货币交易平台101的服务器通讯,然后运行量子货币挖矿算法,便可获得相应的量子货币;个人用户可以通过挖矿方式自行取得量子货币,代理方可以通过收购个人用户手中的量子货币而获得量子货币,代理方也可以向个人出售所获得的量子货币;量子货币发行和交易记录可以使用分布式账本104进行记账。
[0135]
在步骤3中,非挖矿用户想获取量子货币,可通过由量子货币交易平台101的代理交易销售进行,用户可登陆申请的账户在量子货币交易平台101向量子货币代理用户购买量子货币;完成系统初始化后,用户可利用量子盲签名算法通过量子货币系统102获取一次性密钥对,量子货币系统102将公钥地址发至代理方用于向代理方存入量子货币;先由量子货币购买方在量子货币交易平台101向代理方申请存款,代理方处理存款申请,并生成存款协议发送至量子货币购买方,在量子货币购买方核实协议真实性后兑现量子货币存款,代理方收到量子货币存款后利用量子盲签名算法生成付款交易凭证,量子货币存款结束,即量子货币交易初始化结束;进行量子货币代理交易时,量子货币购买方在量子货币交易平台101计算本订单交易的量子货币地址并向代理方提交量子货币交易订单,代理方计算得出交易承诺并反馈给量子货币购买方,完成订单提交;量子货币购买方通过量子货币系统102利用量子盲签名去盲算法计算支付协议并将其发送至代理方;之后由代理方验证支付协议,若收款方在量子货币交易平台101上找到一条交易,该交易的输入为代理方的公钥,输出为一次性公钥地址,则收款方可兑现交易承诺,将与订单对应数量的量子货币发送到购买方账户;量子货币购买方收到量子货币后,即将收货凭证通过量子货币系统102进行量子加密,并发送至代理方;量子货币交易平台101核查本次量子货币交易结果,若双方钱货两清,即购买方已收到相应订单的量子货币,收款方已收到相应订单的款项,则在分布式账本104记账,完成本次代理交易。
[0136]
在步骤4中,在进行量子货币的验证时;量子货币用户在量子货币交易平台101根据查询列表检查原始比特串,若可查询到一致的结果,则说明该量子货币在量子货币交易平台101发行,可进一步使用量子货币验证仪103验证量子货币状态;否则,如查询结果不一致,则判断该量子货币为假,验证结束;进一步地,量子货币用户可利用量子货币验证仪103验证量子货币态真实性,若量子货币验证仪103检测结果一致,则判断该量子货币为真;否则该量子货币为假,量子货币验证结束;优选地,量子货币验证仪103还可协助量子货币用户在量子货币交易平台101进行用户身份的验证与校正,以及在分布式账本104上审计记账的准确性和处理记账冲突。
[0137]
在步骤1中,在量子货币生成时,包括以下步骤:
[0138]
子步骤1

1,申请量子货币交易账户;用户alice在交易量子货币前,需要向量子货币交易平台101申请一个账户,量子货币交易平台101收到申请后验证用户alice的申请信息,验证成功后为用户alice创建一个账户,并通过量子货币系统102向用户alice提供一个私钥,私钥只有alice自己知道,然后量子货币交易平台101生成一串包括用户alice账户id的经典字符r=(id||password)
alice
,即原始比特串(||表示两个字符串的拼接),用户alice
完成了量子货币交易账户申请;
[0139]
子步骤1

2,生成量子货币;量子货币系统102把这串拼接后的得到的字符串输入量子指纹函数,获取量子货币态,然后通过量子单向函数的作用生成最终态量子货币;
[0140]
量子货币系统102生成的每个量子货币中都包含一个字符串lk作为公钥和y个相同的量子货币态,所有的lk都是不一样的,量子货币态的制备由一个经典比特串开始;
[0141]
量子货币系统102为了制备一个量子货币,必须先选择一个原始比特串
[0142]
k0=(a1,a2,...,a
n
);
[0143]
其中,a
i
={0,1};
[0144]
进一步,量子货币系统102选定一个量子货币生成函数f
2n
,并从中随机选择一个秘密的多阶多项式g(x)满足g(0)=k0;
[0145]
进一步,量子货币系统102计算该多项式并得到k
j
=g(x
j
),j∈{1,...,n},其中x
j
为非零元素;
[0146]
进一步,量子货币系统102采用一种函数编码方法来完成对原始比特串的转换,其中,e是关于k
j
的编码后的函数,而e(k
j
)是一个从k
j
随机提取出来的字符串,e
i
(k
j
)是指从k
j
随机提取出来的第i个随机结果,函数形式如下:
[0147]
e:{0,1}
w

{0,1}
m

[0148]
满足w=cm,并且c>1;
[0149]
进一步,量子货币系统102将e
i
(k
j
)输入到量子单向函数中,就会产生含有log(n)+1个量子位的量子态其结果表示为:
[0150][0151]
其中,k
j
∈{0,1}
n
,i∈{1,...,n},j∈{1,...,n};
[0152]
最后,量子货币系统102从n个选择z个不同的量子态,并把这些量子态一一输入到量子指纹函数中,得到的量子态表示为:
[0153][0154]
其中,h表示量子指纹函数;此时对应原始比特串k0=(a1,a2,...,a
n
)的量子货币最终生成,其与量子指纹函数的最终量子态一一对应,因此可用量子指纹函数唯一识别量子货币。
[0155]
在步骤2中,在进行量子货币的发行时,包括以下具体步骤:
[0156]
子步骤2

1,量子货币的分发;
[0157]
在量子货币发行和交易之前,量子货币个人用户user和代理方用户m必须在量子货币交易平台101成功申请交易账户,无合法账户的任何个人用户或代理方用户均无法获得量子货币或进行量子货币交易;获得合法账户的个人用户user可以在量子货币系统102中通过挖矿方式自行取得量子货币;获得合法账户的代理方用户m可以通过量子货币交易平台101以收购方式从个人用户获得量子货币;进一步地,在量子货币代理收购交易中,量子货币代理方m必须向量子货币个人用户user支付足够款项才可购买一定数量的量子货
币,即量子货币代理方m为付款方,量子货币购买方user为收款方,量子货币为收购交易的商品;
[0158]
假设量子货币系统102使用的椭圆曲线数字签名算法的公共参数为(f
q
,a,b,g,n),为了简单起见,这里所描述的比特公钥地址均指量子货币地址;
[0159]
进一步地,量子货币交易平台101选择一个经典比特串地址
[0160]
进一步地,量子货币交易平台101调用量子货币系统102和量子盲签名算法的密钥生成算法,生成量子公私钥对(pk,sk);
[0161]
进一步地,量子货币代理方用户m可通过量子货币系统102选择两对长期使用的量子公私钥对(v
pka
,v
a
)和(v
pkb
,v
b
),使用两对量子密钥是为了生成一次性量子公钥地址,一次性量子公钥地址既能一定程度上实现匿名性;
[0162]
进一步地,量子货币个人用户user通过量子货币系统102选择—对长期使用的量子密钥(m
pub
,m
prv
)作为签名密钥,以便生成量子货币代理方用户m的支付凭证;
[0163]
进一步地,量子货币代理方用户m选择量子货币公钥地址v
upk
向量子货币交易平台101存款,即准备收购量子货币的款项;
[0164]
子步骤2

2,代理方存款;
[0165]
在交易量子货币前,量子货币代理方用户m需要通过量子货币交易平台101在账户上存款,才可购买存款额度内的量子货币;量子货币代理方用户m通过量子货币交易平台101发送(m,t1,v
upk
),申请在账户上进行存款;
[0166]
进一步地,若量子货币交易平台101接收到了量子货币代理方用户m的存款申请,则计算存款承诺σ
c
=sig(m
prv
,(m,t1,v
upk
,v
tpk
)),并发送给量子货币代理方用户m,此时,量子货币交易平台101已经向量子货币代理方用户m做出了接受其存款的承诺;否则,量子货币交易平台101可因交易风险或用户黑名单等任何原因不发送接受其存款的承诺,量子货币代理方用户m存款过程中止;
[0167]
进一步地,量子货币代理方用户m通过量子货币交易平台101收到其发送的存款承诺后,可通过量子货币交易平台101验证合法性;若验证合法,则量子货币代理方用户m开始创建量子货币存款业务,其输入为v
upk
,输出为量子货币交易平台101的量子公钥地址v
tpk
;否则,若验证不合法,则量子货币代理方用户m存款过程中止;
[0168]
进一步地,量子货币代理方用户m通过量子货币交易平台101向本人账户提交足额存款;如果量子货币交易平台101在时间t1前收到了量子货币代理方用户m的存款,则量子货币交易平台101通过量子货币系统102调用量子签名算法生成签名σ
m
,并将签名结果发送给量子货币代理方用户m,该签名σ
m
含有量子货币代理方用户m的存款时间戳、账户余额等信息,并将本次交易记录在分布式账本104,相当于付款凭证;否则,如量子货币交易平台101未在规定时间收到足额存款,则量子货币代理方用户m存款过程中止;
[0169]
进一步地,如果量子货币代理方用户m付款成功后没有收到σ
m
,则可向量子货币交易平台101公开其存款承诺σ
c
进行申诉,量子货币交易平台101可以验证σ
c
的有效性,并在分布式账本104查找量子货币代理方用户m的付款交易和签名σ
m
,从而对存款冲突问题进行裁决;
[0170]
子步骤2

3,代理方购买量子货币;
[0171]
量子货币代理方用户m通过量子货币交易平台101提交购买一定数量量子货币的
订单,量子货币个人用户user可响应该订单,并向量子货币代理方用户m出售自己挖矿得到的量子货币;量子货币代理方用户m根据量子货币个人用户user响应消息确定是否同意收购,如同意则随机选择r∈[1,n

1],计算r=tg,通过量子货币系统102计算本次订单的一次性量子公钥地址p=h
s
(rv
pka
)g+v
pkb
;量子货币代理方用户m通过量子货币交易平台101将订单请求r||msg发送给量子货币个人用户user,其中msg为订单信息;
[0172]
进一步地,量子货币个人用户user收到量子货币代理方用户m同意购买量子货币的订单请求后,通过量子货币系统102计算本次订单的一次性量子公钥地址p=h
s
(v
a
r)g+v
pkb
,同时计算该公钥对应的量子私钥p=h
s
(v
a
r)+v
b
[0173]
进一步地,量子货币个人用户user计算交易承诺σ
vender
=sig(v
b
,(r,msg)),是否可满足量子货币代理方用户m提交的订单请求,如果可满足,则量子货币个人用户user将响应订单的请求通过量子货币交易平台101发送给量子货币代理方用户m;如果无法满足量子货币代理方用户m提交的订单请求,则量子货币个人用户user将拒绝订单的消息通过量子货币交易平台101发送给量子货币代理方用户m,量子货币交易平台101将中止本次量子货币收购行为;
[0174]
进一步地,量子货币代理方用户m通过量子货币交易平台101进行预付款,即将量子货币代理方用户m账户上的余额按照本次订单数额进行扣除,扣除的款项暂时由量子货币交易平台101保存,不交给量子货币个人用户user,也不交给量子货币代理方用户m;同时,量子货币代理方用户m通过量子货币系统102对一次性量子公钥地址p进行盲化,即计算p
*
=blind(p),量子货币系统102计算盲化后的支付信息并将发送给量子货币个人用户user,c为量子货币购买数量,v
usk
为量子货币代理方用户m的签名量子私钥;
[0175]
进一步地,量子货币个人用户user收到量子货币代理方用户m的预付款消息和签名后,调用量子货币系统102和量子签名验证算法,若成立,说明量子公钥地址v
upk
确实为user所有,购买订单真实;之后,量子货币个人用户user继续调用分布式账本104验证算法,若verify(v
tpk

m
)=1成立,再检查σ
m
是否被使用过以及c≤m是否成立,若分布式账本104中没有出现过该笔交易,且预付款凭证合法,则量子货币个人用户user通过量子货币交易平台101向量子货币代理方用户m账户按订单请求支付一定数量的量子货币;否则,量子货币收购过程中止;
[0176]
进一步地,量子货币个人用户user调用量子货币系统102和量子盲签名中的签名生成算法,计算对该笔交易的量子货币进行盲签名,生成嵌入有共识参数s的支付承诺;
[0177]
子步骤2

4,个人用户收款;
[0178]
量子货币代理方用户m调用量子盲签名算法中的去盲算法,检查账户上的量子货币是否到账,如果检查订单上的量子货币已经足额到账,则计算并使用匿名身份将σ
pay
发送给量子货币个人用户user;量子货币代理方用户m通过量子货币交易平台101发送已经收到量子货币的确认消息;
[0179]
进一步地,量子货币个人用户user调用量子盲签名算法中的签名验证算法,若verify(pk,σ
pay
)=1成立,且签名是第一次使用,量子货币个人用户user可确认量子货币代理方用户m已经收到本次交易订单规定的量子货币,交易的输入为v
tpk
,输出为p,交易数量为c;
[0180]
进一步地,量子货币交易平台101收到量子货币代理方用户m发送的已经收到量子货币的确认消息,则将相应数量的预付款支付到量子货币个人用户user账户上,并修改量子货币个人用户user账户的存款余额;
[0181]
进一步地,量子货币个人用户user收到款项后,计算签名σ'
m
=sig(v
tsk
,(v
upk
,m',t')),其中m'=m

c,表示user的最新余额信息,将发送给向量子货币交易平台101,表示已经收到足额款项;
[0182]
子步骤2

5,分布式记账;
[0183]
量子货币个人用户user挖矿成功或完成本次交易成功后,以及量子货币代理方用户m收购成功后,量子货币交易平台101均会在分布式账本104创建本次交易的记录,并全网记账;所有账本信息保持一致;一旦有账本信息与大多数账本信息不一致,则认为该账本无效;
[0184]
进一步地,发生交易纠纷和交易冲突时,一旦量子货币交易平台101可在分布式账本104上查找相应交易,如果能找到对应的交易记录,且该交易的信息一致,则通过共识机制认可该笔交易;
[0185]
进一步地,分布式账本104可与量子货币系统102结合使用,对量子货币发行中的交易纠纷和交易冲突进行自动裁决;例如,量子货币代理方用户m收到量子货币后,调用签名算法,用r作为私钥,计算σ
receive
=sig(r,msg)得到收货凭证并发送给量子货币个人用户user;
[0186]
进一步地,如果量子货币个人用户user没有发货,量子货币代理方用户m将(σ
vender
,r,(v
pka
,v
pkb
))发送给量子货币交易平台101,量子货币交易平台101调用量子货币系统102和量子签名验证算法,如果verify(v
pkb

vender
)=1成立,证明该交易承诺确实由量子货币个人用户user生成,再计算p=h
s
(rv
pka
)g+v
pkb
和r=rg,如果r=r',说明p确定为本次订单的一次性公钥地址,分布式账本104可与量子货币系统102向量子货币交易平台101发送仲裁结果,催促量子货币个人用户user发货;
[0187]
进一步地,如果量子货币代理方用户m已经收货却否认收货,诽谤量子货币个人用户user,量子货币交易平台101也可以通过查询分布式账本104和量子货币系统102,公开量子货币代理方用户m的收货凭证σ
receive
,并调用签名验证算法验证verify(r,σ
receive
)=1成立,证明量子货币代理方用户m已经收货,不可抵赖。
[0188]
在步骤3中,在进行量子货币的代理交易时,采用以下步骤:
[0189]
子步骤3

1,量子货币代理交易初始化;
[0190]
在量子货币代理交易之前,量子货币购买方user和代理方m必须在量子货币交易平台101成功申请交易账户,无合法账户的任何用户均无法进行量子货币代理交易;在量子货币代理交易中,量子货币购买方user向代理方m购买一定数量的量子货币,并向量子货币代理方m支付足够款项,即量子货币购买方user为付款方,量子货币代理方m为收款方,量子
货币为交易的商品;
[0191]
假设量子货币系统102使用的椭圆曲线数字签名算法的公共参数为(f
q
,a,b,g,n),为了简单起见,这里所描述的比特公钥地址均指量子货币地址;
[0192]
进一步地,量子货币交易平台101选择一个经典比特串地址
[0193]
进一步地,量子货币交易平台101调用量子货币系统102和量子盲签名算法的密钥生成算法,生成量子公私钥对(pk,sk);
[0194]
进一步地,量子货币购买方user通过量子货币系统102选择两对长期使用的量子公私钥对(v
pka
,v
a
)和(v
pkb
,v
b
),使用两对量子密钥是为了生成一次性量子公钥地址,一次性量子公钥地址既能一定程度上实现匿名性;
[0195]
进一步地,代理方m通过量子货币系统102选择—对长期使用的量子密钥(m
pub
,m
prv
)作为签名密钥,以便生成量子货币购买方user的支付凭证;
[0196]
进一步地,量子货币购买方user选择量子货币公钥地址v
up
k向量子货币交易平台101存款;
[0197]
子步骤3

2,购买方存款;
[0198]
在交易量子货币前,购买方需要通过量子货币交易平台101在账户上存款,才可购买存款额度内的量子货币;量子货币购买方user通过量子货币交易平台101发送(m,t1,v
upk
),申请在账户上进行存款;
[0199]
进一步地,若量子货币交易平台101接收到了量子货币购买方user的存款申请,则计算存款承诺σ
c
=sig(m
prv
,(m,t1,v
upk
,v
tpk
)),并发送给量子货币购买方user,此时,量子货币交易平台101已经向user做出了接受其存款的承诺;否则,量子货币交易平台101可因交易风险或用户黑名单等任何原因不发送接受其存款的承诺,购买方存款过程中止;
[0200]
进一步地,购买方user通过量子货币交易平台101收到其发送的存款承诺后,可通过量子货币交易平台101验证合法性;若验证合法,则用户user开始创建量子货币存款业务,其输入为v
upk
,输出为量子货币交易平台101的量子公钥地址v
tpk
;否则,若验证不合法,则购买方存款过程中止;
[0201]
进一步地,购买方user通过量子货币交易平台101向本人账户提交足额存款;如果量子货币交易平台101在时间t1前收到了购买方user的存款,则量子货币交易平台101通过量子货币系统102调用量子签名算法生成签名σ
m
,并将签名结果发送给购买方user,该签名σ
m
含有user的存款时间戳、账户余额等信息,并将本次交易记录在分布式账本104,相当于付款凭证;否则,如量子货币交易平台101未在规定时间收到足额存款,则购买方存款过程中止;
[0202]
进一步地,如果购买方user付款成功后没有收到σ
m
,则可向量子货币交易平台101公开其存款承诺σ
c
进行申诉,量子货币交易平台101可以验证σ
c
的有效性,并在分布式账本104查找user的付款交易和签名σ
m
,从而对存款冲突问题进行裁决;
[0203]
子步骤3

3,向代理方购买量子货币;
[0204]
量子货币购买方user通过量子货币交易平台101提交购买一定数量量子货币的订单;购买方user随机选择r∈[1,n

1],计算r=tg,通过量子货币系统102计算本次订单的一次性量子公钥地址p=h
s
(rv
pka
)g+v
pkb
;user通过量子货币交易平台101将订单请求r||msg发送给量子货币代理方m,其中msg为订单信息;
[0205]
进一步地,量子货币代理方m收到用户购买量子货币的订单请求后,通过量子货币系统102计算本次订单的一次性量子公钥地址p=h
s
(v
a
r)g+v
pkb
,同时计算该公钥对应的量子私钥p=h
s
(v
a
r)+v
b
[0206]
进一步地,量子货币代理方m计算交易承诺σ
vender
=sig(v
b
,(r,msg)),是否可满足量子货币购买方user提交的订单请求,如果可满足,则量子货币代理方m将响应订单的请求通过量子货币交易平台101发送给user;如果无法满足购买方user提交的订单请求,则量子货币代理方m将拒绝订单的消息通过量子货币交易平台101发送给user,量子货币交易平台101将中止本次量子货币交易;
[0207]
进一步地,量子货币购买方user通过量子货币交易平台101进行预付款,即将购买方user账户上的余额按照本次订单数额进行扣除,扣除的款项暂时由量子货币交易平台101保存,不交给量子货币购买方user,也不交给量子货币代理方m;同时,量子货币购买方user通过量子货币系统102对一次性量子公钥地址p进行盲化,即计算p
*
=blind(p),量子货币系统102计算盲化后的支付信息并将发送给量子货币代理方m,c为量子货币购买数量,v
usk
为user的签名量子私钥;
[0208]
进一步地,量子货币代理方m收到user的预付款消息和签名后,调用量子货币系统102和量子签名验证算法,若成立,说明量子公钥地址v
upk
确实为user所有,购买订单真实;之后,量子货币代理方m继续调用分布式账本104验证算法,若verify(v
tpk

m
)=1成立,再检查σ
m
是否被使用过以及c≤m是否成立,若分布式账本104中没有出现过该笔交易,且预付款凭证合法,则量子货币代理方m通过量子货币交易平台101向购买方user账户按订单请求支付一定数量的量子货币;否则,量子货币交易过程中止;
[0209]
进一步地,量子货币代理方m调用量子货币系统102和量子盲签名中的签名生成算法,计算对该笔交易的量子货币进行盲签名,生成嵌入有共识参数s的支付承诺;
[0210]
子步骤3

4,向代理方支付;
[0211]
量子货币购买方user调用量子盲签名算法中的去盲算法,检查账户上的量子货币是否到账,如果检查订单上的量子货币已经足额到账,则计算并使用匿名身份将σ
pay
发送给代理方m;量子货币购买方user通过量子货币交易平台101发送已经收到量子货币的确认消息;
[0212]
进一步地,代理方m调用量子盲签名算法中的签名验证算法,若verify(pk,σ
pay
)=1成立,且签名是第一次使用,代理方m可确认购买方user已经收到本次交易订单规定的量子货币,交易的输入为v
tpk
,输出为p,交易数量为c;
[0213]
进一步地,量子货币交易平台101收到量子货币购买方user发送的已经收到量子货币的确认消息,则将相应数量的预付款支付到量子货币代理方m账户上,并修改量子货币代理方m账户的存款余额;
[0214]
进一步地,量子货币代理方m收到款项后,计算签名σ'
m
=sig(v
tsk
,(v
upk
,m',t')),其中m'=m

c,表示量子货币代理方m的最新余额信息,将发送给向量子货币交易
平台101,表示已经收到足额款项;
[0215]
子步骤3

5,分布式记账;
[0216]
本次交易成功后,量子货币交易平台101在分布式账本104创建本次交易的记录,并全网记账;所有账本信息保持一致;一旦有账本信息与大多数账本信息不一致,则认为该账本无效;
[0217]
进一步地,发生交易纠纷和交易冲突时,一旦量子货币交易平台101可在分布式账本104上查找相应交易,如果能找到对应的交易记录,且该交易的信息一致,则通过共识机制认可该笔交易;
[0218]
进一步地,分布式账本104可与量子货币系统102结合使用,对交易纠纷和交易冲突进行自动裁决;例如,购买方user收到量子货币后,调用签名算法,用r作为私钥,计算σ
receive
=sig(r,msg)得到收货凭证并发送给量子货币代理方m;
[0219]
进一步地,如果量子货币代理方m没有发货,购买方user将(σ
vender
,r,(v
pka
,v
pkb
))发送给量子货币交易平台101,量子货币交易平台101调用量子货币系统102和量子签名验证算法,如果verify(v
pkb

vender
)=1成立,证明该交易承诺确实由量子货币代理方m生成,再计算p=h
s
(rv
pka
)g+v
pkb
和r=rg,如果r=r',说明p确定为本次订单的一次性公钥地址,分布式账本104可与量子货币系统102向量子货币交易平台101发送仲裁结果,催促量子货币代理方m发货;
[0220]
进一步地,如果购买方user已经收货却否认收货,诽谤量子货币代理方m,量子货币交易平台101也可以通过查询分布式账本104和量子货币系统102,公开购买方user的收货凭证σ
receive
,并调用签名验证算法验证verify(r,σ
receive
)=1成立,证明量子货币购买方user已经收货,不可抵赖。
[0221]
在步骤4中,在进行量子货币验证时,包括以下步骤:
[0222]
子步骤4

1,量子货币原始比特串查询:
[0223]
具有合法账户的用户alice可通过量子货币交易平台101使用量子货币验证仪103验证量子货币的真伪,量子货币验证仪103能够通过量子货币系统102提取量子货币内被加密的量子货币态及原始比特串地址:
[0224][0225]
量子货币验证仪103检查原始比特串地址,如果原始比特串地址不由量子货币交易平台101发行,则判断该量子货币为假量子货币,本次验证结束;如果是原始比特串地址,量子货币验证仪103进入下面步骤;
[0226]
子步骤4

2,量子货币的量子态验证:
[0227]
利用陷门s,量子货币验证仪103对加密过的量子货币态进行解密,具体如下:
[0228]
[0229]
进一步地,量子货币验证仪103就得到加密态|h
r
>,还有量子货币态∑
l
α
l
|l>;
[0230]
进一步地,量子货币验证仪103检查用户alice的id,并且为了进行身份认证,可通过量子货币交易平台101要求用户alice输入密码,
[0231]
alice

qbm:id||password
[0232]
进一步地,量子货币验证仪103就会得到一个经典字符串r1=(id1||password1)
alice
,并把这个字符串输入量子指纹函数中去,此步骤与生成加密态的过程类似,然后就可以得到量子货币自己生成的加密态|h'
r
>;
[0233]
进一步地,利用量子交换测试电路,量子货币验证仪103比较两个加密态|h
r
>和|h
r
'>,如果两个量子态不相等,则量子货币验证仪103则没收该量子货币;如果两个量子态相等,则判断这个量子货币是用户alice的财产;
[0234]
进一步地,分布式账本104将量子货币内解密获得的量子货币态和真量子态量子货币相较比较,如果两个量子货币态不相等,则说明是假量子货币;如果相等,则说明是真量子货币,并输出量子货币态;
[0235]
子步骤4

3,量子货币的伪态恢复:
[0236]
进一步地,量子货币验证仪103还可通过量子货币系统102和分布式账本104找到其真正的主人,并将该量子货币归还原账户,实现强大的量子货币伪态恢复和容错计算能力;
[0237]
进一步地,量子货币验证仪103可通过量子货币交易平台101要求用户将其密码和id输入r=(id||password)
shop

[0238]
shop

qbm:id||password
[0239]
然后,根据用户输入的密码和id,量子货币验证仪103通过量子货币系统102生成一个新的加密态|h
r
>,并通过上述陷门函数,对量子货币态进行加密;
[0240][0241]
最后的得到一个新的量子态,并量子货币交易平台101和量子货币系统102把它重新存入量子货币中,并通过共识算法更新分布式账本104,修改错误的账本数据。
[0242]
更具体的,图1为本发明的量子货币技术与方法的结构图;包括量子货币交易平台101,量子货币系统102,量子货币验证仪103,分布式账本104。
[0243]
所述量子货币交易平台101,客户端优先使用计算机参数为intel酷睿i56500显卡:nvidia geforce 1060内存:ddr4 3600 16gb固态硬盘512g,并安装好官方交易平台客户端软件;进一步的,也可使用具有触摸屏的智能手机进行轻量级和精简的操作,并安装好手机端官方交易平台软件。
[0244]
所述量子货币交易平台101,后台服务器优先使用8
×
xeon e7

8880 v3机架式服务器内存不少于128gb标准硬盘容量1.2t,主要接受客户端传来的请求;优先地,使用两台以上服务器进行冗余操作。
[0245]
所述量子货币系统102,客户端优先使用计算机参数为intel酷睿i56500显卡:nvidia geforce 1060内存:ddr4 3600 16gb固态硬盘512g,并安装好官方交易平台客户端软件;进一步的,也可使用具有触摸屏的智能手机进行轻量级和精简的操作,并安装好手机端官方交易平台软件。
[0246]
所述量子货币系统102,后台服务器为集群架构,大部分使用8
×
xeon e7

8880 v3机架式服务器内存不少于128gb标准硬盘容量1.2t,主要接受客户端传来的请求;优先地,使用两台以上服务器进行冗余操作。进一步地,后台服务器还需要使用光学量子计算机,同时发射的光子数不少于3个,单个用户可持有光子量子态数量不少于8位,支持使用现有的量子通信技术,包括bb84协议,ghz纠缠协议;优选的,光学量子计算机能够提供与经典计算机的软件和硬件接口,以便将量子态转换为经典态供经典计算机处理,或将经典计算机的量子计算信息转换为量子态供后台服务器使用;后台服务器集群中的经典计算机与量子计算机能够互连。
[0247]
所述量子货币验证仪103,客户端优先使用计算机参数为intel酷睿i56500显卡:nvidia geforce 1060内存:ddr4 3600 16gb固态硬盘512g,并安装好官方交易平台客户端软件;进一步的,也可使用具有触摸屏的智能手机进行轻量级和精简的操作,并安装好手机端官方交易平台软件。
[0248]
所述量子货币验证仪103,后台服务器优先使用光学量子计算机,同时发射的光子数不少于3个,单个用户可持有光子量子态数量不少于8位;优选的,光学量子计算机能够提供与经典计算机的软件和硬件接口,以便将量子态转换为经典态供经典计算机处理,或将经典计算机的量子计算信息转换为量子态供后台服务器使用;
[0249]
所述分布式账本104,用于存储用户信息、交易记录以及账户余额等相关所有信息。优选地,使用计算机参数为intel酷睿i56500显卡:nvidia geforce 1060内存:ddr4 3600 16gb固态硬盘512g,并安装好官方交易平台客户端软件;进一步地,分布式账本104中使用多个计算机或智能手机做为区块,所有区块具备一定的计算能力和存储能力,能够记录不少于10,000,000笔交易记录和证据,并提供不少于100,000,000笔交易记录的扩展能力;所有区块间能够互相通信,并且运行共识算法,实现冲突裁决。区块链数据库优先oracle database 12c用来存储用户的个人信息,用户的交易记录。
[0250]
图2为本发明的量子货币工作流程图;主要步骤包括量子货币生成、量子货币发行、量子货币的代理交易、量子货币验证。
[0251]
量子货币生成需要在量子货币交易平台101和量子货币系统102上安装量子货币生成的客户端和服务器软件,包括账户注册软件模块,椭圆曲线数字签名算法,量子盲签名算法,存款和支付软件模块;并在分布式账本104上安装记账软件;并提供网络模块和通讯软件,确保量子货币交易平台101、量子货币系统102、分布式账本104能够互连互通。
[0252]
量子货币发行需要在量子货币交易平台101和量子货币系统102上安装量子货币生成的客户端和服务器软件,包括账户登陆软件模块,椭圆曲线数字签名算法,量子盲签名算法,提交订单,存款和支付软件模块;并在分布式账本104上安装记账软件;并提供网络模块和通讯软件,确保量子货币交易平台101、量子货币系统102、分布式账本104能够互连互通。
[0253]
量子货币的代理交易需要在量子货币交易平台101和量子货币系统102上安装量子货币生成的客户端和服务器软件,包括账户登陆软件模块,椭圆曲线数字签名算法,量子盲签名算法,提交订单,存款和支付软件模块;并在分布式账本104上安装记账软件;并提供网络模块和通讯软件,确保量子货币交易平台101、量子货币系统102、分布式账本104能够互连互通。
[0254]
量子货币验证需要在量子货币验证仪103安装量子货币验证软件,量子货币交易平台101和量子货币系统102上安装量子货币生成的客户端和服务器软件,包括账户注册软件模块,椭圆曲线数字签名算法,量子盲签名算法,存款和支付软件模块;并在分布式账本104上安装记账软件;并提供网络模块和通讯软件,确保量子货币交易平台101、量子货币系统102、量子货币验证仪103、分布式账本104能够互连互通。
[0255]
本发明中量子货币生成所需的区块链更小,并且分布式账本104可以易预测的速度增长,能够在较小的设备上执行完整的量子货币生成和实现;进一步地,量子货币分布式账本104具有一个不断增长的区块链,只记录新发行的量子货币,仅在开采新量子货币时增长,可大大减少占用空间并增加效率;由于量子的不可克隆定理和量子态的无条件安全以及量子单值函数的不可逆性极大的保证了量子货币的安全可靠性;
[0256]
其中,量子货币发行,可以在本地通过量子货币交易平台101和量子货币系统102完成,不依赖于网络访问,发行能够在很遥远的地方执行;进一步地,使用只读区块链和分布式账本104访问方式,用户能够只存储本地离线区块链副本完成量子货币的获取和发行;如果需接收的量子货币已经在本地区块链的副本中验证过,用户仅需读取本地离线的区块链副本即可完成获取和发行;由于分布式账本104和查询列表的公开性使得普通用户可以进行量子货币的验证,极大的震慑了量子货币的造假者。
[0257]
而且,量子货币交易平台101中量子货币的代理交易是实时的,交易过程仅需接收者读取区块链中一个最近的副本即可,交易速度较快;量子货币系统102中量子盲签名算法的盲性使得签名更加安全不易破解,代理的加入极大程度上提高了交易的效率,由于交易的输入是具有公信力的代理的公钥地址,可以缩短交易确认时间,解决了区块链和分布式账本104验证的交易延时问题,同时提高了交易的匿名性,保证了交易双方的隐私不被泄露。由于量子货币系统102中量子盲签名算法和区块链分布式账本104的保证,签名不可伪造使得量子货币被窃的风险也降低了,引入的代理不可破解交易双方的支付信息,一定程度上保证了交易良好的匿名性和安全性。
[0258]
同时,使用量子货币验证仪103进行量子货币验证不需要有一个中央权威机构发放或验证量子货币,只须在分布式环境中制备、存储、测量和重构低噪声的量子态,便可完成量子货币的使用;量子货币系统102基于不可克隆定理从理论上提供了量子货币的不可复制性,区块链和分布式账本104也能以分布和民主的方式创造量子货币;因此,量子货币交易平台101和分布式账本104可作为一个与本地交易相结合的高度安全的分布式支付系统,使用更方便;进一步地,可使用量子货币验证仪103,保证了量子货币交易的真实可靠性,防止伪造量子货币的产生与流通,同时,量子货币验证仪103还可以验证用户身份及用户财产真实性,保证了量子货币交易的公平性。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1