首页> 中国专利> 一种基于区块链的贷款用途监督方法

一种基于区块链的贷款用途监督方法

摘要

本发明涉及信息技术领域,具体涉及一种基于区块链的贷款用途监督方法,贷款银行提取贷款企业和贷款金额的哈希值上传区块链;生成追踪识别码上传区块链;参与监督的银行提取转出账户主体名称的哈希值,查询区块链,若存在哈希值匹配,则生成追踪交易信息;将追踪交易信息使用限时加密算法加密后上传区块链存储;将转入账户主体名称的哈希值关联收款机构名称后,追加到追踪识别码;贷款银行在限时内解密追踪密文,根据全部追踪交易信息判断贷款企业是否存在贷款用途违规行为;若贷款企业疑似存在贷款用途违规行为,发起线下核实惩戒程序。本发明的实质性效果是:借助线上系统自动排查,结合线下核实惩戒程序,有效形成对违规使用贷款行为的威慑。

著录项

  • 公开/公告号CN114820175A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 浙江数秦科技有限公司;

    申请/专利号CN202210733004.5

  • 发明设计人 张金琳;高航;俞学劢;

    申请日2022-06-27

  • 分类号G06Q40/02(2012.01);G06F21/60(2013.01);G06F21/62(2013.01);

  • 代理机构

  • 代理人

  • 地址 311121 浙江省杭州市余杭区仓前街道鼎创财富中心2幢11层

  • 入库时间 2023-06-19 16:11:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-23

    授权

    发明专利权授予

  • 2022-08-16

    实质审查的生效 IPC(主分类):G06Q40/02 专利申请号:2022107330045 申请日:20220627

    实质审查的生效

说明书

技术领域

本发明涉及信息技术领域,具体涉及一种基于区块链的贷款用途监督方法。

背景技术

银行对其开展的贷款业务负有监管之责,如对贷款用途的监测、对专项监管账户资金使用的管理、对一些非法金融活动的识别等。涉及贷款用途的监测,常需要跨银行进行协作,识别潜在的违规贷款使用活动。银行间自主的跨行资金监管依赖于银行自行向他行获得线下纸质材料,并授权递交的形式完成,存在低效不实时、且传递过程不可控等问题。难以及时发现贷款违规使用的问题,对违规使用贷款行为的威慑力不足,难以胜任贷后监督的任务。为此有必要研究能够在线上进行的贷款使用监督方案,用于及时发现疑似的违规使用行为,结合线下核实程序,能够高效率的完成贷款使用的监督,提高对贷款违规使用行为的威慑力。但线上进行贷款用途的监督会带来银行业务数据泄露的风险,因而有必要研究新的贷款用途监督方案。

如中国专利CN112529717A,公开日2021年3月19日,公开了一种基于物联网的贷后风险控制系统,用于快速客观地识别贷后企业的动态,及时发现并预警风险,降低了对贷后企业的贷款损失。基于物联网的贷后风险控制系统包括:数字化的水电气物联网设备数据采集模块,用于采集数字化的企业能耗数据;非侵入式的水电气物联网设备数据采集模块,用于采集非侵入式的企业能耗数据;企业人流和物流物联网设备数据采集模块,用于采集企业人流数据和企业物流数据;企业库存物联网设备数据采集模块,用于采集企业库存数据;无线网络发射模块,用于完成数据的传输;物联网平台中心模块,用于对数据进行适配、分拣和分析。其技术方案借助物联网设备采集的数据,研判贷后风险,一定程度上管控了贷款违规使用的问题。但不能解决贷款违规流入限制行业的问题。

发明内容

本发明要解决的技术问题是:目前缺乏适合银行间跨机构进行贷款用途监管方案的技术问题。提出了一种基于区块链的贷款用途监督方法,能够有效实现贷款用途的监督。

为解决上述技术问题,本发明所采取的技术方案为:一种基于区块链的贷款用途监督方法,贷款银行将贷款转入贷款企业的银行账户时,提取贷款企业和贷款金额的哈希值上传区块链;

贷款银行生成追踪识别码上传区块链,追踪识别码包括贷款企业名称的哈希值和追踪期限;

参与监督的银行进行资金转出业务时,提取转出账户主体名称的哈希值,查询区块链,若存在处于追踪期限内的追踪识别码与转出账户主体名称的哈希值匹配,则生成追踪交易信息,追踪交易信息包括转出账户主体名称、转入账户主体名称、转入账户主体行业、交易金额和交易时间戳;

将追踪交易信息使用限时加密算法加密后,再使用贷款银行的公钥加密获得追踪密文,将追踪密文关联追踪识别码上传区块链存储;

将转入账户主体名称的哈希值关联收款机构名称后,追加到追踪识别码;

贷款银行在限时内解密追踪密文,而后使用私钥解密获得追踪交易,根据全部追踪交易信息判断贷款企业是否存在贷款用途违规行为;

若追踪交易信息涉及转入预设违规行业的资金金额与贷款金额的比例处于预设区间内,则判断贷款企业疑似存在贷款用途违规行为,发起线下核实惩戒程序。

作为优选,收款机构生成追踪交易信息前,判断交易金额是否满足追踪区间,若满足追踪区间,则生成追踪交易信息,若不满足追踪区间,则不做操作,判断交易金额是否满足追踪区间的方法包括:

收款机构读取本机构中,转出账户主体在预设时段内的全部收款交易,提取收款交易的转出账户的哈希值,与追踪识别码对比;

获得与追踪识别码匹配的收款交易,获得收款交易的交易金额,记为参照金额;

若交易金额不小于参照金额的k1倍且不大于参照金额的k2倍,则判定交易金额满足追踪区间,k1

作为优选,收款机构生成追踪交易信息前,判断交易金额是否满足追踪区间,若满足追踪区间,则生成追踪交易信息,若不满足追踪区间,则不做操作,判断交易金额是否满足追踪区间的方法包括:

收款机构读取本机构中,转出账户主体在预设时段内的全部收款交易,提取收款交易的转出账户的哈希值,与追踪识别码对比;

获得与追踪识别码匹配的收款交易,获得收款交易的交易金额,记为参照金额;

收款机构读取本机构中,转出账户主体在预设时长内转入交易的总金额;

若交易金额属于区间[k1*参照金额,k2*参照金额]且超过总金额的k3倍,则判定交易金额满足追踪区间。

作为优选,参与监督的银行将追踪交易信息使用对称加密算法加密,对称加密算法的秘钥记为秘钥Key,使用限时加密算法加密秘钥Key获得秘钥Key密文,使用贷款银行的公钥加密对称加密后的追踪交易信息和秘钥Key密文,获得追踪密文,将追踪密文关联追踪识别码上传区块链存储。

作为优选,所述贷款银行在区块链上发布智能合约,所述智能合约设置若干个带有计时器的显示栏,所述计时器进行倒计时,当计时器倒计时至0时,所述显示栏清空显示的信息并重置计时器;

参与监督的银行使用限时加密算法加密秘钥Key的方法包括:

参与监督的银行生成限时加密秘钥和限时解密秘钥,使用限时加密秘钥加密秘钥Key获得秘钥Key密文;

将限时解密秘钥拆分为两个秘钥,将其中一个秘钥使用贷款银行的公钥加密并关联贷款银行的名称后上传区块链存储;

参与监督的银行选择倒计时时长与限时匹配的显示栏,将另一个秘钥使用贷款银行的公钥加密并关联贷款银行的名称后写入选择的显示栏;

在限时时长内贷款银行查询区块链和智能合约,获得限时解密秘钥拆分出的两个秘钥,进而获得完整的限时解密秘钥;

使用限时解密秘钥解密秘钥Key密文获得秘钥Key,使用秘钥Key解密获得追踪交易信息。

作为优选,参与监督的银行生成限时加密秘钥和限时解密秘钥的方法包括:

参与监督的银行为每个数据开放请求生成限时数、公开数和解密数,使限时数、公开数和解密数的乘积等于2π的整倍数加1,所述限时数为限时加密秘钥,所述公开数和解密数为限时解密秘钥,所述解密数为正奇数。

作为优选,参与监督的银行使用限时加密秘钥加密秘钥Key的方法包括:

将秘钥Key转换为二进制流,按照预设长度截断为若干个二进制数;

将截断获得的二进制数转换为十进制表示,记为明文;

尝试生成中间数,使密文的余弦值保留前指定位小数恰好与明文相符,同时保证中间数的小数位位数小于或等于限时数、公开数和解密数的乘积的整数位数;

计算中间数与限时数乘积的余弦值作为密文,全部二进制数的密文关联序号打包构成秘钥Key密文。

作为优选,使用限时解密秘钥解密秘钥Key密文获得秘钥Key的方法包括:

依次对每个二进制数的密文,使用余弦函数的倍角公式计算中间数、限时数、公开数和解密数的乘积的余弦值;

保留余弦值的前指定位小数,获得二进制数的十进制表示,即获得二进制数;

全部二进制数拼接后获得秘钥Key的二进制流表示,转换为字符即为秘钥Key。

作为优选,贷款银行计算涉及转入预设违规行业的资金金额的方法包括:

贷款银行根据权利追踪交易信息复原转入限制行业资金的交易链;

所述交易链指从资金转出到限制行业的交易开始,向上寻找对应的资金转入交易,直到追溯到转入交易来自贷款银行的贷款发放交易;

全部所述转入交易的金额总和即为转入预设违规行业的资金金额。

本发明的实质性效果是:通过追踪识别码识别需要追踪的交易,完成银行之间跨机构的协作追踪,同时又实现了保护交易方隐私的效果,避免交易数据的泄露;借助线上系统自动排查,及时发现可能的违规行为,结合线下核实惩戒程序,有效形成对违规使用贷款行为的威慑;借助改进的限时加密技术,提高了业务数据的安全性。

附图说明

图1为实施例一贷款用途监督方法流程示意图。

图2为实施例一判断交易金额是否满足追踪区间方法流程示意图。

图3为实施例二进行限时加密的方法流程示意图。

图4为实施例三使用限时加密算法加密秘钥Key方法流程示意图。

图5为实施例三生成限时加密秘钥和限时解密秘钥方法流程示意图。

图6为实施例三使用限时加密秘钥加密秘钥Key方法流程示意图。

图7为实施例三使用限时解密秘钥解密秘钥Key方法流程示意图。

图8为实施例三计算涉及转入预设违规行业的资金金额方法流程示意图。

具体实施方式

下面通过具体实施例,并结合附图,对本发明的具体实施方式作进一步具体说明。

实施例一:

一种基于区块链的贷款用途监督方法,请参阅附图1,包括:步骤A01)贷款银行将贷款转入贷款企业的银行账户时,提取贷款企业和贷款金额的哈希值上传区块链。哈希值由散列函数获得,常用的散列函数有SHA256和SM3,哈希值通常以十六进制表示,如:0xB3ABE…5D8C6。其中SHA256算法使用的哈希值长度是256位。通过企业名称的哈希值指代企业,涉及企业交易的银行能够通过提取企业名称哈希值进行比对,未涉及企业交易的银行由于不知晓企业名称,不能从哈希值反推出企业名称,使企业名称得以保密。如企业甲名称的哈希值为:0x8C17D…E999C,只有知晓企业甲的名称,才能获得相应的哈希值。仅仅得知哈希值不能反推出企业的名称。进一步的,银行之间商定预设字符串,将企业名称与预设字符串拼接后提取哈希值。由于预设字符串是固定的,因此通企业名称提取获得的哈希值也是相同的。如约定预设的字符串为“Q3dY”,提取企业甲名称的哈希值为SHA256(企业甲名称+Q3dY)为:0xC6A11…456D4。则只有同时知晓企业甲和预设的字符串才能得出哈希值0xC6A11…456D4指代企业甲。若不知晓预设字符串,则无法获知哈希值0xC6A11…456D4和企业甲之间的联系。

步骤A02)贷款银行生成追踪识别码上传区块链,追踪识别码包括贷款企业名称的哈希值和追踪期限。追踪识别码形式如:{0xC6A11…456D4,2020-10-26},2020-10-26为追踪期限,追踪期限可以使用任意的日期格式,如使用时间戳亦可,即1603644992表示2020-10-26日零时。

步骤A03)参与监督的银行进行资金转出业务时,提取转出账户主体名称的哈希值,查询区块链,若存在处于追踪期限内的追踪识别码与转出账户主体名称的哈希值匹配,则生成追踪交易信息,追踪交易信息包括转出账户主体名称、转入账户主体名称、转入账户主体行业、交易金额和交易时间戳。贷款银行A将企业甲申请的500万元贷款发放至企业甲在银行B的账户中。完成贷款发放后,银行A生成追踪识别码,上传到区块链。当银行B收到企业甲将资金转出到企业乙在银行C的账户的资金转出业务时,办理资金转出业务,而后提取企业甲名称的哈希值,与区块链上存在的追踪识别码对比,若对比相符,且追踪识别码记载的追踪期限尚未到达。则银行B判定此次资金转出业务需要进行协同追踪。因此生成追踪交易信息,追踪交易信息的转出账户主体名称即为企业甲的名称。转入账户主体名称即为企业乙名称,转入账户主体行业即为企业乙所属行业,交易金额和交易时间戳由资金转出业务直接获得。

步骤A04)将追踪交易信息使用限时加密算法加密后,再使用贷款银行的公钥加密获得追踪密文,将追踪密文关联追踪识别码上传区块链存储。贷款银行即银行A,轮询区块链,获得关联有追踪识别码的追踪密文。银行A使用私钥解密获得追踪密文,在限时内使用限时解密算法解密获得追踪交易信息。

步骤A05)将转入账户主体名称的哈希值关联收款机构名称后,追加到追踪识别码。转入账户主体名称的哈希值即为前述资金转出交易的收款方,即企业乙名称的哈希值,为0xC9447…BC2D9。追加到追踪识别码后,追踪识别码形式如:{0xC6A11…456D4,2020-10-26,0xC9447…BC2D9-银行C名称}。银行C轮询区块链,可知其用户中,收到了需要协作追踪的资金。当银行C的用户办理资金转出业务时,银行C同样提取资金转出账户主体名称的哈希值,与区块链上的追踪识别码对比。如此推进,即可获得贷款资金的多次转账路径。

步骤A06)贷款银行在限时内解密追踪密文,而后使用私钥解密获得追踪交易,根据全部追踪交易信息判断贷款企业是否存在贷款用途违规行为。在限时内贷款银行通过解密获得全部追踪交易的信息,由此能够复原出贷款资金的转账路径,获得贷款资金是否存在违规流入限制行业的风险。

步骤A07)若追踪交易信息涉及转入预设违规行业的资金金额与贷款金额的比例处于预设区间内,则判断贷款企业疑似存在贷款用途违规行为,发起线下核实惩戒程序。若根据追踪交易信息判断企业存在将资金转入违规行业的风险,则发起线下核实惩戒程序。通过线下程序核实,若确存在违规使用贷款资金的行为,则发起惩戒程序。

更进一步的,收款机构生成追踪交易信息前,判断交易金额是否满足追踪区间,若满足追踪区间,则生成追踪交易信息,若不满足追踪区间,则不做操作。如此能够将交易金额较小的交易筛除,减少需要协作获得的追踪交易信息量,提高协作资金用途追踪效率。请参阅附图2,判断交易金额是否满足追踪区间的方法包括:

步骤B01)收款机构读取本机构中,转出账户主体在预设时段内的全部收款交易,提取收款交易的转出账户的哈希值,与追踪识别码对比;

步骤B02)获得与追踪识别码匹配的收款交易,获得收款交易的交易金额,记为参照金额;

步骤B03)若交易金额不小于参照金额的k1倍且不大于参照金额的k2倍,则判定交易金额满足追踪区间,k1

本实施例为了更为准确的追踪贷款资金的交易路径,设置了参照资金额的特征。参照金额为收到贷款资金的企业,在预设的时长内,收到的全部资金的金额。既包括企业转入的贷款资金,也包括其他企业转入的资金。如统计半个月内企业收到的全部资金的金额,作为参照金额。当贷款金额相对于参照金额的比例非常小时,如设置k1=10%,不认为收到贷款资金的企业,将资金转出时,主要使用了其他企业的贷款资金。其中,k2的值通常设置为大于1,如设置为200%。

贷款银行,即银行A,向银行B的企业甲的账户转入贷款金额500万元,随后银行A就将企业甲名称的哈希值,纳入到追踪识别码,上传到区块链存储。

当企业甲将160万元贷款资金转入企业乙在银行C的账户时,银行B提取企业甲名称的哈希值,发现区块链上存在相符的追踪识别码,且企业甲名称的哈希值处于起始位置,则判断企业甲收到了贷款资金,结合区块链上存储的追踪识别码被上传的时间,读取本银行被企业甲的收款交易,获得时间相符的交易,进而获得企业甲收到的贷款金额为500万元,此时参照金额即为500万元。企业甲将160万元转入企业乙,160万元与500万元的比值为32%,超过k1的值且小于k2的值。因此,判定交易金额处于追踪区间内,将企业甲向企业乙转账160万元的交易,纳入到追踪交易中。生成追踪交易的追踪密文,上传到区块链。银行A限时内解密能够获得本次交易的信息,从而得知企业乙的行业信息和相关交易金额。同时银行B将企业乙名称的哈希值追加到追踪识别码中。

随后企业乙又将360万元资金转入企业丙在银行D的账户。银行C作为资金转出账户主体所在的银行,提取资金转出账户主体名称的哈希值,即企业乙名称的哈希值,与区块链上已存在的追踪识别码对比,发现存在相符的追踪识别码。根据区块链记录的追踪识别码更新的时间,读取本行企业乙的收款交易,获得时间匹配的交易,进而获知企业乙收到的需要协作追踪的金额是160万元。该160万元即为参照金额。由于转账金额360万元超过了160万元的200%倍,认定此次转出资金并不是主要使用企业乙近期收到的资金,属于企业乙积累的财富,因此不纳入追踪交易信息。

更进一步的,本实施例中,判断交易金额是否满足追踪区间的方法包括:收款机构读取本机构中,转出账户主体在预设时段内的全部收款交易,提取收款交易的转出账户的哈希值,与追踪识别码对比;获得与追踪识别码匹配的收款交易,获得收款交易的交易金额,记为参照金额;收款机构读取本机构中,转出账户主体在预设时长内转入交易的总金额;若交易金额属于区间[k1*参照金额,k2*参照金额]且超过总金额的k3倍,则判定交易金额满足追踪区间。

设置k3的值为10%,如前述,企业乙又将50万元资金转入企业丁在银行E的账户中。企业乙在转出50万元资金至企业丁时,往前追溯半个月,共收入的资金为800万元,800万元即为总金额。50万元占800万元的总金额的比例为6.25%,占比比例小于k3,因此本次交易不纳入追踪交易信息。

表1 企业甲贷款资金交易路径

如此形成跨银行的贷款资金的追踪交易信息。如表1所示,为企业甲对贷款资金的使用情况,按照表1所示,序号为2、5、6、7和8的交易将被纳入追踪交易信息,最终由贷款银行,即银行A解密获得。若企业庚为限制行业,则流入限制行业的金额为270万元,占贷款总金额500万元的10%比例以上,有违规使用贷款的嫌疑。此时,贷款银行,即银行A将发起线下核实和惩戒程序。

参与监督的银行将追踪交易信息使用对称加密算法加密,对称加密算法的秘钥记为秘钥Key,使用限时加密算法加密秘钥Key获得秘钥Key密文,使用贷款银行的公钥加密对称加密后的追踪交易信息和秘钥Key密文,获得追踪密文,将追踪密文关联追踪识别码上传区块链存储。追踪交易信息使用对称加密算法加密后,再将对称加密的秘钥Key使用限时加密算法加密,并将限时密文使用贷款银行的公钥加密后上传到区块链。贷款银行使用私钥解密获得限时密文,使用限时秘钥解密限时密文获得秘钥Key,再使用秘钥Key解密获得追踪交易信息。

本实施例的有益技术效果是:通过追踪识别码识别需要追踪的交易,完成银行之间跨机构的协作追踪,同时又实现了保护交易方隐私的效果,避免交易数据的泄露;借助线上系统自动排查,及时发现可能的违规行为,结合线下核实惩戒程序,有效形成对违规使用贷款行为的威慑;借助改进的限时加密技术,提高了业务数据的安全性。

实施例二:

一种基于区块链的贷款用途监督方法,本实施例在实施例一的基础上,对限时加密算法进行的具体的改进。贷款银行在区块链上发布智能合约,限时加密智能合约,限时加密智能合约包括若干个加密栏和公开栏,加密栏包括限时计时、加密函数、接收栏和输出栏,接收栏接收区块链用户写入的字符串、公钥和功能标识符,功能标识符包括加密标识符和解密标识符,功能标识符为加密标识符时,加密栏将接收栏内的字符串使用公钥解密后,进行加密运算,再使用公钥加密后显示在输出栏,功能标识符为加密标识符时,加密栏将接收栏内的字符串使用公钥解密后,进行解密运算,再使用公钥加密后显示在输出栏。其中,限时计时到达时,加密栏更新加密函数,公开栏公开M个样本点(xi,yi),i∈[1,M],并周期性更新。

请参阅附图3,参与监督的银行使用限时加密智能合约进行限时加密的过程包括:

步骤C01)参与监督的银行读取限时时长与目标限时时长相符的公开栏的样本点;

步骤C02)参与监督的银行生成随机整数R,R

步骤C03)计算剩余M-R个样本点与一元多项式的距离,全部样本点与一元多项式的距离和记为样本点距离;

步骤C04)穷举过R个样本点的一元多项式,使获得的一元R次多项式的样本点距离最小,记为加密一元多项式;

步骤C05)收款机构将追踪交易信息转换为二进制流,末尾补位后,截取为预设长度的若干段,每段视为数值,作为明文数值;

步骤C06)将明文数值表示为数据对(x, △),使x值代入加密一元多项式并加上△值后等于明文数值;

步骤C07)全部数据对构成数据对集合,将数据对集合使用对称加密算法加密,关联追踪识别码后上传到区块链;

步骤C08)对称加密算法使用的秘钥记为Key,选择与限时相符的加密栏,将R和Key使用私钥签名,将签名后的R、Key、公钥和加密标识符提交给对应的加密栏,获得限时密文,将限时密文和加密栏标识,使用贷款银行的公钥加密,获得追踪密文,将追踪密文上传区块链存储;

步骤C09)贷款银行使用私钥解密追踪密文获得限时密文和加密栏标识,将限时密文使用私钥解密后,连同公钥和解密标识符写入对应加密栏的接收栏,将输出栏内容解密获得R和Key;

步骤C10)读取公开栏的M个样本点,穷举其中的过R个样本点的一元多项式,获得样本点距离最小的一元多项式,即为加密一元多项式;

步骤C11)使用Key解密获得数据对集合,使用数据对集合和加密一元多项式复原出二进制流;

步骤C12)按照预设补位和截取长度,复原出追踪交易信息。

贷款银行发布是限时加密智能合约如表2所示,每个加密栏均具有一个限时计时,本实施例中设置限时计时为40天,每个加密栏的限时计时均不同,表2中的加密栏共有40个,限时计时的值与加密栏的序号相同,每过一天限时计时就自减一。40个加密栏正好覆盖40天中的每一个限时时长,限时时长以天为单位。当限时计时到达时,重置限时计时,如此往复,总是有一个加密栏的限时时长等于不超过40天的任一个目标限时时长。

表2 限时加密智能合约

如表2所示,从公开栏中的6个样本点中选择3个构成一元二次多项式。如选择(2,36),(3,50),(4,18),构成的一元多项式为f(x)=-23*x^2+129*x-130。一元多项式f(x)=-23*x^2+129*x-130与样本点(6,26)的距离为dist=|f(6)-26|=210。同样的计算获得一元多项式f(x)=-23*x^2+129*x-130与其他样本点的距离,计算获得距离和,记为样本点距离。穷举6个样本点中选择3个样本点的组合,获得多个一元多项式。其中样本点距离最小的作为加密一元多项式。

假设加密一元多项式为:f(x)=-23*x^2+129*x-130。将追踪交易信息{SignA,SignB,100,1647506964}转换为二进制表示为:01111011 01010011 01101001 0110011101101110 01000001 00101100 01010011 01101001 01100111 01101110 0100001000101100 00110001 00110000 00110000 00101100 00110001 00110110 0011010000110111 00110101 00110000 00110110 00111001 00110110 00110100 01111101,共28个字节。以4字节截取获得7个明文数值,为:{2069064039,1849764947,1768386114,741421104,741422644,926232630,959853693}。比如明文数值2069064039,可以表示为(5,2069064099),即2069064039=f(5)+2069064099。将其余明文数值表示为数据对,将数据对集合使用对称加密算法加密,关联追踪识别码后上传到区块链。

对称加密算法使用的秘钥记为Key。而后将R、秘钥Key和加密标识符提交给对应的加密栏,获得限时密文,将限时密文和加密栏标识,使用贷款款银行的公钥加密,获得追踪密文,将追踪密文上传区块链存储。

银行A在对应的加密栏的限时计时到达前,将限时密文提交给加密栏,获得R和Key。银行甲按照同样的方法对公开栏的6个样本点建立一元二次多项式,同样能够获得加密多项式。使用加密多项式和数据对集合能够复原出明文数值和二进制流,进而复原出追踪交易信息,完成资金交易路径的追踪。若未获得正确的R值,则通过6个样本点能够复原出6个一元多项式。为提高限时加密的安全性,公开栏应公开多个样本点,如公开512个或者1024个样本点。相对于实施例一,本实施例具体提供了改进的限时加密算法,能够更高效的完成限时加密和解密过程,适合高业务量情况下的应用。

实施例三:

一种基于区块链的贷款用途监督方法,本实施例在实施例一的基础上,对限时加密算法进行的具体的改进。贷款银行在区块链上发布智能合约,智能合约设置若干个带有计时器的显示栏,计时器进行倒计时,当计时器倒计时至0时,显示栏清空显示的信息并重置计时器。请参阅附图4,参与监督的银行使用限时加密算法加密秘钥Key的方法包括:

步骤D01)参与监督的银行生成限时加密秘钥和限时解密秘钥,使用限时加密秘钥加密秘钥Key获得秘钥Key密文;

步骤D02)将限时解密秘钥拆分为两个秘钥,将其中一个秘钥使用贷款银行的公钥加密并关联贷款银行的名称后上传区块链存储;

步骤D03)参与监督的银行选择倒计时时长与限时匹配的显示栏,将另一个秘钥使用贷款银行的公钥加密并关联贷款银行的名称后写入选择的显示栏;

步骤D04)在限时时长内贷款银行查询区块链和智能合约,获得限时解密秘钥拆分出的两个秘钥,进而获得完整的限时解密秘钥;

步骤D05)使用限时解密秘钥解密秘钥Key密文获得秘钥Key,使用秘钥Key解密获得追踪交易信息。

表3 贷款银行发布的智能合约

如表3所示,贷款银行在区块链上发布智能合约,具有40个显示栏,提供限时时长从1天至40天的限时选择。参与监督的银行通常选择限时时长为15天或者30天。显示栏内可以显示多个经贷款银行的公钥加密的秘钥,相互之间使用间隔符隔开即可。但计时器到达计时时,显示栏内的内容将被清空。

请参阅附图5,参与监督的银行生成限时加密秘钥和限时解密秘钥的方法包括:

步骤E01)参与监督的银行为每个数据开放请求生成限时数、公开数和解密数;步骤E02)使限时数、公开数和解密数的乘积等于2π的整倍数加1;步骤E03)限时数为限时加密秘钥,公开数和解密数为限时解密秘钥,解密数为正奇数。将解密数使用贷款银行的私钥加密后发送给贷款银行。

限时数为正小数,即为正小数d,公开数为小数或者整数,本实施例采用公开数为正整数,记为正整数g,解密数为正奇数,记为正奇数e,记d*e*g=(10^s*k*π)_N+1,其中s为预设正整数,k为正偶数,N表示括号内的数保留N位小数。

本实施例中设置N=6,即计算中保留6位小数,s的值设置为5。参与监督的银行生成正小数d、正整数g和正奇数e分别为d=1012291.0217121,g=6,e=3,满足d*e*g=(10^s*k*π)_N+1=(29*10^5*2*π)_N+1=18221238.390819。即在6位小数的精度下,d*e*g的乘积是29*10^5个2π周期加1的值。进行验证计算,任意举例cos(2.567)=-0.83941376,而cos(d*e*g*2.567)=cos(46773918.949232)= -0.83941104。误差为0.00000272,误差率为0.0003%。在误差范围内能够用于加解密。若要提高精度,则提高N的值即可。如设置N=100,将提供更高的精度。

请参阅附图6,参与监督的银行使用限时加密秘钥加密秘钥Key的方法包括:

步骤F01)将秘钥Key转换为二进制流,按照预设长度截断为若干个二进制数;

步骤F02)将截断获得的二进制数转换为十进制表示,记为明文;

步骤F03)尝试生成中间数,使密文的余弦值保留前指定位小数恰好与明文相符,同时保证中间数的小数位位数小于或等于限时数、公开数和解密数的乘积的整数位数;

步骤F04)计算中间数与限时数乘积的余弦值作为密文,全部二进制数的密文关联序号打包构成秘钥Key密文。

秘钥Key的某个截断的二进制数为0010 0100,转换为十进制得到M=36。尝试生成小数m,使round(10^h*cos(m))=M。本实施例中截断的二进制数长度为1字节,即最大值为255,即M可能的最大长度为3位,因此h的值取3。尝试生成小数m,获得m=26.6673时,有cos(26.6673)=0.036229625079962。尝试生成m是方便快速的,且m的值并不唯一,因此本实施例提供的限时加密是一种密文不唯一的加密算法。比如m取值26.6675时,有cos(26.6675)=0.036029755658376,取值26.6674时,有cos(26.6674)=0.036129690549818,取值26.6676时,有cos(26.6676)=0.035929820406637。这些取值的共同特点是计算round(10^3*cos(m))均得到M=36的结果。同时m的小数位的位数均小于5。

选定m=26.6673,计算C=(cos(d*m))_N作为密文,cos(d*m)=cos(1012291.0217121*26.6673)=-0.90715863476983。保留6位小数,获得C=(cos(d*m))_N=-0.907158。将C=-0.907158作为二进制段的密文。全部二进制段的密文构成秘钥Key的密文。

请参阅附图7,使用限时解密秘钥解密秘钥Key密文获得秘钥Key的方法包括:

步骤G01)依次对每个二进制数的密文,使用余弦函数的倍角公式计算中间数、限时数、公开数和解密数的乘积的余弦值;

步骤G02)保留余弦值的前指定位小数,获得二进制数的十进制表示,即获得二进制数;

步骤G03)全部二进制数拼接后获得秘钥Key的二进制流表示,转换为字符即为秘钥Key。

贷款银行使用私钥解密获得解密数,解密数e=3,在限时时长内查询智能合约获得正整数g的值为6,计算T=(cos(e*d*g*m)_N=(dup_eg(C))_N=(cos(18*d*m)_N=(dup_18(C))_N。

已知余弦函数的倍角公式为:

cos(mx)=∑(-1)^k*m!/((2k)!*(m-2k)!)*(cosx)^(m-2k)*(sinx)^(2k),其中m为偶数,k∈[0,m/2]。

cos(mx)=∑(-1)^k*m!/((2k)!*(m-2k)!)*(cosx)^(m-2k)*(sinx)^(2k),其中m为奇数,k∈[0,(m-1)/2]。

获得dup_18(C)=4*((-1+2*C^2)(16*C^4-16*C^2+1))^3-3*(-1+2*C^2)(16*C^4-16*C^2+1)=0.036309602469642。取6位小数,得T=(dup_18(C))_N=0.036309,计算round(10^h*T)=round(10^3*T)=round(36.309)=36。即得M=36,将M=36转换为8位二进制数,得到M=36=0010 0100B。将全部M转换为二进制按顺序排列,并去除补位后,获得完整的副本的二进制流,进而获得明文状态下秘钥Key 。使用秘钥Key解密获得追踪交易信息。

请参阅附图8,贷款银行计算涉及转入预设违规行业的资金金额的方法包括:

步骤H01)贷款银行根据权利追踪交易信息复原转入限制行业资金的交易链;

步骤H02)交易链指从资金转出到限制行业的交易开始,向上寻找对应的资金转入交易,直到追溯到转入交易来自贷款银行的贷款发放交易;

步骤H03)全部转入交易的金额总和即为转入预设违规行业的资金金额。

本实施例中加密算法的安全性建立在计算给定数的余弦值快捷,且精度可自行设置,而从余弦值反向推算角度值则十分困难的规律之上。由余弦值反向推算角度值,有两种方式:穷举破解和反余弦函数计算。穷举破解需要逐个遍历每个可能值,需要消耗的时间是极大的,理论上不允许进行穷举破解。而且由于反余弦函数arccos的值域为[-π/2,π/2],得到反余弦函数arccos的值后,还需要进行修正。即将arccos(C)的值与2*k*π相加。由于π为无理数,即有无数个小数位。m的值的小数位也不确定,因而无法确定m的值。

相对于实施例一,本实施例提供的限时加解密算法具有更高的安全性,能够有效的保障追踪交易信息的安全。确保企业的交易数据以及银行的业务数据不被泄露。

以上的实施例只是本发明的一种较佳的方案,并非对本发明作任何形式上的限制,在不超出权利要求所记载的技术方案的前提下还有其它的变体及改型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号