一种基于区块链的钱包资产保护系统的制作方法

文档序号:17148184发布日期:2019-03-19 23:10阅读:176来源:国知局

本发明涉及区块链领域,为一种基于区块链的钱包资产保护系统。



背景技术:

所谓的数字钱包,就是用来存储,管理,交易数字货币的工具。如今,越来越多的人正达成共识:数字货币势必会成为未来主流货币。基于此,数字钱包的重要性也不言而喻。目前,数字钱包大致分为热钱包和冷钱包。热钱包也可以称为在线钱包,并可细分为去中心化和中心化钱包。冷钱包也可以称之为离线钱包,目前国内在这一领域所发展的钱包主要是硬件钱包。数字钱包一旦被盗,可被追回的几率微乎其微。然目前数字钱包的安全性令人担忧。

存储了巨额资产的数字钱包,自然是被黑客攻击的集中地。现在很多数字钱包都是基于开源社区中的代码所研发,所以,如果其中的一个代码存在漏洞,引用了这个代码的数字钱包就都会存在登录密码。

热钱包存在的登录密码主要为网络漏洞、钓鱼网站或app,冷钱包的硬件丢失等。网络漏洞是热钱包被黑客攻击并导致财产损失的最大安全隐患。

除钱包本身所存在的网络漏洞等安全隐患之外,也不得不防在互联网行业曾高频出现的钓鱼网站或app风险。如今,在整个行业普遍缺乏监管机制和现行政策的环境下,很多数字钱包和交易所也存在此类问题。当使用钓鱼网站或app时,其私钥将被窃取,数字资产损失也无可避免。

本发明则旨在提供一种技术方案,采用多重签名、多中心化的方式保证账户安全。



技术实现要素:

有鉴于此,本发明提供了一种基于区块链的数字钱包资产保护系统,其特征在于,包括防护模块、存储模块及读取模块;

基于区块链的数字钱包资产保护系统用于制定资产的分割规格和智能合约,并为每个区块生成密码和密玥对;

防护模块包括初级防护装置、中级防护装置、密玥对生成装置和信息加密装置;

初级防护装置用于完成系统运行的基础制定;

基础制定内容包括区块链节点网络地址制定、资产项分割规格制定、资产片段的智能合约制定;

中级防护装置完成系统的安全合约制定;

安全合约制定包括助记词制定、登录密码制定、区块验证策略制定;

密玥对生成装置和信息加密装置分别为每个区块生成用于保护及恢复资产用的密玥对和加密信息;

密玥对由钱包账号端的防护模块中的密玥对生成装置生成,用于验证使用者以及每个区块的合法性;

密码由钱包账号端的防护模块中的信息加密装置生成,由钱包账号端能访问到的区块的网络地址进行两两排列后计算得出;

(1)资产保护:当钱包账号丢失时,可以通过运行区块中的密玥对,通过密码验证身份,锁定所有区块中的资产片段,使得非法账号无法将区块中的片段资产进行拼接,从而有效保护资产的安全;

(2)资产恢复:通过密玥对,解除全部区块中资产片段的锁定,恢复钱包账号端对区块资产的访问,利用资产片段在区块的冗余存储机制完成资产恢复;

存储模块用于完成资产的分割、加密和存储;

存储模块分为资产分割装置、加密装置、分布装置;

资产分割装置按照事先制定的资产分割规格进行资产分割,分成若干资产片段,资产片段按顺序编号;

加密装置对每个资产片段进行加密;

分布装置在资产片段加密后,将资产片段数据组合打包为区块,区块包括区块头和区块体,区块头包括与区块一一对应的特征值,特征值由资产片段的顺序编号通过哈希计算得到:区块体包括资产片段数据;区块按照智能合约,保存在区块链上;区块的特征值组成资产片段的目录;

读取模块用于采集区块中的资产片段,进行解密、拼接和还原;

读取模块包括收集装置、解密装置、拼接装置;

收集装置查询资产片段的目录,对目录中每个区块的资产片段进行解密;

拼接装置用于对资产片段按照资产片段序号进行拼接;

一种基于区块链的钱包资产保护方法,应用于本发明的一种基于区块链的数字钱包资产保护系统,包括以下步骤:

s1、首先运行防护模块,进行系统的各项配置工作;

s1中的防护模块用以对系统应用前进行配置,配置内容包括制定资产项分割规格制定、登录制定、上传制定;

资产项分割规格制定过程中,能够制定系统资产项分割的规格,系统能够提供默认的规格,还能够根据具体地安全需求和系统性能另行制定;

登录制定过程中,能够制定密玥对中的登录密码;

安全策略制定过程中,首先制定资产片段的上传合约,y/(x+1)合约,x为上传的个数,1为钱包节点,y为每个资产片段存储的份数,即每个资产片段存储在y个区块链节点内,区块链节点包括钱包节点和区块链节点,x>1,0<y<x,其次制定区块资产锁定及恢复资产访问的验证策略,该策略包括三种形式:单独验证、两个区块链节点相互验证、至少三个区块链节点的验证;

上传制定用于制定存放资产的存储区块的网络地址;

安全策略制定过程中的验证包括生成区块链节点发放密玥对和密码,密玥对由钱包账号端的系统配置装置生成并向上传端发放;

密码由钱包账号端能访问到的上传网络地址两两排列,排列结果通过数字摘要函数计算出的数字摘要即为密码;

系统应用区块存储的是钱包账号端分割后的经过加密的资产片段;

区块除了存储钱包账号端分布下来的资产包外,还存储钱包账号端分布下来的密玥对和密码;

密玥对:密玥对由钱包账号端的防护模块中的密玥对生成装置生成,向区块发放,用于验证使用者以及区块的合法性,并修改区块的访问权限;

密码:由钱包账号端能访问到的区块的网络地址两两排列,每个排列出来的字符串通过数字摘要函数进行计算,得出数字摘要就是密码,由钱包账号端的防护模块中的密码装置生成;

密玥对生成方法:将选择的登录密码加密后存储在密玥对中,问题的答案组合成一个字符串,用摘要函数进行运算,生成的摘要也保存在密玥对内部;

密玥对使用:登录一个区块,启动该区块的密玥对,输入密玥对的助记词后即可运行密玥对;

如果忘记助记词,密玥对先解密存储在密玥对中的登录密码,显示三个登录密码,回答三个常用问题后,将答案生成摘要同密玥对中事先保留的摘要进行验证,三个问题回答正确即可正常使用密玥对;

密玥对读取本地区块和另一个区块的网络地址,进行密码验证;

密码的验证过程:读取本地区块的网络地址,读取已打开的另一个区块的网络地址,两个区块的网络地址按照随机顺序组成字符串作为数字摘要函数的输入,通过密玥对中数字摘要函数计算密码,计算出的密码同这两个区块中存储的密码进行比对,如果能找到相同的密码,则验证了区块的合法性;

(1)资产保护钱包账号丢失后的资产封锁在区块执行,执行方式是区块验证方案:当钱包账号丢失后,利用电脑或其他钱包账号登录至少两个区块,运行密玥对,检验密码;

验证通过后,改变全部区块的资产访问权限,禁止钱包账号端访问全部区块资产,即使非法利用被盗钱包账号读取区块资产也不可能;

解除锁定也在区块中进行,允许钱包账号端软件访问;

即使换了新钱包账号也必须在区块先解锁;

(2)资产恢复:密玥对通过密码验证后,恢复钱包账号端对全部区块的资产访问权限,对区块资产全部解锁,新钱包账号其钱包账号端的应用程序完成安装后,首先调用钱包账号端的读取模块,利用存储在区块的冗余资产片段,拼接完整的资产后,再调用存储模块,将资产再次分片保存在钱包账号端和各个区块,完成资产的恢复;

s2、其次进行资产写入,运行存储模块;

存储模块的应用流程如下:

s2.1、资产分割:按照预先制定的资产分割规格进行资产分割,分成若干资产片段,不足位数的用全0补齐;

其中,资产包格式为:目录+序号+资产片段;

其中,目录由存储模块的调用接口提供,目录可以为空;

s2.2、资产加密模块对每个资产片段进行加密,加密密钥:由s1中的防护模块的中级防护装置产生,在制定密玥对中的三个登录密码时,输入的三个登录密码的答案按顺序拼接后,利用摘要函数生成数字摘要,生成的数字摘要作为加密密码;

加密密钥生成的具体流程如下:首先选择三个需要回答的三个登录密码;

其次将回答问题的答案依次组合成一个字符串;

然后用摘要函数计算答案字符串的数字摘要;

最后将数字摘要保存在钱包账号端作为加密密钥;

s2.3、资产片段加密后,由目录+序号+资产片段数据组合成资产包,按照y/(x+1)的智能合约,保存在多个区块链节点内的资产文件中,区块链节点包括钱包账号端的区块链节点和多个区块链节点;

资产文件的名称由钱包账号端的应用程序在调用s2中的存储模块时提供;

这些存储在多个区块链节点中的资产文件的文件名相同,但由于按照y/(x+1)的智能合约存储资产片段,每个文件都缺少部分资产片段,资产内容不完整,即组成的是资产“片段”文件;

资产片段保存的地址根据保存地址选择算法计算得出;

资产片段的保存地址选择算法:根据智能合约计算得出;

保存地址选择算法如下:

1)资产区块链节点的网络地址排列成循环队列;

2)制定循环队列队首指针z;

3)读取资产智能合约,即y/(x+1)合约;

4)按y/(x+1)合约从循环队列头部开始选择y个区块链节点地址;

5)将y个区块链节点地址提供给资产分布程序;

6)循环队的队列头部移动到队列下一项,即z+1;

7)判断是否继续执行,如果是那么返回4)如果否那么直接结束;

s3、最后进行资产读取,运行读取模块;

读取模块读取模块提供接口,接收需要查询的资产的应用程序名称、资产文件名称、资产目录三项接口参数;

s3.1、收集装置根据资产读取操作传来的应用程序名称、资产文件名称、资产目录,在包括钱包账号在内的全部区块链节点中,对应用程序分布在每个区块链节点中的同名资产文件进行检索,按照资产片段的序号从小到大的顺序,在这些文件中依次找到每个已经加密的资产片段,传给解密装置进行解密;

s3.2、解密装置对每个资产片段的资产进行解密;

s3.3、拼接装置将资产片段按照资产片段序号进行拼接,拼接后的资产项传递给查询操作请求。

本发明的有益成果为:本发明一种基于区块链的数字钱包资产保护系统,采用多重签名、多中心化的方式,能够充分保证账户和资产安全。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,能实现同样功能的产品属于等同替换和改进,均包含在本发明的保护范围之内。具体方法如下:

实施例:本发明提供一种基于区块链的数字钱包资产保护系统,其特征在于,包括防护模块、存储模块及读取模块;

基于区块链的数字钱包资产保护系统用于制定资产的分割规格和智能合约,并为每个区块生成密码和密玥对;

防护模块包括初级防护装置、中级防护装置、密玥对生成装置和信息加密装置;

初级防护装置用于完成系统运行的基础制定;

基础制定内容包括区块链节点网络地址制定、资产项分割规格制定、资产片段的智能合约制定;

中级防护装置完成系统的安全合约制定;

安全合约制定包括助记词制定、登录密码制定、区块验证策略制定;

密玥对生成装置和信息加密装置分别为每个区块生成用于保护及恢复资产用的密玥对和加密信息;

密玥对由钱包账号端的防护模块中的密玥对生成装置生成,用于验证使用者以及每个区块的合法性;

密码由钱包账号端的防护模块中的信息加密装置生成,由钱包账号端能访问到的区块的网络地址进行两两排列后计算得出;

(1)资产保护:当钱包账号丢失时,可以通过运行区块中的密玥对,通过密码验证身份,锁定所有区块中的资产片段,使得非法账号无法将区块中的片段资产进行拼接,从而有效保护资产的安全;

(2)资产恢复:通过密玥对,解除全部区块中资产片段的锁定,恢复钱包账号端对区块资产的访问,利用资产片段在区块的冗余存储机制完成资产恢复;

存储模块用于完成资产的分割、加密和存储;

存储模块分为资产分割装置、加密装置、分布装置;

资产分割装置按照事先制定的资产分割规格进行资产分割,分成若干资产片段,资产片段按顺序编号;

加密装置对每个资产片段进行加密;

分布装置在资产片段加密后,将资产片段数据组合打包为区块,区块包括区块头和区块体,区块头包括与区块一一对应的特征值,特征值由资产片段的顺序编号通过哈希计算得到:区块体包括资产片段数据;区块按照智能合约,保存在区块链上;区块的特征值组成资产片段的目录;

读取模块用于采集区块中的资产片段,进行解密、拼接和还原;

读取模块包括收集装置、解密装置、拼接装置;

收集装置查询资产片段的目录,对目录中每个区块的资产片段进行解密;

拼接装置用于对资产片段按照资产片段序号进行拼接;

一种基于区块链的钱包资产保护方法,应用于本发明的一种基于区块链的数字钱包资产保护系统,包括以下步骤:

s1、首先运行防护模块,进行系统的各项配置工作;

s1中的防护模块用以对系统应用前进行配置,配置内容包括制定资产项分割规格制定、登录制定、上传制定;

资产项分割规格制定过程中,能够制定系统资产项分割的规格,系统能够提供默认的规格,还能够根据具体地安全需求和系统性能另行制定;

登录制定过程中,能够制定密玥对中的登录密码;

安全策略制定过程中,首先制定资产片段的上传合约,y/(x+1)合约,x为上传的个数,1为钱包节点,y为每个资产片段存储的份数,即每个资产片段存储在y个区块链节点内,区块链节点包括钱包节点和区块链节点,x>1,0<y<x,其次制定区块资产锁定及恢复资产访问的验证策略,该策略包括三种形式:单独验证、两个区块链节点相互验证、至少三个区块链节点的验证;

上传制定用于制定存放资产的存储区块的网络地址;

安全策略制定过程中的验证包括生成区块链节点发放密玥对和密码,密玥对由钱包账号端的系统配置装置生成并向上传端发放;

密码由钱包账号端能访问到的上传网络地址两两排列,排列结果通过数字摘要函数计算出的数字摘要即为密码;

系统应用区块存储的是钱包账号端分割后的经过加密的资产片段;

区块除了存储钱包账号端分布下来的资产包外,还存储钱包账号端分布下来的密玥对和密码;

密玥对:密玥对由钱包账号端的防护模块中的密玥对生成装置生成,向区块发放,用于验证使用者以及区块的合法性,并修改区块的访问权限;

密码:由钱包账号端能访问到的区块的网络地址两两排列,每个排列出来的字符串通过数字摘要函数进行计算,得出数字摘要就是密码,由钱包账号端的防护模块中的密码装置生成;

密玥对生成方法:将选择的登录密码加密后存储在密玥对中,问题的答案组合成一个字符串,用摘要函数进行运算,生成的摘要也保存在密玥对内部;

密玥对使用:登录一个区块,启动该区块的密玥对,输入密玥对的助记词后即可运行密玥对;

如果忘记助记词,密玥对先解密存储在密玥对中的登录密码,显示三个登录密码,回答三个常用问题后,将答案生成摘要同密玥对中事先保留的摘要进行验证,三个问题回答正确即可正常使用密玥对;

密玥对读取本地区块和另一个区块的网络地址,进行密码验证;

密码的验证过程:读取本地区块的网络地址,读取已打开的另一个区块的网络地址,两个区块的网络地址按照随机顺序组成字符串作为数字摘要函数的输入,通过密玥对中数字摘要函数计算密码,计算出的密码同这两个区块中存储的密码进行比对,如果能找到相同的密码,则验证了区块的合法性;

(1)资产保护钱包账号丢失后的资产封锁在区块执行,执行方式是区块验证方案:当钱包账号丢失后,利用电脑或其他钱包账号登录至少两个区块,运行密玥对,检验密码;

验证通过后,改变全部区块的资产访问权限,禁止钱包账号端访问全部区块资产,即使非法利用被盗钱包账号读取区块资产也不可能;

解除锁定也在区块中进行,允许钱包账号端软件访问;

即使换了新钱包账号也必须在区块先解锁;

(2)资产恢复:密玥对通过密码验证后,恢复钱包账号端对全部区块的资产访问权限,对区块资产全部解锁,新钱包账号其钱包账号端的应用程序完成安装后,首先调用钱包账号端的读取模块,利用存储在区块的冗余资产片段,拼接完整的资产后,再调用存储模块,将资产再次分片保存在钱包账号端和各个区块,完成资产的恢复;

s2、其次进行资产写入,运行存储模块;

存储模块的应用流程如下:

s2.1、资产分割:按照预先制定的资产分割规格进行资产分割,分成若干资产片段,不足位数的用全0补齐;

其中,资产包格式为:目录+序号+资产片段;

其中,目录由存储模块的调用接口提供,目录可以为空;

s2.2、资产加密模块对每个资产片段进行加密,加密密钥:由s1中的防护模块的中级防护装置产生,在制定密玥对中的三个登录密码时,输入的三个登录密码的答案按顺序拼接后,利用摘要函数生成数字摘要,生成的数字摘要作为加密密码;

加密密钥生成的具体流程如下:首先选择三个需要回答的三个登录密码;

其次将回答问题的答案依次组合成一个字符串;

然后用摘要函数计算答案字符串的数字摘要;

最后将数字摘要保存在钱包账号端作为加密密钥;

s2.3、资产片段加密后,由目录+序号+资产片段数据组合成资产包,按照y/(x+1)的智能合约,保存在多个区块链节点内的资产文件中,区块链节点包括钱包账号端的区块链节点和多个区块链节点;

资产文件的名称由钱包账号端的应用程序在调用s2中的存储模块时提供;

这些存储在多个区块链节点中的资产文件的文件名相同,但由于按照y/(x+1)的智能合约存储资产片段,每个文件都缺少部分资产片段,资产内容不完整,即组成的是资产“片段”文件;

资产片段保存的地址根据保存地址选择算法计算得出;

资产片段的保存地址选择算法:根据智能合约计算得出;

保存地址选择算法如下:

1)资产区块链节点的网络地址排列成循环队列;

2)制定循环队列队首指针z;

3)读取资产智能合约,即y/(x+1)合约;

4)按y/(x+1)合约从循环队列头部开始选择y个区块链节点地址;

5)将y个区块链节点地址提供给资产分布程序;

6)循环队的队列头部移动到队列下一项,即z+1;

7)判断是否继续执行,如果是那么返回4)如果否那么直接结束;

s3、最后进行资产读取,运行读取模块;

读取模块读取模块提供接口,接收需要查询的资产的应用程序名称、资产文件名称、资产目录三项接口参数;

s3.1、收集装置根据资产读取操作传来的应用程序名称、资产文件名称、资产目录,在包括钱包账号在内的全部区块链节点中,对应用程序分布在每个区块链节点中的同名资产文件进行检索,按照资产片段的序号从小到大的顺序,在这些文件中依次找到每个已经加密的资产片段,传给解密装置进行解密;

s3.2、解密装置对每个资产片段的资产进行解密;

s3.3、拼接装置将资产片段按照资产片段序号进行拼接,拼接后的资产项传递给查询操作请求。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1