2. 北京市物联网软件与系统工程技术研究中心, 北京 100124;
3. 北京交通大学 电子信息工程学院, 北京 100044;
4. 中国联合网络通信集团公司, 北京 100032
2. Beijing Engineering Research Center for IoT Software and Systems, Beijing 100124, China;
3. School of Electronic and Information Engineering, Beijing Jiaotong University, Beijing 100044, China;
4. China United Network Communications Group Co., Ltd., Beijing 100032, China
开放科学(资源服务)标志码(OSID):
近年来,随着物联网技术[1]的快速发展,越来越多的智能传感设备连接到互联网并部署至车联网[2]、智能家居[3]、智慧城市[4]、智慧医疗[5]、智慧交通[6]等诸多应用领域。通过对以上领域的物联数据进行信息化及数字化处理,并在共享经济浪潮的推动下,助推了物联网数据服务的发展[7]。然而,国家地球系统科学数据中心共享服务平台、地质大数据共享与应用平台、专业移动大数据服务平台等现有的物联网数据服务平台没有系统的信誉评估体系,不能帮助用户从海量的物联网数据服务中直观、精准、快速地检索出高质量数据。同时,物联网数据服务还存在物联网数据分散存储、信誉数据存储管理不安全、集中式存储的数据容易被恶意攻击导致数据泄露或篡改等问题[8-9]。因此,为物联网数据服务构建信誉评估模型,并提供一个不易被攻击、用户隐私防泄露、高效数据筛选等功能的信誉数据管理系统模型是十分必要的。
区块链[10-12]的本质是一种去中心化的分布式数据库,核心优势是运用分布式共识、数据加密、经济激励、时间戳、数字签名和密码学等技术对传统的中心化体系进行了颠覆。运用区块链技术对信誉值、评价数据等进行维护,可以很好地保障信誉数据的安全可信性。同时,区块链的分布式、集体维护等特性也可以很好地为集中式架构的数据服务平台提供解决方案。
CHAI等[13]在车联网中构建声誉证明模型,信誉值表示参与车辆的可信度,并将共识机制和资源共享过程相结合,实现了在车联网中降低计算功耗并激励参与资源共享车辆的功能。KHAQQI等[14]建立一种新的工业4.0集成定制的排放交易体系(Emissions Trading Scheme,ETS)模型,结合区块链技术解决ETS的欺诈和管理问题,并利用声誉代表参与者的绩效和对减排所做出的努力,提高了ETS的效率。LU等[15]针对车联网中防止内部车辆广播伪造消息,同时保护车辆免受跟踪攻击,提出基于区块链的匿名信誉系统(BARS)。基于扩展区块链技术的存在和缺席证明有效地保护了车辆隐私。为防止伪造消息的分发,设计一种依赖于直接历史交互和对车辆间接评价的信誉评估算法。HUANG等[16]针对传统支付系统中的安全、高吞吐量问题,利用分片技术和信誉机制,并结合区块链技术提出RepChain解决方案。该方案利用信誉明确表征验证者之间的异质性并将其作为激励机制的基础,同时构建交易链和信誉链结构,保证了支付系统的全面性和安全性。
上述研究工作都是在集中式的系统架构中针对特定场景下系统机制的改进,通过信誉数据管理系统模型表明参与者之间的异质性,但并未阐述如何构建物联网数据服务信誉评估体系,且未解决由于第三方的参与所导致的数据泄露、单点失效、数据篡改等安全性问题。本文基于区块链技术,设计与实现物联网数据服务信誉评估模型,阐述与分析物联网数据服务信誉数据管理模型中的关键机制与相关算法。
1 物联网数据服务信誉评估模型本节总结了物联网数据服务信誉评估指标体系构建原则,通过层次分析法(Analytic Hierarchy Process,AHP)[17]进行信誉评估指标权重分析和计算,并对数据服务提供商的信誉计算方式进行详细介绍,进而构建物联网数据服务信誉评估模型。
1.1 物联网数据服务信誉评估指标体系构建原则著名管理学家彼得·德鲁克提出:在组织指标的设定过程中可以遵守smart原则,也就是确定性、可实现性、时效性、可衡量性、现实性5个原则[18]。综合其他构建原则,本文构建原则遵循目的性、独立性、导向性、动态性、时效性、规范性、完整性、准确性、一致性和可访问性。
1.2 物联网数据服务信誉评估指标体系设计在以上构建原则的基础上,结合物联网数据特点,在新一代物联网技术[19]背景下,通过结合信誉评价、企业评价、电子商务评价等领域的研究成果[20-21],抽取物联网数据的共性进行分析和处理,再根据AHP构建如图 1所示的评价指标层次结构,其中A、B、C表示层级关系。
![]() |
Download:
|
图 1 评价指标层次结构 Fig. 1 Evaluation index hierarchy structure |
自目标层开始,自上而下依次以上一层元素为依据,对下一层与之相关的元素进行两两比较,规则如图 2所示。每两两准则层相对于目标层的重要程度会根据表 1进行赋值,赋值后构建如表 2所示的矩阵。
![]() |
Download:
|
图 2 矩阵判断规则 Fig. 2 Matrix judgment rule |
![]() |
下载CSV 表 1 相对重要性比例标度 Table 1 Ratio scale of relative importance |
![]() |
下载CSV 表 2 判断矩阵 Table 2 Judgment matrix |
根据规则形成判断矩阵[Bij]m×m,m为矩阵阶数,具有如下性质:
1)Bij > 0(i,j=1,2,…,m),即判断矩阵中的任一元素都为正数。
2)Bij=1(i=1,2,…,m),即判断矩阵中对角线元素为1。
3)Bij=1/Bji,即判断矩阵中非对角线上的元素互为倒数。
根据定义,本文针对图 1层次结构,构造的判断矩阵分别有A、B1、B2、B3、B4、B5,由于篇幅限制,下面仅以判断矩阵A进行举例说明:
$ \boldsymbol{A} = \left[ {\begin{array}{*{20}{c}} 1&{2.3}&{1/2.3}&{2.9}&3\\ {1/2.3}&1&{1/3.9}&4&{3.5}\\ 3&{3.9}&1&{3.8}&{3.9}\\ {1/2.9}&{1/4}&{1/3.8}&1&{2.4}\\ {1/3}&{1/3.5}&{1/3.9}&{1/2.4}&1 \end{array}} \right] $ |
判断矩阵是通过决策者或者专家根据经验和自身知识进行主观性判断得出的,需依次对判断矩阵进行一致性检验。
根据矩阵论定义,当判断矩阵具有一致性时,矩阵的阶数和最大特征值相等,即满足式(1),而其余的特征值都为0。
$ {\lambda _{{\rm{max}}}} = m $ | (1) |
其中:λmax表示判断矩阵的最大特征值;m表示阶数。
当判断矩阵不具有一致性时,不满足式(1)。CI表示度量判断矩阵偏离一致性的指标,计算公式如下:
$ {C_{{\rm{CI}}}} = \frac{{{\lambda _{{\rm{max}}}} - m}}{{m - 1}} $ | (2) |
根据式(2)可知:当λmax=m时,CI值为0,表示矩阵完全一致;CI值与0的差值越大,表明判断矩阵的一致性越差。
通常而言,判断矩阵阶数越高,保持判断矩阵完全一致性的难度也随之增加。为了检验判断矩阵的一致性,引入随机一致性比率(CR)表征不同阶数的判断矩阵的一致性情况,如式(3)所示:
$ {C_{{\rm{CR}}}} = \frac{{{C_{{\rm{CI}}}}}}{{{R_{{\rm{RI}}}}}} $ | (3) |
1~10阶判断矩阵的同阶平均随机一致性指标(RI)值如表 3所示。
![]() |
下载CSV 表 3 1~10阶判断矩阵RI值 Table 3 RI values of judgment matrix of order 1~10 |
当满足CR < 0.1条件时,判断矩阵可以看作具有满意一致性;否则,需要重新调整判断矩阵,直到满足以上条件要求为止。判断矩阵A的特征向量和特征值构成的矩阵VA和矩阵DA如下:
$ {\boldsymbol{V}_\boldsymbol{A}} = \left[ {\begin{array}{*{20}{r}} {0.420{\rm{}}5 + 0.000{\rm{}}0i}&{ - 0.219{\rm{}}1 - 0.303{\rm{}}7i}&{ - 0.219{\rm{}}1 - 0.303{\rm{}}7i}\\ {0.329{\rm{}}8 + 0.000{\rm{}}0i}&{0.261{\rm{}}4 - 0.285{\rm{}}0i}&{0.261{\rm{}}4 - 0.285{\rm{}}0i}\\ {0.821{\rm{}}0 + 0.000{\rm{}}0i}&{ - 0.817{\rm{}}8 + 0.000{\rm{}}0i}&{ - 0.817{\rm{}}8 + 0.000{\rm{}}0i}\\ {0.163{\rm{}}7 + 0.000{\rm{}}0i}&{0.134{\rm{}}5 + 0.096{\rm{}}5i}&{0.134{\rm{}}5 + 0.096{\rm{}}5i}\\ {0.116{\rm{}}3 + 0.000{\rm{}}0i}&{ - 0.019{\rm{}}7 + 0.116{\rm{}}5i}&{ - 0.019{\rm{}}7 + 0.116{\rm{}}5i} \end{array}\;\;\;\;\begin{array}{*{20}{r}} { - 0.418{\rm{}}8 + 0.391{\rm{}}5i}&{ - 0.418{\rm{}}8 + 0.391{\rm{}}5i}\\ {0.122{\rm{}}7 - 0.302{\rm{}}8i}&{0.122{\rm{}}7 - 0.302{\rm{}}8i}\\ {0.729{\rm{}}3 + 0.000{\rm{}}0i}&{0.729{\rm{}}3 + 0.000{\rm{}}0i}\\ {0.030{\rm{}}6 + 0.139{\rm{}}1i}&{0.030{\rm{}}6 + 0.139{\rm{}}1i}\\ { - 0.060{\rm{}}8 - 0.093{\rm{}}4i}&{ - 0.060{\rm{}}8 - 0.093{\rm{}}4i} \end{array}} \right] $ |
$ {\boldsymbol{D}_\boldsymbol{A}} = \left[ {\begin{array}{*{20}{r}} {5.413{\rm{}}1 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}\\ {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{{\rm{}}0.026{\rm{}}1 + 1.469{\rm{}}2i}&{{\rm{}}0.000{\rm{}}0 + 0.000{\rm{}}0i}\\ {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.026{\rm{}}1 - 1.469{\rm{}}2i}\\ {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}\\ {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i} \end{array}\begin{array}{*{20}{r}} {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}\\ {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}\\ {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}\\ {{\rm{}} - 0.232{\rm{}}6 + 0.216{\rm{}}5i}&{0.000{\rm{}}0 + 0.000{\rm{}}0i}\\ {0.000{\rm{}}0 + 0.000{\rm{}}0i}&{ - 0.232{\rm{}}6 - 0.216{\rm{}}5i} \end{array}} \right] $ |
从计算结果可查得,λmax=5.413 1,m=5,查表可知5阶矩阵RRI=1.12,得到:
$ {C_{{\rm{CI}}}} = \frac{{{\lambda _{{\rm{max}}}} - m}}{{m - 1}} = \frac{{5.413{\rm{}}1 - 5}}{{5 - 1}} = 0.103{\rm{}}3 $ |
$ {C_{{\rm{CR}}}} = \frac{{{C_{{\rm{CI}}}}}}{{{R_{{\rm{RI}}}}}} = \frac{{0.103{\rm{}}3}}{{1.12}} = 0.092{\rm{}}2 $ |
因为CCR=0.092 2 < 0.1,所以判断矩阵A具有满意一致性。剩余判断矩阵同理。
1.2.3 层次单排序对目标层以外的每层元素分别计算相对权重,即对每个判断矩阵分别计算出最大特征根和特征向量。特征值矩阵对角线上的元素为特征根,其余元素都为0。分别对特征向量矩阵相对于特征值矩阵中最大特征根这列元素进行归一化处理,结果即每个元素对应上层的权重数值。经归一化处理后,权重Wi(i=A,B1,B2,B3,B4,B5)表示如下:
WA=0.227 1,0.178 1,0.443 5,0.088 4,0.062 8
WB1=0.175 3,0.140 2,0.058 3,0.089 6,0.047 3,0.072 2,0.196 1,0.038 5,0.151 1,0.031 4
WB2=0.242 1,0.165 4,0.340 7,0.115 9,0.081 1,0.054 8
WB3=0.165 3,0.086 7,0.335 0,0.086 8,0.234 4,0.091 8
WB4=0.215 5,0.296 0,0.047 9,0.122 4,0.163 4,0.087 8,0.066 9
WB5=0.260 7,0.097 5,0.424 3,0.061 0,0.156 5
1.2.4 信誉值评估计算通过惩罚机制和奖励机制进行信誉评估。奖励机制具有2种行为:1)用户诚实积极地发布数据;2)当发现有用户提供虚假数据时,向群管理员(LEA)发送揭发消息。惩罚机制也具有2种行为:1)用户被揭发有提供虚假数据的行为;2)用户故意给他人做出恶意评论的行为。信誉值分为点对点信誉值和综合信誉值。
定义1 点对点信誉值表示节点i、j通过直接交互进行数据评价后得出的评价分数,用PRijk表示,如式(4)所示:
$ {\rm{PR}}_{ij}^k = \mathop \sum \limits_{{\rm{index}} = 1}^n {X_{{\rm{index}}}} \times {W_{{\rm{index}}}} $ | (4) |
其中:k表示i、j的第k次交互;W表示权重;X表示指标评分;n表示评价指标总数。
定义2 综合信誉值是指将系统中所有与节点i的点对点信誉值进行整合,用CRi表示。为了表示节点i与节点j进行多次交互后的总点对点信誉值,引入变量PRijT,其中T表示节点i与j的总交互次数。当j认为i的第k次交互的数据不可信且向LEA申诉为真时,设PRijk=0;当j认为i的第k次交互的数据可信时,根据数据质量的满意程度设PRijk∈(0,1]。PRijT的计算公式如式(5)所示:
$ {\rm{PR}}_{ij}^T = \left\{ {\begin{array}{*{20}{l}} {\beta {\rm{PR}}_{ij}^T, {\rm{PR}}_{ij}^k = 0}\\ {\alpha {\rm{PR}}_{ij}^T + \left( {1 - \alpha } \right){\rm{PR}}_{ij}^k \times V_{ij}^k, {\rm{PR}}_{ij}^k \ne 0} \end{array}} \right. $ | (5) |
其中:β为惩罚因子,取值范围为(0,1),当i与j的第k次交易不可信时,总信誉与β相乘,β越小,惩罚力度越大;α为数据可信时的影响因子,取值范围为(0,1],α越小,说明第k次交易在整体信誉值中的影响越大;Vijk为节点i对节点j的第k次交易的数据价值量。
算法1 信誉值计算算法
1.switch(MG){
2.case 1:
3.for each Pi do
4.
//节点之间正常进行数据交互
5.end for
6.break
7.case 2:
8.Result = LEA.Arbitrament(MG)//被认定为恶意用户
9.if(Result==True){THEN
10.for each Pi do
11.
12.
13.end for}
14.default:
15.print wrong message}
16.return CRi,CRj//返回节点i,j的最新信誉值
17.if(CR≤0)
18.hideSign=1;//最新信誉值小于0,隐藏标志置1,检索//时不显示该用户
在算法1中:MG表示节点Pj(j=1,2,…,n)对节点Pi的行为消息级别;CRi'、CRj'表示节点i、j的当前综合信誉值;CRi、CRj表示节点i、j重新计算后的最新信誉值;α、β、δ为相关系数。
2 信誉数据管理系统模型和关键机制 2.1 信誉数据管理系统模型基于区块链的物联网数据服务信誉数据管理系统模型包括节点和基于以太坊的物联网数据服务平台两部分。如图 3所示,节点又分为数据拥有者(以下简称DO)和数据请求者(以下简称DR)。DR是指对物联网数据有极大需求的互联网企业、厂商、研究机构等;DO是指持有数据所有权并可以对数据进行权限管理的企业、个体、机构等。
![]() |
Download:
|
图 3 基于区块链的物联网数据服务信誉管理模型 Fig. 3 IoT data service reputation management model based on blockchain |
在该模型中,DR和DO两个角色之间可以相互转化,每个角色的初始信誉值为0。信息流从DO在平台上发布数据开始,参与者可以在平台上进行数据订阅、数据检索、查看用户信誉值、数据评价等相关信息,根据用户信誉值择优进行数据请求、权限交互、数据评价等服务,最终所有的交易关键信息都会保存到区块链中,从而保证了交易数据和评价信息的可靠性,为物联网数据服务信誉数据管理营造了可信良好的环境。
2.2 信誉数据管理解决方案现有的集中式物联网服务信誉数据管理模型(如图 4所示)虽然在进行数据维护和管理上操作性较强,但存在数据存储性能瓶颈问题,且当受到恶意攻击时,容易造成用户隐私泄露、单点故障、数据篡改等问题。
![]() |
Download:
|
图 4 集中式物联网数据服务信誉管理模型 Fig. 4 Centralized IoT data service reputation management model |
结合星际文件系统(Interplanetary File System,IPFS)[22]提出基于区块链的物联网数据服务信誉连接模型,如图 5所示。该模型去除了第三方,将信誉数据和数据源管理分隔开,数据提供商将数据传入IPFS网络,返回对应hash值。在数据发布时,将数据存入区块链网络进行广播。用户在区块链网络中检索、请求数据时,会进行数据权限交互,用户可使用令牌和公示的数据hash值从IPFS网络中获取相应数据。在交易后,用户可对该数据进行数据质量评价。系统根据评价结果进行信誉值动态更新调整并广播公示,其中涉及的评价信息、信誉值等信誉数据都存储到链上,保证了信誉数据的安全可信性。IPFS可以防止区块链网络数据冗余,降低区块链节点的数据备份空间和计算成本,缩短交易时间,提高共识效率。
![]() |
Download:
|
图 5 基于区块链和IPFS的物联网数据服务信誉连接模型 Fig. 5 IoT data service reputation connection model based on blockchain and IPFS |
在物联网数据服务平台进行数据评价时,为了防止恶意用户利用用户隐私数据进行打击报复或恶意破坏的行为,本文采用环签名技术,实现数据评价签名者对评价消息的完全匿名。在签名时不需要成员之间的合作,任何一个成员都可以使用自己的私钥和环中所有用户的公钥进行数据签名。用户只知道该签名来自该环,但不能确定来自环中的哪个签名者。
算法2 环签名生成算法
输入 待签名消息m、形成环的节点公钥集合L={Pi}(i=1,2,…,n)、签名者私钥Ss
输出 消息环签名σ
1.k=hash(m);
2.v=Random(0,1);//随机选取一个0~1的初始值v
3.double[] X,Y;
4.for(int i=1;i < L.length;i++)THEN
5.if(i≠s)do
6.X[i]= Random(0,1);
7.End for //签名者为其他环成员随机选择n-1个0~1的//值xi
8.for(int j=1;j < L.length;j++)THEN
9.Y[j]=gi(X[j]);
10.End for//计算得出yi
11.
12.output:
算法3 环签名验证算法
1.计算
2.计算k=hash(m);
3.if(
4.return true;//验证通过
5.else
6.return false;//验证失败
2.3.2 基于区块链和Redis的信誉数据缓存机制为提高查询速度,引入Redis缓存技术。由图 6可以看出,用户在平台中进行信誉数据访问时,平台先从Redis中根据参数进行信誉数据查找,若有则直接返回,否则从区块链中进行查询,查询到信誉数据返回平台,并同时写入Redis中进行备份,为下次访问做准备,具体流程如图 7所示。
![]() |
Download:
|
图 6 基于区块链和Redis的信誉数据缓存流程 Fig. 6 Procedure of reputation data caching based on blockchain and Redis |
![]() |
Download:
|
图 7 基于区块链和Redis的信誉数据更新流程 Fig. 7 Procedure of reputation data update based on blockchain and Redis |
本节设计基于以太坊的物联网数据服务信誉评估原型系统,介绍原型系统的主要功能模块、实现细节,并对系统功能性进行测试验证。
3.1 基于以太坊的信誉评估原型系统模块设计基于以太坊的物联网数据服务信誉评估原型系统的功能架构如图 8所示。
![]() |
Download:
|
图 8 基于以太坊的物联网数据服务信誉评估原型系统的功能架构 Fig. 8 Functional architecture of prototype system of IoT data service reputation evaluation based on Ethereum |
基于以太坊的物联网数据服务信誉评估原型系统的功能模块具体如下:
1)账户管理模块
该模块由创建账户、注册账户、账户管理组成。采用区块链的非对称加密技术创建账户,通过智能合约进行信誉计算、更新等逻辑功能的实现。
2)数据管理模块
该模块主要含有数据上传、数据请求、数据访问权限控制、数据查询4个主要功能模块。在数据上传时,用户将数据以文档的形式上传到IPFS中,以返回的hash值作为参数调用数据上传接口,返回数据基本信息填写界面,完成信息填写后,再调用数据上传合约存入区块链网络中。在数据请求时,可请求平台不存在的数据集,DO会进行权限审核,审核通过后,DR会收到数据hash地址,DR可使用hash地址从IPFS网络中获取数据集。在数据查询时,可根据数据名称或数据类型进行精确查找和分类型查找。数据管理关系时序图如图 9所示。
![]() |
Download:
|
图 9 数据管理关系时序图 Fig. 9 Data management relationship sequence diagram |
3)权限管理模块
结合区块链技术,设计的物联网数据服务访问控制流程具体如下:
(1)数据采集完成后,数据源向DO发送最新数据集标签,包含数据名称、数据类型、数据大小、IPFS hash地址和数据访问路径。
(2)DO在区块链网络中发布数据信息。
(3)DR通过平台向DO进行数据请求。
(4)DO接收到请求者的请求后会对其进行审核,然后将数据访问标签发送给DR,访问标签包含数据集hash地址、访问路径和查询方式。
(5)DR收到数据访问标签后可以直接从数据源处获取数据集信息。
(6)DR对数据源的操作结束后,数据源会将信息反馈给DO并进行数据操作记录。
物联网数据服务访问控制流程如图 10所示。
![]() |
Download:
|
图 10 物联网数据服务访问控制流程 Fig. 10 Procedure of IoT data service access control |
4)信誉评估模块
数据服务信誉评估模块包括数据质量评价、信誉信息查询、信誉信息更新功能模块。在交易完成后,DR都会根据数据集的不同维度进行评价,评价信息可对DO提供一个有利的反馈信息,用于改善数据质量,同时还会根据上文计算出的指标权重对本次交易进行信誉计算,用于标注该用户的可信程度。
3.2 原型系统实现 3.2.1 系统架构基于以太坊的物联网数据服务原型系统的分层架构如图 11所示。表现层采用HTML5、Bootstrap等前端技术实现人机交互界面,更好地展现不同的服务。服务层采用SSM(SpringMVC+Spring+Mybatis)框架和Web3.js将合约所提供的接口进行封装,整合为不同的服务接口。合约层采用Solidity智能合约语言实现各个合约逻辑功能。区块链层采用以太坊私有链区块链平台。在数据存储层中采用IPFS、Mysql和Redis数据库存储大型文件、平台相关信息和不经常变更且高频率访问的数据。
![]() |
Download:
|
图 11 基于以太坊的物联网数据服务原型系统的分层架构 Fig. 11 Layered architecture of Ethereum-based IoT data service prototype system |
约定合约下半区表示功能函数,上半区表示全局变量,-为个人可见的私有变量,+为所有账户可见的公有变量,#表示需要特定权限才能进行调用。关键合约具体如下:
1)物联网数据服务管理主合约。该合约负责将系统中所有合约功能接口整合封装,提供更加简洁的接口调用,如图 12所示。
![]() |
Download:
|
图 12 物联网数据服务管理主合约 Fig. 12 IoT data service management main contract |
2)用户注册合约。该合约具有用户注册、用户信息记录、用户信誉值初始计算等功能,如图 13所示。
![]() |
Download:
|
图 13 用户注册合约 Fig. 13 User register contract |
3)数据合约。该合约存储数据名称、数据类型、访问路由、提供者等信息,如图 14所示。
![]() |
Download:
|
图 14 数据合约 Fig. 14 Data contract |
4)信誉管理合约。该合约具有信誉值计算、数据服务评价、修改评价记录、叛徒追踪等功能,如图 15所示。
![]() |
Download:
|
图 15 信誉管理合约 Fig. 15 Reputation management contract |
新的以太坊节点加入到区块链网络中都会自动备份所有交易数据,与其他节点共同参与整个网络数据的维护。在共识过程中节点需要进行挖矿,节点挖矿速度如图 16所示。
![]() |
Download:
|
图 16 节点挖矿速度 Fig. 16 Node mining speed |
为验证本文提出的信誉评估模型的有效性和正确性,实验场景设置为4个节点在200 min内分别执行不同行为。如图 17所示,对4个节点的初始信誉值设为50。在T1到T2、T3到T4时间段内,节点A、B、C、D通过积极地进行数据服务,从而使得它们的信誉评分都有所增长。在T2到T3时间段内:节点A通过大量的共享真实数据,使得信誉得分显著增加;节点B共享虚假信息的行为被节点C举报,并被LEA仲裁结果为真,从而节点B的得分急剧下降,节点C也相应得到奖励;节点D被LEA仲裁为故意诽谤其他节点,所以进行相应的处罚。在T4到T5时间段内,节点C正常分享数据,节点B被节点A举报恶意进行数据评价并被仲裁为真,节点D又被仲裁为恶意诽谤并进行了相应的奖惩。实验结果验证了该信誉评估模型的有效性。
![]() |
Download:
|
图 17 信誉值计算验证 Fig. 17 Reputation value calculation verification |
为验证信誉数据的响应速度,将本文模型与基于集中式信誉管理系统的淘宝、京东平台进行响应速度比较,如图 18所示。由图 18可以看出,本文模型的第一次信誉请求时间较长是因为第一次请求是从区块链中取值,后续会从Redis中取值,并且对信誉数据的请求处理速度与主流平台具有可比性。
![]() |
Download:
|
图 18 信誉数据请求响应时间对比 Fig. 18 Comparison of reputation data request response time |
本文设计基于区块链的物联网数据服务信誉评估模型,用户通过向物联网数据服务平台上传物联网数据源或者检索数据,根据数据提供者自身信誉或数据评价记录进行数据筛选,并利用访问控制进行数据权限的交互。在交互完成后进行数据质量评价,采用环签名技术保证评价真实性并隐藏用户个人信息。同时,利用IPFS解决了数据冗余和存储性能瓶颈的问题,通过Redis提升了区块链数据检索速度。测试结果表明,该模型能够有效进行物联网数据评估,并在分布式环境中保证了系统安全性和鲁棒性。下一步将优化物联网数据服务信誉评估模型的系统结构,并引入自然语言处理技术,对数据评价进行自动识别,提升信誉评估维度。
[1] |
GUBBI J, BUYYA R, MARUSIC S, et al. Internet of Things(IoT): a vision, architectural elements, and future directions[J]. Future Generation Computer Systems, 2013, 29(7): 1645-1660. DOI:10.1016/j.future.2013.01.010 |
[2] |
YANG Z, ZHENG K, YANG K, et al. A blockchain-based reputation system for data credibility assessment in vehicular networks[C]//Proceedings of the 28th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications. Washington D.C., USA: IEEE Press, 2017: 1-5.
|
[3] |
DA PONTE F R P, GOMES R L, CELESTINO J, et al. IoT device programmable language customization for home automation[C]//Proceedings of 2018 IEEE Symposium on Computers and Communications. Washington D.C., USA: IEEE Press, 2018: 168-173.
|
[4] |
MOHAMMADI M, AL-FUQAHA A, GUIZANI M, et al. Semisupervised deep reinforcement learning in support of IoT and smart city services[J]. IEEE Internet of Things Journal, 2018, 5(2): 624-635. DOI:10.1109/JIOT.2017.2712560 |
[5] |
何国平, 章笠中, 何前锋. 智慧医疗及医疗物联网应用概述[J]. 电信网技术, 2013(8): 19-26. HE G P, ZHANG L Z, HE Q F. Overview of medical wisdom and IoT application[J]. Telecommunications Network Technology, 2013(8): 19-26. (in Chinese) |
[6] |
张国伍. 智能交通物联网与综合交通信息服务[J]. 交通运输系统工程与信息, 2013, 13(2): 1-8. ZHANG G W. IOT-based intelligent transportation systems and the integrated transport information service[J]. Journal of Transportation Systems Engineering and Information Technology, 2013, 13(2): 1-8. (in Chinese) |
[7] |
BHATTACHARJEE A, BARVE Y, KHARE S, et al. STRATUM: a big data-as-a-service for lifecycle management of IoT analytics applications[C]//Proceedings of 2019 IEEE International Conference on Big Data. Washington D.C., USA: IEEE Press, 2019: 1607-1612.
|
[8] |
LIU Q, WANG G J, LI F, et al. Preserving privacy with probabilistic indistinguishability in weighted social networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2017, 28(5): 1417-1429. DOI:10.1109/TPDS.2016.2615020 |
[9] |
NITTI M, GIRAU R, ATZORI L. Trustworthiness management in the social Internet of Things[J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 26(5): 1253-1266. DOI:10.1109/TKDE.2013.105 |
[10] |
IKEDA K. qBitcoin: a peer-to-peer quantum cash system[EB/OL]. [2020-09-18].
https://arxiv.org/abs/1708.04955.
|
[11] |
袁勇, 王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4): 481-494. YUAN Y, WANG F Y. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494. (in Chinese) |
[12] |
张亮, 刘百祥, 张如意, 等. 区块链技术综述[J]. 计算机工程, 2019, 45(5): 1-12. ZHANG L, LIU B X, ZHANG R Y, et al. Overview of blockchain technology[J]. Computer Engineering, 2019, 45(5): 1-12. (in Chinese) |
[13] |
CHAI H Y, LENG S P, ZHANG K, et al. Proof-of-reputation based-consortium blockchain for trust resource sharing in Internet of Vehicles[J]. IEEE Access, 2019, 7: 175744-175757. DOI:10.1109/ACCESS.2019.2956955 |
[14] |
KHAQQI K N, SIKORSKI J J, HADINOTO K, et al. Incorporating seller/buyer reputation-based system in blockchain-enabled emission trading application[J]. Applied Energy, 2018, 209: 8-19. DOI:10.1016/j.apenergy.2017.10.070 |
[15] |
LU Z J, WANG Q, QU G, et al. BARS: a blockchain-based anonymous reputation system for trust management in VANETs[C]//Proceedings of the 17th IEEE International Conference on Trust, Security and Privacy in Computing and Communications/12th IEEE International Conference on Big Data Science and Engineering. Washington D.C., USA: IEEE Press, 2018: 98-103.
|
[16] |
HUANG C Y, WANG Z Y, CHEN H X, et al. RepChain: a reputation-based secure, fast, and high incentive blockchain system via sharing[J]. IEEE Internet of Things Journal, 2021, 8(6): 4291-4304. DOI:10.1109/JIOT.2020.3028449 |
[17] |
郭金玉, 张忠彬, 孙庆云. 层次分析法的研究与应用[J]. 中国安全科学学报, 2008, 18(5): 148-153. GUO J Y, ZHANG Z B, SUN Q Y. Study and applications of analytic hierarchy process[J]. China Safety Science Journal, 2008, 18(5): 148-153. (in Chinese) |
[18] |
彭张林, 张爱萍, 王素凤, 等. 综合评价指标体系的设计原则与构建流程[J]. 科研管理, 2017, 38(S1): 209-215. PENG Z L, ZHANG A P, WANG S F, et al. Designing principles and constructing processes of the comprehensive evaluation indicator system[J]. Science Research Management, 2017, 38(S1): 209-215. (in Chinese) |
[19] |
张江徽, 崔波, 李茹, 等. 基于智能合约的物联网访问控制系统[J]. 计算机工程, 2021, 47(4): 21-31. ZHANG J H, CUI B, LI R, et al. Access control system of Internet of Things based on smart contract[J]. Computer Engineering, 2021, 47(4): 21-31. (in Chinese) |
[20] |
ANDROULAKI E, CHOI S G, BELLOVIN S M, et al. Reputation systems for anonymous networks[M]//BORISOV N, GOLDBERG I. Privacy enhancing technologies. Berlin, Germany: Springer, 2008: 202-218.
|
[21] |
赵晶, 朱镇, 王飞, 等. 基于过程的企业电子商务绩效评价模型[J]. 管理工程学报, 2010, 24(1): 17-24. ZHAO J, ZHU Z, WANG F, et al. The model for evaluating E-business performance based on value-creation process[J]. Journal of Industrial Engineering and Engineering Management, 2010, 24(1): 17-24. (in Chinese) |
[22] |
BENET J. IPFS-content addressed, versioned, P2P file system[EB/OL]. [2020-09-18].
https://arxiv.org/abs/1407.3561.
|