[发明专利]一种基于私有区块链的电子账单交易系统有效
申请号: | 201810436204.8 | 申请日: | 2018-05-09 |
公开(公告)号: | CN108712409B | 公开(公告)日: | 2021-05-25 |
发明(设计)人: | 潘荣德 | 申请(专利权)人: | 广西创轩科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06Q40/04 |
代理公司: | 北京高航知识产权代理有限公司 11530 | 代理人: | 秦瑞 |
地址: | 530000 广西壮族自治区南宁市中国(广西)自由贸*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 私有 区块 电子 账单 交易系统 | ||
1.一种基于私有区块链的电子账单交易系统,其特征在于,包括网络管理系统以及用户系统;所述网络管理系统包括网络创建模块、数据存储模块以及网络更新模块;所述网络创建模块包括多个路由与多个用户节点;每个路由通过路由映射来设定路由接口,用户节点通过路由设定的路由接口连接至另一个用户节点,以实现用户节点与用户节点之间的通信连接;数据存储模块:用于存储在预定时间段更新的区块链以及储存并更新用户节点上用户的数字证书,还用于储存用户在登入用户系统时上传的对应的公钥;网络更新模块用于初始化用户节点、新增用户节点以及删除用户节点;所述用户系统安装于用户节点处,每个用户节点都配用同版本的用户系统,用户系统用于实现交易发起方与交易接收方之间进行交易,且每隔预定时间将交易数据打包成的区块通过智能合约加入到节点网络中的最长区块链中;
所述用户系统包括身份验证单元,数据存储单元,数据操作接口,账单处理单元以及区块链更新单元;所述身份验证单元用于实现对参与电子交易的交易者的准入过程进行监管,以此来实现对私有区块链的所有者群体进行监管;所述数据存储单元用于储存用户节点的节点数据以及对应用户的身份信息;其中节点数据包括:用户节点网络端口、内存空间以及计算能力;身份信息包括对应用户的人脸特征、身份证号,数字资产,公钥以及用户交易账号;
所述用户包括任意一次交易的交易发起者A与交易接受者B;交易发起者与交易接受者共同完成一次交易;所述A与B完成一次交易的具体过程为:
(一)A通过身份验证系统登入用户系统,在数据操作接口处选择交易接受者B,且在该接口处选择交易的数字资产量,进而生成一份包括交易内容、B的身份信息、数字资产账号、交易的数字资产量以及交易发起时间戳的电子账单;
(二)将该电子账单送入A用户系统的账单处理单元进行加密处理,并将其广播到用户节点网络中;所述账单处理单元包括数据加密单元、数据解密单元、广播接收单元以及广播发送单元;A用户系统的数据加密单元对所述的电子账单采用签名算法进行签名,得到包含电子账单数据的密文1,以此来实现对电子账单的加密;然后通过B的节点接口对密文1进行标记,将标记后的密文1广播到用户节点网络中;
(三)B登入对应用户系统,B用户系统中的广播接收单元对所述标记后的密文进行接收,然后将接收到的密文送入B用户系统的数据解密单元中,采用验证算法对标记后的密文进行解密处理得到电子账单;B对电子账单内的数据信息进行核对,若核对没有问题,则生成一份包括核对成功标识、交易内容、B的身份信息、B的数字资产账号、交易的数字资产量以及交易确认时间戳的确认电子账单;然后B用户系统的数据加密单元对所述确认电子账单同样采用签名算法进行签名,得到包含确认电子账单数据的密文2,通过A对应的节点接口对密文2进行标记,将标记后的密文2广播到用户节点网络中;
(四)A用户系统中的广播接收单元对所述标记后的密文2进行接收,然后将接收到的密文2送入A用户系统的数据解密单元中,采用验证算法对标记后的密文2进行解密处理得到确认电子账单;对确认电子账单的核对成功标识进行查看,若确定交易无误,则将该确认电子账单送入A用户系统中的区块链更新模块;
所述签名算法对电子账单进行加密的具体实现为:
(1).将电子账单的数据进行哈希计算,把得到的结果按照规则进行字符串的压缩,得到压缩的字符串;
(2).将得到的字符串表示成椭圆曲线E上,阶为素数r的一点P(u,v),交易发起者A与交易接收者B的私钥为私有不公开;从数据存储模块中获取交易接收者B的公钥Dp;
(3)先通过A的私钥p与B的公钥Dp进行协商生成共享的密钥d,采用共享密钥以及签名算法计算上述字符串对应点的签名,具体步骤为:
1)通过随机算法随机得到一个整数k,k属于[1,r-1];
2)将整数k进行二进制分解为k=(kl-1,…k0)2,l表示二进制位的位数,然后将整数k与点P进行计算处理得到签名因子;具体为:
21)通过点P再生成子点P1(u1,v1)以及P2(u2,v2),设定初始值u1=u;v1=1;u2=u2+a;v2=v2+b;a,b为人为设定的较小的变化因子;
22)ki∈[kl-1,…k0],i∈[0,…,l-1],i表示更新次数,ki表示第i次更新的二进制位值;按照i依次增加的顺序以及相应ki的值对P1和P2的点坐标进行不断的更新;具体有:
当进行第i次迭代,若ki=0时,对P2点进行更新,若ki=1时,则对P1点进行更新,更新公式为:
式中,s等于1或2,用于选择对P1点或P2点进行更新;(usi,vsi)表示经过第i次迭代后的点坐标值;(u1i-1,v1i-1)表示经过第i-1次迭代后的P1点坐标值;(u2i-1,v2i-1)表示经过第i-1次迭代后的P2点坐标值;
23)当迭代l次,即i=l-1时,迭代完成,得到最终更新后的P1和P2的点坐标;依据它们计算签名因子:
式中,z为签名因子;(u1′,v1′)为最终更新后的P1点坐标;(u2′,v2′)为最终更新后的P2点坐标;
3)计算签名因子对素数r求余,得到的余数为第一签名标记s0;若s0等于0,则重新选择k,进行重新计算签名因子;
4)将字符串对应的明文F通过与曲线上点对应的散列函数处理得到f;依据签名因子z、共享密钥d、f以及整数k可计算得到第二签名标记s1;具体有:
式中,mod为求余运算;
5)若s1等于0,则重新选择k来进行计算,否则,生成签名(s0,s1);
(4)通过签名对将交易账单加密后形成密文;
所述账单处理单元用于对交易过程中产生的电子账单进行加/解密处理,完成交易双方对交易过程的确认;所述区块链更新模块包括区块生成单元以及区块入链单元,所述区块生成单元用于将预定时间内交易过程确认后产生的确认电子账单打包生成区块;然后将区块广播到用户节点网络中,所述用户节点网络中的各用户节点竞争获取该区块的挖矿权,获得挖矿权的用户节点对区块进行接收并送入区块入链单元进行入链操作;所述入链操作是指将所述区块写入用户节点网络中的区块链主链的末尾生成新的区块链主链,最后将新的区块链主链进行存储到管理系统中的数据存储模块,同时网络管理系统更新交易双方的数字证书。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广西创轩科技有限公司,未经广西创轩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810436204.8/1.html,转载请声明来源钻瓜专利网。