专利汇可以提供基于比特币交易区块验证的离线交易系统及其方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 比特币 交易区 块 验证的离线交易系统及其方法,主要解决 现有技术 中收款方仅对离线比特币交易执行常规验证,未对交易确认区块执行验证而造成的付款方伪造比特币问题,其实现步骤为:系统初始化,付款方在线将比特币存入钱包,钱包验证存款交易;付款方通过钱包与收款方执行离线交易,将存款交易区块验证参数写入支付合同,并利用支付合同生成新收款地址;收款方验证离线交易,并使用私钥提取新收款地址中的比特币。本发明通过将交易区块确认参数绑定在支付合同上,再利用支付合同生成新的收款地址,避免了付款方伪造比特币与收款方进行交易,同时有效的防止了付款方比特币泄露,可用于 预防 离线支付中付款方伪造比特币进行交易。,下面是基于比特币交易区块验证的离线交易系统及其方法专利的具体信息内容。
1.一种基于比特币交易区块验证的离线交易系统及其方法,其特征在于包括:
(1)付款方A在线存入比特币阶段:
(1a)付款方A通过它的付款平台PA向其离线钱包W在线存入设定数量的比特币,付款平台PA将此笔存款交易u1广播至比特币网络,离线钱包W地址为w1;
(1b)比特币网络中的挖矿节点对交易u1进行验证并写入第一个区块C1,离线钱包W从第一个区块C1中提取交易u1的区块确认参数(v,n,s),其中v表示当前比特币网络产生第一个区块的头部信息哈希值,n是确认交易u1的区块总个数,s是第一个区块与最后一个区块的时间戳之差;
(2)收款方B与支付方A的离线钱包W离线交易阶段:
(2a)收款方B在与付款方A的离线钱包W进行离线交易u0之前,由收款平台PB提前规定第一个区块的确认参数参考值(v',s',n'),其中v'=1.5E+58表示由收款方规定的产生第一个区块的头部信息哈希目标值,n'∈[5,16]表示由收款方规定的确认一笔交易所需要的区块数目,s'∈[1000,1400]表示由收款方规定的生成n'个区块所需时间的上限,其单位为秒;
(2b)收款方B在与付款方A的离线钱包W进行离线交易u0时,由收款平台PB将交易u1的区块确认参数参考值(v',s',n')写入原支付合同x,并将原支付合同x通过支付平台PA发送给离线钱包W;
(2c)离线钱包W根据原支付合同x和区块确认参数(v,n,s)计算新支付合同x1,保证收款方B能将区块确认参数(v,n,s)与自己规定的参考值(v',s',n')进行比对,确认交易u1的区块确认参数(v,n,s)不是伪造的;
(2d)离线钱包W利用主公钥性质,将新支付合同x1与收款地址pkB进行绑定,生成新收款地址dadd,并将离线钱包W地址w1中的比特币存入这个新收款地址dadd,以保证只有收款方B才能提取新收款地址上的比特币;
(2e)收款平台PB验证离线交易u0是否合法,以确定付款方A是否伪造比特币与自己交易,如果合法,PB提取新收款地址dadd上的比特币;
(3)离线交易完成后,离线钱包W储存新支付合同x1作为离线交易凭据,确保比特币已经被收款方B接收,其他用户在收款平台PB公开区块确认参数参考值(v',s',n')后,计算得到验证合同x2,验证离线交易u0的有效性。
2.根据权利要求1所述方法,其中步骤(1a)中付款方A通过它的付款平台PA向离线钱包W在线存入设定数量的比特币,按如下步骤进行:
(1a1)付款方A向其付款平台PA提交存入离线钱包W的比特币金额Mr;
(1a2)离线钱包W定义自己的公钥:pkW=skW·gmodp,其中skW∈(0,p-1)为私钥;
(1a3)离线钱包W生成自己用来接收用户存入比特币的地址w1;
(1a4)离线钱包W初始化地址w1中的比特币数目balance=0,并向付款平台PA提交自己的地址w1;
(1a5)付款平台PA打包生成交易u1,交易u1中包含付款方A的公钥pkA、私钥skA、比特币数目Mr、离线钱包W的地址w1信息,其中,付款方A、收款方B的公私钥对按如下方式生成:
付款平台PA,收款平台PB分别选择伪随机数skA,skB,且满足0<skA,skB<p-1,使用椭圆曲线加密算法分别计算付款方A的公钥pkA和收款方B的公钥pkB:
pkA=skA·gmodp,
pkB=skB·gmodp;
其中,pkA,pkB∈G,G是由椭圆曲线secp256k1上面的点构成的一个交换群,g∈G是椭圆曲线secp256k1的生成元,素数p是椭圆曲线secp256k1的阶。
3.根据权利要求1所述方法,其中步骤(1b)中离线钱包W从第一个区块C1中提取交易u1的区块确认参数(v,n,s),按如下步骤进行:
(1b1)支付平台PA将交易u1及用于确认交易u1的区块:n-U1={C1,...Cn,Cn+1}发送给离线钱包W;
(1b2)离线钱包W检查交易u1和n-U1的脚本:
若检查通过,离线钱包W计算第一个区块与最后一个区块的时间戳差s:=tn+1-t1,并提取C1的头部信息哈希值v;
否则,离线钱包W拒绝接收交易u1及交易确认区块n-U1={C1,...Cn,Cn+1};
(1b3)离线钱包W更新其地址w1中的余额balance=balance+Mr,并储存交易u1及参数n-U1、v和s;
(1b4)离线钱包W将接收交易u1或拒绝交易u1的状态返回给支付平台PA。
4.根据权利要求1所述方法,其中步骤(2b)中收款方B在与付款方A的离线钱包W进行离线交易u0时,由收款平台PB计算原支付合同x,按如下步骤进行:
(2b1)收款方B向收款平台PB提交离线交易u0所需金额Ml,平台PB对(v',s',n')进行RIPE160哈希运算得到一个哈希结果H(v',s',n'),并用ECDSA签名算法对H(v',s',n')签名,得到签名结果σB;
(2b2)收款平台PB计算原支付合同x,并将原支付合同x发送给支付平台PA:
x=pkB||Ml||σB,
其中,pkB是收款方B的公钥,Ml是B规定的离线交易金额,||表示级联运算;
(2b3)平台PA检查原支付合同x中收款方B的公钥pkB、收款方B规定的离线交易金额Ml、签名结果σB是否按顺序排列,并将原支付合同x发送给离线钱包W。
5.根据权利要求1所述方法,其中步骤(2c)中离线钱包W计算新支付合同x1,按如下步骤进行:
(2c1)离线钱包W验证σB的签名,同时将收款方公钥pkB、离线交易金额Ml发送给付款方A,A检查pkB、Ml的正确性,付款方A检查完毕后将检查结果告知离线钱包W;
(2c2)离线钱包W对离线交易金额Ml进行判断,若Ml≤Mr,离线钱包W计算新支付合同x1:
x1=x||(v,n,s,w1),
其中,v表示当前比特币网络产生第一个区块的头部信息哈希值,n是确认交易u1的区块总个数,s是第一个区块与最后一个区块的时间戳之差,w1是离线钱包地址,||表示级联运算,Mr表示付款方A存入离线钱包W的比特币金额;
否则,离线钱包W拒绝接收原支付合同x。
6.根据权利要求1所述方法,其中步骤(2d)中离线钱包W将新支付合同x1与收款地址pkB进行绑定,生成新的收款地址dadd,是由离线钱包W输入收款方B的公钥pkB、新支付合同x1、椭圆曲线生成元g,计算新收款地址dadd:
dadd=H(pkB+g·H(x1));
其中,g是椭圆曲线secp256k1的生成元,H(·)表示RIPE160函数。
7.根据权利要求1所述方法,其中步骤(2d)中离线钱包W将地址w1中的比特币存入新收款地址dadd中,是由离线钱包W生成离线交易u0并用ECDSA签名算法签名交易u0,其中离线交易u0包含交易金额Ml、离线钱包地址w1、新收款地址dadd和离线钱包W的公钥pkW信息。
8.根据权利要求1所述方法,其中步骤(2e)中收款平台PB验证离线交易u0是否合法,并提取新收款地址dadd上的比特币,按如下步骤进行:
(2e1)判断离线钱包W是否接收原支付合同x:
若接收,则离线钱包W输入x1、u0及区块C1的时间戳t1,并用收款方B的公钥pkB对输入值进行加密,得到加密后的状态值c:
否则,离线钱包W输入拒绝符号“reject”,并用收款方B的公钥pkB加密reject,得到加密后的状态值c:
其中E(·)是安全加密算法SM2,t1是第一个区块C1的时间戳,
(2e2)离线钱包W将加密后的状态值c返回给平台PB;
(2e3)收款平台PB解密状态值c,由状态值c中的原支付合同x1得到参数值(v,n,s);
(2e4)收款平台PB对参数值v,n,s,Ml进行验证,若v,n,s,Ml满足n'≤n,v≤v',s≤n'·s'≤tp-t1,Ml≤Mmax,则离线交易u0是一笔合法交易,收款平台PB储存离线交易u0,其中tp为离线交易u0所用时间,Mmax是离线交易金额上限,
否则PB拒绝接收离线交易u0;
(2e5)收款平台PB将“通过”或“拒绝”状态告知离线钱包W;
(2e6)收款平台PB输入收款方B的私钥skB、支付合同x1,计算对应于新收款地址dadd的私钥dpri:dpri=skB+H(x1)。
9.根据权利要求1所述方法,其中步骤(3)中离线钱包W储存新支付合同x1作为交易凭据,是根据离线交易u0是否被收款平台PB接收来进行的:
如果离线交易u0被收款平台PB接收,则离线钱包W储存新支付合同x1作为交易凭据,并更新离线钱包W中的比特币余额balance=balance-Ml,当比特币余额为0时,离线钱包W清除地址w1的私钥skW,
否则,离线钱包W拒绝储存新支付合同x1。
10.根据权利要求1所述方法,其中步骤(3)中其他用户在收款平台PB公开区块确认参数参考值(v',s',n')后验证离线交易u0的有效性,按如下步骤进行:
(3a)平台PB向离线钱包W公开原支付合同x、交易验证参数(v',s',n')及RIPE160哈希运算结果H(v',s',n')的签名σB';
(3b)离线钱包W输入4个参数v,n,s,w1,计算验证合同x2:
x2=pkB||Ml||σB'B||(v,n,s,w1);
(3c)离线钱包W将验证合同x2与新支付合同x1进行比较:
如果x2=x1,则新支付合同x1就是正确的交易凭据,离线交易u0是有效的;
否则,离线交易u0是无效的。
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
区块链交易的认证服务器及认证方法 | 2020-05-11 | 431 |
一种基于区块链技术的物联网隐私保护访问控制方法 | 2020-05-15 | 736 |
区块链上的结算方法 | 2020-05-22 | 969 |
使用分布式散列表和点对点分布式分类账控制合约的履行的方法和系统 | 2020-05-26 | 839 |
基于区块链技术的视频内容防篡改、防丢失及恢复的方法 | 2020-05-12 | 512 |
基于组合公钥的密码学货币地址在线生成方法 | 2020-05-18 | 998 |
基于区块链技术的农产品溯源保险公共服务平台 | 2020-05-22 | 254 |
一种区块链浏览器及区块链信息浏览方法 | 2020-05-23 | 679 |
区块链物联网设备的操作系统 | 2020-05-25 | 828 |
计算机实现的系统和方法 | 2020-05-16 | 841 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。