一种基于私有区块链的电子账单交易系统的制作方法

文档序号:15751856发布日期:2018-10-26 17:54阅读:279来源:国知局
一种基于私有区块链的电子账单交易系统的制作方法

本发明涉及数据处理技术领域,特别是一种基于私有区块链的电子账单交易系统。



背景技术:

区块链技术因其具备的去中心化、信息不可篡改性等特点,越来越受到金融、保险等领域的公司的青睐,尤其是运用区块链技术实现多方参与的交易事件(例如,转账交易、支付交易等事件)越来越成为人们关注的焦点,例如,当银行a要买100票据给银行b,如果这笔交易在区块链上进行,那么所有其他在区块链上的节点都会看到这笔交易,好处是其他参与方可以一起参与确认交易准确性,防止信息的篡改。然而,由于在去中心化的区块链系统当中没有绝对权威机构节点,因此对每笔交易进行集体验证是必要的一步,这使得交易参与方的交易毫无秘密可言,一个机构的账户也有可能被其他节点上的机构跟踪,从而带来信息泄露的风险。

虽然,目前业界采用了一些解决信息泄露的区块链交易解决方案,然而现有的解决方案采用传统的密码学算法,它包括有哈希(hash)算法,它是一种单向密码体制,它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程;椭圆曲线加密法是一种公钥加密技术,以椭圆曲线理论为基础,利用有限域上椭圆曲线的点构成的点群离散对数难解性,实现加密、解密和数字签名,将椭圆曲线中的加法运算与离散对数中的模乘运算相对应,就可以建立基于椭圆曲线的对应密码体制;基于上述算法的解决方案要么是信息泄露解决的不够彻底,要么是计算效率低下,且系统运行开销巨大,限制区块链技术在交易场景中的运用。

综上所述,如何在既能有效保证交易信息的安全,又能有效保证交易处理的速度且降低系统开销的情况下,将区块链技术有效运用在交易场景下,已经成为一种亟待解决的技术问题。



技术实现要素:

针对上述问题,本发明旨在提供一种基于私有区块链的电子账单交易系统,实现对交易信息的保密以及防篡改。

本发明的目的采用以下技术方案来实现:

提供了一种基于私有区块链的电子账单交易系统,包括网络管理系统以及用户系统;所述管理系统包括网络创建模块、统计存储模块以及网络更新模块;所述网络创建模块包括多个路由与多个用户节点;每个路由通过路由映射来设定路由接口,用户节点通过路由设定的路由接口连接至另一个用户节点,以实现用户节点与用户节点之间的通信连接;数据存储模块:用于存储在预定时间段更新的区块链以及储存并更新用户节点上用户的数字证书;还用于储存用户在登入用户系统时上传的对应的公钥;网络更新模块用于初始化用户节点、新增用户节点以及删除用户节点;所述用户系统安装于用户节点处,每个用户节点都配用同版本的用户系统,用户系统用于实现交易发起方与交易接收方之间进行交易,且每隔预定时间将交易数据打包成的区块通过智能合约加入到节点网络中的最长区块链中。

优选地,所述初始化用户节点是指根据用户需求为用户节点分配相应的数据内存以及对应的路由接口;新增用户节点是指将新增的用户节点与网络中的用户节点随机互连,并配置相应的路由接口以及配置新增节点的数据内存;然后将当前网络中的最长区块链进行共享复制存储入新增的用户节点,最后对新增用户节点进行节点信息验证,若新增用户节点成功返回运行状态信息,则该网络更新模块更新当前网络的用户节点连接拓扑结构,否则返回错误信息给新增的用户节点;所述删除用户节点是指将待删除的用户节点与网络中的其他用户节点断开连接,并清楚相应的路由接口以及为用户节点配置数据内存。

优选地,所述用户节点为一个客户终端,包括有:电脑、手机以及平板;用户在该客户终端上进行登录以及操作进入用户系统。

优选地,所述用户系统包括身份验证单元,数据存储单元,数据操作接口,账单处理单元以及区块链更新单元;所述身份验证单元用于实现对参与电子交易的交易者的准入过程进行监管,以此来实现对私有区块链的所有者群体进行监管;所述数据存储单元用于储存用户节点的节点数据以及对应用户的身份信息;其中节点数据包括:用户节点网络端口、内存空间以及计算能力;身份信息包括对应用户的人脸特征、身份证号,数字资产,公钥以及用户交易账号;所述账单处理单元用于对交易过程中产生的电子账单进行加/解密处理,完成交易双方对交易过程的确认;所述区块链更新模块包括区块生成单元以及区块入链单元,所述区块生成单元用于将预定时间内的交易过程确认后产生的确认电子账单打包生成区块;然后将区块广播到用户节点网络中,所述用户节点网络中的各用户节点竞争获取该区块的挖矿权,获得挖矿权的用户节点对区块进行接收并送入区块入链单元进行入链操作;所述入链操作是指将所述区块写入用户节点网络中的区块链主链的末尾生成新的区块链主链,最后将新的区块链主链进行存储到管理系统中的数据存储模块,同时网络管理系统更新交易双方的数字证书。

优选地,所述身份验证单元是基于人脸识别来实现的,具体实现手段为:

(1)身份验证单元接受用户上传的多张自身的标准人脸图像,并对每张标准人脸图像进行特征提取,特征提取包括:提取人脸轮廓特征lt,瞳距特征tt,全局灰度梯度特征ht以及鼻梁局部灰度差异特征qt;

(2)身份验证单元将所述标准人脸图像的各维度特征进行求和平均,得到该用户人脸维度特征的标准值,依次为:并将其人脸数据保存在数据存储单元;

(3)用户在进行身份验证时采取刷脸登入,身份验证单元获取用户人脸图像,并对该用户人脸图像进行上述维度的特征提取,将提取到的特征与用户人脸各维度特征的标准值进行比较计算,将比较得到的人脸特征差异度y与差异阈值y0再进行比较;若y<y0,则认定身份验证合格;否则,认定验证不通过,进而实现用户人脸识别。

优选地,所述人脸特征差异度y的计算公式为:

式中,lt′为从用户人脸图像提取到的人脸轮廓特征;tt′为用户刷脸时提取到的瞳距特征;ht′为用户刷脸时提取到的全局灰度梯度特征;qt′为用户刷脸时提取到的鼻梁局部灰度差异特征;α为设定的人脸轮廓曲率缩放因子;β为影响人脸灰度特征的光照因子;

所述差异阈值y0为用户在对身份验证单元进行测试时得到先验值,计算先验值的具体过程为:输入m张同一用户人脸图像给与用户对应的身份验证单元,依上述步骤计算出y值,记为ym;然后输入n张与所述身份验证单元不对应的用户人脸图像,也依上述步骤计算出y值,记为yn;根据m,ym,n,yn即可计算得到差异阈值y0;保证了差异阈值y0对用户人脸图像的判断准确率高达98%。

本发明的有益效果为:本发明通过设计了一种基于私有区块链的电子账单交易系统,提高了用户与用户之间交易的效率,且通过上述不公开交易发起者的身份信息,保证了账户信息的安全;通过数据加密单元与解密单元的设计,还保证了交易信息的安全性以及防篡改性。

附图说明

利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。

图1为本发明的电子账单交易系统的系统构成图;

具体实施方式

结合以下应用场景对本发明作进一步描述。

参见图1,本实施例中,提出了一种基于私有区块链的电子账单交易系统,包括网络管理系统以及用户系统;所述网络管理系统包括网络创建模块、统计存储模块以及网络更新模块;所述网络创建模块包括多个路由与多个用户节点;每个路由通过路由映射来设定路由接口,用户节点通过路由设定的路由接口连接至另一个用户节点,以实现用户节点与用户节点之间的通信连接;

数据存储模块:用于存储在预定时间段更新的区块链以及储存并更新用户节点上用户的数字证书;还用于储存用户在登入用户系统时上传的对应的公钥。。

网络更新模块用于初始化用户节点,所述初始化用户节点是指根据用户需求为用户节点分配相应的数据内存以及对应的路由接口;还用于新增用户节点,新增用户节点是指将新增的用户节点与网络中的用户节点随机互连,并配置相应的路由接口以及配置新增节点的数据内存;然后将当前网络中的最长区块链进行共享复制存储入新增的用户节点,最后对新增用户节点进行节点信息验证,若新增用户节点成功返回运行状态信息,则该网络更新模块更新当前网络的用户节点连接拓扑结构,否则返回错误信息给新增的用户节点;还用于删除用户节点,所述删除用户节点是指将待删除的用户节点与网络中的其他用户节点断开连接,并清楚相应的路由接口以及为用户节点配置数据内存。

所述用户系统安装于用户节点处,每个用户节点都配用同版本的用户系统,用户系统用于实现交易发起方与交易接收方之间进行交易,且每隔预定时间将交易数据打包成的区块通过智能合约加入到节点网络中的最长区块链中。

本实施例中,所述用户节点为一个客户终端,包括有:电脑、手机以及平板;用户在该客户终端上进行登录以及操作进入用户系统。

本实施例中,所述用户系统包括身份验证单元,数据存储单元,数据操作接口,账单处理单元以及区块链更新单元;

所述身份验证单元用于实现对参与电子交易的交易者的准入过程进行监管,以此来实现对私有区块链的所有者群体进行监管。

所述数据存储单元用于储存用户节点的节点数据以及对应用户的身份信息;其中节点数据包括:用户节点网络端口、内存空间以及计算能力;身份信息包括对应用户的人脸特征、身份证号,数字资产,公钥以及用户交易账号。

所述用户包括任意一次交易的交易发起者a与交易接受者b;交易发起者与交易接受者共同完成一次交易;所述a与b完成一次交易的具体过程为:

(1)a通过身份验证系统登入用户系统,在数据操作接口处选择交易接受者b,且在该接口处选择交易的数字资产量,进而生成一份包括交易内容、b的身份信息、数字资产账号、交易的数字资产量以及交易发起时间戳的电子账单。

(2)将该电子账单送入a用户系统的账单处理单元进行加密处理,并将将其广播到用户节点网络中;所述账单处理单元包括数据加密单元、数据解密单元、广播接收单元以及广播发送单元;a用户系统的数据加密单元对所述的电子账单采用签名算法进行签名,得到包含电子账单数据的密文1,以此来实现对电子账单的加密;然后通过b的节点接口对密文1进行标记,将标记后的密文1广播到用户节点网络中。

(3)b登入对应用户系统,b用户系统中的广播接收单元对所述标记后的密文进行接收,然后将接收到的密文送入b用户系统的数据解密单元中,采用验证算法对标记后的密文进行解密处理得到电子账单;b对电子账单内的数据信息进行核对,若核对没有问题,则生成一份包括核对成功标识、交易内容、b的身份信息、b的数字资产账号、交易的数字资产量以及交易确认时间戳的确认电子账单;然后b用户系统的数据加密单元对所述确认电子账单同样采用签名算法进行签名,得到包含确认电子账单数据的密文2,通过a对应的节点接口对密文2进行标记,将标记后的密文2广播到用户节点网络中。

(4)a用户系统中的广播接收单元对所述标记后的密文2进行接收,然后将接收到的密文2送入a用户系统的数据解密单元中,采用验证算法对标记后的密文2进行解密处理得到确认电子账单;对确认电子账单的核对成功标识进行查看,若确定交易无误,则将该确认电子账单送入a用户系统中的区块链更新模块。

所述区块链更新模块包括区块生成单元以及区块入链单元;所述区块生成单元用于将预定时间内的用户节点接收到的所述确认电子账单打包生成区块;然后将区块广播到用户节点网络中。

所述用户节点网络中的各用户节点根据自身节点的计算能力、储存空间、股权证明以及运行可靠性进行计算得到评估系数,依据该评估系数确定部分用户节点获取区块的挖矿权,获得挖矿权的用户节点对区块进行接收并送入区块入链单元进行入链操作,获得挖矿权的用户节点可以依据工作量获取一定的挖矿奖励;所述入链操作是指将所述区块写入用户节点网络中的区块链主链的末尾,生成新的区块链主链。

最后将新的区块链主链进行存储到管理系统中的数据存储模块,同时更新交易双方的数字证书。

本实施例中,所述身份验证单元是基于人脸识别来实现的,具体实现手段为:

(1)身份验证单元接受用户上传的多张自身的标准人脸图像,并对每张标准人脸图像进行特征提取,特征提取包括:提取人脸轮廓特征lt,瞳距特征tt,全局灰度梯度特征ht以及鼻梁局部灰度差异特征qt;

(2)身份验证单元将所述标准人脸图像的各维度特征进行求和平均,得到该用户人脸维度特征的标准值,依次为:并将其人脸数据保存在数据存储单元。

(3)用户在进行身份验证时采取刷脸登入,身份验证单元获取用户人脸图像,并对该用户人脸图像进行上述维度的特征提取,将提取到的特征与用户人脸各维度特征的标准值进行比较计算,将比较得到的人脸特征差异度y与差异阈值y0再进行比较;若y<y0,则认定身份验证合格;否则,认定验证不通过,进而实现用户人脸识别,具体为:

式中,lt′为从用户人脸图像提取到的人脸轮廓特征;tt′为用户刷脸时提取到的瞳距特征;ht′为用户刷脸时提取到的全局灰度梯度特征;qt′为用户刷脸时提取到的鼻梁局部灰度差异特征;α为设定的人脸轮廓曲率缩放因子;β为影响人脸灰度特征的光照因子。

其中,差异阈值y0为用户在对身份验证单元进行测试时得到先验值,先验值计算的具体过程为:输入m张同一用户人脸图像给与用户对应的身份验证单元,依上述步骤计算出y值,记为ym;然后输入n张与所述身份验证单元不对应的用户人脸图像,也依上述步骤计算出y值,记为yn;根据m,ym,n,yn计算得到差异阈值y0,保证差异阈值y0对用户人脸图像的判断准确率高达98%。

本优选实施例中,通过该身份验证单元使得交易者身份信息实名化,且对交易者进行交易提供了第一层保护,采用人脸识别算法,该算法简单,计算量小,且通过刷脸验证极大的降低了交易者交易时账号密码被木马攻击的可能性,提升了交易的快捷与安全性。

本实施例中,所述签名算法对电子账单进行加密的具体实现为:

(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,然后将整数k与点p进行计算处理得到签名因子;具体为:

(1)通过点p再生成子点p1(u1,v1)以及p2(u2,v2),设定初始值u1=u;v1=1;u2=u2+a;v2=v2+b;a,b为人为设定的较小的变化因子。

(2)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点坐标值;

(3)当迭代l次,即i=l-1时,迭代完成,得到最终更新后的p1和p2的点坐标;依据它们计算签名因子:

式中,z为签名因子;(u1′,v1′)为最终更新后的p1点坐标;(u2′,v2′)为最终更新后的p2点坐标;

3)计算签名因子对素数r求余,得到的余数为第一签名标记s0;若s0等于,则重新选择k,进行重新计算签名因子;

4)将字符串对应的明文f通过与曲线上点对应的散列函数处理得到f;依据签名因子z、共享密钥d、f以及整数k可计算得到第二签名标记s1;具体有:

式中,mod为求余运算;

5)若s1等于0,则重新选择k来进行计算,否则,生成签名(s0,s1)。

(4)通过签名对将交易账单加密后形成密文。

本优选实施例中,设置了该签名算法,将交易发起者的私钥与交易接收者的公钥进行协商生成共享的密钥,为交易双方对交易的电子账单的加解密提供了可能,且该算法易于实现,且通过随机数k控制迭代进行,用户自身设定变化因子a,b来生成新的点,来对p点进行包装加密,相比现有技术中的椭圆加密算法的安全性提高了2.3%,故通过该算法对数据进行加密,提升了数据传输以及保存的安全性。

本实施例中,所述评估系数的计算公式为:

式中,q为评估系数,j为用户节点的计算能力;a为用户节点计算能力的伸缩因子;c为用户节点的储存空间,ρ为用户节点储存空间的扩展因子;g为用户节点的运行可靠性;f为用户节点的股权证明;γ为用户节点股权的信任因子。

本优选实施例中,通过设计了该获取区块挖矿权的评估系数,考虑了各节点根据自身的计算能力、储存空间、股权证明以及运行可靠性这4个因素,使得优质节点获取区块增长区块链的可能性较大,且该设计的评估系数实现了对各节点获取区块增长区块链能力的较为准确的评估。

本实施例中,通过设计了一种基于私有区块链的电子账单交易系统,提高了用户与用户之间交易的效率,且通过上述不公开交易发起者的身份信息,保证了账户信息的安全;通过数据加密单元与解密单元的设计,还保证了交易信息的安全性以及防篡改性。

最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当分析,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

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