CN115714646A - 一种基于区块链的隐私保护用户激励方法 - Google Patents

一种基于区块链的隐私保护用户激励方法 Download PDF

Info

Publication number
CN115714646A
CN115714646A CN202211366648.1A CN202211366648A CN115714646A CN 115714646 A CN115714646 A CN 115714646A CN 202211366648 A CN202211366648 A CN 202211366648A CN 115714646 A CN115714646 A CN 115714646A
Authority
CN
China
Prior art keywords
task
representing
data
seller
vector
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.)
Pending
Application number
CN202211366648.1A
Other languages
English (en)
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202211366648.1A priority Critical patent/CN115714646A/zh
Publication of CN115714646A publication Critical patent/CN115714646A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于区块链的隐私保护用户激励方法,属于移动群智感知隐私保护技术领域。本方法利用安全k最近邻计算技术、真值发现技术、狄利克雷分布技术、区块链技术和智能合约技术,支持在不泄露数据隐私和任务隐私等用户隐私的基础上,实现安全和准确的知识发现与公平的用户激励。通过构造基于安全k最近邻计算技术实现数据加密与检索,基于真值发现技术实现用户可靠性计算和知识发现,基于区块链技术和智能合约技术自动和公平地执行用户激励,基于狄利克雷分布技术实现用户信誉值预测的基于区块链的隐私保护用户激励方法。本方法在数据隐私性、知识发现准确性、用户可靠性、激励公平性、知识发现效率以及系统去中心化程度方面具有显著优势。

Description

一种基于区块链的隐私保护用户激励方法
技术领域
本发明涉及一种适用于移动群智感知场景的用户激励方法,具体涉及一种基于区块链的隐私保护用户激励方法,属于移动群智感知隐私保护技术领域。
背景技术
如今,利用公众的智慧进行知识发现,已经在现实世界中产生了许多应用系统,如医疗诊断、交通模式识别和环境监测等。这些知识发现应用系统的成功依赖于知识售卖方提供高质量的数据。但是,知识售卖方在获取高质量数据的过程中,往往会消耗更多的感知、存储或计算资源。因此,在知识发现应用系统中,采取一种激励方法是必要的措施。在理想情况下,一个精心设计的激励方法,能够使提供高质量数据的知识售卖者能够获得更高的报酬,反之亦然。
然而,考虑到实际应用过程中的隐私性、可靠性和公平性的要求,实现上述针对知识发现应用系统的激励方法是一个挑战。首先,在激励方法的整个过程中,用户的任务兴趣和感知数据应受到保护,因为这些数据通常与他们的工作、教育水平、地点、健康状况等隐私信息息息相关。如果隐私数据没有得到很好的保护,用户可能不愿提供自己的数据,这将对知识发现和知识盈利带来巨大的负面影响。其次,由于传感设备的质量不同、学历教育差异等等原因,不同知识售卖方提供的数据在数据质量上可能有显著差异。因此,激励方法应可靠地根据知识售卖方的数据质量来评估该售卖方的可靠性。第三,激励机制应具有公平性、透明性和数据质量相关性的特点。例如,知识购买方应该在报酬分发之后能够获得相应的知识,知识销售者也会根据他们提交的数据质量自动获得报酬。
目前为止,研究人员已经提出了广泛的适用于移动群智感知场景的用户激励方法。例如,Jin等人提出了一种基于反向组合拍卖的质量感知激励方法。然而,他们的方案仅仅考虑了售卖方的销售质量。当卖家查看他们的数据时,潜在的隐私泄露威胁没有被方案纳入考虑范围。为此,Jin等人提出了另外两种不同的激励方法,分别是基于单一思想的反向组合拍卖和数据扰动机制。然而,传统的激励方法大多是基于一个可信的第三平台来保护隐私,这种第三平台在实际应用过程中很容易由于被黑客攻击而导致服务不可用。作为一种新兴的去中心化公共数字账本,区块链在解决由可信中心引起的安全和隐私问题中受到越来越多的关注。
目前,已有一些基于区块链的激励方法来消除对第三方可信中心的安全假设。然而,现有的基于区块链的方案要么存在隐私问题,要么不能保证知识售卖方的可靠性。例如,Cai等人利用混乱电路根据知识售卖方提供的知识私下计算知识售卖方的权重,并在此基础上设计了基于区块链的知识发现激励方法。然而,该方案没有考虑到任务的隐私性。这导致了在实际应用中,攻击者可以从购买方和售卖方感兴趣的任务数据中推断出购买方或售卖方的隐私信息。
总之,迫切需要一种适用于移动群智感知场景中能够同时保证数据隐私性、用户可靠性和激励公平性的用户激励方法。
发明内容
本发明的目的是针对现有技术存在的不足,为解决移动群智感知场景中的用户隐私容易泄露、用户可靠性难以保证、用户激励公平性难以保障、大规模数据知识发现的开销高和准确性低等技术问题,创造性地提出一种基于区块链的隐私保护用户激励方法。
本方法的创新点在于:利用安全k最近邻计算技术、真值发现技术、狄利克雷分布技术、区块链技术和智能合约技术,支持在不泄露数据隐私和任务隐私等用户隐私的基础上,实现安全和准确的知识发现与公平的用户激励。通过构造基于安全k最近邻计算技术实现数据加密与检索,基于真值发现技术实现用户可靠性计算和知识发现,基于区块链技术和智能合约技术自动和公平地执行用户激励,基于狄利克雷分布技术实现用户信誉值预测的基于区块链的隐私保护用户激励方法。
为了达到上述目的,本发明采取如下技术方案。
首先,对有关概念进行说明。
1.密钥生成中心(Key Generator Center,KGC)
密钥生成中心是一个受信任的第三方服务机构,能够生成并将系统参数分发到系统中的其他实体。当系统初始化完成后,可信中心处于离线或休眠状态。
2.购买方(Buyer)
购买方通常由组织或个人担任,在系统中会发布他们感兴趣的任务,从云服务器中获得相应的知识并完成报酬的支付。
3.售卖方(Seller)
售卖方通常是指向云服务器提交加密感知数据的用户。
4.云服务器(Cloud)
云服务器在系统中被用作服务平台。云负责接收售卖方的数据,将售卖方的数据与合适的购买方的任务进行匹配,进行隐私保护地知识发现。此后,将将相应的知识发送给购买方和区块链,并预测未来的用户信誉数据。
5.区块链平台
区块链平台负责部署所设计的智能合约,并执行用户激励。
本发明中,密钥生成中心是一个完全受信任的第三方机构,并且所有系统实体与密钥生成机构之间的通信都是安全的。其他实体(如售卖方、购买方、云服务器)的安全属于诚实但好奇的,他们诚实地执行所设计的协议,但他们试图从其他实体获取隐私信息。云服务器不会与其他实体合谋,或者假装自己是其他有效的实体。
本发明能够抵抗已知明文攻击。已知明文攻击是指攻击者知道用户与云服务器之间传输的密文信息以及用户的兴趣向量明文信息,从而实施攻击去获取包括用户感知数据、用户密钥等隐私信息。
一种基于区块链的隐私保护用户激励方法,包括以下步骤:
步骤1:系统初始化。密钥生成中心生成系统主密钥,为售卖方和购买方生成用户加密密钥,为云服务器生成用户重加密密钥。同时,售卖方和购买方在区块链平台注册账户。
具体地,密钥随机生成2个(M+4)×(M+4)维可逆矩阵M1和M2,作为系统主密钥。其中,M1为(M+4)×(M+4)为可逆矩阵,元素实数;M2为(M+4)×(M+4)为可逆矩阵,元素实数。
随后,密钥生成中心随机生成1个(M+4)维向量
Figure BDA0003920734650000031
向量
Figure BDA0003920734650000032
为元素由0或1组成的(M+4)维向量。对用户ui而言,密钥生成中心随机生成2个(M+4)×(M+4)维可逆矩阵Ai,1和Bi,1,并将
Figure BDA0003920734650000033
作为用户的加密密钥;其中,ui表示系统中的用户,i表示当前用户的系统编号;Ai,1为(M+4)×(M+4)维可逆矩阵,元素实数;Bi,1为(M+4)×(M+4)为可逆矩阵,元素实数。
之后u,密钥生成中心计算用户重加密密钥{Ai,2,Bi,2},过程如下:
Figure BDA0003920734650000041
Figure BDA0003920734650000042
其中,Ai,2和Bi,2表示(M+4)×(M+4)为可逆矩阵,元素为实数,并作为用户的重加密密钥。
此后,密钥生成中心将用户加密密钥
Figure BDA0003920734650000043
发送给用户ui,将用户重加密密钥{Ai,2,Bi,2}发送给云服务器。
最后,用户ui在区块链平台中智能合约注册账户Acci,并将Acci作为后续的报酬分发的账户。如果用户是购买方,需要预先在智能合约账户中存储一定的资金用于报酬分发。其中,Acci表示系统中用户ui的智能合约账户;i表示当前用户的系统编号。
步骤2:数据提交。售卖方进行数据加密,并将加密之后的数据发送到云服务器,云服务器执行数据重加密。
具体地,步骤2包括以下步骤:
步骤2.1:售卖方进行数据加密。
售卖方uk首先生成一个M维任务向量
Figure BDA0003920734650000044
其中,k表示当前售卖方的系统编号;M表示任务总数量,即向量维度;
Figure BDA0003920734650000045
表示售卖方产生的任务向量,向量元素维0或1;lk,m(m=1,2,…,M)取值为0或1,0表示当前售卖方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;om(m=1,2,…,M)代表系统中发布的第m个任务。
随后,售卖方生成(M+4)维向量
Figure BDA0003920734650000046
Figure BDA0003920734650000047
其中,lk,m取值为0或者1,0表示当前售卖方对该任务om(m=1,2,…,M)没有兴趣;rk,m表示随机实数;(·)T表示向量转置,即将行向量转换成列向量。
基于售卖方获取的任务数值xk,m(m=1,2,…,M),uk建立2个(M+4)维向量
Figure BDA0003920734650000048
Figure BDA0003920734650000049
其中,xk,m表示售卖方针对任务om(m=1,2,…,M)获取的任务数据,为实数;当lk,m取值为1,ak,m的数值取值为xk,m,当lk,m取值为0,ak,m的数值取值为0;
Figure BDA00039207346500000410
表示数值ak,m的平方之后的数值;rk表示随机实数;(·)T表示向量转置,即将行向量转换成列向量。
然后,对于
Figure BDA0003920734650000051
售卖方将
Figure BDA0003920734650000052
分解为
Figure BDA0003920734650000053
Figure BDA0003920734650000054
两个向量;对于i=0,1,2,…,M+3,分解方式如下:
Figure BDA0003920734650000055
Figure BDA0003920734650000056
其中,
Figure BDA0003920734650000057
表示售卖方生成的3个向量其中的一个向量;i表示循环序列号;
Figure BDA0003920734650000058
表示密钥生成中心分生成的用户加密密钥中的一部分;
Figure BDA0003920734650000059
表示向量
Figure BDA00039207346500000510
分解之后的向量;
Figure BDA00039207346500000511
表示向量
Figure BDA00039207346500000512
分解之后的向量;当
Figure BDA00039207346500000513
Figure BDA00039207346500000514
Figure BDA00039207346500000515
的第i位元素与
Figure BDA00039207346500000516
的第i位元素相等,当
Figure BDA00039207346500000517
随即设置
Figure BDA00039207346500000518
Figure BDA00039207346500000519
的第i位元素的大小使得
Figure BDA00039207346500000520
Figure BDA00039207346500000521
的第i位元素相加之后等于
Figure BDA00039207346500000522
的第i位元素大小。
此后,对于
Figure BDA00039207346500000523
Figure BDA00039207346500000524
分解生成的
Figure BDA00039207346500000525
Figure BDA00039207346500000526
两个向量,售卖方利用用户加密密钥
Figure BDA00039207346500000527
执行数据加密,具体计算过程如下:
Figure BDA00039207346500000528
其中,
Figure BDA00039207346500000529
表示售卖方生成的3个向量其中的一个向量;
Figure BDA00039207346500000530
表示向量
Figure BDA00039207346500000531
加密之后的结果;
Figure BDA00039207346500000532
表示用户加密密钥中Ak,1的矩阵转置;
Figure BDA00039207346500000533
表示用户加密密钥中Bk,1的矩阵转置。
最后,售卖方将加密之后的数据
Figure BDA00039207346500000534
发送给云服务器,
Figure BDA00039207346500000535
步骤2.2:云服务器数据重加密。
当云服务器接收到来自售卖方uk的密文数据
Figure BDA00039207346500000536
之后,从本地检索获得售卖方uk的重加密密钥{Ak,2,Bk,2},执行数据重加密,计算过程如下:
Figure BDA00039207346500000537
其中,
Figure BDA00039207346500000538
表示密文数据重加密之后的结果,
Figure BDA00039207346500000539
Figure BDA00039207346500000540
表示用户重加密密钥中Ak,2的矩阵转置;
Figure BDA00039207346500000541
表示用户重加密密钥中Bk,2的矩阵转置;
Figure BDA00039207346500000542
表示密文中
Figure BDA00039207346500000543
的计算结果;
Figure BDA00039207346500000544
表示密文中
Figure BDA00039207346500000545
的计算结果。
步骤3:知识发现。购买方生成任务数据并将加密之后的任务数据上传给云服务器。云服务器执行任务数据重加密、任务匹配和任务数据预处理,并将预处理之后数据返回给购买方,将用户数据质量发送给区块链平台。最后,购买方根据云服务器返回的数据执行知识恢复。
具体地,步骤3包括以下步
步骤3.1:购买方数据加密。
购买方uj首先生成1个M维任务向量
Figure BDA0003920734650000061
其中,uj代表系统中购买方实体;j表示当前购买方的系统编号;M表示任务总数量,即向量维度;
Figure BDA0003920734650000062
表示购买方产生的任务向量,向量元素维0或者1;lj,m(m=1,2,…,M)取值为0或者1,0表示当前购买方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;om(m=1,2,…,M)代表uj在系统中发布的第m个任务。
随后,购买方uj生成2个(M+4)维向量
Figure BDA0003920734650000063
Figure BDA0003920734650000064
其中,lj,m(m=1,2,…,M)取值为0或者1,0表示当前购买方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;l′j,m在lj,m等于1的情况该数值为随机数,在lj,m等于0的情况该数值为0;rj,1表示随机实数;(·)T表示向量转置,即将行向量转换成列向量。
此后,购买方uj针对任务om(m=1,2,…,M)生成随机数ym(m=1,2,…,M)作为任务om的初始真值。其中,ym为随机实数,并代表购买方针对任务om生成的初始任务值。随后,购买方uj生成一个(M+4)维向量
Figure BDA0003920734650000065
Figure BDA0003920734650000066
其中,rj,2是一个随机实数;bj,m在lj,m等于1取值为ym,在lj,m等于0时取值为0。
Figure BDA0003920734650000067
购买方uj生成随机数值{zj,m}(m=1,2,…,M),并且随机实数集合{zj,m}满足
Figure BDA0003920734650000068
其中,max(·)表示最大值函数,返回数据中的最大值;K表示假设的满足任务om的用户的数量;k表示循环序列号;wk表示假设的任务om的用户数据的权重;xk,m表示假设的用户关于任务om的任务数据;Maxj表示购买方uj针对自身所有任务生成的最大任务数据;zj,m表示随机实数;i表示循环序列号;j表示当前购买方的系统编号;l表示循环序列号,循环范围为2,3,4,…,M。
随后,购买方uj生成一个(M+4)维向量
Figure BDA0003920734650000069
Figure BDA00039207346500000610
其中,rj,3为随机实数;cj,m(m=1,2,3,…M)在lj,m(m=1,2,…,M)取值为1是等于zj,m,在lj,m(m=1,2,…,M)取值为0是等于0;lj,m为购买方uj任务兴趣向量中的元素,表示当前购买方对于任务om是否感兴趣。
然后,对于
Figure BDA0003920734650000071
购买方将
Figure BDA0003920734650000072
分解为
Figure BDA0003920734650000073
Figure BDA0003920734650000074
两个向量。对于i=0,1,2,…,M+3,具体分解方式如下:
Figure BDA0003920734650000075
Figure BDA0003920734650000076
其中,
Figure BDA0003920734650000077
表示售卖方生成的4个向量其中的一个向量;i表示循环序列号;
Figure BDA0003920734650000078
表示密钥生成中心分生成的用户加密密钥中的一部分;
Figure BDA0003920734650000079
表示向量
Figure BDA00039207346500000710
分解之后的向量;
Figure BDA00039207346500000711
表示向量
Figure BDA00039207346500000712
分解之后的向量;当
Figure BDA00039207346500000713
Figure BDA00039207346500000714
Figure BDA00039207346500000715
的第i位元素与
Figure BDA00039207346500000716
的第i位元素相等,当
Figure BDA00039207346500000717
随即设置
Figure BDA00039207346500000718
Figure BDA00039207346500000719
的第i位元素的大小使得
Figure BDA00039207346500000720
Figure BDA00039207346500000721
的第i位元素相加之后等于
Figure BDA00039207346500000722
的第i位元素大小。
此后,对于
Figure BDA00039207346500000723
Figure BDA00039207346500000724
分解生成的
Figure BDA00039207346500000725
Figure BDA00039207346500000726
两个向量,购买方uj利用用户加密密钥
Figure BDA00039207346500000727
执行数据加密,计算过程如下:
Figure BDA00039207346500000728
其中,
Figure BDA00039207346500000729
表示售卖方生成的4个向量其中的一个向量;
Figure BDA00039207346500000730
表示向量
Figure BDA00039207346500000731
加密之后的结果;
Figure BDA00039207346500000732
表示用户加密密钥中Aj,1的逆矩阵;
Figure BDA00039207346500000733
表示用户加密密钥中Bj,1的逆矩阵。
最后,购买方针对当前任务生成售卖方信誉值要求reputationj,并将数据
Figure BDA00039207346500000734
发送给云服务器。同时,购买方将当前任务报酬数量Accj,Pay发送给区块链平台。其中,
Figure BDA00039207346500000735
表示购买方加密之后的任务数据;reputationj表示购买方针对当前任务生成的售卖方信誉值要求;rj,2表示购买方在向量
Figure BDA00039207346500000736
中生成的随机实数;rj,1表示购买方在向量
Figure BDA00039207346500000737
中生成的实数;
Figure BDA00039207346500000738
表示购买方针对感兴趣的任务生成的任务初始值的平方;
Figure BDA00039207346500000739
表示任务初始值平方结果的求和;Accj,Pay表示购买方uj针对当前任务付出的报酬数量。
步骤3.2:购买方数据重加密。
云服务器接收到购买方上传的任务数据之后,结合密钥生成中心为购买方uj生成的重加密密钥{Aj,2,Bj,2},执行购买方数据重加密。具体计算过程如下:
Figure BDA00039207346500000740
其中,
Figure BDA0003920734650000081
表示购买方密文数据重加密之后的结果;
Figure BDA0003920734650000082
表示用户重加密密钥中Aj,2的逆矩阵;
Figure BDA0003920734650000083
表示用户重加密密钥中Bj,2的逆矩阵;
Figure BDA0003920734650000084
表示密文中
Figure BDA0003920734650000085
的计算结果;
Figure BDA0003920734650000086
表示密文中
Figure BDA0003920734650000087
的计算结果。
步骤3.3:任务匹配。
云服务器结合购买方uj的任务数据,针对售卖方uk计算:
Figure BDA0003920734650000088
其中,Δj,k表示购买方uj和售卖方uk针对当前任务的匹配结果,如果Δj,k等于0则表示匹配成功,否则匹配失败;
Figure BDA0003920734650000089
表示购买方上传的任务数据中向量
Figure BDA00039207346500000810
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA00039207346500000811
表示售卖方上传的任务数据中向量
Figure BDA00039207346500000812
重加密之后的结果。
步骤3.4:任务数据预处理。
云服务器执行完任务匹配之后,将所有匹配成功的售卖方加入任务集合,设任务集合中有n个售卖方。随后,云服务器获取购买方uj的信誉值要求reputationj,从云服务器本地检索任务集合中所有售卖方的信誉值,并执行reputationk≥reputationj的比较,从所有匹配成功的售卖方中选取出满足购买方信誉值要求的售卖方。其中,reputationk表示售卖方uk的信誉值。
随后,云服务器获取售卖方任务数据和任务真值之间的距离Ωk,具体计算过程如下:
Figure BDA00039207346500000813
其中,
Figure BDA00039207346500000814
表示购买方上传的任务数据中向量
Figure BDA00039207346500000815
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA00039207346500000816
表示购买方上传的任务数据中向量
Figure BDA00039207346500000817
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA00039207346500000818
表示售卖方上传的任务数据中向量
Figure BDA00039207346500000819
重加密之后的结果;
Figure BDA00039207346500000820
表示售卖方上传的任务数据中向量
Figure BDA00039207346500000821
重加密之后的结果;
Figure BDA00039207346500000822
表示购买方uj上传的人物数据中的一部分。
随后,云服务器根据所有售卖方uk距离真值之间的距离Ωk,计算获取每一位售卖方的数据权重,计算过程如下:
Figure BDA00039207346500000823
其中,wk表示售卖方uk的数据权重;log(·)表示对数函数;i表示循环序列号;K表示经过任务匹配和信誉值筛选之后满足购买方任务需求的售卖方的数量;Ωk表示售卖方uk的距离真值之间的距离;
Figure BDA0003920734650000091
表示所有符合条件的售卖方的距离和。
随后,云服务器进一步计算ψ作为当前任务扰动之后的加权知识,计算过程如下:
Figure BDA0003920734650000092
其中,ψ表示当前任务扰动之后的加权知识数据;
Figure BDA0003920734650000093
表示购买方上传的任务数据中向量
Figure BDA0003920734650000094
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA0003920734650000095
表示售卖方上传的任务数据中向量
Figure BDA0003920734650000096
重加密之后的结果;k表示循环序列号;K表示经过任务匹配和信誉值筛选之后满足购买方任务需求的售卖方的数量;
Figure BDA0003920734650000097
表示所有售卖方权重之和。
最后,云服务器将
Figure BDA0003920734650000098
发送给购买方,将wk(k=1,2,3,…,K)作为售卖方数据质量发送给区块链平台。
步骤3.5:知识恢复。
购买方uj接收到云服务器返回的
Figure BDA0003920734650000099
之后,首先计算ψM=ψ-rj,3。其中,rj,3表示购买方在向量
Figure BDA00039207346500000910
中生成的随机实数;ψM表示当前任务取出扰动之后的总知识。随后,购买方迭代执行下述计算过程来恢复任务om(m=2,3,4,…,M)的知识,直至两次迭代过程中ym距离小于购买方自身的阈值时停止迭代过程。的具体计算过程如下:
Figure BDA00039207346500000911
ψm-1=ψm mod zj,m
其中,ym表示任务om的知识;zj,m表示购买方生成向量
Figure BDA00039207346500000912
过程中使用的随机实数;ψm表示任务om迭代过程中的知识;运算符号mod表示取模符号。
最后,购买方发送知识发现过程结束的反馈给区块链平台,以此作为购买方报酬可以分发的标志。
步骤4:用户激励。
区块链平台利用智能合约执行用户激励过程,包括购买方提交支付请求、数据校验和报酬分发。
具体地,步骤4包括以下步骤:
步骤4.1:购买方提交支付请求。
购买方在知识发现过程中会上传一个报酬分发请求,其中包含购买方账户Accj和报酬数量Accj,Pay。区块链平台运行智能合约首先确保购买方账户Accj的有效性。如果账户Accj无效,智能合约会帮助购买方建立一个合法账户。随后,智能合约从购买方上传的数据中获取具体的报酬数据Accj,Pay。其中,Accj表示购买方uj在区块链平台中注册的合法账户。
步骤4.2:数据校验。
区块链平台运行智能合约首先校验购买方支付请求中报酬数量的格式有效性。针对格式有效的数据,进行数据有效性校验。具体地,数据有效性校验过程如下:
Payl≤Accj,Pay≤min(ledger(Accj),Payh)
其中,Payl表示系统预定的报酬最小值;Payh表示系统预定的报酬最大值;min(·)表示最小值函数,返回数据集合中的最小值;ledger(·)为账户余额查询函数,返回当前账户Accj的账户余额。
此后,购买方获取当前的时间戳Tj,task作为任务校验成功的时间标识。
步骤4.3:报酬分发。
区块链平台接收到购买方的知识发现成功的反馈之后,结合云服务器上传的售卖方数据质量权重进行报酬分发。需要注意的是,一旦知识发现过程开始运行,尽管购买方在一定时间内没有发送任务反馈,区块链平台也会执行智能合约强制进行报酬分包,从而保护售卖方权益。
具体地,智能合约首先基于报酬数量Accj,Pay,执行ledger(Accj)=ledger(Accj)-Accj,Pay,从购买方账户中扣除相应资金,同时更新购买方账户状态。其中,ledger(·)为账户余额查询函数,返回当前账户Accj的账户余额。随后,智能合约执行ledger(Acccloud)=ledger(Acccloud)+Rcl来为云服务器分发报酬,Acccloud表示云服务器再区块链平台中的账户,Rcl表示此次任务需要分发给云服务器的报酬数量。
随后,智能合约根据云服务器返回的数据质量权重wk(k=1,2,3,…,K)为售卖方执行报酬分发,分发过程如下;
Figure BDA0003920734650000111
其中,ledger(Acck)表示账户Acck的账户余额;wk表示当前售卖者uk的数据质量权重;Rcl表示此次任务预先分给云服务器的报酬数量;
Figure BDA0003920734650000112
表示此次任务所有符合要求的售卖方的权重之和。
最后,智能合约结合任务时间和权重等信息生成任务记录,并存储此次任务记录。
步骤5:信誉值预测。云服务器结合售卖方在历史任务中的数据质量,利用狄利克雷分布来对用户将来任务中的信誉值进行聚合和评估。
具体地,步骤5包括以下步骤:
步骤5.1:信誉值聚合。设系统信誉值分为L级,每一级的信誉值分数为
Figure BDA0003920734650000113
Figure BDA0003920734650000114
i∈(0,1],i=1,2,3,…,L,θi≤θi+1),售卖方uk的的历史信誉值为
Figure BDA0003920734650000115
其中,L表示系统信誉值级数;
Figure BDA0003920734650000116
表示系统信誉值向量;θi表示系统信誉值中第i级的信誉值数据,取值范围为大于0小于等于1,并且
Figure BDA0003920734650000117
中元素按照生序排列;i为循环序列号,取值范围是1,2,3,…,L;
Figure BDA0003920734650000118
表示售卖方的历史信誉值向量;Xi表示售卖方的历史信誉值数据。
随后,系统设pi=P(θi-1≤Xk≤θi)为售卖方信誉值位于θi-1和θi之间的概率,并利用pi构成概率向量
Figure BDA0003920734650000119
随后,设历史信誉值累积向量
Figure BDA00039207346500001110
其中,P(·)表示概率函数;k表示循环序列号;Xk表示售卖方第k次的信誉值数据;
Figure BDA00039207346500001111
表示概率数据构成的概率向量;pi表示售卖方第k次的信誉值数据位于θi-1和θi之间的概率;
Figure BDA00039207346500001112
表示历史信誉值累积向量;αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量。
此后,云服务器执行信誉值历史聚合过程,计算过程如下:
Figure BDA00039207346500001113
其中,
Figure BDA00039207346500001114
表示概率数据构成的概率向量;pi表示售卖方第k次的信誉值数据位于θi-1和θi之间的概率;
Figure BDA00039207346500001115
表示历史信誉值累积向量;αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量;运算符Γ表示数学运算符中的Gamma函数;运算符
Figure BDA0003920734650000121
表示数学运算符中的连乘运算;L表示系统信誉值级数;∑表示数学运算符中的求和运算;
Figure BDA0003920734650000122
表示历史信誉值聚合结果。
步骤5.2:信誉值评估。基于历史信誉值聚合结果,云服务器执行未来信誉值评估。
具体地,首先云服务器计算
Figure BDA0003920734650000123
表示信誉值累计向量元素之和。其中,αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量;随后,云服务器结合系统预先设置的信誉值级别权重向量
Figure BDA0003920734650000124
获取当前售卖方的历史信誉值,具体计算过程如下:
Figure BDA0003920734650000125
其中,
Figure BDA0003920734650000126
表示系统预先设置的信誉值级别权重向量;vi表示信誉值级别θi的权重值;L表示系统信誉值级数;E[Y]表示售卖方的未来信誉值预测结果。
最后,云服务器记录并更新售卖方的信誉值。
有益效果
本方法,对比现有技术,在数据隐私性、知识发现准确性、用户可靠性、激励公平性、知识发现效率以及系统去中心化程度方面,具有显著优势。
附图说明
图1为本发明方法实施示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
如图1所示,一种基于区块链的隐私保护用户激励方法。
首先,KGC生成系统参数(包括主密钥,用户加密密钥和用户重加密密钥)并将其分发给系统中的其他实体。
然后,购买方和售卖方在智能合约中注册账户;购买方发布在云服务器发布加密之后的任务数据和此次任务的声誉要求以及对区块链平台发布的相应报酬要求,售卖方向云服务器提交加密的任务数据;
之后,云服务器执行知识发现过程,具体分为数据重加密任务匹配以及任务知识发现,然后将相应的结果发送给购买方和区块链平台。随后,购买方恢复相应的任务真值并给区块链平台发送任务反馈;
而后,区块链平台运行智能合约执行用户激励;
最后,云服务器执行信誉值预测。
具体地,一种基于区块链的隐私保护用户激励方法,包括以下步骤:
步骤1:系统初始化与用户注册。密钥生成中心生成系统主密钥,为售卖方和购买方生成用户加密密钥,为云服务器生成用户重加密密钥。同时,售卖方和购买方在区块链平台注册账户。
具体地,密钥随机生成2个(M+4)×(M+4)维可逆矩阵M1和M2,并基于{M1,M2}生成系统主密钥。其中,M1为(M+4)×(M+4)为可逆矩阵,元素实数;M2为(M+4)×(M+4)为可逆矩阵,元素实数;
随后,密钥生成中心随机生成1个(M+4)维向量
Figure BDA0003920734650000131
其中,向量
Figure BDA0003920734650000132
为元素由0或1组成的(M+4)维向量。针对用户ui而言,密钥生成中心随机生成2个(M+4)×(M+4)维可逆矩阵Ai,1和Bi,1,并将
Figure BDA0003920734650000133
作为用户的加密密钥。其中,ui表示系统中的用户;i表示当前用户的系统编号;Ai,1为(M+4)×(M+4)维可逆矩阵,元素实数;Bi,1为(M+4)×(M+4)为可逆矩阵,元素实数。
密钥生成中心随后计算用户重加密密钥{Ai,2,Bi,2},计算过程如下:
Figure BDA0003920734650000134
Figure BDA0003920734650000135
其中,Ai,2和Bi,2表示(M+4)×(M+4)为可逆矩阵,元素为实数,并作为用户的重加密密钥。
此后,密钥生成中心将用户加密密钥
Figure BDA0003920734650000136
发送给用户ui,将用户重加密密钥{Ai,2,Bi,2}发送给云服务器。
最后,用户ui在区块链平台中智能合约注册账户Acci,并将Acci作为后续的报酬分发的账户。如果用户是购买方,需要预先在智能合约账户中存储一定的资金用于报酬分发。其中,Acci表示系统中用户ui的智能合约账户;i表示当前用户的系统编号。
步骤2:数据提交。具体地,购买方发布在云服务器发布加密之后的任务数据和此次任务的声誉要求以及对区块链平台发布的相应报酬要求,售卖方向云服务器提交加密的任务数据。
步骤2.1:购买方数据提交。购买方uj首先生成1个M维任务向量
Figure BDA0003920734650000137
Figure BDA0003920734650000138
其中,uj代表系统中购买方实体;j表示当前购买方的系统编号;M表示任务总数量,也表示向量维度;
Figure BDA0003920734650000141
表示购买方产生的任务向量,向量元素维0或者1;lj,m(m=1,2,…,M)取值为0或者1,0表示当前购买方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;om(m=1,2,…,M)代表uj在系统中发布的第m个任务。
随后,购买方uj生成2个(M+4)维向量
Figure BDA0003920734650000142
Figure BDA0003920734650000143
其中,lj,m(m=1,2,…,M)取值为0或者1,0表示当前购买方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;l′j,m在lj,m等于1的情况该数值为随机数,在lj,m等于0的情况该数值为0;rj,1表示随机实数;(·)T表示向量转置,即将行向量转换成列向量。
此后,购买方uj针对任务om(m=1,2,…,M)生成随机数ym(m=1,2,…,M)作为任务om的初始真值。其中,ym为随机实数,并代表购买方针对任务om生成的初始任务值。随后,购买方uj生成一个(M+4)维向量
Figure BDA0003920734650000144
Figure BDA0003920734650000145
其中,rj,2是一个随机实数;bj,m在lj,m等于1取值为ym,在lj,m等于0时取值为0。
此外,设
Figure BDA0003920734650000146
购买方uj生成随机数值{zj,m}(m=1,2,…,M),并且随机实数集合{zj,m}满足
Figure BDA0003920734650000147
Figure BDA0003920734650000148
其中,max(·)表示最大值函数,返回数据中的最大值;K表示假设的满足任务om的用户的数量;k表示循环序列号;wk表示假设的任务om的用户数据的权重;xk,m表示假设的用户关于任务om的任务数据;Maxj表示购买方uj针对自身所有任务生成的最大任务数据;zj,m表示随机实数;i表示循环序列号;j表示当前购买方的系统编号;l表示循环序列号,循环范围为2,3,4,…,M。
随后,购买方uj生成一个(M+4)维向量
Figure BDA0003920734650000149
Figure BDA00039207346500001410
其中,rj,3为随机实数;cj,m(m=1,2,3,…M)在lj,m(m=1,2,…,M)取值为1是等于zj,m,在lj,m(m=1,2,…,M)取值为0是等于0;lj,m为购买方uj任务兴趣向量中的元素,表示当前购买方对于任务om是否感兴趣。
然后,对于
Figure BDA00039207346500001411
购买方将
Figure BDA00039207346500001412
分解为
Figure BDA00039207346500001413
Figure BDA00039207346500001414
两个向量。对于i=0,1,2,…,M+3,具体分解方式如下:
Figure BDA00039207346500001415
Figure BDA0003920734650000151
其中,
Figure BDA0003920734650000152
表示售卖方生成的4个向量其中的一个向量;i表示循环序列号;
Figure BDA0003920734650000153
表示密钥生成中心分生成的用户加密密钥中的一部分;
Figure BDA0003920734650000154
表示向量
Figure BDA0003920734650000155
分解之后的向量;
Figure BDA0003920734650000156
表示向量
Figure BDA0003920734650000157
分解之后的向量;当
Figure BDA0003920734650000158
Figure BDA0003920734650000159
Figure BDA00039207346500001510
的第i位元素与
Figure BDA00039207346500001511
的第i位元素相等,当
Figure BDA00039207346500001512
随即设置
Figure BDA00039207346500001513
Figure BDA00039207346500001514
的第i位元素的大小使得
Figure BDA00039207346500001515
Figure BDA00039207346500001516
的第i位元素相加之后等于
Figure BDA00039207346500001517
的第i位元素大小。
此后,对于
Figure BDA00039207346500001518
Figure BDA00039207346500001519
分解生成的
Figure BDA00039207346500001520
Figure BDA00039207346500001521
两个向量,购买方uj利用用户加密密钥
Figure BDA00039207346500001522
执行数据加密,具体计算过程如下:
Figure BDA00039207346500001523
其中,
Figure BDA00039207346500001524
表示售卖方生成的4个向量其中的一个向量;
Figure BDA00039207346500001525
表示向量
Figure BDA00039207346500001526
加密之后的结果;
Figure BDA00039207346500001527
表示用户加密密钥中Aj,1的逆矩阵;
Figure BDA00039207346500001528
表示用户加密密钥中Bj,1的逆矩阵。
最后,购买方针对当前任务生成售卖方信誉值要求reputationj,并将数据
Figure BDA00039207346500001529
发送给云服务器。同时,购买方将当前任务报酬数量Accj,Pay发送给区块链平台。其中,
Figure BDA00039207346500001530
表示购买方加密之后的任务数据;reputationj表示购买方针对当前任务生成的售卖方信誉值要求;rj,2表示购买方在向量
Figure BDA00039207346500001531
中生成的随机实数;rj,1表示购买方在向量
Figure BDA00039207346500001532
中生成的实数;
Figure BDA00039207346500001533
表示购买方针对感兴趣的任务生成的任务初始值的平方;
Figure BDA00039207346500001534
表示任务初始值平方结果的求和;Accj,Pay表示购买方uj针对当前任务付出的报酬数量。
步骤2.2:售卖方数据提交。针对售卖方uk,uk首先生成一个M维任务向量
Figure BDA00039207346500001535
其中,uk代表系统中售卖方实体;k表示当前售卖方的系统编号;M表示任务总数量,也表示向量维度;
Figure BDA00039207346500001536
表示售卖方产生的任务向量,向量元素维0或者1;lk,m(m=1,2,…,M)取值为0或者1,0表示当前售卖方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;om(m=1,2,…,M)代表系统中发布的第m个任务。
随后,售卖方生成(M+4)维向量
Figure BDA00039207346500001537
Figure BDA00039207346500001538
其中,lk,m取值为0或者1,0表示当前售卖方对该任务om(m=1,2,…,M)没有兴趣;rk,m表示随机实数;(·)T表示向量转置,即将行向量转换成列向量。
基于售卖方获取的任务数值xk,m(m=1,2,…,M),uk建立2个(M+4)维向量
Figure BDA0003920734650000161
Figure BDA0003920734650000162
其中,xk,m表示售卖方针对任务om(m=1,2,…,M)获取的任务数据,为实数;当lk,m取值为1,ak,m的数值取值为xk,m,当lk,m取值为0,ak,m的数值取值为0;
Figure BDA0003920734650000163
表示数值ak,m的平方之后的数值;rk表示随机实数;(·)T表示向量转置,即将行向量转换成列向量。
然后,对于
Figure BDA0003920734650000164
售卖方将
Figure BDA0003920734650000165
分解为
Figure BDA0003920734650000166
Figure BDA0003920734650000167
两个向量。对于i=0,1,2,…,M+3,具体分解方式如下:
Figure BDA0003920734650000168
Figure BDA0003920734650000169
其中,
Figure BDA00039207346500001610
表示售卖方生成的3个向量其中的一个向量;i表示循环序列号;
Figure BDA00039207346500001611
表示密钥生成中心分生成的用户加密密钥中的一部分;
Figure BDA00039207346500001612
表示向量
Figure BDA00039207346500001613
分解之后的向量;
Figure BDA00039207346500001614
表示向量
Figure BDA00039207346500001615
分解之后的向量;当
Figure BDA00039207346500001616
Figure BDA00039207346500001617
Figure BDA00039207346500001618
的第i位元素与
Figure BDA00039207346500001619
的第i位元素相等,当
Figure BDA00039207346500001620
随即设置
Figure BDA00039207346500001621
Figure BDA00039207346500001622
的第i位元素的大小使得
Figure BDA00039207346500001623
Figure BDA00039207346500001624
的第i位元素相加之后等于
Figure BDA00039207346500001625
的第i位元素大小。
此后,对于
Figure BDA00039207346500001626
Figure BDA00039207346500001627
分解生成的
Figure BDA00039207346500001628
Figure BDA00039207346500001629
两个向量,售卖方利用用户加密密钥
Figure BDA00039207346500001630
执行数据加密,具体计算过程如下:
Figure BDA00039207346500001631
其中,
Figure BDA00039207346500001632
表示售卖方生成的3个向量其中的一个向量;
Figure BDA00039207346500001633
表示向量
Figure BDA00039207346500001634
加密之后的结果;
Figure BDA00039207346500001635
表示用户加密密钥中Ak,1的矩阵转置;
Figure BDA00039207346500001636
表示用户加密密钥中Bk,1的矩阵转置。
最后,售卖方将加密之后的数据
Figure BDA00039207346500001637
发送给云服务器。
步骤3:知识发现。云服务器执行知识发现过程,具体分为数据重加密任务匹配以及任务知识发现,然后将相应的结果发送给购买方和区块链平台。随后,购买方恢复相应的任务真值并给区块链平台发送任务反馈。
步骤3.1:购买方数据重加密。云服务器接收到购买方上传的任务数据之后,结合密钥生成中心为购买方uj生成的重加密密钥{Aj,2,Bj,2},执行购买方数据重加密。具体计算过程如下:
Figure BDA00039207346500001638
Figure BDA0003920734650000171
其中,
Figure BDA0003920734650000172
表示购买方密文数据重加密之后的结果;
Figure BDA0003920734650000173
表示用户重加密密钥中Aj,2的逆矩阵;
Figure BDA0003920734650000174
表示用户重加密密钥中Bj,2的逆矩阵;
Figure BDA0003920734650000175
表示密文中
Figure BDA0003920734650000176
的计算结果;
Figure BDA0003920734650000177
表示密文中
Figure BDA0003920734650000178
的计算结果;
Figure BDA0003920734650000179
表示密钥生成中心生成的主密钥M1的逆矩阵;
Figure BDA00039207346500001710
表示密钥生成中心生成的主密钥M2的逆矩阵。
步骤3.2:售卖方数据重加密。当云服务器接收到来自售卖方uk的密文数据
Figure BDA00039207346500001711
之后,从本地检索获得售卖方uk的重加密密钥{Ak,2,Bk,2},执行数据重加密,具体计算过程如下:
Figure BDA00039207346500001712
其中,
Figure BDA00039207346500001713
表示密文数据重加密之后的结果;
Figure BDA00039207346500001714
表示用户重加密密钥中Ak,2的矩阵转置;
Figure BDA00039207346500001715
表示用户重加密密钥中Bk,2的矩阵转置;
Figure BDA00039207346500001716
表示密文中
Figure BDA00039207346500001717
的计算结果;
Figure BDA00039207346500001718
表示密文中
Figure BDA00039207346500001719
的计算结果;
Figure BDA00039207346500001720
表示密钥生成中心生成的主密钥M1的转置矩阵;
Figure BDA00039207346500001721
表示密钥生成中心生成的主密钥M2的转置矩阵。
步骤3:知识发现。购买方生成任务数据并将加密之后的任务数据上传给云服务器。云服务器执行任务数据重加密、任务匹配和任务数据预处理,并将预处理之后数据返回给购买方,将用户数据质量发送给区块链平台。最后,购买方根据云服务器返回的数据执行知识恢复。
步骤3.3:任务匹配。云服务器结合购买方uj的任务数据,针对售卖方uk计算
Figure BDA00039207346500001722
其中,Δj,k表示购买方uj和售卖方uk针对当前任务的匹配结果,如果Δj,k等于0则表示匹配成功,否则匹配失败;
Figure BDA00039207346500001723
表示购买方上传的任务数据中向量
Figure BDA00039207346500001724
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA0003920734650000181
表示售卖方上传的任务数据中向量
Figure BDA0003920734650000182
重加密之后的结果;
Figure BDA0003920734650000183
表示密钥生成中心生成的主密钥M1的逆矩阵;
Figure BDA0003920734650000184
表示密钥生成中心生成的主密钥M2的逆矩阵;
Figure BDA0003920734650000185
表示密钥生成中心生成的主密钥M1的转置矩阵;
Figure BDA0003920734650000186
表示密钥生成中心生成的主密钥M2的转置矩阵;运算符°表示数学运算中的向量内积运算;
Figure BDA0003920734650000187
表示向量
Figure BDA0003920734650000188
的转置,即列向量变为行向量;
Figure BDA0003920734650000189
表示向量
Figure BDA00039207346500001810
的转置,即列向量变为行向量;
Figure BDA00039207346500001811
表示向量
Figure BDA00039207346500001812
的转置,即列向量变为行向量。
步骤3.4:任务数据预处理。云服务器执行完任务匹配之后,将所有匹配成功的售卖方加入任务集合,并且假设任务集合中有n个售卖方。随后,云服务器获取购买方uj的信誉值要求reputationj,并从云服务器本地检索任务集合中所有售卖方的信誉值,并执行reputationk≥reputationj的比较,从而从所有匹配成功的售卖方中选取出满足购买方信誉值要求的售卖方。其中,reputationk表示售卖方uk的信誉值。
随后,云服务器获取售卖方任务数据和任务真值之间的距离Ωk,具体计算过程如下:
Figure BDA00039207346500001813
其中,
Figure BDA00039207346500001814
表示购买方上传的任务数据中向量
Figure BDA00039207346500001815
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA00039207346500001816
表示购买方上传的任务数据中向量
Figure BDA00039207346500001817
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA00039207346500001818
表示售卖方上传的任务数据中向量
Figure BDA00039207346500001819
重加密之后的结果;
Figure BDA00039207346500001820
表示售卖方上传的任务数据中向量
Figure BDA00039207346500001821
重加密之后的结果;
Figure BDA00039207346500001822
表示向量
Figure BDA00039207346500001823
的转置,即列向量变为行向量;
Figure BDA00039207346500001824
表示向量
Figure BDA00039207346500001825
的转置,即列向量变为行向量;xk,m表示售卖方uk上传的任务数据;
Figure BDA00039207346500001826
Figure BDA00039207346500001827
表示购买方uj上传的任务数据中的一部分;∑m=1,2,…,M(xk,m-ym)2表示当前售卖方任务数据与任务真值之间的距离。
随后,云服务器根据所有售卖方uk距离真值之间的距离Ωk,计算获取每一位售卖方的数据权重,计算过程如下:
Figure BDA0003920734650000191
其中,wk表示售卖方uk的数据权重;log(·)表示对数函数;i表示循环序列号;K表示经过任务匹配和信誉值筛选之后满足购买方任务需求的售卖方的数量;Ωk表示售卖方uk的距离真值之间的距离;
Figure BDA0003920734650000192
表示所有符合条件的售卖方的距离和。
随后,云服务器进一步计算ψ作为当前任务扰动之后的加权知识,具体计算过程如下:
Figure BDA0003920734650000193
其中,ψ表示当前任务扰动之后的加权知识数据;
Figure BDA0003920734650000194
表示购买方上传的任务数据中向量
Figure BDA0003920734650000195
重加密结果的逆矩阵,即列向量转换成行向量;
Figure BDA0003920734650000196
表示售卖方上传的任务数据中向量
Figure BDA0003920734650000197
重加密之后的结果;k表示循环序列号;K表示经过任务匹配和信誉值筛选之后满足购买方任务需求的售卖方的数量;
Figure BDA0003920734650000198
表示所有售卖方权重之和;rj,3表示购买方在向量
Figure BDA0003920734650000199
中生成的随机实数;M表示任务总数量;K表示满足要求的售卖方总数量;k表示循环变量;m表示循环变量;xk,m表示售卖方uk上传的任务数据;zj,m表示购买方生成向量
Figure BDA00039207346500001910
过程中使用的随机实数。
最后,云服务器将
Figure BDA00039207346500001911
发送给购买方,将wk(k=1,2,3,…,K)作为售卖方数据质量发送给区块链平台。
步骤3.5:知识恢复。购买方uj接收到云服务器返回的
Figure BDA00039207346500001912
之后,首先计算ψM=ψ-rj,3。其中,rj,3表示购买方在向量
Figure BDA00039207346500001913
中生成的随机实数;ψM表示当前任务取出扰动之后的总知识。随后,购买方迭代执行下述计算过程来恢复任务om(m=2,3,4,…,M)的知识,直至两次迭代过程中ym距离小于购买方自身的阈值时停止迭代过程。具体计算过程如下:
Figure BDA0003920734650000201
ψm-1=ψm mod zj,m
其中,ym表示任务om的知识;zj,m表示购买方生成向量
Figure BDA0003920734650000202
过程中使用的随机实数;ψm表示任务om迭代过程中的知识;M表示任务总数量;K表示满足要求的售卖方总数量;k表示循环变量;m表示循环变量;运算符号mod表示取模符号;xk,m表示售卖方uk上传的任务数据;wk表示当前购买方uj的第m个任务中售卖方uk的数据质量权重。
最后,购买方发送知识发现过程结束的反馈给区块链平台,以此来作为购买方报酬可以分发的标志。
步骤4:用户激励。区块链平台利用智能合约执行用户激励过程,具体分为购买方提交支付请求、数据校验和报酬分发三部分。
步骤4.1:购买方提交支付请求。购买方在知识发现过程中会上传一个报酬分发请求,其中包含购买方账户Accj和报酬数量Accj,Pay。区块链平台运行智能合约首先确保购买方账户Accj的有效性。如果账户Accj无效,智能合约会帮助购买方建立一个合法账户。随后,智能合约从购买方上传的数据中获取具体的报酬数据Accj,Pay。其中,Accj表示购买方uj在区块链平台中注册的合法账户;。
步骤4.2:数据校验。区块链平台运行智能合约首先校验购买方支付请求中报酬数量的格式有效性。针对格式有效的数据,进行数据有效性校验。具体地,数据有效性校验过程如下:
Payl≤Accj,Pay≤min(ledger(Accj),Payh)
其中,Payl表示系统预定的报酬最小值;Payh表示系统预定的报酬最大值;min(·)表示最小值函数,返回数据集合中的最小值;ledger(·)为账户余额查询函数,返回当前账户Accj的账户余额。
此后,购买方获取当前的时间戳Tj,task作为任务校验成功的时间标识。
步骤4.3:报酬分发。区块链平台接收到购买方的知识发现成功的反馈之后,结合云服务器上传的售卖方数据质量权重进行报酬分发。需要注意的是一旦知识发现过程开始运行,尽管购买方在一定时间内没有发送任务反馈,区块链平台也会执行智能合约强制进行报酬分包,从而保护售卖方权益。
具体地,智能合约首先基于报酬数量Accj,Pay,执行ledger(Accj)=ledger(Accj)-Accj,Pay,从购买方账户中扣除相应资金,同时更新购买方账户状态。其中,ledger(·)为账户余额查询函数,返回当前账户Accj的账户余额。随后,智能合约执行ledger(Acccloud)=ledger(Acccloud)+Rcl来为云服务器分发报酬。其中,Acccloud表示云服务器再区块链平台中的账户;Rcl表示此次任务需要分发给云服务器的报酬数量。
随后,智能合约根据云服务器返回的数据质量权重wk(k=1,2,3,…,K)为售卖方执行报酬分发,具体分发过程如下:
Figure BDA0003920734650000211
其中,ledger(Acck)表示账户Acck的账户余额;wk表示当前售卖者uk的数据质量权重;Rcl表示此次任务预先分给云服务器的报酬数量;
Figure BDA0003920734650000212
表示此次任务所有符合要求的售卖方的权重之和。
最后,智能合约结合任务时间和权重等信息生成任务记录,并存储此次任务记录。
步骤5:信誉值预测。云服务器结合售卖方在历史任务中的数据质量,利用狄利克雷分布来对用户将来任务中的信誉值进行信誉值聚合和信誉值评估。
步骤5.1:信誉值聚合。设系统信誉值分为L级,每一级的信誉值分数为
Figure BDA0003920734650000213
Figure BDA0003920734650000214
i∈(0,1],i=1,2,3,…,L,θi≤θi+1),售卖方uk的的历史信誉值连续箱梁为
Figure BDA0003920734650000215
其中,L表示系统信誉值级数;
Figure BDA0003920734650000216
表示系统信誉值向量;θi表示系统信誉值中第i级的信誉值数据,取值范围为大于0小于等于1,并且
Figure BDA0003920734650000221
中元素按照生序排列;i为循环序列号,取值范围是1,2,3,…,L;
Figure BDA0003920734650000222
表示售卖方的历史信誉值连续向量;Xi表示售卖方的历史信誉值数据。
随后,系统设pi=P(θi-1≤Xk≤θi)为售卖方信誉值位于θi-1和θi之间的概率,并利用pi构成概率向量
Figure BDA0003920734650000223
随后,设历史信誉值累积向量
Figure BDA0003920734650000224
其中,P(·)表示概率函数;k表示循环序列号;Xk表示售卖方第k次的信誉值数据;
Figure BDA0003920734650000225
表示概率数据构成的概率向量;pi表示售卖方第k次的信誉值数据位于θi-1和θi之间的概率;
Figure BDA0003920734650000226
表示历史信誉值累积向量;αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量。
此后,云服务器执行信誉值历史聚合过程,即给概率向量
Figure BDA0003920734650000227
进行建模,具体计算过程如下:
Figure BDA0003920734650000228
其中,
Figure BDA0003920734650000229
表示概率数据构成的概率向量;pi表示售卖方第k次的信誉值数据位于θi-1和θi之间的概率;
Figure BDA00039207346500002210
表示历史信誉值累积向量;αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量;运算符Γ表示数学运算符中的Gamma函数;运算符
Figure BDA00039207346500002211
表示数学运算符中的连乘运算;L表示系统信誉值级数;∑表示数学运算符中的求和运算;
Figure BDA00039207346500002212
表示历史信誉值聚合结果。
步骤5.2:信誉值评估。基于历史信誉值聚合结果,云服务器执行未来信誉值评估。
具体地,首先云服务器计算
Figure BDA00039207346500002213
表示信誉值累计向量元素之和。其中,αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量;随后,云服务器结合系统预先设置的信誉值级别权重向量
Figure BDA00039207346500002214
获取当前售卖方的历史信誉值,具体计算过程如下:
Figure BDA00039207346500002215
其中,
Figure BDA00039207346500002216
表示系统预先设置的信誉值级别权重向量;vi表示信誉值级别θi的权重值;L表示系统信誉值级数;
Figure BDA00039207346500002217
表示售卖方的未来信誉值预测结果。
最后,云服务器记录并更新售卖方的信誉值。

Claims (6)

1.一种基于区块链的隐私保护用户激励方法,其特征在于,包括以下步骤:
步骤1:密钥生成中心生成系统主密钥,为售卖方和购买方生成用户加密密钥,为云服务器生成用户重加密密钥;同时,售卖方和购买方在区块链平台注册账户;
步骤2:售卖方进行数据加密,并将加密之后的数据发送到云服务器,云服务器执行数据重加密;
步骤3:购买方生成任务数据并将加密之后的任务数据上传给云服务器;云服务器执行任务数据重加密、任务匹配和任务数据预处理,并将预处理之后数据返回给购买方,将用户数据质量发送给区块链平台;最后,购买方根据云服务器返回的数据执行知识恢复;
步骤4:区块链平台利用智能合约执行用户激励过程,包括购买方提交支付请求、数据校验和报酬分发;
步骤5:云服务器结合售卖方在历史任务中的数据质量,利用狄利克雷分布来对用户将来任务中的信誉值进行聚合和评估。
2.如权利要求1所述的一种基于区块链的隐私保护用户激励方法,其特征在于,步骤1中,密钥随机生成2个(M+4)×(M+4)维可逆矩阵M1和M2,作为系统主密钥,其中,M1为(M+4)×(M+4)为可逆矩阵,元素实数;M2为(M+4)×(M+4)为可逆矩阵,元素实数;
随后,密钥生成中心随机生成1个(M+4)维向量
Figure FDA0003920734640000011
向量
Figure FDA0003920734640000012
为元素由0或1组成的(M+4)维向量;对用户ui而言,密钥生成中心随机生成2个(M+4)×(M+4)维可逆矩阵Ai,1和Bi,1,并将
Figure FDA0003920734640000013
作为用户的加密密钥;其中,ui表示系统中的用户,i表示当前用户的系统编号;Ai,1为(M+4)×(M+4)维可逆矩阵,元素实数;Bi,1为(M+4)×(M+4)为可逆矩阵,元素实数;
之后u,密钥生成中心计算用户重加密密钥{Ai,2,Bi,2},过程如下:
Figure FDA0003920734640000014
Figure FDA0003920734640000015
其中,Ai,2和Bi,2表示(M+4)×(M+4)为可逆矩阵,元素为实数,并作为用户的重加密密钥;
此后,密钥生成中心将用户加密密钥
Figure FDA0003920734640000016
发送给用户ui,将用户重加密密钥{Ai,2,Bi,2}发送给云服务器;
最后,用户ui在区块链平台中智能合约注册账户Acci,并将Acci作为后续的报酬分发的账户;如果用户是购买方,需要预先在智能合约账户中存储一定的资金用于报酬分发;其中,Acci表示系统中用户ui的智能合约账户;i表示当前用户的系统编号。
3.如权利要求1所述的一种基于区块链的隐私保护用户激励方法,其特征在于,步骤2包括以下步骤:
步骤2.1:售卖方进行数据加密;
售卖方uk首先生成一个M维任务向量
Figure FDA0003920734640000021
其中,k表示当前售卖方的系统编号;M表示任务总数量,即向量维度;
Figure FDA0003920734640000022
表示售卖方产生的任务向量,向量元素维0或1;lk,m(m=1,2,…,M)取值为0或1,0表示当前售卖方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;om(m=1,2,…,M)代表系统中发布的第m个任务;
随后,售卖方生成(M+4)维向量
Figure FDA0003920734640000023
Figure FDA0003920734640000024
其中,lk,m取值为0或者1,0表示当前售卖方对该任务om(m=1,2,…,M)没有兴趣;rk,m表示随机实数;(·)T表示向量转置,即将行向量转换成列向量;
基于售卖方获取的任务数值xk,m(m=1,2,…,M),uk建立2个(M+4)维向量
Figure FDA0003920734640000025
Figure FDA0003920734640000026
其中,xk,m表示售卖方针对任务om(m=1,2,…,M)获取的任务数据,为实数;当lk,m取值为1,ak,m的数值取值为xk,m,当lk,m取值为0,ak,m的数值取值为0;
Figure FDA0003920734640000027
表示数值ak,m的平方之后的数值;rk表示随机实数;(·)T表示向量转置,即将行向量转换成列向量;
然后,对于
Figure FDA0003920734640000028
售卖方将
Figure FDA0003920734640000029
分解为
Figure FDA00039207346400000210
Figure FDA00039207346400000211
两个向量;对于i=0,1,2,…,M+3,分解方式如下:
Figure FDA00039207346400000212
Figure FDA00039207346400000213
其中,
Figure FDA00039207346400000214
表示售卖方生成的3个向量其中的一个向量;i表示循环序列号;
Figure FDA00039207346400000215
表示密钥生成中心分生成的用户加密密钥中的一部分;
Figure FDA00039207346400000216
表示向量
Figure FDA00039207346400000217
分解之后的向量;
Figure FDA00039207346400000218
表示向量
Figure FDA00039207346400000219
分解之后的向量;当
Figure FDA00039207346400000220
Figure FDA00039207346400000221
Figure FDA00039207346400000222
的第i位元素与
Figure FDA00039207346400000223
的第i位元素相等,当
Figure FDA0003920734640000031
随即设置
Figure FDA0003920734640000032
Figure FDA0003920734640000033
的第i位元素的大小使得
Figure FDA0003920734640000034
Figure FDA0003920734640000035
的第i位元素相加之后等于
Figure FDA0003920734640000036
的第i位元素大小;
此后,对于
Figure FDA0003920734640000037
Figure FDA0003920734640000038
分解生成的
Figure FDA0003920734640000039
Figure FDA00039207346400000310
两个向量,售卖方利用用户加密密钥
Figure FDA00039207346400000311
执行数据加密,计算过程如下:
Figure FDA00039207346400000312
其中,
Figure FDA00039207346400000313
表示售卖方生成的3个向量其中的一个向量;
Figure FDA00039207346400000314
表示向量
Figure FDA00039207346400000315
加密之后的结果;
Figure FDA00039207346400000316
表示用户加密密钥中Ak,1的矩阵转置;
Figure FDA00039207346400000317
表示用户加密密钥中Bk,1的矩阵转置;
最后,售卖方将加密之后的数据
Figure FDA00039207346400000318
发送给云服务器,
Figure FDA00039207346400000319
步骤2.2:云服务器数据重加密;
当云服务器接收到来自售卖方uk的密文数据
Figure FDA00039207346400000320
之后,从本地检索获得售卖方uk的重加密密钥{Ak,2,Bk,2},执行数据重加密,计算过程如下:
Figure FDA00039207346400000321
其中,
Figure FDA00039207346400000322
表示密文数据重加密之后的结果,
Figure FDA00039207346400000323
Figure FDA00039207346400000324
表示用户重加密密钥中Ak,2的矩阵转置;
Figure FDA00039207346400000325
表示用户重加密密钥中Bk,2的矩阵转置;
Figure FDA00039207346400000326
表示密文中
Figure FDA00039207346400000327
的计算结果;
Figure FDA00039207346400000328
表示密文中
Figure FDA00039207346400000329
的计算结果。
4.如权利要求1所述的一种基于区块链的隐私保护用户激励方法,其特征在于,步骤3包括以下步骤:
步骤3.1:购买方数据加密;
购买方uj首先生成1个M维任务向量
Figure FDA00039207346400000330
其中,uj代表系统中购买方实体;j表示当前购买方的系统编号;M表示任务总数量,即向量维度;
Figure FDA00039207346400000331
表示购买方产生的任务向量,向量元素维0或者1;lj,m(m=1,2,…,M)取值为0或者1,0表示当前购买方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;om(m=1,2,…,M)代表uj在系统中发布的第m个任务;
随后,购买方uj生成2个(M+4)维向量
Figure FDA00039207346400000332
Figure FDA00039207346400000333
其中,lj,m(m=1,2,…,M)取值为0或者1,0表示当前购买方对该任务om(m=1,2,…,M)没有兴趣,1表示当前售卖方对该任务om(m=1,2,…,M)有兴趣;l′j,m在lj,m等于1的情况该数值为随机数,在lj,m等于0的情况该数值为0;rj,1表示随机实数;(·)T表示向量转置,即将行向量转换成列向量;
此后,购买方uj针对任务om(m=1,2,…,M)生成随机数ym(m=1,2,…,M)作为任务om的初始真值;其中,ym为随机实数,并代表购买方针对任务om生成的初始任务值;随后,购买方uj生成一个(M+4)维向量
Figure FDA0003920734640000041
Figure FDA0003920734640000042
其中,rj,2是一个随机实数;bj,m在lj,m等于1取值为ym,在lj,m等于0时取值为0;
Figure FDA0003920734640000043
购买方uj生成随机数值{zj,m}(m=1,2,…,M),并且随机实数集合{zj,m}满足zj,1=1,
Figure FDA0003920734640000044
其中,max(·)表示最大值函数,返回数据中的最大值;K表示假设的满足任务om的用户的数量;k表示循环序列号;wk表示假设的任务om的用户数据的权重;xk,m表示假设的用户关于任务om的任务数据;Maxj表示购买方uj针对自身所有任务生成的最大任务数据;zj,m表示随机实数;i表示循环序列号;j表示当前购买方的系统编号;l表示循环序列号,循环范围为2,3,4,…,M;
随后,购买方uj生成一个(M+4)维向量
Figure FDA0003920734640000045
Figure FDA0003920734640000046
其中,rj,3为随机实数;cj,m(m=1,2,3,…M)在lj,m(m=1,2,…,M)取值为1是等于zj,m,在lj,m(m=1,2,…,M)取值为0是等于0;lj,m为购买方uj任务兴趣向量中的元素,表示当前购买方对于任务om是否感兴趣;
然后,对于
Figure FDA0003920734640000047
购买方将
Figure FDA0003920734640000048
分解为
Figure FDA0003920734640000049
Figure FDA00039207346400000410
两个向量;对于i=0,1,2,…,M+3,具体分解方式如下:
Figure FDA00039207346400000411
Figure FDA00039207346400000412
其中,
Figure FDA00039207346400000413
表示售卖方生成的4个向量其中的一个向量;i表示循环序列号;
Figure FDA00039207346400000414
表示密钥生成中心分生成的用户加密密钥中的一部分;
Figure FDA00039207346400000415
表示向量
Figure FDA00039207346400000416
分解之后的向量;
Figure FDA00039207346400000417
表示向量
Figure FDA00039207346400000418
分解之后的向量;当
Figure FDA00039207346400000419
Figure FDA00039207346400000420
Figure FDA00039207346400000421
的第i位元素与
Figure FDA00039207346400000422
的第i位元素相等,当
Figure FDA00039207346400000423
随即设置
Figure FDA00039207346400000424
Figure FDA00039207346400000425
的第i位元素的大小使得
Figure FDA00039207346400000426
Figure FDA00039207346400000427
的第i位元素相加之后等于
Figure FDA00039207346400000428
的第i位元素大小;
此后,对于
Figure FDA00039207346400000429
Figure FDA00039207346400000430
分解生成的
Figure FDA00039207346400000431
Figure FDA00039207346400000432
两个向量,购买方uj利用用户加密密钥
Figure FDA00039207346400000433
执行数据加密,计算过程如下:
Figure FDA0003920734640000051
其中,
Figure FDA0003920734640000052
表示售卖方生成的4个向量其中的一个向量;
Figure FDA0003920734640000053
表示向量
Figure FDA0003920734640000054
加密之后的结果;
Figure FDA0003920734640000055
表示用户加密密钥中Aj,1的逆矩阵;
Figure FDA0003920734640000056
表示用户加密密钥中Bj,1的逆矩阵;
最后,购买方针对当前任务生成售卖方信誉值要求reputationj,并将数据
Figure FDA0003920734640000057
发送给云服务器;同时,购买方将当前任务报酬数量Accj,Pay发送给区块链平台;其中,
Figure FDA0003920734640000058
表示购买方加密之后的任务数据;reputationj表示购买方针对当前任务生成的售卖方信誉值要求;rj,2表示购买方在向量
Figure FDA0003920734640000059
中生成的随机实数;rj,1表示购买方在向量
Figure FDA00039207346400000510
中生成的实数;
Figure FDA00039207346400000511
表示购买方针对感兴趣的任务生成的任务初始值的平方;
Figure FDA00039207346400000512
表示任务初始值平方结果的求和;Accj,Pay表示购买方uj针对当前任务付出的报酬数量;
步骤3.2:购买方数据重加密;
云服务器接收到购买方上传的任务数据之后,结合密钥生成中心为购买方uj生成的重加密密钥{Aj,2,Bj,2},执行购买方数据重加密;具体计算过程如下:
Figure FDA00039207346400000513
其中,
Figure FDA00039207346400000514
表示购买方密文数据重加密之后的结果;
Figure FDA00039207346400000515
表示用户重加密密钥中Aj,2的逆矩阵;
Figure FDA00039207346400000516
表示用户重加密密钥中Bj,2的逆矩阵;
Figure FDA00039207346400000517
表示密文中
Figure FDA00039207346400000518
的计算结果;
Figure FDA00039207346400000519
表示密文中
Figure FDA00039207346400000520
的计算结果;
步骤3.3:任务匹配;
云服务器结合购买方uj的任务数据,针对售卖方uk计算:
Figure FDA00039207346400000521
其中,Δj,k表示购买方uj和售卖方uk针对当前任务的匹配结果,如果Δj,k等于0则表示匹配成功,否则匹配失败;
Figure FDA00039207346400000522
表示购买方上传的任务数据中向量
Figure FDA00039207346400000523
重加密结果的逆矩阵,即列向量转换成行向量;
Figure FDA00039207346400000524
表示售卖方上传的任务数据中向量
Figure FDA00039207346400000525
重加密之后的结果;
步骤3.4:任务数据预处理;
云服务器执行完任务匹配之后,将所有匹配成功的售卖方加入任务集合,设任务集合中有n个售卖方;随后,云服务器获取购买方uj的信誉值要求reputationj,从云服务器本地检索任务集合中所有售卖方的信誉值,并执行reputationk≥reputationj的比较,从所有匹配成功的售卖方中选取出满足购买方信誉值要求的售卖方;其中,reputationk表示售卖方uk的信誉值;
随后,云服务器获取售卖方任务数据和任务真值之间的距离Ωk,具体计算过程如下:
Figure FDA0003920734640000061
其中,
Figure FDA0003920734640000062
表示购买方上传的任务数据中向量
Figure FDA0003920734640000063
重加密结果的逆矩阵,即列向量转换成行向量;
Figure FDA0003920734640000064
表示购买方上传的任务数据中向量
Figure FDA0003920734640000065
重加密结果的逆矩阵,即列向量转换成行向量;
Figure FDA0003920734640000066
表示售卖方上传的任务数据中向量
Figure FDA0003920734640000067
重加密之后的结果;
Figure FDA0003920734640000068
表示售卖方上传的任务数据中向量
Figure FDA0003920734640000069
重加密之后的结果;
Figure FDA00039207346400000610
表示购买方uj上传的人物数据中的一部分;
随后,云服务器根据所有售卖方uk距离真值之间的距离Ωk,计算获取每一位售卖方的数据权重,计算过程如下:
Figure FDA00039207346400000611
其中,wk表示售卖方uk的数据权重;log(·)表示对数函数;i表示循环序列号;K表示经过任务匹配和信誉值筛选之后满足购买方任务需求的售卖方的数量;Ωk表示售卖方uk的距离真值之间的距离;
Figure FDA00039207346400000612
表示所有符合条件的售卖方的距离和;
随后,云服务器进一步计算ψ作为当前任务扰动之后的加权知识,计算过程如下:
Figure FDA00039207346400000613
其中,ψ表示当前任务扰动之后的加权知识数据;
Figure FDA00039207346400000614
表示购买方上传的任务数据中向量
Figure FDA00039207346400000615
重加密结果的逆矩阵,即列向量转换成行向量;
Figure FDA00039207346400000616
表示售卖方上传的任务数据中向量
Figure FDA00039207346400000617
重加密之后的结果;k表示循环序列号;K表示经过任务匹配和信誉值筛选之后满足购买方任务需求的售卖方的数量;
Figure FDA00039207346400000618
表示所有售卖方权重之和;
最后,云服务器将
Figure FDA0003920734640000071
发送给购买方,将wk(k=1,2,3,…,K)作为售卖方数据质量发送给区块链平台;
步骤3.5:知识恢复;
购买方uj接收到云服务器返回的
Figure FDA0003920734640000072
之后,首先计算ψM=ψ-rj,3;其中,rj,3表示购买方在向量
Figure FDA0003920734640000073
中生成的随机实数;ψM表示当前任务取出扰动之后的总知识;随后,购买方迭代执行下述计算过程来恢复任务om(m=2,3,4,…,M)的知识,直至两次迭代过程中ym距离小于购买方自身的阈值时停止迭代过程;具体计算过程如下:
Figure FDA0003920734640000074
ψm-1=ψm mod zj,m
其中,ym表示任务om的知识;zj,m表示购买方生成向量
Figure FDA0003920734640000075
过程中使用的随机实数;ψm表示任务om迭代过程中的知识;运算符号mod表示取模符号;
最后,购买方发送知识发现过程结束的反馈给区块链平台,以此作为购买方报酬能够分发的标志。
5.如权利要求1所述的一种基于区块链的隐私保护用户激励方法,其特征在于,步骤4包括以下步骤:
步骤4.1:购买方提交支付请求;
购买方在知识发现过程中会上传一个报酬分发请求,其中包含购买方账户Accj和报酬数量Accj,Pay;区块链平台运行智能合约首先确保购买方账户Accj的有效性;如果账户Accj无效,智能合约会帮助购买方建立一个合法账户;随后,智能合约从购买方上传的数据中获取具体的报酬数据Accj,Pay;其中,Accj表示购买方uj在区块链平台中注册的合法账户;
步骤4.2:数据校验;
区块链平台运行智能合约首先校验购买方支付请求中报酬数量的格式有效性;针对格式有效的数据,进行数据有效性校验,数据有效性校验过程如下:
Payl≤Accj,Pay≤min(ledger(Accj),Payh)
其中,Payl表示系统预定的报酬最小值;Payh表示系统预定的报酬最大值;min(·)表示最小值函数,返回数据集合中的最小值;ledger(·)为账户余额查询函数,返回当前账户Accj的账户余额;
此后,购买方获取当前的时间戳Tj,task作为任务校验成功的时间标识;
步骤4.3:报酬分发;
区块链平台接收到购买方的知识发现成功的反馈之后,结合云服务器上传的售卖方数据质量权重进行报酬分发;一旦知识发现过程开始运行,区块链平台会执行智能合约强制进行报酬分包;
具体地,智能合约首先基于报酬数量Accj,Pay,执行ledger(Accj)=ledger(Accj)-Accj,Pay,从购买方账户中扣除相应资金,同时更新购买方账户状态;其中,ledger(·)为账户余额查询函数,返回当前账户Accj的账户余额;随后,智能合约执行ledger(Acccloud)=ledger(Acccloud)+Rcl来为云服务器分发报酬,Acccloud表示云服务器再区块链平台中的账户,Rcl表示此次任务需要分发给云服务器的报酬数量;
随后,智能合约根据云服务器返回的数据质量权重wk(k=1,2,3,…,K)为售卖方执行报酬分发,分发过程如下;
Figure FDA0003920734640000081
其中,ledger(Acck)表示账户Acck的账户余额;wk表示当前售卖者uk的数据质量权重;Rcl表示此次任务预先分给云服务器的报酬数量;
Figure FDA0003920734640000082
表示此次任务所有符合要求的售卖方的权重之和;
最后,智能合约结合任务时间和权重等信息生成任务记录,并存储此次任务记录。
6.如权利要求1所述的一种基于区块链的隐私保护用户激励方法,其特征在于,步骤5包括以下步骤:
步骤5.1:信誉值聚合;设系统信誉值分为L级,每一级的信誉值分数为
Figure FDA0003920734640000083
Figure FDA0003920734640000084
售卖方uk的的历史信誉值为
Figure FDA0003920734640000085
其中,L表示系统信誉值级数;
Figure FDA0003920734640000086
表示系统信誉值向量;θi表示系统信誉值中第i级的信誉值数据,取值范围为大于0小于等于1,并且
Figure FDA0003920734640000087
中元素按照生序排列;i为循环序列号,取值范围是1,2,3,…,L;
Figure FDA0003920734640000088
表示售卖方的历史信誉值向量;Xi表示售卖方的历史信誉值数据;
随后,系统设pi=P(θi-1≤Xk≤θi)为售卖方信誉值位于θi-1和θi之间的概率,并利用pi构成概率向量
Figure FDA0003920734640000089
随后,设历史信誉值累积向量
Figure FDA0003920734640000091
其中,P(·)表示概率函数;k表示循环序列号;Xk表示售卖方第k次的信誉值数据;
Figure FDA0003920734640000092
表示概率数据构成的概率向量;pi表示售卖方第k次的信誉值数据位于θi-1和θi之间的概率;
Figure FDA0003920734640000093
表示历史信誉值累积向量;αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量;
此后,云服务器执行信誉值历史聚合过程,计算过程如下:
Figure FDA0003920734640000094
其中,
Figure FDA0003920734640000095
表示概率数据构成的概率向量;pi表示售卖方第k次的信誉值数据位于θi-1和θi之间的概率;
Figure FDA0003920734640000096
表示历史信誉值累积向量;αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量;运算符Γ表示数学运算符中的Gamma函数;运算符
Figure FDA00039207346400000912
表示数学运算符中的连乘运算;L表示系统信誉值级数;∑表示数学运算符中的求和运算;
Figure FDA0003920734640000097
表示历史信誉值聚合结果;
步骤5.2:信誉值评估;基于历史信誉值聚合结果,云服务器执行未来信誉值评估;
具体地,首先云服务器计算
Figure FDA0003920734640000098
表示信誉值累计向量元素之和;其中,αi表示售卖方历史任务中信誉值位于θi-1和θi之间的数量;随后,云服务器结合系统预先设置的信誉值级别权重向量
Figure FDA0003920734640000099
获取当前售卖方的历史信誉值,具体计算过程如下:
Figure FDA00039207346400000910
其中,
Figure FDA00039207346400000911
表示系统预先设置的信誉值级别权重向量;vi表示信誉值级别θi的权重值;L表示系统信誉值级数;E[Y]表示售卖方的未来信誉值预测结果;
最后,云服务器记录并更新售卖方的信誉值。
CN202211366648.1A 2022-11-01 2022-11-01 一种基于区块链的隐私保护用户激励方法 Pending CN115714646A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211366648.1A CN115714646A (zh) 2022-11-01 2022-11-01 一种基于区块链的隐私保护用户激励方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211366648.1A CN115714646A (zh) 2022-11-01 2022-11-01 一种基于区块链的隐私保护用户激励方法

Publications (1)

Publication Number Publication Date
CN115714646A true CN115714646A (zh) 2023-02-24

Family

ID=85232035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211366648.1A Pending CN115714646A (zh) 2022-11-01 2022-11-01 一种基于区块链的隐私保护用户激励方法

Country Status (1)

Country Link
CN (1) CN115714646A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254982A (zh) * 2023-11-20 2023-12-19 深圳桑达银络科技有限公司 基于区块链的数字身份验证方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254982A (zh) * 2023-11-20 2023-12-19 深圳桑达银络科技有限公司 基于区块链的数字身份验证方法及系统
CN117254982B (zh) * 2023-11-20 2024-02-23 深圳桑达银络科技有限公司 基于区块链的数字身份验证方法及系统

Similar Documents

Publication Publication Date Title
Kumar et al. A privacy-preserving-based secure framework using blockchain-enabled deep-learning in cooperative intelligent transport system
US11580417B2 (en) System and method for processing data and managing information
CN111160573B (zh) 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN115510494B (zh) 一种基于区块链与联邦学习的多方安全数据共享方法
CN109697365A (zh) 信息处理方法及区块链节点、电子设备
CN112231561B (zh) 数据处理方法、装置、设备及存储介质
Qi et al. A blockchain-enabled federated learning model for privacy preservation: System design
CN109190329A (zh) 证照信息管理方法、系统及区块链节点设备和存储介质
CN113051586B (zh) 联邦建模系统及方法、联邦模型预测方法、介质、设备
Camilo et al. A secure personal-data trading system based on blockchain, trust, and reputation
CN115714646A (zh) 一种基于区块链的隐私保护用户激励方法
CN114930357A (zh) 经由梯度提升的隐私保护机器学习
Xiong et al. A lightweight privacy protection scheme based on user preference in mobile crowdsensing
CN117195972A (zh) 一种基于ckks的密文神经网络构建方法及系统
US20230274183A1 (en) Processing of machine learning modeling data to improve accuracy of categorization
CN113744036A (zh) 一种基于区块链数字签名的量子支票交易方法
Avgerou et al. On the deployment of citizens’ privacy preserving collective intelligent ebusiness models in smart cities
CN117294482A (zh) 基于多方安全隐私计算的数据验证方法和装置
CN116821952A (zh) 基于区块链共识机制的隐私数据计算可追溯系统及方法
Yang et al. Accountable and verifiable secure aggregation for federated learning in IoT networks
Guo et al. B 2 sfl: A bi-level blockchained architecture for secure federated learning-based traffic prediction
Wang et al. Enabling Fairness‐Aware and Privacy‐Preserving for Quality Evaluation in Vehicular Crowdsensing: A Decentralized Approach
CN112995189B (zh) 一种基于隐私保护的公开验证矩阵乘法正确性的方法
CN114547684A (zh) 一种保护隐私数据的多方联合训练树模型的方法及装置
CN113536353A (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