CN115297119B - 基于区块链和验证计算的联合征信方法及系统 - Google Patents

基于区块链和验证计算的联合征信方法及系统 Download PDF

Info

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
Application number
CN202211224332.9A
Other languages
English (en)
Other versions
CN115297119A (zh
Inventor
秦启睿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Xinhui Chain Technology Co ltd
Original Assignee
Jiangxi Xinhui Chain Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangxi Xinhui Chain Technology Co ltd filed Critical Jiangxi Xinhui Chain Technology Co ltd
Priority to CN202211224332.9A priority Critical patent/CN115297119B/zh
Publication of CN115297119A publication Critical patent/CN115297119A/zh
Application granted granted Critical
Publication of CN115297119B publication Critical patent/CN115297119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3218Cryptographic 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程序矩阵。
其中,R1CS,全名为Rank-1 constraint system,该R1CS即为三个矩阵ABC
Figure 674890DEST_PATH_IMAGE001
,三个矩阵之间能够得到一组解
Figure 431625DEST_PATH_IMAGE002
,从而满足A
Figure 194044DEST_PATH_IMAGE002
B
Figure 493135DEST_PATH_IMAGE002
的逐项积等于C
Figure 151649DEST_PATH_IMAGE003
Figure 644948DEST_PATH_IMAGE004
逐项积,即将两个大小一样的矩阵AB的每个元素乘起来,以得到一个同样大小的矩阵C
Figure 679900DEST_PATH_IMAGE005
Figure 591355DEST_PATH_IMAGE006
Figure 14246DEST_PATH_IMAGE007
在需要证明的电路问题C中,将电路的每个逻辑门之间的关系用矩阵ABC来表 达,并把电路的公有输入x和私密输入w用
Figure 870207DEST_PATH_IMAGE008
来表达,只要R1CS矩阵ABC之间的逐项积 关系成立,意味着代表了整个电路的输入合法,即C(x,w)=0。
当将上述的一个问题成功从数学运算电路转换成R1CS矩阵后,将R1CS中等式
Figure 584216DEST_PATH_IMAGE009
转换为用多项式的方法进行表示,以便于后续通过LPCP来生成简短证 明。
2、从R1CS程序矩阵还原成多项式。
在具体实施时,首先,利用mn来定义R1CS的三个矩阵ABC
Figure 271549DEST_PATH_IMAGE010
的维度, 对于R1CS程序对应的公有输入和私密输入,使用
Figure 537445DEST_PATH_IMAGE011
Figure 490489DEST_PATH_IMAGE010
来表达。其中,m代表 R1CS电路中存在多少条约束(Constraint),而n代表了一共存在多少个输入变量(x+w),由 于还需要用到常数1,因此,矩阵的维度是m*(n+1)。
其次,将A还原成多项式
Figure 132823DEST_PATH_IMAGE012
,找到多项式
Figure 736980DEST_PATH_IMAGE012
的多个取值点;
Figure 173777DEST_PATH_IMAGE013
,一共会得到m个取值点,利用范德蒙反矩阵将上述得 到的取值点还原成一个m-1阶的多项式。
按照上述方式同样对于B进行操作,还原
Figure 614117DEST_PATH_IMAGE014
,对于C,首先设定
Figure 794563DEST_PATH_IMAGE015
,由于
Figure 253226DEST_PATH_IMAGE016
的阶度会是
Figure 860925DEST_PATH_IMAGE017
Figure 788560DEST_PATH_IMAGE018
的阶度之和(即2m-2),因此, 需要额外设定m-1个点的取值。额外设定
Figure 507118DEST_PATH_IMAGE019
,即 可还原多项式
Figure 351446DEST_PATH_IMAGE020
因为多项式保持了原先矩阵之间的关系,若R1CS矩阵之间满足
Figure 130046DEST_PATH_IMAGE021
,通过上述的方式,得到的
Figure 544978DEST_PATH_IMAGE017
Figure 67226DEST_PATH_IMAGE018
Figure 500482DEST_PATH_IMAGE016
一定会满足
Figure 449983DEST_PATH_IMAGE022
,反之也是,若找到是三个多项式并且
Figure 86632DEST_PATH_IMAGE023
,那么代表这三个多 项式所对应的R1CS矩阵程序一定也满足
Figure 412571DEST_PATH_IMAGE024
的关系。
只要验证三个多项式满足h=f*g的关系,而且这三个多项式代表了对应的R1CS矩阵的话,那么就意味着这个R1CS矩阵程序是正确的,进而代表证明方的私密输入w也是正确的。
3、用多项式表达式定义LPCP。
当成功将上述的多项式随机取值问题分解为三个query向量q 1q 2q 3之后,则需要进入LPCP验证协议。
首先,证明方prover先计算完成者证明
Figure 700333DEST_PATH_IMAGE025
,并且将证明进 行保存。
验证方Verifier随机抽取一个验证点
Figure 555156DEST_PATH_IMAGE026
,并且根据r的取值计算得到三个 query的向量q 1q 2q 3
上述的三个query需要和原本的输入向量
Figure 210260DEST_PATH_IMAGE027
相乘,在进行相乘的过程中, 验证方已经事先得到向量的上半部分
Figure 74311DEST_PATH_IMAGE028
,因此,验证方可以将query向量
Figure 216579DEST_PATH_IMAGE029
进行切割,变 成
Figure 773462DEST_PATH_IMAGE030
两部分,将之前的计算一分为二,最后再将两部分的内积分别对叠起来:
Figure 587966DEST_PATH_IMAGE031
通过上述的切割步骤,可以发现验证方已经得知对于
Figure 380341DEST_PATH_IMAGE032
部分的计算,进一步的优 化证明方的计算过程,将
Figure 49220DEST_PATH_IMAGE033
发送给证明方,让证明方仅仅与私密输入w相乘。
综上,验证方能够发送
Figure 777004DEST_PATH_IMAGE034
Figure 875542DEST_PATH_IMAGE035
Figure 81395DEST_PATH_IMAGE036
三个query向量给证明方。
在证明方收到query向量后,将每个值和证明方自己的证明向量π相乘。
Figure 198255DEST_PATH_IMAGE037
由于证明向量π后面带有多项式h的额外m-1个取值点,因此,需要在
Figure 96941DEST_PATH_IMAGE038
Figure 417195DEST_PATH_IMAGE035
的背后 补充一个空白矩阵,才能够适配矩阵相乘的维度。
随后,证明方把abc三个值反馈回验证方。
最后,验证方只需要左侧query的内积补上,并检查等式是否相等;
Figure 754636DEST_PATH_IMAGE039
组合后,意味着变相检查等式
Figure 663686DEST_PATH_IMAGE040
是否相等。
若得到的a,b,c所组成的等式相等,表示
Figure 546322DEST_PATH_IMAGE041
,意味着
Figure 744086DEST_PATH_IMAGE042
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任一所述的基于区块链和验证计算的联合征信方法。
CN202211224332.9A 2022-10-09 2022-10-09 基于区块链和验证计算的联合征信方法及系统 Active CN115297119B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 神话科技传媒(深圳)有限公司上海分公司 一种具有图灵完备智能合约的区块链实现方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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