首页 / 专利库 / 银行与财务事项 / 数字货币 / 加密货币 / 比特币 / 抗双重支付攻击的比特币快速支付系统及其方法

抗双重支付攻击的比特币快速支付系统及其方法

阅读:1017发布:2020-06-21

专利汇可以提供抗双重支付攻击的比特币快速支付系统及其方法专利检索,专利查询,专利分析的服务。并且一种抗双重支付攻击的 比特币 快速 支付系统 及其方法,系统包括支付方模 块 、接收方模块、身份认证模块、惩罚模块。方法步骤为:生成公钥私钥对、生成地址、初始化地址、支付方身份认证、身份认证模块判断支付地址的公钥是否满足认证条件、发送签名消息、将接收方模块的比特币发送给接收方模块、接收方模块判断收到的比特币在比特币网络中是否存在两个交易、转移比特币、退出支付系统。本 发明 的系统支付方模块和接收方模块直接进行交易,不会引入半可信第三方参与者。本发明的方法能够抵抗双重支付攻击,没有交易确认时间延迟,能够实现快速支付。,下面是抗双重支付攻击的比特币快速支付系统及其方法专利的具体信息内容。

1.一种抗双重支付攻击的比特币快速支付系统,包括支付方模、接收方模块,其特征在于,还包括身份认证模块、惩罚模块;所述支付方模块分别与身份认证模块、接收方模块和惩罚模块相连,身份认证模块与接收方模块相连,接收方模块与惩罚模块相连;其中:
所述支付方模块,用于生成公钥私钥对;生成保证金地址和支付地址;分别选择保证金地址和支付地址的秘密值,计算秘密值对应的临时公钥;将两个地址的公钥和临时公钥发送给身份认证模块和惩罚模块;计算身份认证消息,并将身份认证消息发送给身份认证模块和惩罚模块;计算保证金公钥的签名消息,并将签名消息发送给身份认证模块;将支付方模块的比特币发送给接收方模块;
所述身份认证模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收支付方发送的身份认证消息;判断支付地址的公钥是否满足认证条件,若是,则接收支付方模块发送的签名消息,否则,退出支付系统;将签名消息发送给接收方模块;
所述接收方模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收身份认证模块发送的签名消息;接收支付方模块发送的比特币;判断收到的比特币在比特币网络中是否存在两个交易,若是,则将签名消息发送给惩罚模块,否则,退出支付系统;
所述惩罚模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收支付方模块发送的身份认证消息;接收接收方模块发送的签名消息;计算双重支付的支付方模块的支付地址的私钥和秘密值,对转移该地址比特币的交易进行签名;计算双重支付的支付方模块的保证金地址的私钥和秘密值,对转移该地址比特币的交易进行签名。
2.一种抗双重支付攻击的比特币快速支付方法,其特征在于,将支付方模块的比特币发送给接收方模块,惩罚模块转移双重支付的比特币;该方法的具体步骤包括如下:
(1)生成公钥私钥对:
支付方模块随机选择两个私钥,利用椭圆曲线密钥生成公式,计算两个私钥对应的两个公钥,组成两个公钥私钥对;
(2)生成地址:
使用安全抗碰撞哈希函数,支付方模块分别计算两个公钥私钥对公钥的哈希值,分别对两个哈希值进行比特币地址编码,将编码后的一个作为保证金地址,另一个作为支付地址;
(3)初始化地址:
(3a)支付方模块用比特币网络中费用低的交易替换为费用高的交易;
(3b)支付方模块随机选择两个不同正整数,分别作为保证金地址和支付地址的秘密值,利用椭圆曲线临时公钥计算公式,分别计算两个秘密值对应的临时公钥;
(4)支付方身份认证:
(4a)支付方模块分别将两个地址的公钥和临时公钥发送给身份验证模块和惩罚模块;
(4b)身份验证模块随机选择一个正整数,作为询问消息,发送给支付方模块;
(4c)利用身份认证计算公式,支付方模块计算身份认证消息,并将身份认证消息发送给身份认证模块和惩罚模块;
(5)身份认证模块判断支付地址的公钥是否满足认证条件,若是,则执行步骤(6),否则,执行步骤(10);
(6)发送签名消息:
(6a)利用椭圆曲线签名算法,支付方模块计算保证金公钥的签名消息,并将签名消息发送给身份认证模块;
(6b)身份认证模块将支付方模块的签名消息发送给接收方模块;
(7)将支付方模块的比特币发送给接收方模块;
(8)接收方模块判断收到的比特币在比特币网络中是否存在两个交易,若是,则执行步骤(9),否则,执行步骤(10);
(9)转移比特币:
(9a)接收方模块将双重支付的支付方模块的签名消息发送给惩罚模块;
(9b)利用椭圆曲线签名漏洞公式,惩罚模块计算双重支付的支付方模块的支付地址的私钥和秘密值;
(9c)惩罚模块使用双重支付的支付方模块支付地址的私钥和秘密值,通过椭圆曲线签名算法,对转移该地址比特币的交易进行签名;
(9d)利用身份私钥计算公式,惩罚模块计算双重支付的支付方模块保证金地址的私钥;
(9e)利用签名秘密值计算公式,惩罚模块计算双重支付的支付方模块保证金地址的秘密值;
(9f)惩罚模块使用双重支付的支付方模块保证金地址的私钥和秘密值,通过椭圆曲线签名算法,对转移该地址比特币的交易进行签名;
(10)退出支付系统。
3.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(1)中所述的椭圆曲线密钥生成公式如下:
Q=q·G
其中,Q表示私钥对应的公钥,q表示私钥,0<q<n,n表示椭圆曲线上的基点的阶数,·表示相乘操作,G表示椭圆曲线上的基点。
4.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(3b)中所述的椭圆曲线临时公钥计算公式如下:
(x,y)=i·G(modn)
j=x(modn)
其中,(x,y)表示秘密值的公钥对应的坐标值,i表示秘密值,j表示秘密值对应的临时公钥,mod表示模乘操作。
5.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(4c)中所述的身份认证计算公式如下:
m=b+c·a(modn)
其中,m表示身份验证消息,b表示支付地址的私钥,c表示接收方模块发送的询问消息,a表示保证金地址的私钥。
6.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(5)中所述的认证条件是指:
B=m·G-c·A
其中,B表示支付地址的公钥,A表示保证金地址的公钥。
7.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(6a)、步骤(9c)、步骤(9f)中所述的椭圆曲线签名算法的具体步骤如下:
第一步,按照下式,计算消息的哈希值:
e=H(M)
其中,e表示消息的哈希值,H(·)表示安全抗碰撞哈希函数,M表示要签名的消息;
第二步,按照下式,计算签名消息:
s=f-1(e+R·l)(modn)
-1 -1
其中,s表示签名消息,f 表示不同于f的整数,且满足f ·f=1(modn),f表示该地址的秘密值,R表示秘密值对应的临时公钥,l表示该地址的私钥。
8.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(9b)中所述的椭圆曲线签名漏洞公式如下:
其中,k表示支付地址的秘密值,u表示双重支付攻击中第一次交易的交易信息,v表示双重支付攻击中第二次交易的交易信息,w表示双重支付攻击中第一次交易的签名信息,z表示双重支付攻击中第二次交易的签名信息。
9.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(9d)中所述的身份私钥计算公式如下:
a=c-1·(m-b)(modn)
其中,c-1表示不同于c的正整数,且满足c-1·c=1(modn)。
10.根据权利要求2所述的抗双重支付攻击的比特币快速支付方法,其特征在于,步骤(9e)中所述的签名秘密值计算公式如下:
d=s-1·(H(A)+D·a)(modn)
其中,d表示保证金地址的秘密值,s-1表示不同于s的正整数,且满足s-1·s=1(modn),D表示保证金秘密值对应的临时公钥。

说明书全文

抗双重支付攻击的比特币快速支付系统及其方法

技术领域

[0001] 本发明属于密码技术领域,更进一步涉及密码货币技术领域中的一种抗双重支付攻击的比特币快速支付系统及其方法。本发明可用于虚拟网络中存在双重支付攻击的比特币支付场景。

背景技术

[0002] 如今,比特币经常被用于一些快速支付场景,在这些场景中,交易双方需要快速完成交易,而此时交易为零确认交易,支付方很容易实现双重支付攻击。因此为了保护接收方的权益,使用惩罚机制来阻击支付方的双重支付攻击是有必要的,这样可以有效地保证零确认交易顺利完成。
[0003] 西安电子科技大学在其申请专利文献“基于部分盲签名技术的比特币支付系统及其方法”(公开号:CN106296138A,申请号:2016106477117,申请日:2016年08月09日)中公开了一种基于部分盲签名技术的比特币支付系统。该系统包括用户模、商家模块、与半可信第三方模块。用户模块用于生成用户比特币公钥和私钥并发送信息给其他模块;商家模块用于计算接收信息并决定向用户模块提供商品;半可信第三方模块用于计算用户模块的最新账户余额签名,创建比特币交易。该系统通过部分盲签名技术提高了交易的匿名性,能够实现快捷支付。该系统存在的不足之处是,引入了额外的半可信第三方参与者作为交易的中间人,使系统更复杂。
[0004] 西安电子科技大学在其申请的专利文献“一种内嵌固定收款地址的比特币终端钱包及其比特币支付方法”(公开号:CN103927656A,申请号:2014101856495,申请日:2014年05月05日)中公开了一种内嵌固定收款地址的比特币支付方法。该方法将固定收款地址内嵌于比特币终端钱包,将比特币和终端结合实现类似于货币的支付,使用比特币网络现有的交易方式,购买各种商品和服务。该方法存在的不足之处是,为了避免双重支付攻击,交易双方需要等待六个区块的交易确认时间,存在交易时间延迟。
[0005] Cristina Perez-Sola等人在其发表的论文文献“Double-spending Prevention for Bitcoin zero-confirmation transactions”(IACR Cryptology ePrint Archive,2017)中提出了一种比特币零确认交易中预防双重支付的方法。该方法通过利用比特币脚本语言以及椭圆曲线签名方案的一个漏洞来阻止攻击者执行双重支付攻击。该方法的支付地址均使用特殊的比特币脚本格式,一旦支付方试图对某一地址进行双重支付攻击,所有用户都能够根据椭圆曲线签名漏洞计算对应地址的私钥,支付方会损失该地址的所有比特币。支付方需要在支付地址上存入额外的资金,这样能够获得接收方的信任。该方法存在的不足之处是,在对攻击者进行惩罚时,网络上会出现大量花费同一地址的惩罚交易,会造成网络拥堵,双重支付攻击成功。

发明内容

[0006] 本发明的目的在于针对上述现有技术的不足,提出一种抗双重支付攻击的比特币快速支付系统及其方法,通过转移支付方的比特币,阻止支付方进行双重支付攻击,不需要引入半可信第三方,克服了交易时间延迟和网络拥堵的问题,实现了比特币的快速支付。
[0007] 为了实现上述目的,本发明的思路是,支付方模块生成保证金地址和支付地址,身份认证模块对支付方模块进行身份认证,该认证通过后支付方模块将比特币发送给接收方模块,当接收方模块发现支付方模块的双重支付攻击后,由惩罚模块来转移支付方模块的比特币,其特征在于,将支付方模块的比特币发送给接收方模块,惩罚模块转移双重支付的比特币。
[0008] 本发明抗双重支付攻击的比特币快速支付系统包括支付方模块、接收方模块,其特征在于,还包括身份认证模块、惩罚模块;所述支付方模块分别与身份认证模块、接收方模块和惩罚模块相连,身份认证模块与接收方模块相连,接收方模块与惩罚模块相连;其中:
[0009] 所述支付方模块,用于生成公钥私钥对;生成保证金地址和支付地址;分别选择保证金地址和支付地址的秘密值,计算秘密值对应的临时公钥;将两个地址的公钥和临时公钥发送给身份认证模块和惩罚模块;计算身份认证消息,并将身份认证消息发送给身份认证模块和惩罚模块;计算保证金公钥的签名消息,并将签名消息发送给身份认证模块;将支付方模块的比特币发送给接收方模块;
[0010] 所述身份认证模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收支付方发送的身份认证消息;判断支付地址的公钥是否满足认证条件,若是,则接收支付方模块发送的签名消息,否则,退出支付系统;将签名消息发送给接收方模块;
[0011] 所述接收方模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收身份认证模块发送的签名消息;接收支付方模块发送的比特币;判断收到的比特币在比特币网络中是否存在两个交易,若是,则将签名消息发送给惩罚模块,否则,退出支付系统;
[0012] 所述惩罚模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收支付方模块发送的身份认证消息;接收接收方模块发送的签名消息;计算双重支付的支付方模块的支付地址的私钥和秘密值,对转移该地址比特币的交易进行签名;计算双重支付的支付方模块的保证金地址的私钥和秘密值,对转移该地址比特币的交易进行签名。
[0013] 本发明抗双重支付攻击的比特币快速支付方法的具体步骤如下:
[0014] (1)生成公钥私钥对:
[0015] 支付方模块随机选择两个私钥,利用椭圆曲线密钥生成公式,计算两个私钥对应的两个公钥,组成两个公钥私钥对;
[0016] (2)生成地址:
[0017] 使用安全抗碰撞哈希函数,支付方模块分别计算两个公钥私钥对公钥的哈希值,分别对两个哈希值进行比特币地址编码,将编码后的一个作为保证金地址,另一个作为支付地址;
[0018] (3)初始化地址:
[0019] (3a)支付方模块用比特币网络中费用低的交易替换为费用高的交易;
[0020] (3b)支付方模块随机选择两个不同正整数,分别作为保证金地址和支付地址的秘密值,利用椭圆曲线临时公钥计算公式,分别计算两个秘密值对应的临时公钥;
[0021] (4)支付方身份认证:
[0022] (4a)支付方模块分别将两个地址的公钥和临时公钥发送给身份验证模块和惩罚模块;
[0023] (4b)身份验证模块随机选择一个正整数,作为询问消息,发送给支付方模块;
[0024] (4c)利用身份认证计算公式,支付方模块计算身份认证消息,并将身份认证消息发送给身份认证模块和惩罚模块;
[0025] (5)身份认证模块判断支付地址的公钥是否满足认证条件,若是,则执行步骤(6),否则,执行步骤(10);
[0026] (6)发送签名消息:
[0027] (6a)利用椭圆曲线签名算法,支付方模块计算保证金公钥的签名消息,并将签名消息发送给身份认证模块;
[0028] (6b)身份认证模块将支付方模块的签名消息发送给接收方模块;
[0029] (7)将支付方模块的比特币发送给接收方模块;
[0030] (8)接收方模块判断收到的比特币在比特币网络中是否存在两个交易,若是,则执行步骤(9),否则,执行步骤(10);
[0031] (9)转移比特币:
[0032] (9a)接收方模块将双重支付的支付方模块的签名消息发送给惩罚模块;
[0033] (9b)利用椭圆曲线签名漏洞公式,惩罚模块计算双重支付的支付方模块的支付地址的私钥和秘密值;
[0034] (9c)惩罚模块使用双重支付的支付方模块支付地址的私钥和秘密值,通过椭圆曲线签名算法,对转移该地址比特币的交易进行签名;
[0035] (9d)利用身份私钥计算公式,惩罚模块计算双重支付的支付方模块保证金地址的私钥;
[0036] (9e)利用签名秘密值计算公式,惩罚模块计算双重支付的支付方模块保证金地址的秘密值;
[0037] (9f)惩罚模块使用双重支付的支付方模块保证金地址的私钥和秘密值,通过椭圆曲线签名算法,对转移该地址比特币的交易进行签名;
[0038] (10)退出支付系统。
[0039] 本发明与现有技术相比具有以下优点:
[0040] 第一,由于本发明中的系统支付方模块直接和接收方模块相连,在交易过程中不需要半可信第三方作为交易的中间人,加强了交易的安全性,克服了现有技术中的系统存在额外的半可信第三方参与者的缺点,使得本发明的系统结构更加简单。
[0041] 第二,由于本发明中的方法将支付方的比特币发送给接收方,克服了现有技术中的方法需要等待六个区块的交易确认时间来避免双重支付攻击,存在交易时间延迟的缺点,使得本发明的方法减少了交易确认时间,实现了比特币的快速支付。
[0042] 第三,由于本发明中的方法通过对转移支付方模块比特币的交易进行签名,转移了双重支付的支付方的支付地址和保证金地址的比特币,阻止了支付方的双重支付,克服了现有技术中的方法因为大量的惩罚交易而造成网络拥堵,双重支付攻击成功的缺点,使得本发明的方法能够抵抗双重支付攻击。附图说明
[0043] 图1为本发明系统的方框图
[0044] 图2为本发明方法的流程图
[0045] 具体实施措施
[0046] 下面结合附图对本发明做进一步的详细描述。
[0047] 参照附图1,本发明的比特币快速支付系统,包括支付方模块、接收方模块、身份认证模块、惩罚模块;所述支付方模块分别与身份认证模块、接收方模块和惩罚模块相连,身份认证模块与接收方模块相连,接收方模块与惩罚模块相连。
[0048] 所述支付方模块,用于生成公钥私钥对;生成保证金地址和支付地址;分别选择保证金地址和支付地址的秘密值,计算秘密值对应的临时公钥;将两个地址的公钥和临时公钥发送给身份认证模块和惩罚模块;计算身份认证消息,并将身份认证消息发送给身份认证模块和惩罚模块;计算保证金公钥的签名消息,并将签名消息发送给身份认证模块;将支付方模块的比特币发送给接收方模块。
[0049] 所述身份认证模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收支付方发送的身份认证消息;判断支付地址的公钥是否满足认证条件,若是,则接收支付方模块发送的签名消息,否则,退出支付系统;将签名消息发送给接收方模块。
[0050] 所述接收方模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收身份认证模块发送的签名消息;接收支付方模块发送的比特币;判断收到的比特币在比特币网络中是否存在两个交易,若是,则将签名消息发送给惩罚模块,否则,退出支付系统。
[0051] 所述惩罚模块,用于接收支付方模块发送的两个地址的公钥和临时公钥;接收支付方模块发送的身份认证消息;接收接收方模块发送的签名消息;计算双重支付的支付方模块的支付地址的私钥和秘密值,对转移该地址比特币的交易进行签名;计算双重支付的支付方模块的保证金地址的私钥和秘密值,对转移该地址比特币的交易进行签名。
[0052] 下面结合附图2,对本发明的方法做进一步的描述。
[0053] 步骤1,生成公钥私钥对。
[0054] 支付方模块随机选择两个私钥,利用椭圆曲线密钥生成公式,计算两个私钥对应的两个公钥,组成两个公钥私钥对。
[0055] 所述的椭圆曲线密钥生成公式如下:
[0056] Q=q·G
[0057] 其中,Q表示私钥对应的公钥,q表示私钥,0<q<n,n表示椭圆曲线上的基点的阶数,·表示相乘操作,G表示椭圆曲线上的基点。
[0058] 步骤2,生成地址。
[0059] 使用安全抗碰撞哈希函数,支付方模块分别计算两个公钥私钥对公钥的哈希值,分别对两个哈希值进行比特币地址编码,将编码后的一个作为保证金地址,另一个作为支付地址。
[0060] 支付方模块使用保证金地址作为担保,使用支付地址进行比特币支付。
[0061] 步骤3,初始化地址。
[0062] 支付方模块将比特币网络中费用低的交易替换为费用高的交易。
[0063] 支付方模块随机选择两个不同正整数,分别作为保证金地址和支付地址的秘密值,利用椭圆曲线临时公钥计算公式,分别计算两个秘密值对应的临时公钥。
[0064] 所述的椭圆曲线临时公钥计算公式如下:
[0065] (x,y)=i·G(modn)
[0066] j=x(modn)
[0067] 其中,(x,y)表示秘密值的公钥对应的坐标值,i表示秘密值,j表示秘密值对应的临时公钥,mod表示模乘操作。
[0068] 当发送地址上的比特币时,需要使用该地址的私钥和秘密值,对交易进行签名。
[0069] 步骤4,支付方身份认证。
[0070] 支付方模块分别将两个地址的公钥和临时公钥发送给身份验证模块和惩罚模块。
[0071] 身份验证模块随机选择一个正整数,作为询问消息,发送给支付方模块。
[0072] 利用身份认证计算公式,支付方模块计算身份认证消息,并将身份认证消息发送给身份认证模块和惩罚模块。
[0073] 身份认证消息发送给身份认证模块是用来认证支付方的身份,发送给惩罚模块是当支付方模块双重支付攻击时,用来转移双重支付的支付方模块的比特币。
[0074] 所述的身份认证计算公式如下:
[0075] m=b+c·a(modn)
[0076] 其中,m表示身份验证消息,b表示支付地址的私钥,c表示接收方模块发送的询问消息,a表示保证金地址的私钥。
[0077] 步骤5,身份认证模块判断支付地址的公钥是否满足认证条件,若是,则执行步骤6,否则,执行步骤10。
[0078] 所述的认证条件是指:
[0079] B=m·G-c·A
[0080] 其中,B表示支付地址的公钥,A表示保证金地址的公钥。
[0081] 当支付地址的公钥满足认证条件时,说明支付方模块愿意使用保证金地址来为支付地址进行担保。一旦支付方模块发生双重支付攻击,惩罚模块就能利用身份认证消息计算双重支付的支付方模块的保证金地址的私钥和秘密值。
[0082] 步骤6,发送签名消息。
[0083] 利用椭圆曲线签名算法,支付方模块计算保证金公钥的签名消息,并将签名消息发送给身份认证模块。
[0084] 所述的椭圆曲线签名算法的具体步骤如下:
[0085] 按照下式,计算消息的哈希值:
[0086] e=H(M)
[0087] 其中,e表示消息的哈希值,H(·)表示安全抗碰撞哈希函数,M表示要签名的消息。
[0088] 按照下式,计算签名消息:
[0089] s=f-1(e+R·l)(modn)
[0090] 其中,s表示签名消息,f-1表示不同于f的整数,且满足f-1·f=1(modn),f表示该地址的秘密值,R表示秘密值对应的临时公钥,l表示该地址的私钥。
[0091] 身份认证模块将签名消息发送给接收方模块。
[0092] 步骤7,将支付方模块的比特币发送给接收方模块。
[0093] 步骤8,接收方模块判断收到的比特币在比特币网络中是否存在两个交易,若是,则认为支付方模块存在双重支付攻击后执行步骤(9),否则,执行步骤(10)。
[0094] 步骤9,转移比特币。
[0095] 接收方模块将双重支付的支付方模块的签名消息发送给惩罚模块。
[0096] 利用椭圆曲线签名漏洞公式,惩罚模块计算双重支付的支付方模块的支付地址的私钥和秘密值。
[0097] 所述的椭圆曲线签名漏洞公式如下:
[0098]
[0099]
[0100] 其中,k表示支付地址的秘密值,u表示双重支付攻击中第一次交易的交易信息,v表示双重支付攻击中第二次交易的交易信息,w表示双重支付攻击中第一次交易的签名信息,z表示双重支付攻击中第二次交易的签名信息。
[0101] 惩罚模块使用双重支付的支付方模块支付地址的私钥和秘密值,通过椭圆曲线签名算法,对转移该地址比特币的交易进行签名。
[0102] 所述的椭圆曲线签名算法的具体步骤如下:
[0103] 按照下式,计算消息的哈希值:
[0104] e=H(M)
[0105] 其中,e表示消息的哈希值,H(·)表示安全抗碰撞哈希函数,M表示要签名的消息。
[0106] 按照下式,计算签名消息:
[0107] s=f-1(e+R·l)(modn)
[0108] 其中,s表示签名消息,f-1表示不同于f的整数,且满足f-1·f=1(modn),f表示该地址的秘密值,R表示秘密值对应的临时公钥,l表示该地址的私钥。
[0109] 利用身份私钥计算公式,惩罚模块计算双重支付的支付方模块保证金地址的私钥。
[0110] 所述的身份私钥计算公式如下:
[0111] a=c-1·(m-b)(modn)
[0112] 其中,c-1表示不同于c的正整数,且满足c-1·c=1(modn)。
[0113] 利用签名秘密值计算公式,惩罚模块计算双重支付的支付方模块保证金地址的秘密值。
[0114] 所述的签名秘密值计算公式如下:
[0115] d=s-1·(H(A)+D·a)(modn)
[0116] 其中,d表示保证金地址的秘密值,s-1表示不同于s的正整数,且满足s-1·s=1(modn),D表示保证金秘密值对应的临时公钥。
[0117] 惩罚模块使用双重支付的支付方模块保证金地址的私钥和秘密值,通过椭圆曲线签名算法,对转移该地址比特币的交易进行签名。
[0118] 步骤10,退出支付系统。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈