当前位置: 首页 > 专利查询>杜晓楠专利>正文

区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统技术方案

技术编号:25758106 阅读:29 留言:0更新日期:2020-09-25 21:06
本发明专利技术涉及区块链系统中防止根地址曝露的方法,包括交易用户分别生成读密钥对和写密钥对;交易接收方将接收方读公钥和接收方写公钥作为接收方根地址,基于所述接收方根地址生成接收方子地址,将所述接收方子地址发起给交易发起方;所述交易发起方生成会话密钥对,基于所述会话密钥对、所述接收方子地址和发起方地址生成找零金额输出和发起金额输出。所述交易接收方采用所述交易公钥、接收方读密钥、自身交易金额查找匹配所述交易信息中的发起金额输出。本发明专利技术还涉及计算机可读存储介质和区块链系统。本发明专利技术可以保证接收方根地址安全,进而保障交易安全的区块链系统中防止根地址曝露。交易接收方还无需保存这些不同地址,进一步保证了交易的安全。

【技术实现步骤摘要】
区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统
本专利技术涉及区块链领域,更具体地说,涉及一种区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统。
技术介绍
区块链技术是一种共享的分布式数据库技术,其优势主要突出表现在分布式去中心化、无须信任系统、不可篡改和加密安全性等方面。它是一种使用去中心化共识机制去维护一个完整的、分布式的、不可篡改的账本数据库的技术,它能够让区块链中的参与者在无须建立信任关系的前提下实现一个统一的账本系统。区块链钱包广义上是一个应用程序,为用户提供交互界面,控制用户访问权限,管理密钥和地址,跟踪余额以及创建和签名交易。密钥包括公钥和私钥,私钥是由随机数种子生成的,公钥是将私钥通过算法推导出来的。由于公钥太长,为了简便实用,就需要地址,地址是一个由数字和字母组成的字符串,可以与任何想与你交易的人分享。在交易过程中,接收方需要将自己的地址发给发起方。由于发给每个发起方的地址都是相同的,因此如果任何一次发起被黑客截取,导致地址曝露,那对接收方的资金安全造成很大的危险。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种能够对不同的交易发起方发起不同的子地址,从而保证接收方根地址安全,进而保障交易安全的区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统。本专利技术解决其技术问题所采用的技术方案是:构造一种区块链系统中防止根地址曝露的方法,包括以下步骤:S1、交易用户分别生成读密钥对和写密钥对;所述读密钥对包括读公钥、读私钥,所述写密钥对包括写公钥和写私钥;S2、交易接收方将接收方读公钥和接收方写公钥作为接收方根地址,并基于所述接收方根地址生成接收方子地址,并将所述接收方子地址发起给交易发起方;S3、所述交易发起方生成会话密钥对,所述会话密钥对包括交易公钥和交易私钥,所述交易发起方基于所述会话密钥对、所述接收方子地址和发起方地址生成找零金额输出和发起金额输出,其中所述交易发起方将发起方写公钥和发起方读公钥作为所述发起方地址;S4、所述交易发起方将所述交易公钥、所述发起金额输出和所述找零金额输出写入交易信息并发起到区块链系统中;S5、所述交易接收方采用所述交易公钥、接收方读密钥、自身交易金额查找匹配所述交易信息中的发起金额输出。在本专利技术所述的区块链系统中防止根地址曝露的方法中,所述步骤S1进一步包括:S11、交易接收方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为接收方读私钥,然后基于所述通用基点和所述接收方读私钥做椭圆曲线乘法生成所述接收方读公钥;S12、交易接收方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为接收方写私钥,然后基于所述通用基点和所述接收方写私钥做椭圆曲线乘法生成所述接收方写公钥;S13、交易发起方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为发起方读私钥,然后基于所述通用基点和所述发起方读私钥做椭圆曲线乘法生成所述发起方读公钥;S14、交易发起方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为发起方写私钥,然后基于所述通用基点和所述发起方写私钥做椭圆曲线乘法生成所述发起方写公钥。在本专利技术所述的区块链系统中防止根地址曝露的方法中,所述步骤S2进一步包括:S21、所述交易接收方将所述接收方读公钥和所述接收方写公钥作为所述接收方根地址;S22、所述交易接收方基于所述接收方根地址、旧子地址的接收方写公钥和地址生成标量生成所述接收方子地址,所述接收方子地址包括子地址读公钥和子地址写公钥;S23、所述交易接收方将所述接收方子地址发起给交易发起方。在本专利技术所述的区块链系统中防止根地址曝露的方法中,所述步骤S22进一步包括:S221、构建由旧子地址的接收方写公钥和地址生成标量构成的哈希表清单;S222、选择未使用过的地址生成标量,基于所述接收方写公钥、所述接收方读私钥、所述地址生成标量和通用基点计算所述子地址读公钥和所述子地址写公钥。S223、将所述子地址写公钥与所述地址生成标量做哈希映射。在本专利技术所述的区块链系统中防止根地址曝露的方法中,在所述步骤S222中,Di=B+Hs(a,i)GCi=aDi其中,Di为所述子地址写公钥,Ci为所述子地址读公钥,G为通用基点,a为所述接收方读私钥,Hs为哈希函数,B为所述接收方写公钥。在本专利技术所述的区块链系统中防止根地址曝露的方法中,所述步骤S3进一步包括:S31、所述交易发起方选取椭圆曲线并选取椭圆曲线上的标量作为交易私钥,并使用所述子地址写公钥作为基点生成所述交易公钥;S32、所述交易发起方基于所述子地址写公钥、所述子地址读公钥和所述交易私钥生成发起金额输出;基于所述交易私钥、所述发起方写公钥和所述发起方读公钥生成找零金额输出。在本专利技术所述的区块链系统中防止根地址曝露的方法中,在所述步骤S32中,P=Hs(sCi)+Di;Pc=Hs(Xs)+Y;其中Di为所述子地址写公钥、Ci为所述子地址读公钥、s为所述交易私钥,P为发起金额输出、Y为所述发起方写公钥、X为所述发起方读公钥、Pc为找零金额输出。在本专利技术所述的区块链系统中防止根地址曝露的方法中,所述步骤S5进一步包括:S51、所述交易接收方扫描所述交易信息以基于所述接收方读私钥、所述交易公钥和所述发起金额输出计算待验证地址;S52、所述交易接收方基于所述待验证地址是否与所述哈希表清单中的所述地址生成标量对应判定输出是否指向所述交易接收方;S53、所述交易接收方基于所述接收方读私钥、所述接收方写私钥、所述交易公钥和所述地址生成标量花费所述发起金额输出。本专利技术解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的区块链系统中防止根地址曝露的方法。本专利技术解决其技术问题采用的再一技术方案是,构造一种区块链系统,包括多个区块链节点,所述区块链节点上存储有计算机程序,所述程序被处理器执行时实现根据所述的区块链系统中防止根地址曝露的方法。实施本专利技术的区块链系统中防止根地址曝露的方法、计算机可读存储介质和区块链系统,通过基于根地址构建子地址的方式,使得交易接收方在接收交易金额时,可以对不同的交易发起方公开不同的地址,因此可以保证接收方根地址安全,进而保障交易安全的区块链系统中防止根地址曝露。进一步的,交易接收方还无需保存这些不同地址,只需要根地址就可以找回所有金额,因此节约了资源,进一步保证了交易的安全。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中:图1是本专利技术的区块链系统中防止根地址曝露的方法的第一优选实施例的流程图。具本文档来自技高网...

【技术保护点】
1.一种区块链系统中防止根地址曝露的方法,其特征在于,包括以下步骤:/nS1、交易用户分别生成读密钥对和写密钥对;所述读密钥对包括读公钥、读私钥,所述写密钥对包括写公钥和写私钥;/nS2、交易接收方将接收方读公钥和接收方写公钥作为接收方根地址,并基于所述接收方根地址生成接收方子地址,并将所述接收方子地址发起给交易发起方;/nS3、所述交易发起方生成会话密钥对,所述会话密钥对包括交易公钥和交易私钥,所述交易发起方基于所述会话密钥对、所述接收方子地址和发起方地址生成找零金额输出和发起金额输出,其中所述交易发起方将发起方写公钥和发起方读公钥作为所述发起方地址;/nS4、所述交易发起方将所述交易公钥、所述发起金额输出和所述找零金额输出写入交易信息并发起到区块链系统中;/nS5、所述交易接收方采用所述交易公钥、接收方读密钥、自身交易金额查找匹配所述交易信息中的发起金额输出。/n

【技术特征摘要】
1.一种区块链系统中防止根地址曝露的方法,其特征在于,包括以下步骤:
S1、交易用户分别生成读密钥对和写密钥对;所述读密钥对包括读公钥、读私钥,所述写密钥对包括写公钥和写私钥;
S2、交易接收方将接收方读公钥和接收方写公钥作为接收方根地址,并基于所述接收方根地址生成接收方子地址,并将所述接收方子地址发起给交易发起方;
S3、所述交易发起方生成会话密钥对,所述会话密钥对包括交易公钥和交易私钥,所述交易发起方基于所述会话密钥对、所述接收方子地址和发起方地址生成找零金额输出和发起金额输出,其中所述交易发起方将发起方写公钥和发起方读公钥作为所述发起方地址;
S4、所述交易发起方将所述交易公钥、所述发起金额输出和所述找零金额输出写入交易信息并发起到区块链系统中;
S5、所述交易接收方采用所述交易公钥、接收方读密钥、自身交易金额查找匹配所述交易信息中的发起金额输出。


2.根据权利要求1所述的区块链系统中防止根地址曝露的方法,其特征在于,所述步骤S1进一步包括:
S11、交易接收方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为接收方读私钥,然后基于所述通用基点和所述接收方读私钥做椭圆曲线乘法生成所述接收方读公钥;
S12、交易接收方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为接收方写私钥,然后基于所述通用基点和所述接收方写私钥做椭圆曲线乘法生成所述接收方写公钥;
S13、交易发起方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为发起方读私钥,然后基于所述通用基点和所述发起方读私钥做椭圆曲线乘法生成所述发起方读公钥;
S14、交易发起方选取椭圆曲线,并选取椭圆曲线上的一个基点作为通用基点,将椭圆曲线上的标量作为发起方写私钥,然后基于所述通用基点和所述发起方写私钥做椭圆曲线乘法生成所述发起方写公钥。


3.根据权利要求2所述的区块链系统中防止根地址曝露的方法,其特征在于,所述步骤S2进一步包括:
S21、所述交易接收方将所述接收方读公钥和所述接收方写公钥作为所述接收方根地址;
S22、所述交易接收方基于所述接收方根地址、旧子地址的接收方写公钥和地址生成标量生成所述接收方子地址,所述接收方子地址包括子地址读公钥和子地址写公钥;
S23、所述交易接收方将所述接收方子地址发起给交易发起方。


4.根据权利要求3所述的区块链系统中防止根地址曝露的方法,其特征在于,所述步骤S22进一步包括:
...

【专利技术属性】
技术研发人员:杜晓楠
申请(专利权)人:杜晓楠
类型:发明
国别省市:新加坡;SG

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1