一种基于区块链的钱包余额管理的方法和系统与流程

文档序号:17242574发布日期:2019-03-30 08:39阅读:514来源:国知局

本发明为涉及区块链领域的一种基于区块链的钱包余额管理的方法和系统。



背景技术:

随着区块链技术的迅猛发展和种类的快速增加,基于区块链的钱包进入了人们的视线范围。加密钱包是一种基于区块链技术的专门用来管理这些资产的应用。基于区块链的钱包提供钱包地址的创建、加密转账、钱包地址交易历史查询等基础金融功能。

数字化钱包的独特性使得其余额管理与支付宝等第三方支付平台的余额管理有较大差异。如何实现钱包的余额管理成为了当下的研究重点,因此基于区块链的钱包余额管理的方法和系统研究显得尤为重要。



技术实现要素:

本发明是一种基于区块链的钱包余额管理的方法和系统,包含以下内容:余额计算模块、提现管理模块和收支明细模块;

余额计算模块包含本地请求单元、云端计算单元和本地汇总单元;

当用户进入钱包的余额界面时,本地请求单元得到触发,向云端发送请求指令,请求指令是一个加密指令,由钱包的绝对地址以及钱包中的各类的绝对子地址通过ecb模式加密生成,具体生成方式如下:

首先,绝对地址通过加密器动态随机获得的密钥进行加密,生成密文块0;

其次,将所有的绝对子地址按高斯随机分布算法进行排序,得到有顺序的绝对子地址的集合;

然后,将集合中的绝对子地址依次通过加密器动态随机获得的密钥进行加密,从而生成密文块1,密文块2,…,密文块n,n表示绝对子地址的个数;

最后,将所有的密文块依次排入队列,对队列进行加密,得到加密指令;

云端计算单元接收到加密指令后,打开云端钱包,得到每种的实时余额;并通过链传输的方式将其传输至本地汇总单元;本地汇总单元根据实时的各种兑人民币的比率进行动态计算,得到钱包的余额,计算单位为人民币;

提现管理模块包含提现发起单元和云端操作单元;

用户发起某种的提现服务后,提现发起单元开始工作,将的币种、数量及绝对子地址构成的提现信息传输至云端钱包;提现信息是一个32位数字链,1-16位是的绝对子地址,17-24位是的币种代码,25-32位是的数量代码;云端操作单元接收到提现信息后进行解码,根据解码后所得的绝对子地址打开绝对子地址对应的云端钱包,再根据的币种和数量进行提现操作;

收支明细模块包含历史纪录存储单元和明细查询单元;

历史纪录存储单元存储了每种的支出与收入记录,具体存储与计算方法如下:

总原生iops=cp_iops*n;

其中,总原生iops是每种的支出与收入记录的可用存储量,单位是京(gb);cp_iops是历史纪录存储单元的磁盘转速,单位是兆每秒(mb/s);n是本地钱包的数量,在数量计算中,每种存放在单独的钱包中,即n也是币种的多少;

收支性iops=((总原生iops*支出%)/(raid惩罚))+(总原生iops*收入%);

其中收支性iops是每种的支出与收入记录在钱包中的存储记录,采用二进制字符存储;支出是钱包的支出记录,采用二进制字符存储;收入是钱包的收入记录,采用二进制字符存储;%是数学中的百分号运算符号;raid惩罚是历史纪录存储单元的存储有效性因子,一般是0.9;

历史纪录存储单元采用分布式存储方式将每种的支出与收入记录按收支性iops计算方式进行存储;

明细查询单元对历史纪录存储单元进行访问,得到用户所需的收支明细记录;具体收支明细查询方式有:按币种的类别进行查询,得到特定币种的收支明细情况;按交易时间进行查询,得到查询时间范围内所有的收支明细情况;

明细查询单元对历史纪录存储单元的访问方式如下:

明细查询单元根据用户收支明细查询请求中的币种和交易时间信息生成16位收支明细查询指令码,1-8位是的币种代码,9-14位是交易时间代码,15-16位是收支明细查询指令特殊符;

历史记录存储单元接收到明细查询单元生成的收支明细查询指令码后,通过拉格朗日算子分解收支明细查询指令码,根据筛选条件(用户指定的的币种和交易时间)在收支性iops中按斐波那契查找方式进行查找,具体查找方式如下:

斐波那契查找方式根据斐波那契数列的特点对收支性iops进行分割,收支性iops中记录的个数为某个斐波那契数减去1,即n=f(k)-1;

其中,n是收支性iops中记录的个数;f是斐波那契数列,k是斐波那契数列中某个数所在位置的序号;

将k值与f(k-1)位置的记录进行比较,即mid=low+f(k-1)-1,比较结果分为三种;

一,相等,mid位置的记录即为所求;

二,大于,low=mid+1,k-=2;low=mid+1说明待查找的记录在[mid+1,high]范围内,k-=2说明[mid+1,high]范围内的记录的个数为f(k-2)-1个;

三,小于,high=mid-1,k-=1;high=mid-1说明待查找的记录在[low,mid-1]范围内,k-=1说明[low,mid-1]范围内的记录的个数为f(k-1)-1个;

其中,low,mid,high都表示收支性iops中记录的位置;

最后,查找到的所有记录即为用户所查找的收支明细情况。

具体实施方式

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

实施例:本发明是一种基于区块链的钱包余额管理的方法和系统,包含以下内容:余额计算模块、提现管理模块和收支明细模块。

余额计算模块包含本地请求单元、云端计算单元和本地汇总单元;当用户进入钱包的余额界面时,本地请求单元得到触发,向云端发送请求指令,请求指令是一个加密指令,由钱包的绝对地址以及钱包中的各类的绝对子地址通过ecb模式加密生成,具体生成方式如下:

首先,32位绝对地址如ftlresaopmctr54eolswqa04lmvitcew通过加密器动态随机获得的密钥进行加密,生成密文块0,密文块0是8位二进制数字串10011010;

其次,将所有的绝对子地址按高斯随机分布算法进行排序,得到有顺序的绝对子地址的集合;如该钱包中有5类,那么就有5个绝对子地址:

feprlficsllasvxkgltdrellounmxszk、

aewortlvfxospeqalredicoxlsrdfqas、

flcovmgjtklxasorpelwsadcmnnkleqp、

doclsaqpexmzkcflrdsiotprewsqasxl和

wlpomkklascugkremsqazdlcremdskky;

然后,将集合中的绝对子地址依次通过加密器动态随机获得的密钥进行加密,从而生成密文块1,密文块2,密文块3,密文块4和密文块5分别是:11100111、11010001、11100101、00110110和10001110;

最后,将所有的密文块依次排入队列,得到100110101110011111010001111001010011011010001110,对该队列进行高斯随机化加密,得到八位二进制加密指令10110001。

云端计算单元接收到加密指令后,打开云端钱包,得到每种的实时余额;并通过链传输的方式将其传输至本地汇总单元;vga单网线链传输采用业界标准的eia/tia-568b方法,分辨率为1920x1080p,具有很强的传输协同性及抗干扰能力。

本地汇总单元根据实时的各种兑人民币的比率进行动态计算,得到钱包的余额,计算单位为人民币;具体在钱包余额界面中,不光可以显示实际资产总额(人民币),也可以查看到每一种的余额(币种)和对应的换算人民币总额。如用户在钱包中有三个不同币种的,即存在对应的三个子钱包:eth-wallet、btc-wallet和eos-wallet,则余额计算模块可以分别计算eth、btc和eos三种的账户余额以及每种转化为人民币之后的人民币金额;同时,计算钱包中所有的总额。并且,如有需要,用户可以灵活的查看某一种或某几种的余额。

提现管理模块包含提现发起单元和云端操作单元;用户发起某种的提现服务后,提现发起单元开始工作,将的币种、数量及绝对子地址构成的提现信息传输至云端钱包;提现信息是一个32位数字链,1-16位是的绝对子地址,17-24位是的币种代码,25-32位是的数量代码;云端操作单元接收到提现信息后进行解码,根据解码后所得的绝对子地址打开绝对子地址对应的云端钱包,再根据的币种和数量进行提现操作。

收支明细模块包含历史纪录存储单元和明细查询单元;

历史纪录存储单元存储了每种的支出与收入记录,具体存储与计算方法如下:

总原生iops=cp_iops*n;

其中,总原生iops是每种的支出与收入记录的可用存储量,单位是京(gb);cp_iops是历史纪录存储单元的磁盘转速,单位是兆每秒(mb/s);n是本地钱包的数量,在数量计算中,每种存放在单独的钱包中,即n也是币种的多少。

收支性iops=((总原生iops*支出%)/(raid惩罚))+(总原生iops*收入%)。

其中收支性iops是每种的支出与收入记录在钱包中的存储记录,采用二进制字符存储;支出是钱包的支出记录,采用二进制字符存储;收入是钱包的收入记录,采用二进制字符存储;%是数学中的百分号运算符号;raid惩罚是历史纪录存储单元的存储有效性因子,一般是0.9。

如每种的支出与收入记录的可用存储量是4g,历史纪录存储单元的磁盘转速是3000mb/s,则可以计算得到所有的收入与支出按收支性iops进行记录的二进制结果。

历史纪录存储单元采用分布式存储方式将每种的支出与收入记录按收支性iops计算方式进行存储。

明细查询单元对历史纪录存储单元进行访问,得到用户所需的收支明细记录;具体收支明细查询方式有:按币种的类别进行查询,得到特定币种的收支明细情况;按交易时间进行查询,得到查询时间范围内所有的收支明细情况。

明细查询单元对历史纪录存储单元的访问方式如下:

明细查询单元根据用户收支明细查询请求中的币种和交易时间信息生成16位收支明细查询指令码,1-8位是的币种代码,9-14位是交易时间代码,15-16位是收支明细查询指令特殊符。

历史记录存储单元接收到明细查询单元生成的收支明细查询指令码后,通过拉格朗日算子分解收支明细查询指令码,根据筛选条件(用户指定的的币种和交易时间)在收支性iops中按斐波那契查找方式进行查找,具体查找方式如下:

斐波那契查找方式根据斐波那契数列的特点对收支性iops进行分割,收支性iops中记录的个数为某个斐波那契数减去1,即n=f(k)-1;

其中,n是收支性iops中记录的个数;f是斐波那契数列,k是斐波那契数列中某个数所在位置的序号;

将k值与f(k-1)位置的记录进行比较,即mid=low+f(k-1)-1,比较结果分为三种;

一,相等,mid位置的记录即为所求;

二,大于,low=mid+1,k-=2;low=mid+1说明待查找的记录在[mid+1,high]范围内,k-=2说明[mid+1,high]范围内的记录的个数为f(k-2)-1个;

三,小于,high=mid-1,k-=1;high=mid-1说明待查找的记录在[low,mid-1]范围内,k-=1说明[low,mid-1]范围内的记录的个数为f(k-1)-1个;

其中,low,mid,high都表示收支性iops中记录的位置;

最后,查找到的所有记录即为用户所查找的收支明细情况。

如需要查找eth-wallet中的收支明细,就只需选择币种:eth,通过明细查询单元对历史纪录存储单元的访问得到自该钱包建立以来,用户关于eth这一的所有收支明细情况。如需要查找2017年一整年该钱包中的所有收支明细情况,就只需选择日期20170101-20171231和所有币种对应的钱包:eth-wallet、btc-wallet和eos-wallet,通过明细查询单元对历史纪录存储单元的访问得到2017年该钱包的所有收支明细情况。

本发明的有益成果在于:基于区块链的钱包余额管理的方法和系统通过余额计算模块、提现管理模块和收支明细模块的相互配合,完成钱包的余额管理、提现管理以及收支明细查询,对探求新型区块链分布式下的钱包余额管理方法有着十分重要的意义和实际价值。

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