CN115297119B - 基于区块链和验证计算的联合征信方法及系统 - Google Patents
基于区块链和验证计算的联合征信方法及系统 Download PDFInfo
- Publication number
- CN115297119B CN115297119B CN202211224332.9A CN202211224332A CN115297119B CN 115297119 B CN115297119 B CN 115297119B CN 202211224332 A CN202211224332 A CN 202211224332A CN 115297119 B CN115297119 B CN 115297119B
- Authority
- CN
- China
- Prior art keywords
- data
- credit investigation
- node
- investigation data
- credit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于区块链和验证计算的联合征信方法及系统,该方法包括:当区块链节点接收到目标机构发送的获取征信请求时,区块链节点判断获取征信请求所对应的征信数据的数据类型;若征信数据的数据类型为隐私征信数据,则区块链节点调用隐私征信数据所对应的数据拥有机构的本地可验证计算节点;区块链节点通过预言机与数据拥有机构的链下可信计算节点进行数据交互;本地可验证计算节点对隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将征信数据计算结果反馈给区块链节点;区块链节点对零知识证明进行验证,以确保征信数据计算过程可信。本发明通过区块链的形式,打破了各个机构之间的数据孤岛。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于区块链和验证计算的联合征信方法及系统。
背景技术
随着征信行业的发展,通过联合征信的形式来完善针对企业的征信已经成了一种趋势。企业信用信息通常分散在各个机构,如银行、法院、运营商、电信等,数据之间无法互通、信息孤岛问题严重,金融机构无法有效判断出客户的征信信息。同时,因为信用数据不同于其他行业数据,所属用户是最为重要的数据标签,涉及到企业和个人的切身利益,因而安全要求严格,通过传统方式进行共享交换成本较高。并且,传统征信系统技术架构对用户的关注度较低,并没有从技术底层保证用户的数据主权,难以达到数据隐私保护的新要求,容易造成客户隐私泄漏,最后。征信数据传输缺乏有效监控,一旦出现数据异常,会影响金融机构业务,造成资金损失,同时很难回溯问题原因。
发明内容
基于此,本发明的目的是提供一种基于区块链和验证计算的联合征信方法及系统,以至少解决上述技术中的不足。
本发明提出一种基于区块链和验证计算的联合征信方法,包括:
当区块链节点接收到目标机构发送的获取征信请求时,所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型;
若所述征信数据的数据类型为隐私征信数据,则所述区块链节点调用所述隐私征信数据所对应的数据拥有机构的本地可验证计算节点;
所述区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互;
所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点;
所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信。
进一步的,所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型的步骤之后,所述方法还包括:
若所述征信数据的数据类型为公开征信数据,则所述区块链节点以链上查询的方式将所述公开征信数据传递至所述目标机构。
进一步的,所述区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互的步骤包括:
所述区块链节点利用部署完成的用户合约调用其内部的Oracle合约与所述链下可信计算节点进行数据交互,以使所述Oracle合约通过预言机服务调用链下数据源。
进一步的,所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点的步骤包括:
所述链下可信计算节点在所述数据拥有机构的本地数据库进行数据计算,并生成相应的零知识证明;
所述链下可信计算节点将计算出的征信数据和所述零知识证明通过TLS安全传输到所述预言机服务,以使所述预言机服务将所述征信数据和所述零知识证明反馈至所述Oracle合约;
所述Oracle合约将所述征信数据反馈至所述用户合约,以使用户获得所述征信数据。
进一步的,生成相应的零知识证明的步骤包括:
所述链下可信计算节点将征信数据的计算任务开发编写为一个用作证明的运算电路;
所述链下可信计算节点利用生成的Setup算法对所述运算电路进行预处理,以生成证明参数和验证参数;
所述链下可信计算节点利用生成的Prove算法对所述证明参数生成所述零知识证明。
进一步的,所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信的步骤包括:
所述区块链节点中的所述预言机服务利用生成的验证算法验证所述零知识证明,以得到对应的验证结果;
当所述验证结果符合验证标准时,确定所述征信数据计算过程可信。
本发明还提出一种基于区块链和验证计算的联合征信系统,包括:
征信数据判断模块,用于当区块链节点接收到目标机构发送的获取征信请求时,控制所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型;
验证节点调用模块,用于若所述征信数据的数据类型为隐私征信数据,则控制所述区块链节点调用所述隐私征信数据所对应的数据拥有机构的本地可验证计算节点;
数据交互模块,用于控制区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互;
征信数据计算模块,用于控制所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点;
证明验证模块,用于控制所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信。
进一步的,所述系统还包括:
征信数据获取模块,用于若所述征信数据的数据类型为公开征信数据,则控制所述区块链节点以链上查询的方式将所述公开征信数据传递至所述目标机构。
进一步的,所述数据交互模块包括:
数据交互单元,用于控制所述区块链节点利用部署完成的用户合约调用其内部的Oracle合约与所述链下可信计算节点进行数据交互,以使所述Oracle合约通过预言机服务调用链下数据源。
进一步的,所述征信数据计算模块包括:
数据计算单元,用于控制所述链下可信计算节点在所述数据拥有机构的本地数据库进行数据计算,并生成相应的零知识证明;
第一数据反馈单元,用于控制所述链下可信计算节点计算出的征信数据和所述零知识证明通过TLS安全传输到所述预言机服务,以使所述预言机服务将所述征信数据和所述零知识证明反馈至所述Oracle合约;
第二数据反馈单元,用于控制所述Oracle合约将所述征信数据反馈至所述用户合约,以使用户获得所述征信数据。
进一步的,所述数据计算单元还用于:
控制所述链下可信计算节点将征信数据的计算任务开发编写为一个用作证明的运算电路;
控制所述链下可信计算节点利用生成的Setup算法对所述运算电路进行预处理,以生成证明参数和验证参数;
控制所述链下可信计算节点利用生成的Prove算法对所述证明参数生成所述零知识证明。
进一步的,所述证明验证模块包括:
证明验证单元,用于控制所述区块链节点中的所述预言机服务利用生成的验证算法验证所述零知识证明,以得到对应的验证结果;
验证结果输出单元,用于当所述验证结果符合验证标准时,确定所述征信数据计算过程可信。
本发明还提出一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的基于区块链和验证计算的联合征信方法。
本发明还提出一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的基于区块链和验证计算的联合征信方法。
本发明当中的基于区块链和验证计算的联合征信方法及系统,通过区块链的形式,打破了各个机构,如银行、法院、运营商、电信等之间的数据孤岛,让各方掌握的企业征信相关信息的共享以区块链为载体,能够实现共享。同时,利用区块链身份验证严格,节点准入安全度高等特性,能够保证企业和个人的数据在链上不会进行外泄。在保证链上数据安全后,利用链下可信计算的形式,来实现用户隐私安全保护和链下征信计算的真实性保证,在计算结果完全可信的基础上让用户隐私不出数据提供方本地。最后,可以利用区块链可追溯的特性,保证对链上链下数据流动以及操作的监控与监管。
附图说明
图1为本发明第一实施例中基于区块链和验证计算的联合征信方法的流程图;
图2为图1中步骤S103的详细流程图;
图3为本发明第一实施例中区块链节点通过预言机与数据拥有机构的链下可信计算节点进行数据交互的流程图;
图4为图1中步骤S104的详细流程图;
图5为本发明第一实施例中数学运算电路的构造图;
图6为本发明第一实施例中可证明电路的构造图;
图7为本发明第一实施例中NAND门私密输入证明电路的构造图;
图8为图1中步骤S105的详细流程图;
图9为本发明第二实施例中基于区块链和验证计算的联合征信系统的结构框图;
图10为本发明第三实施例中的计算机设备的结构框图。
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
实施例一
请参阅图1,所示为本发明第一实施例中的基于区块链和验证计算的联合征信方法,所述方法具体包括步骤S101至S105:
S101,当区块链节点接收到目标机构发送的获取征信请求时,所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型;
在具体实施时,当目标机构需要获取征信报告时,会通过区块链节点在链上请求获取公开的征信数据或报告,此时,区块链节点在接收到该目标机构所发送的获取征信请求时,对该征信请求所对应的征信数据的数据类型进行判断,若该征信数据的数据类型为公开征信数据,则通过区块链节点以链上查询的方式将公开征信数据传递至目标机构;若该征信数据的数据类型为隐私征信数据,即该征信数据的隐私性较高,则不允许直接传递。
可以理解的,通过对获取征信请求所对应的征信数据的数据类型进行判断,能够使得征信数据根据数据类型决定是否传递,进而避免征信数据出现数据泄露的现象。
S102,若所述征信数据的数据类型为隐私征信数据,则所述区块链节点调用所述隐私征信数据所对应的数据拥有机构的本地可验证计算节点;
在本实施例中,该数据拥有机构即为该隐私征信数据的拥有机构,在目标机构想要获取对应的征信数据时,通常需要得到该征信数据的拥有机构的授权,只有在拥有机构授权后才能够将对应的征信数据共享。
S103,所述区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互;
进一步的,请参阅图2,所述步骤S103具体包括步骤S1031:
S1031,所述区块链节点利用部署完成的用户合约调用其内部的Oracle合约与所述链下可信计算节点进行数据交互,以使所述Oracle合约通过预言机服务调用链下数据源。
在具体实施时,用户合约需要根据联合征信业务进行开发,开发的功能包括征信报告申请、征信报告查询、授权书获取、授权书上传等功能。用户合约的部署过程为在区块链节点通过命令行对用户合约程序包进行部署。
具体的,如图3所示,区块链节点通过上述部署好的用户合约调用其内部的Oracle合约与数据拥有机构的链下可信计算节点进行数据交互,其中,Oracle合约指专门用来执行预言机请求的合约,其调用预言机服务后通过预言机服务和外界数据源进行交互。
S104,所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点;
进一步的,请参阅图4,所述步骤S104具体包括步骤S1041~S1043:
S1041,所述链下可信计算节点在所述数据拥有机构的本地数据库进行数据计算,并生成相应的零知识证明;
S1042,所述链下可信计算节点将计算出的征信数据和所述零知识证明通过TLS安全传输到所述预言机服务,以使所述预言机服务将所述征信数据和所述零知识证明反馈至所述Oracle合约;
S1043,所述Oracle合约将所述征信数据反馈至所述用户合约,以使用户获得所述征信数据。
在具体实施时,链下可信计算节点在数据拥有机构的本地数据库进行数据计算,并将征信数据的计算任务开发编写为一个用作证明的运算电路,其中,该运算电路的具体构建如图5所示,
1、构建数学运算电路,由于加法和乘法是最基础的数学运算,通过加法和乘法即可实现所有其他的运算方法,因此,本实施例中选用“加法门”和“乘法门”作为该数学运算电路的基础模块。通过叠加运算门,即可搭建一个复杂多项式的“电路”。
AND门:只有当Inp0和Inp1都是1的时候,AND的结果才会是1。因此,一个乘法门可以完美的代替AND门:只有当两个输入是1的时候,相乘得到的结果才会是1。
NOT:输入信号只会是0或者1,只要用1减去输入的信号,得到的结果就是相反的了。由于该数学运算电路中只有加法和乘法,所以如果需要实现减法的话,则需要先把输入信号乘上一个常数-1。
2、转换为可证明数学运算电路
首先,先定义一下可以用作证明的数字运算电路C(x, w),具体构造如图6所示,由图6可以看出,电路C中存在两组输入,第一组输入标记为x,表示为公有输入(publicinput),即该x的值为公知的值,通常用来表达想要证明的问题的特性和一些固定的环境变量。
第二组输入标记为w,表示为私密输入(secret input),也可以表示为witness。该组数据就是真正提交证明的一方的秘钥,只有证明的一方能够得到。
当有电路C这一个电路之后,目标就是证明C(x, w) = 0。即在A和B已知数学运算电路C输出为0,并且公有输入为x的情况下,A需要证明其能够得到构成这个输出的私密输入值w。
由于NAND门不足以成为一个用做证明的电路。因此,重新定义一下需要证明的问题:即已知一个NAND门的输出为0,并且其中的一个输入Inp0为1,A需要证明其能够得到另一个输入Inp1的值。这个证明的过程中,不仅要保证NAND门的输出是对的,而且要保证所有的输入值都取值在预先约定好的区间内,此时,即可得到一个取值约束电路。
进一步的,如图7所示,把NAND的电路输出和取值约束电路接在一起拼接成运算电路C,x为Inp0,w为Inp1,将输出约束为0,从而构成一个完整的NAND门私密输入证明体系。
在本实施例中,在得到最终的运算电路C以及对应的x和w之后,链下可信计算节点利用SNARK系统来生成和验证该证明电路,具体的,生成Setup算法,并利用Setup算法对运算电路C进行预处理,进而得到两组参数,一组是用于提供给证明方的参数,即证明参数,另一组是用于提供给验证方的参数,即验证参数,该两组参数的目的在于方便双方来生成和验证简短证明。
进一步的,生成Prove算法,链下可信计算节点利用Prove算法对该证明参数进行数据计算,以生成一个零知识证明和对应的征信数据,其中,Prove算法在生成证明的时候会用到几乎所有的数据:预处理数据,公有输入x,还有私密输入w。
此时,链下可信计算节点将上述计算出的征信数据和零知识证明通过TLS安全传输到所述预言机服务,以使所述预言机服务将所述征信数据和所述零知识证明反馈至所述Oracle合约;
需要说明的是,(TLS)是一种广泛采用的安全性协议,旨在促进互联网通信的私密性和数据安全性,TLS 协议实现的功能有三个主要组成部分:加密、认证和完整性。
加密:隐藏从第三方传输的数据。
身份验证:确保交换信息的各方是他们所声称的身份。
完整性:验证数据未被伪造或篡改。TLS 握手为每个通信会话建立一个密码套件。密码套件是一组算法,其中指定了一些细节,例如哪些共享加密密钥(即会话密钥)将用于该特定会话,TLS 也能在一个未加密的通道上设置匹配的会话密钥。握手还需要处理身份验证,其中通常包括服务器向客户端证明其身份。这是通过使用公钥来完成的。公钥是使用单向加密的加密密钥,即任何拥有公钥的用户都可以解读使用服务器私钥加密的数据,以确保其真实性,但只有源发送方才可以使用私钥加密数据。服务器的公钥是其 TLS 证书的一部分。数据完成加密和验明身份后,使用消息身份验证码(MAC)进行签名。接收方然后可以验证 MAC 来确保数据的完整性。
进一步的,所述Oracle合约将所述征信数据反馈至所述用户合约,以使用户获得所述征信数据。
S105,所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信。
进一步的,请参阅图8,所述步骤S105具体包括步骤S1051~S1052:
S1051,所述区块链节点中的所述预言机服务利用生成的验证算法验证所述零知识证明,以得到对应的验证结果;
S1052,当所述验证结果符合验证标准时,确定所述征信数据计算过程可信。
在具体实施时,实现验证算法Verify,区块链节点中的预言机服务利用该验证算法Verify验证上述的零知识证明,具体的验证过程如下:
1、将上述的数学运算电路转化为到R1CS程序矩阵。
由于数学运算电路所代表的逻辑关系较为复杂,很难直接推导出多项式,因此,需要将电路先转换为一组矩阵关系,该矩阵关系即为R1CS程序矩阵。
逐项积,即将两个大小一样的矩阵A,B的每个元素乘起来,以得到一个同样大小的矩阵C。
在需要证明的电路问题C中,将电路的每个逻辑门之间的关系用矩阵A、B、C来表
达,并把电路的公有输入x和私密输入w用来表达,只要R1CS矩阵A、B、C之间的逐项积
关系成立,意味着代表了整个电路的输入合法,即C(x,w)=0。
2、从R1CS程序矩阵还原成多项式。
在具体实施时,首先,利用m、n来定义R1CS的三个矩阵A、B、C∈的维度,
对于R1CS程序对应的公有输入和私密输入,使用∈来表达。其中,m代表
R1CS电路中存在多少条约束(Constraint),而n代表了一共存在多少个输入变量(x+w),由
于还需要用到常数1,因此,矩阵的维度是m*(n+1)。
只要验证三个多项式满足h=f*g的关系,而且这三个多项式代表了对应的R1CS矩阵的话,那么就意味着这个R1CS矩阵程序是正确的,进而代表证明方的私密输入w也是正确的。
3、用多项式表达式定义LPCP。
当成功将上述的多项式随机取值问题分解为三个query向量q 1,q 2,q 3之后,则需要进入LPCP验证协议。
上述的三个query需要和原本的输入向量相乘,在进行相乘的过程中,
验证方已经事先得到向量的上半部分,因此,验证方可以将query向量进行切割,变
成两部分,将之前的计算一分为二,最后再将两部分的内积分别对叠起来:
在证明方收到query向量后,将每个值和证明方自己的证明向量π相乘。
随后,证明方把a,b,c三个值反馈回验证方。
最后,验证方只需要左侧query的内积补上,并检查等式是否相等;
4、从多项式LPCP到可信初始化(trusted setup)的简短零知识证明(zkSNARK)。
在得到上述的完全版的LPCP协议。通过抽查三个多项式在某个点上的随机取值,即可达到简短证明的目的。只要证明方与验证方遵守上述描写的协议,即可有效的通过简短交互来验证一个R1CS矩阵所对应的多项式是否对应的关系,即确定所述征信数据计算过程可信。
综上,本发明上述实施例中的基于区块链和验证计算的联合征信方法,通过区块链的形式,打破了各个机构,如银行、法院、运营商、电信等之间的数据孤岛,让各方掌握的企业征信相关信息的共享以区块链为载体,能够实现共享。同时,利用区块链身份验证严格,节点准入安全度高等特性,能够保证企业和个人的数据在链上不会进行外泄。在保证链上数据安全后,利用链下可信计算的形式,来实现用户隐私安全保护和链下征信计算的真实性保证,在计算结果完全可信的基础上让用户隐私不出数据提供方本地。最后,可以利用区块链可追溯的特性,保证对链上链下数据流动以及操作的监控与监管。
实施例二
本发明另一方面还提出一种基于区块链和验证计算的联合征信系统,请查阅图9,所示为本发明第二实施例中的基于区块链和验证计算的联合征信系统,所述系统包括:
征信数据判断模块11,用于当区块链节点接收到目标机构发送的获取征信请求时,控制所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型;
验证节点调用模块12,用于若所述征信数据的数据类型为隐私征信数据,则控制所述区块链节点调用所述隐私征信数据所对应的数据拥有机构的本地可验证计算节点;
数据交互模块13,用于控制区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互;
进一步的,所述数据交互模块13包括:
数据交互单元,用于控制所述区块链节点利用部署完成的用户合约调用其内部的Oracle合约与所述链下可信计算节点进行数据交互,以使所述Oracle合约通过预言机服务调用链下数据源。
征信数据计算模块14,用于控制所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点;
进一步的,所述征信数据计算模块14包括:
数据计算单元,用于控制所述链下可信计算节点在所述数据拥有机构的本地数据库进行数据计算,并生成相应的零知识证明;
第一数据反馈单元,用于控制所述链下可信计算节点计算出的征信数据和所述零知识证明通过TLS安全传输到所述预言机服务,以使所述预言机服务将所述征信数据和所述零知识证明反馈至所述Oracle合约;
第二数据反馈单元,用于控制所述Oracle合约将所述征信数据反馈至所述用户合约,以使用户获得所述征信数据。
在一些可选实施例中,所述数据计算单元还用于:
控制所述链下可信计算节点将征信数据的计算任务开发编写为一个用作证明的运算电路;
控制所述链下可信计算节点利用生成的Setup算法对所述运算电路进行预处理,以生成证明参数和验证参数;
控制所述链下可信计算节点利用生成的Prove算法对所述证明参数生成所述零知识证明。
证明验证模块15,用于控制所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信。
进一步的,所述证明验证模块15包括:
证明验证单元,用于控制所述区块链节点中的所述预言机服务利用生成的验证算法验证所述零知识证明,以得到对应的验证结果;
验证结果输出单元,用于当所述验证结果符合验证标准时,确定所述征信数据计算过程可信。
在一些可选实施例中,所述系统还包括:
征信数据获取模块,用于若所述征信数据的数据类型为公开征信数据,则控制所述区块链节点以链上查询的方式将所述公开征信数据传递至所述目标机构。
上述各模块、单元被执行时所实现的功能或操作步骤与上述方法实施例大体相同,在此不再赘述。
本发明实施例所提供的基于区块链和验证计算的联合征信系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。
实施例三
本发明还提出一种计算机设备,请参阅图10,所示为本发明第三实施例中的计算机设备,包括存储器10、处理器20以及存储在所述存储器10上并可在所述处理器20上运行的计算机程序30,所述处理器20执行所述计算机程序30时实现上述的基于区块链和验证计算的联合征信方法。
其中,存储器10至少包括一种类型的存储介质,所述存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器10在一些实施例中可以是计算机设备的内部存储单元,例如该计算机设备的硬盘。存储器10在另一些实施例中也可以是外部存储装置,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。进一步地,存储器10还可以既包括计算机设备的内部存储单元也包括外部存储装置。存储器10不仅可以用于存储安装于计算机设备的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。
其中,处理器20在一些实施例中可以是电子控制单元 (Electronic ControlUnit,简称ECU,又称行车电脑)、中央处理器(Central Processing Unit, CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器10中存储的程序代码或处理数据,例如执行访问限制程序等。
需要指出的是,图10示出的结构并不构成对计算机设备的限定,在其它实施例当中,该计算机设备可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明实施例还提出一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的基于区块链和验证计算的联合征信方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于区块链和验证计算的联合征信方法,其特征在于,包括:
当区块链节点接收到目标机构发送的获取征信请求时,所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型;
若所述征信数据的数据类型为隐私征信数据,则所述区块链节点调用所述隐私征信数据所对应的数据拥有机构的本地可验证计算节点;
所述区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互;
所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点;
所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信。
2.根据权利要求1所述的基于区块链和验证计算的联合征信方法,其特征在于,所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型的步骤之后,所述方法还包括:
若所述征信数据的数据类型为公开征信数据,则所述区块链节点以链上查询的方式将所述公开征信数据传递至所述目标机构。
3.根据权利要求1所述的基于区块链和验证计算的联合征信方法,其特征在于,所述区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互的步骤包括:
所述区块链节点利用部署完成的用户合约调用其内部的Oracle合约与所述链下可信计算节点进行数据交互,以使所述Oracle合约通过预言机服务调用链下数据源。
4.根据权利要求3所述的基于区块链和验证计算的联合征信方法,其特征在于,所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点的步骤包括:
所述链下可信计算节点在所述数据拥有机构的本地数据库进行数据计算,并生成相应的零知识证明;
所述链下可信计算节点将计算出的征信数据和所述零知识证明通过TLS安全传输到所述预言机服务,以使所述预言机服务将所述征信数据和所述零知识证明反馈至所述Oracle合约;
所述Oracle合约将所述征信数据反馈至所述用户合约,以使用户获得所述征信数据。
5.根据权利要求4所述的基于区块链和验证计算的联合征信方法,其特征在于,生成相应的零知识证明的步骤包括:
所述链下可信计算节点将征信数据的计算任务开发编写为一个用作证明的运算电路;
所述链下可信计算节点利用生成的Setup算法对所述运算电路进行预处理,以生成证明参数和验证参数;
所述链下可信计算节点利用生成的Prove算法对所述证明参数进行数据计算,以生成所述零知识证明。
6.根据权利要求4所述的基于区块链和验证计算的联合征信方法,其特征在于,所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信的步骤包括:
所述区块链节点中的所述预言机服务利用生成的验证算法验证所述零知识证明,以得到对应的验证结果;
当所述验证结果符合验证标准时,确定所述征信数据计算过程可信。
7.一种基于区块链和验证计算的联合征信系统,其特征在于,包括:
征信数据判断模块,用于当区块链节点接收到目标机构发送的获取征信请求时,控制所述区块链节点判断所述获取征信请求所对应的征信数据的数据类型;
验证节点调用模块,用于若所述征信数据的数据类型为隐私征信数据,则控制所述区块链节点调用所述隐私征信数据所对应的数据拥有机构的本地可验证计算节点;
数据交互模块,用于控制区块链节点通过预言机与所述数据拥有机构的链下可信计算节点进行数据交互;
征信数据计算模块,用于控制所述本地可验证计算节点对所述隐私征信数据进行征信数据计算,以生成计算过程的零知识证明,并将所述征信数据计算结果反馈给所述区块链节点;
证明验证模块,用于控制所述区块链节点对所述零知识证明进行验证,以确保所述征信数据计算过程可信。
8.根据权利要求7所述的基于区块链和验证计算的联合征信系统,其特征在于,所述系统还包括:
征信数据获取模块,用于若所述征信数据的数据类型为公开征信数据,则控制所述区块链节点以链上查询的方式将所述公开征信数据传递至所述目标机构。
9.一种可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至6任一所述的基于区块链和验证计算的联合征信方法。
10.一种计算机,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一所述的基于区块链和验证计算的联合征信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211224332.9A CN115297119B (zh) | 2022-10-09 | 2022-10-09 | 基于区块链和验证计算的联合征信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211224332.9A CN115297119B (zh) | 2022-10-09 | 2022-10-09 | 基于区块链和验证计算的联合征信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115297119A CN115297119A (zh) | 2022-11-04 |
CN115297119B true CN115297119B (zh) | 2023-02-03 |
Family
ID=83833742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211224332.9A Active CN115297119B (zh) | 2022-10-09 | 2022-10-09 | 基于区块链和验证计算的联合征信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115297119B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109559224A (zh) * | 2018-10-26 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 征信评估方法及装置、电子设备 |
CN111047450A (zh) * | 2020-03-18 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 链上数据的链下隐私计算方法及装置 |
CN111046078A (zh) * | 2019-11-11 | 2020-04-21 | 北京海益同展信息科技有限公司 | 基于区块链的征信查询方法、装置和电子设备 |
CN111898153A (zh) * | 2020-03-18 | 2020-11-06 | 支付宝(杭州)信息技术有限公司 | 调用合约的方法及装置 |
CN112330181A (zh) * | 2020-11-17 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 基于区块链的企业信用评价方法及装置 |
CN112765268A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 基于区块链的数据隐私保护方法、装置及设备 |
CN113313488A (zh) * | 2021-05-26 | 2021-08-27 | 北京航空航天大学 | 一种基于区块链与同态加密的数据隐私保护方法 |
WO2021184973A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 访问外部数据的方法及装置 |
WO2022016280A1 (en) * | 2020-07-20 | 2022-01-27 | Lemieux Victoria | Digital ledger based health data sharing and management |
CN114327802A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链访问链外数据的方法、装置、设备和介质 |
CN114880366A (zh) * | 2022-05-06 | 2022-08-09 | 中国工商银行股份有限公司 | 基于区块链网络的数据查询方法及装置、电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA3045897A1 (en) * | 2016-12-23 | 2018-06-28 | Walmart Apollo, Llc | Verifying authenticity of computer readable information using the blockchain |
CN109584066B (zh) * | 2018-10-31 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 基于区块链的隐私交易及其应用方法和装置 |
CN111882437A (zh) * | 2020-08-11 | 2020-11-03 | 神话科技传媒(深圳)有限公司上海分公司 | 一种具有图灵完备智能合约的区块链实现方法 |
-
2022
- 2022-10-09 CN CN202211224332.9A patent/CN115297119B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109559224A (zh) * | 2018-10-26 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 征信评估方法及装置、电子设备 |
CN111046078A (zh) * | 2019-11-11 | 2020-04-21 | 北京海益同展信息科技有限公司 | 基于区块链的征信查询方法、装置和电子设备 |
CN111047450A (zh) * | 2020-03-18 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 链上数据的链下隐私计算方法及装置 |
CN111898153A (zh) * | 2020-03-18 | 2020-11-06 | 支付宝(杭州)信息技术有限公司 | 调用合约的方法及装置 |
WO2021184973A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 访问外部数据的方法及装置 |
WO2022016280A1 (en) * | 2020-07-20 | 2022-01-27 | Lemieux Victoria | Digital ledger based health data sharing and management |
CN112330181A (zh) * | 2020-11-17 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 基于区块链的企业信用评价方法及装置 |
CN112765268A (zh) * | 2020-12-31 | 2021-05-07 | 杭州趣链科技有限公司 | 基于区块链的数据隐私保护方法、装置及设备 |
CN113313488A (zh) * | 2021-05-26 | 2021-08-27 | 北京航空航天大学 | 一种基于区块链与同态加密的数据隐私保护方法 |
CN114327802A (zh) * | 2022-03-15 | 2022-04-12 | 北京百度网讯科技有限公司 | 区块链访问链外数据的方法、装置、设备和介质 |
CN114880366A (zh) * | 2022-05-06 | 2022-08-09 | 中国工商银行股份有限公司 | 基于区块链网络的数据查询方法及装置、电子设备 |
Non-Patent Citations (3)
Title |
---|
"基于区块链技术的企业征信信息共享模型研究";陈英姿;《浙江财经大学硕士学位论文》;20190415;全文 * |
基于区块链智能合约的个人征信隐私保护方案;陈丽燕等;《计算机工程》;20200715(第07期);全文 * |
零知识证明应用到区块链中的技术挑战;李康等;《大数据》;20180115(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115297119A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971405B (zh) | 多方协同的sm2签名、解密方法及其系统 | |
CN112950367B (zh) | 生成和执行智能合约交易的方法及装置 | |
CN111563261A (zh) | 一种基于可信执行环境的隐私保护多方计算方法和系统 | |
CN111242453B (zh) | 基于区块链的财务评估方法及评估系统 | |
CN113569294B (zh) | 一种零知识证明方法及装置、电子设备、存储介质 | |
Awadallah et al. | An integrated architecture for maintaining security in cloud computing based on blockchain | |
KR20210017432A (ko) | 블록체인 기반 개인정보 관리 장치 및 방법 | |
CN111464315B (zh) | 数字签名处理方法、装置、计算机设备以及存储介质 | |
CN111861467A (zh) | 供应链金融交易隐私保护方法及系统 | |
CN114358782A (zh) | 区块链交易审计方法、装置、设备及存储介质 | |
CN113159762A (zh) | 基于Paillier和博弈论的区块链交易方法 | |
Jayaraman et al. | Decentralized certificate authorities | |
CN112734423A (zh) | 一种基于区块链的交易方法及终端设备 | |
CN115203749A (zh) | 一种基于区块链的数据交易方法和系统 | |
CN113420886B (zh) | 纵向联邦学习模型的训练方法、装置、设备及存储介质 | |
US20240187256A1 (en) | Systems and methods for enforcing cryptographically secure actions in public, non-permissioned blockchains using bifurcated self-executing programs comprising shared digital signature requirements | |
CN112948789A (zh) | 身份认证方法及装置、存储介质及电子设备 | |
CN115297119B (zh) | 基于区块链和验证计算的联合征信方法及系统 | |
CN115967568A (zh) | 基于区块链和群签名机制的跨链访问控制方法 | |
CN115393079A (zh) | 一种可随机化和溯源审计的跨链交易方法、设备和介质 | |
Zhang et al. | Secure outsourcing algorithms of modular exponentiations in edge computing | |
CN111885056A (zh) | 基于区块链的零知识证明方法、装置及电子设备 | |
CN114026586A (zh) | 用于授予对加密资产的访问权的零知识或有支付协议 | |
CN117786757B (zh) | 一种隐私计算管理系统及方法 | |
CN115599773B (zh) | 分布式资源转移方法、装置、系统与计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |