CN112054891B - 基于区块链的共有用户确定方法、电子设备及存储介质 - Google Patents
基于区块链的共有用户确定方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112054891B CN112054891B CN202010792354.XA CN202010792354A CN112054891B CN 112054891 B CN112054891 B CN 112054891B CN 202010792354 A CN202010792354 A CN 202010792354A CN 112054891 B CN112054891 B CN 112054891B
- Authority
- CN
- China
- Prior art keywords
- user
- owner
- data set
- user identification
- identification data
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Evolutionary Computation (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Optimization (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供了一种基于区块链的共有用户确定方法、电子设备及存储介质,应用于区块链技术领域,其中该方法包括:在避免用户数据的泄露的前提下,确定各方用户数据所有者的共有用户,此外,通过引入区块链保证数据无法篡改,从而达到防伪、透明、公开。再者,通过引入区块链基于确定的共有用户进行联邦学习模型的训练,解决了无法利用第三方数据进行模型训练的问题,同时利用区块链作为公证的协调方完成模型参数更新,以及模型训练的自动化。
Description
技术领域
本申请涉及区块链技术领域,具体而言,本申请涉及一种基于区块链的共有用户确定方法、电子设备及存储介质。
背景技术
联邦学习(Federated Learning)是一种新兴的人工智能基础技术。在大多数行业中,数据是以孤岛的形式存在的,由于行业竞争、隐私安全、行政手续复杂等问题,即使是在同一个公司的不同部门之间实现数据整合也面临着重重阻力,通过联邦学习,在模型训练和推理的过程中对交互数据进行加密运算,一定程度上实现了高效、准确的共同使用各自的数据。
联邦学习建模主要包括横向联邦学习、纵向联邦学习。纵向联邦学习在两个数据集的用户重叠较多而用户特征重叠较少的情况下,我们把数据集按照纵向(即特征维度)切分,并取出双方用户相同而用户特征不完全相同的那部分数据进行训练。但是,如何在避免用户数据所有者用户数据泄露的前提下确定两方或多方数据所有者共同的用户成为了一个问题。
发明内容
本申请提供了一种基于区块链的共有用户确定方法、电子设备及存储介质,用于在避免用户数据的泄露的前提下,确定各方用户数据所有者的共有用户,此外,通过引入区块链保证数据无法篡改,从而达到防伪、透明、公开,本申请采用的技术方案如下:
第一方面,提供了一种基于区块链的共有用户确定方法,应用于第一用户所有者服务器,该方法包括,
对第一用户标识数据集进行哈希计算,得到各个第一用户标识哈希值;
基于第一用户所有者私钥对各个第一用户标识哈希值进行幂运算,得到幂运算后的第一用户标识数据集;
将幂运算后的第一用户标识数据集发送至区块链节点;区块链节点用于将幂运算后的第一用户标识数据集发送至第二用户所有者服务器;第二用户所有者服务器用于基于第二用户所有者私钥对幂运算后的第一用户标识数据集进行幂运算,得到第二次幂运算后的第一用户标识数据集,并将第二次幂运算后的第一用户标识数据集上传至区块链节点;区块链节点用于将第二次幂运算后的第一用户标识数据集发送至第一用户所有者服务器;第二用户所有者服务器还用于将幂运算后的第二用户标识数据集上传至区块链节点,幂运算后的第二用户标识数据集由第二用户所有者服务器基于第二用户所有者私钥对各个第二用户标识数据的哈希值进行幂运算得到,各个第二用户标识数据的哈希值由第二用户所有者服务器对第二用户所有者数据集进行哈希计算得到;区块链节点还用于将幂运算后的第二用户标识数据集发送至第一用户所有者服务器;
第一用户所有者服务器基于第一用户所有者私钥对幂运算后的第二用户标识数据集进行幂运算,得到第二次幂运算的第二用户标识数据集;
第一用户所有者服务器基于第二次幂运算的第二用户标识数据集以及第二次幂运算的第一用户标识数据集确定第一用户所有者与第二用户所有者的共有用户。
可选地,用户标识数据为以下任一种:
身份证号;
手机号;
所述第一用户所有者与所述第二用户所有者通用的自定义用户标识。
可选地,该方法还包括:
基于确定的所述第一用户所有者与所述第二用户所有者的共有用户以及区块链训练联邦学习模型。
可选地,所述联邦学习模型包括第一用户所有者参数模型、第二用户所有者参数模型、区块链节点参数智能合约。
可选地,该方法还包括:
接收目标用户标识,所述目标用户标识为所述第一用户所有者与所述第二用户所有者共有用户标识;
基于第一用户所有者参数模型确定所述目标用户标识对应的第一信贷违约结果,将所述第一信贷违约结果发送至区块链;所述区块链用于接收第二用户所有者服务器发送的所述目标用户标识对应的第二信贷违约结果,并通过区块链节点的参数智能合约基于所述第一信贷违约结果以及所述第二信贷违约结果确定第三信贷违约结果;所述区块链还用于将所述第三信贷违约结果发送至所述第一用户所有者服务器;
所述第一用户所有者服务器基于所述第三信贷违约结果确定目标用户标识的信贷违约结果。
第二方面,提供了一种基于区块链的共有用户确定方法,应用于区块链节点,包括:
接收第一用户所有者服务器上传的幂运算后的第一用户标识数据集;幂运算后的第一用户标识数据集由第一用户所有者服务器基于第一用户所有者的私钥对各个第一用户标识的哈希值进行幂运算得到,各个第一用户标识的哈希值由第一用户所有者服务器对第一用户标识数据集进行哈希计算得到;
区块链节点将幂运算后的第一用户标识数据集发送至第二用户所有者服务器;第二用户所有者服务器用于基于第二用户所有者私钥对幂运算后的第一用户标识数据集进行幂运算,得到第二次幂运算后的第一用户标识数据集,并将第二次幂运算后的第一用户标识数据集上传至区块链节点;
区块链节点接收第二用户所有者服务器上传的幂运算后的第二用户标识数据集;幂运算后的第二用户标识数据集由第二用户所有者服务器基于第二用户所有者的私钥对各个第二用户标识的哈希值进行幂运算得到,第二用户标识的哈希值由第二用户所有者服务器对第二用户标识数据进行哈希计算得到;
区块链节点将第二次幂运算后的第一用户标识数据集发送至第一用户所有者服务器;区块链节点将幂运算后的第二用户标识数据集;第一用户所有者服务器用于基于第一用户所有者私钥对幂运算后的第二用户标识数据集进行幂运算,得到第二幂运算后的第二用户标识数据集;第一用户所有者服务器还用于基于第二次幂运算后的第二用户标识数据集以及第二次幂运算后的第一用户标识数据集确定第一用户所有者与第二用户所有者的共有用户。
可选地,用户标识数据为以下任一种:
身份证号;
手机号;
所述第一用户所有者与所述第二用户所有者通用的自定义用户标识。
可选地,该方法包括:
基于确定的所述第一用户所有者与所述第二用户所有者的共有用户以及区块链训练联邦学习模型。
可选地,所述联邦学习模型包括第一用户所有者参数模型、第二用户所有者参数模型、区块链节点参数智能合约。
可选地,该方法还包括:
接收第一用户所有者服务器发送的所述目标用户标识对应的第一信贷违约结果;所述第一信贷违约结果由第一用户所有者服务器通过第一用户所有者参数模型基于接收到的目标用户标识确定;
接收第二用户所有者服务器发送的所述目标用户标识对应的第二信贷违约结果;所述第二信贷违约结果由第二用户所有者服务器通过第二用户所有者参数模型基于接收到的目标用户标识确定;
通过区块链节点的参数智能合约基于所述第一信贷违约结果以及所述第二信贷违约结果确定第三信贷违约结果;
将所述第三信贷违约结果发送至所述第一用户所有者服务器;所述第一用户所有者服务器用于基于所述第三信贷违约结果确定目标用户标识的信贷违约结果。
第三方面,提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行第一或第二方面所示的基于区块链的共有用户确定方法。
第四方面,提供了一种计算机可读存储介质,计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行第一或第二方面所示的基于区块链的共有用户确定方法。
本申请提供了一种基于区块链的共有用户确定方法、电子设备及存储介质,在避免用户数据的泄露的前提下,确定各方用户数据所有者的共有用户,此外,通过引入区块链保证数据无法篡改,从而达到防伪、透明、公开。再者,通过引入区块链基于确定的共有用户进行联邦学习模型的训练,解决了无法利用第三方数据进行模型训练的问题,同时利用区块链作为公证的协调方完成模型参数更新,以及模型训练的自动化。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例的一种基于区块链的共有用户确定方法的流程示意图;
图2为本申请实施例的另一种基于区块链的共有用户确定方法的流程示意图;
图3为本申请实施例的一种预测客户信贷违约***架构示意图;
图4为本申请实施例的一种电子设备的结构示意图;
图5为用户所有者服务器的结构示意图;
图6为用户数据所有者数据上链时序图;
图7为基于确定的共有用户训练联邦学习模型的过程示意图;
图8为信贷违约确定的时序图。
具体实施方式
下面详细描述本申请的实施例,各实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
如图3所示的预测客户信贷违约***架构,该基于***分为三大部分:银行模块、数据合作方模块、区块链***。银行A和数据合作方B将用户的数据ID(身份证号或电话号码)分别从自己的数据库提取出来,通过计算节点对抽取出来的数据ID采用公开哈希函数进行运算,并用自己的私钥进行幂运算,将运算结果发送到区块链***,通过智能合约函数上链;银行A和数据合作方B分别从链上获取对方已加密的哈希运算结果,并用自己的私钥进行幂运算,运算结果发送到区块链***并上链,通过数据求交智能合约最终获得两者之间的交集;采用线性回归算法进行各自模型训练,训练完成后,银行A和数据合作方B得到各自的模型参数,并加密传送给参数智能合约,参数智能合约把A和B传送过来的两个模型参数进行解密,然后分发给A和B,A和B各自更新相应的模型参数,更新完成后A和B各自拥有模型的一部分;随机选取一个客户,预测此客户是否在银行A发生信贷违约,先通过银行A模型得到一个数据模型结果,再通过数据合作方B模型得到一个数据模型结果,将这两个数据模型结果传送给参数智能合约,参数智能合约得到双方的数据模型结果后,计算出最终的数据模型结果,并将结果返回给银行A,由银行A据此模型判断客户是否违约,从而形成一个完整的预测客户信贷违约***。
区块链***:用户数据ID进行哈希运算并通过私钥进行幂运算,将其传送到区块链***上链,区块链***作为一个分布式的共享账本,保证数据无法篡改,从而达到防伪、透明、公开。
私有数据求交智能合约:通过Private Set Intersection协议得出银行与合作方之间的交集,为模型训练提供一种可行的方式,不将任何一方数据泄漏,并且可以实现等效或接近完整数据模型的效果;通过区块链公证方式把整个过程中所需要的共有用户ID抽取出来,根据用户数据ID联合起来双方的数据,作为将来训练模型的基础数据。
参数智能合约:与区块链客户端交互,通过参数智能合约计算模型参数,客户端更新整个模型参数,确定参数不被篡改,保证整个过程中算法的透明、公证。
图5示出了用户所有者服务器的结构示意图,其中,该用户所有者可以是银行或数据合作方,银行将用户的数据ID从自己的数据库提取出来,通过计算节点对抽取出来的数据采用公开哈希函数进行运算,并用自己的私钥进行幂运算,区块链客户端将计算得到的集合通过数据求交智能合约上链,存入账本。银行作为主导方,根据此机器学习模型来预测客户是否违约。
数据合作方将用户的数据ID从自己的数据库提取出来,通过计算节点对抽取出来的数据采用公开哈希函数进行运算,并用自己的私钥进行幂运算,区块链客户端将计算后得到的集合通过数据求交智能合约上链,存入账本。
本申请实施例提供了一种基于区块链的共有用户确定方法,应用于第一用户所有者服务器,如图1所示,该方法可以包括以下步骤:
步骤S101,对第一用户标识数据集进行哈希计算,得到各个第一用户标识哈希值;
步骤S102,基于第一用户所有者私钥对各个第一用户标识哈希值进行幂运算,得到幂运算后的第一用户标识数据集;
步骤S103,将所述幂运算后的第一用户标识数据集发送至区块链节点;所述区块链节点用于将所述幂运算后的第一用户标识数据集发送至第二用户所有者服务器;所述第二用户所有者服务器用于基于第二用户所有者私钥对所述幂运算后的第一用户标识数据集进行幂运算,得到第二次幂运算后的第一用户标识数据集,并将所述第二次幂运算后的第一用户标识数据集上传至区块链节点;所述区块链节点用于将所述第二次幂运算后的第一用户标识数据集发送至所述第一用户所有者服务器;所述第二用户所有者服务器还用于将幂运算后的第二用户标识数据集上传至区块链节点,所述幂运算后的第二用户标识数据集由第二用户所有者服务器基于第二用户所有者私钥对各个第二用户标识数据的哈希值进行幂运算得到,所述各个第二用户标识数据的哈希值由所述第二用户所有者服务器对第二用户所有者数据集进行哈希计算得到;所述区块链节点还用于将所述幂运算后的第二用户标识数据集发送至第一用户所有者服务器;
步骤S104,所述第一用户所有者服务器基于第一用户所有者私钥对所述幂运算后的第二用户标识数据集进行幂运算,得到第二次幂运算的第二用户标识数据集;
步骤S105,所述第一用户所有者服务器基于所述第二次幂运算的第二用户标识数据集以及所述第二次幂运算的第一用户标识数据集确定所述第一用户所有者与所述第二用户所有者的共有用户。
其中,用户标识数据为以下任一种:
身份证号;
手机号;
所述第一用户所有者与所述第二用户所有者通用的自定义用户标识。
进一步地,该方法还包括:
步骤S106(图中未示出),基于确定的所述第一用户所有者与所述第二用户所有者的共有用户以及区块链训练联邦学习模型。
其中,所述联邦学习模型包括第一用户所有者参数模型、第二用户所有者参数模型、区块链节点参数智能合约。
进一步地,该方法还包括:
步骤S107(图中未示出),接收目标用户标识,所述目标用户标识为所述第一用户所有者与所述第二用户所有者共有用户标识;
步骤S108(图中未示出),基于第一用户所有者参数模型确定所述目标用户标识对应的第一信贷违约结果,将所述第一信贷违约结果发送至区块链;所述区块链用于接收第二用户所有者服务器发送的所述目标用户标识对应的第二信贷违约结果,并通过区块链节点的参数智能合约基于所述第一信贷违约结果以及所述第二信贷违约结果确定第三信贷违约结果;所述区块链还用于将所述第三信贷违约结果发送至所述第一用户所有者服务器;
步骤S109(图中未示出),所述第一用户所有者服务器基于所述第三信贷违约结果确定目标用户标识的信贷违约结果。
示例性地,图6为用户数据所有者数据上链时序图,银行A为第一用户所有者服务器,数据合作方B为第二用户所有者服务器。确定银行A与数据合作方B共同用户的过程可以包括:
1)银行A用自己的数据ID使用公开的哈希函数h进行运算,并用私钥进行幂运算,生成U集合,发送到区块链***,通过智能合约函数上链;
银行A拥有集合A={a1,a2,…,an}和secret key x;
U{h(a1)x,h(a2)x,...,h(an)x}
2)数据合作方B获取链上数据U集合,并用私钥进行幂运算,生成U′集合,发送去区块链***,通过智能合约函数上链;
数据合作方B拥有集合B={b1,b2,…,bn}和secret key y;
U′={h(a1)xy,h(a2)xy,...,h(an)xy}
3)数据合作方B用自己的数据ID使用公开的哈希函数h进行运算,并用私钥进行幂运算,生成V集合,发送去区块链***,通过智能合约函数上链;
V={h(b1)y,h(b2)y,...,h(bm)y}
4)银行A获取链上数据V集合;
5)银行A把获取到的V集合用自己的私钥进行幂运算,生成V′集合,发送去区块链***,通过智能合约函数上链;
V′={h(b1)yx,h(b2)yx,h(bm)yx}
其中,用户数据包括数据ID(身份证号码或者电话号码),其余数据不参与hash运算。
具体地,银行A和数据合作方B将用户的数据ID(身份证号)分别从自己的数据库提取出来;
1)银行A的用户的数据ID:{110114201905061111,232321199012032222,230222200203223333}:
a.银行A的计算节点对抽取出来的用户数据使用公开的哈希函数h运算后,用自己的私钥x求幂次方,最终得到U集合:
U={h(110114201905061111)x,h(232526199012032222)x,h(232222200203223333)x}
b.银行A的区块链客户端将计算后得到的U集合通过数据求交智能合约上链,存入账本。
2)数据合作方B通过数据求交智能合约获取到银行A的U集合;
c.数据合作方B的用户的数据ID:{1101142O1905061111,232321199012035588};
d.数据合作方B的计算节点对抽取出来的用户数据使用公开的哈希函数h运算后,用自己的私钥y求幂次方,最终得到V集合:
V={h(110114201905061111)y,h(232321199012035588)y}
e.数据合作方B的计算节点对银行A的U集合,用自己的私钥y再求幂次方,得到U′集合
U′={h(110114201905061111)xy,h(232526199012032222)xy,h(232222200203223333)xy}
f.数据合作方B的区块链客户端将计算后得到的V集合和U′集合通过数据求交智能合约上链,存入账本。
2)银行A通过数据求交智能合约获取到数据合作方B的V集合和U′集合:
g.银行A的计算节点对数据合作方B的V集合,用自己的私钥x再求幂次方,得到V′集合:
y′={h(110114201905061111)yx,h(232321199012035588)yx}
h.银行A的区块链客户端将计算后得到V′集合通过数据求交智能合约上链,存入账本。
示例性地,图7示出了基于确定的共有用户训练联邦学习模型的过程,银行A和数据合作方B,在确定公共实体后,可以使用这些公共实体的数据来训练机器学习模型。训练过程可以分为以下四个步骤:
1)初始化A和B,由智能合约C创建加密钥对,将公钥分发给银行A和数据合作方B,用以对训练过程中需要交换的数据进行加密;
其中,同态加密用[[·]]表示,令:
那么有:
类似道理,令
可以计算梯度为:
示例性地,图8示出了信贷违约确定的时序图,
1)A、B训练完成后,各自拥有模型的一部分,随机选取一个客户预测是否违约;
由银行A根据此模型结果判断是否违约。
具体地,判断既在银行A有注册信息又在数据合作方B有交易信息的客户M:{110114201905061111},是否会在银行A信贷违约:
a.银行A通过自身的参数模型得到一个数据模型结果,将此数据模型结果传给参数智能合约;
b.数据合作方B通过自身的参数模型得到一个数据模型结果,将此数据模型结果传给参数智能合约;
c.参数智能合约得到双方的数据模型结果后,计算出最终的数据模型结果,发送给银行A;
银行A获取参数智能合约发过来的数据模型结果,判断此客户M是否违约。
实施例二
图2为本申请实施例提供的另一种基于区块链的共有用户确定方法,应用于区块链节点,包括:
步骤S201,接收第一用户所有者服务器上传的幂运算后的第一用户标识数据集;所述幂运算后的第一用户标识数据集由第一用户所有者服务器基于第一用户所有者的私钥对各个第一用户标识的哈希值进行幂运算得到,各个所述第一用户标识的哈希值由第一用户所有者服务器对第一用户标识数据集进行哈希计算得到;
步骤S202,所述区块链节点将所述幂运算后的第一用户标识数据集发送至第二用户所有者服务器;所述第二用户所有者服务器用于基于第二用户所有者私钥对所述幂运算后的第一用户标识数据集进行幂运算,得到第二次幂运算后的第一用户标识数据集,并将所述第二次幂运算后的第一用户标识数据集上传至区块链节点;
步骤S203,所述区块链节点接收第二用户所有者服务器上传的幂运算后的第二用户标识数据集;所述幂运算后的第二用户标识数据集由第二用户所有者服务器基于第二用户所有者的私钥对各个第二用户标识的哈希值进行幂运算得到,所述第二用户标识的哈希值由第二用户所有者服务器对第二用户标识数据进行哈希计算得到;
步骤S204,所述区块链节点将所述第二次幂运算后的第一用户标识数据集发送至所述第一用户所有者服务器;所述区块链节点将所述幂运算后的第二用户标识数据集发送至所述第一用户所有者服务器;所述第一用户所有者服务器用于基于第一用户所有者私钥对所述幂运算后的第二用户标识数据集进行幂运算,得到第二幂运算后的第二用户标识数据集;所述第一用户所有者服务器还用于基于所述第二次幂运算后的第二用户标识数据集以及所述第二次幂运算后的第一用户标识数据集确定所述第一用户所有者与所述第二用户所有者的共有用户。
其中,用户标识数据为以下任一种:
身份证号;
手机号;
所述第一用户所有者与所述第二用户所有者通用的自定义用户标识。
进一步地,该方法还包括:
步骤S205(图中未示出),基于确定的所述第一用户所有者与所述第二用户所有者的共有用户以及区块链训练联所述联邦学习模型包括第一用户所有者参数模型、第二用户所有者参数模型、区块链节点参数智能合约。
邦学习模型。
进一步地,该方法还包括:
步骤S206(图中未示出),接收第一用户所有者服务器发送的所述目标用户标识对应的第一信贷违约结果;所述第一信贷违约结果由第一用户所有者服务器通过第一用户所有者参数模型基于接收到的目标用户标识确定;
步骤S207(图中未示出),接收第二用户所有者服务器发送的所述目标用户标识对应的第二信贷违约结果;所述第二信贷违约结果由第二用户所有者服务器通过第二用户所有者参数模型基于接收到的目标用户标识确定;
步骤S208(图中未示出),通过区块链节点的参数智能合约基于所述第一信贷违约结果以及所述第二信贷违约结果确定第三信贷违约结果;
步骤S209(图中未示出),将所述第三信贷违约结果发送至所述第一用户所有者服务器;所述第一用户所有者服务器用于基于所述第三信贷违约结果确定目标用户标识的信贷违约结果。
本申请实施例的装置可以执行本申请实施例一所示的方法,其实现的效果类似,在此不再赘述。
实施例三
本申请实施例提供了一种电子设备,如图4所示,图4所示的电子设备40包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。进一步地,电子设备40还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备40的结构并不构成对本申请实施例的限定。其中,处理器401应用于本申请实施例中,用于实现实施例一或实施例二所示的方法的功能。收发器404包括接收机和发射机。
处理器401可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI总线或EISA总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器403可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现实施例一或实施例二所示方法的功能。
本申请实施例提供了一种电子设备适用于上述方法实施例,具体实现方式和技术效果,在此不再赘述。
实施例四
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例一和/或实施例二中所示的基于区块链的共有用户确定方法。
本申请实施例提供了一种计算机可读存储介质适用于上述方法实施例,具体实现方式和技术效果,在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (12)
1.一种基于区块链的共有用户确定方法,应用于第一用户所有者服务器,其特征在于,包括:
对第一用户标识数据集进行哈希计算,得到各个第一用户标识哈希值;
基于第一用户所有者私钥对各个第一用户标识哈希值进行幂运算,得到幂运算后的第一用户标识数据集;
将所述幂运算后的第一用户标识数据集发送至区块链节点;所述区块链节点用于将所述幂运算后的第一用户标识数据集发送至第二用户所有者服务器;所述第二用户所有者服务器用于基于第二用户所有者私钥对所述幂运算后的第一用户标识数据集进行幂运算,得到第二次幂运算后的第一用户标识数据集,并将所述第二次幂运算后的第一用户标识数据集上传至区块链节点;所述区块链节点用于将所述第二次幂运算后的第一用户标识数据集发送至所述第一用户所有者服务器;所述第二用户所有者服务器还用于将幂运算后的第二用户标识数据集上传至区块链节点,所述幂运算后的第二用户标识数据集由第二用户所有者服务器基于第二用户所有者私钥对各个第二用户标识数据的哈希值进行幂运算得到,所述各个第二用户标识数据的哈希值由所述第二用户所有者服务器对第二用户所有者数据集进行哈希计算得到;所述区块链节点还用于将所述幂运算后的第二用户标识数据集发送至第一用户所有者服务器;
所述第一用户所有者服务器基于第一用户所有者私钥对所述幂运算后的第二用户标识数据集进行幂运算,得到第二次幂运算的第二用户标识数据集;
所述第一用户所有者服务器基于所述第二次幂运算的第二用户标识数据集以及所述第二次幂运算的第一用户标识数据集确定所述第一用户所有者与所述第二用户所有者的共有用户。
2.根据权利要求1所述的方法,其特征在于,用户标识数据为以下任一种:
身份证号;
手机号;
所述第一用户所有者与所述第二用户所有者通用的自定义用户标识。
3.根据权利要求1或2所述的方法,其特征在于,该方法还包括:
基于确定的所述第一用户所有者与所述第二用户所有者的共有用户以及区块链训练联邦学习模型。
4.根据权利要求3所述的方法,其特征在于,所述联邦学习模型包括第一用户所有者参数模型、第二用户所有者参数模型、区块链节点参数智能合约。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
接收目标用户标识,所述目标用户标识为所述第一用户所有者与所述第二用户所有者共有用户标识;
基于第一用户所有者参数模型确定所述目标用户标识对应的第一信贷违约结果,将所述第一信贷违约结果发送至区块链;所述区块链用于接收第二用户所有者服务器发送的所述目标用户标识对应的第二信贷违约结果,并通过区块链节点的参数智能合约基于所述第一信贷违约结果以及所述第二信贷违约结果确定第三信贷违约结果;所述区块链还用于将所述第三信贷违约结果发送至所述第一用户所有者服务器;
所述第一用户所有者服务器基于所述第三信贷违约结果确定目标用户标识的信贷违约结果。
6.一种基于区块链的共有用户确定方法,应用于区块链节点,其特征在于,包括:
接收第一用户所有者服务器上传的幂运算后的第一用户标识数据集;所述幂运算后的第一用户标识数据集由第一用户所有者服务器基于第一用户所有者的私钥对各个第一用户标识的哈希值进行幂运算得到,各个所述第一用户标识的哈希值由第一用户所有者服务器对第一用户标识数据集进行哈希计算得到;
所述区块链节点将所述幂运算后的第一用户标识数据集发送至第二用户所有者服务器;所述第二用户所有者服务器用于基于第二用户所有者私钥对所述幂运算后的第一用户标识数据集进行幂运算,得到第二次幂运算后的第一用户标识数据集,并将所述第二次幂运算后的第一用户标识数据集上传至区块链节点;
所述区块链节点接收第二用户所有者服务器上传的幂运算后的第二用户标识数据集;所述幂运算后的第二用户标识数据集由第二用户所有者服务器基于第二用户所有者的私钥对各个第二用户标识的哈希值进行幂运算得到,所述第二用户标识的哈希值由第二用户所有者服务器对第二用户标识数据进行哈希计算得到;
所述区块链节点将所述第二次幂运算后的第一用户标识数据集发送至所述第一用户所有者服务器;所述区块链节点将所述幂运算后的第二用户标识数据集发送至所述第一用户所有者服务器;所述第一用户所有者服务器用于基于第一用户所有者私钥对所述幂运算后的第二用户标识数据集进行幂运算,得到第二幂运算后的第二用户标识数据集;所述第一用户所有者服务器还用于基于所述第二次幂运算后的第二用户标识数据集以及所述第二次幂运算后的第一用户标识数据集确定所述第一用户所有者与所述第二用户所有者的共有用户。
7.根据权利要求6所述的方法,其特征在于,用户标识数据为以下任一种:
身份证号;
手机号;
所述第一用户所有者与所述第二用户所有者通用的自定义用户标识。
8.根据权利要求6或7所述的方法,其特征在于,包括:
基于确定的所述第一用户所有者与所述第二用户所有者的共有用户以及区块链训练联邦学习模型。
9.根据权利要求8所述的方法,其特征在于,所述联邦学习模型包括第一用户所有者参数模型、第二用户所有者参数模型、区块链节点参数智能合约。
10.根据权利要求9所述的方法,其特征在于,包括:
接收第一用户所有者服务器发送的目标用户标识对应的第一信贷违约结果;所述第一信贷违约结果由第一用户所有者服务器通过第一用户所有者参数模型基于接收到的目标用户标识确定;
接收第二用户所有者服务器发送的所述目标用户标识对应的第二信贷违约结果;所述第二信贷违约结果由第二用户所有者服务器通过第二用户所有者参数模型基于接收到的目标用户标识确定;
通过区块链节点的参数智能合约基于所述第一信贷违约结果以及所述第二信贷违约结果确定第三信贷违约结果;
将所述第三信贷违约结果发送至所述第一用户所有者服务器;所述第一用户所有者服务器用于基于所述第三信贷违约结果确定目标用户标识的信贷违约结果。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据权利要求1至10任一项所述的基于区块链的共有用户确定方法。
12.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1至10中任一项所述的基于区块链的共有用户确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010792354.XA CN112054891B (zh) | 2020-08-09 | 2020-08-09 | 基于区块链的共有用户确定方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010792354.XA CN112054891B (zh) | 2020-08-09 | 2020-08-09 | 基于区块链的共有用户确定方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112054891A CN112054891A (zh) | 2020-12-08 |
CN112054891B true CN112054891B (zh) | 2022-10-25 |
Family
ID=73602619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010792354.XA Active CN112054891B (zh) | 2020-08-09 | 2020-08-09 | 基于区块链的共有用户确定方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112054891B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866254A (zh) * | 2021-01-21 | 2021-05-28 | 中国工商银行股份有限公司 | 一种共同客户的获取方法、终端及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200063A (zh) * | 2017-12-29 | 2018-06-22 | 华中科技大学 | 一种可搜索公钥加密方法、采用该方法的***和服务器 |
CN109242671A (zh) * | 2018-08-29 | 2019-01-18 | 厦门市七星通联科技有限公司 | 一种基于多视角不完整数据的信贷违约预测方法及*** |
CN109379176A (zh) * | 2018-12-10 | 2019-02-22 | 湖北工业大学 | 一种抗口令泄露的认证与密钥协商方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10733583B2 (en) * | 2019-04-29 | 2020-08-04 | Alibaba Group Holding Limited | Blockchain-based withholding operations |
-
2020
- 2020-08-09 CN CN202010792354.XA patent/CN112054891B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200063A (zh) * | 2017-12-29 | 2018-06-22 | 华中科技大学 | 一种可搜索公钥加密方法、采用该方法的***和服务器 |
CN109242671A (zh) * | 2018-08-29 | 2019-01-18 | 厦门市七星通联科技有限公司 | 一种基于多视角不完整数据的信贷违约预测方法及*** |
CN109379176A (zh) * | 2018-12-10 | 2019-02-22 | 湖北工业大学 | 一种抗口令泄露的认证与密钥协商方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112054891A (zh) | 2020-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255444B (zh) | 基于迁移学习的联邦建模方法、设备及可读存储介质 | |
CN109165725B (zh) | 基于迁移学习的神经网络联邦建模方法、设备及存储介质 | |
CN111259443B (zh) | 一种基于psi技术保护联邦学习预测阶段隐私的方法 | |
CN108616539B (zh) | 一种区块链交易记录访问的方法及*** | |
Zhang et al. | A decentralized location privacy-preserving spatial crowdsourcing for internet of vehicles | |
CN110189192B (zh) | 一种信息推荐模型的生成方法及装置 | |
CN112347495A (zh) | 一种基于区块链的可信隐私智能服务计算***及方法 | |
CN112199709A (zh) | 基于多方的隐私数据联合训练模型的方法和装置 | |
CN111104968B (zh) | 一种基于区块链的安全svm训练方法 | |
He et al. | Secure logistic regression for vertical federated learning | |
CN112101531B (zh) | 基于隐私保护的神经网络模型训练方法、装置及*** | |
CN112818369A (zh) | 一种联合建模方法及装置 | |
CN109787754A (zh) | 一种数据加解密方法、计算机可读存储介质及服务器 | |
CN112054891B (zh) | 基于区块链的共有用户确定方法、电子设备及存储介质 | |
CN112380404B (zh) | 数据过滤方法、装置及*** | |
CN116502732B (zh) | 基于可信执行环境的联邦学习方法以及*** | |
CN117521102A (zh) | 一种基于联邦学习的模型训练方法及装置 | |
CN111343273B (zh) | 一种车联网环境下基于属性的策略隐藏外包签密方法 | |
CN114462626B (zh) | 联邦模型训练方法、装置、终端设备以及存储介质 | |
CN112183757A (zh) | 模型训练方法、装置及*** | |
CN113407928B (zh) | 基于区块链的多所有者rfid认证方法 | |
CN114547684A (zh) | 一种保护隐私数据的多方联合训练树模型的方法及装置 | |
CN115130568A (zh) | 支持多参与方的纵向联邦Softmax回归方法及*** | |
CN114610994A (zh) | 基于联合预测的推送方法和*** | |
CN113362168A (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 |