基于区块链的物联网数据服务信誉评估模型

2022-01-14 03:01黄志清解鲁阳张严心尹泽明
计算机工程 2022年1期
关键词:数据服务信誉区块

黄志清,解鲁阳,张严心,尹泽明

(1.北京工业大学信息学部,北京 100124;2.北京市物联网软件与系统工程技术研究中心,北京 100124;3.北京交通大学电子信息工程学院,北京 100044;4.中国联合网络通信集团公司,北京 100032)

0 概述

近年来,随着物联网技术[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 表示层级关系。

图1 评价指标层次结构Fig.1 Evaluation index hierarchy structure

1.2.1 判断矩阵建立

自目标层开始,自上而下依次以上一层元素为依据,对下一层与之相关的元素进行两两比较,规则如图2所示。每两两准则层相对于目标层的重要程度会根据表1 进行赋值,赋值后构建如表2 所示的矩阵。

图2 矩阵判断规则Fig.2 Matrix judgment rule

表1 相对重要性比例标度Table 1 Ratio scale of relative importance

表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进行举例说明:

1.2.2 一致性检验

判断矩阵是通过决策者或者专家根据经验和自身知识进行主观性判断得出的,需依次对判断矩阵进行一致性检验。

根据矩阵论定义,当判断矩阵具有一致性时,矩阵的阶数和最大特征值相等,即满足式(1),而其余的特征值都为0。

其中:λmax表示判断矩阵的最大特征值;m表示阶数。

当判断矩阵不具有一致性时,不满足式(1)。CI表示度量判断矩阵偏离一致性的指标,计算公式如下:

根据式(2)可知:当λmax=m时,CI值为0,表示矩阵完全一致;CI值与0的差值越大,表明判断矩阵的一致性越差。

通常而言,判断矩阵阶数越高,保持判断矩阵完全一致性的难度也随之增加。为了检验判断矩阵的一致性,引入随机一致性比率(CR)表征不同阶数的判断矩阵的一致性情况,如式(3)所示:

1~10 阶判断矩阵的同阶平均随机一致性指标(RI)值如表3 所示。

表3 1~10 阶判断矩阵RI 值Table 3 RI values of judgment matrix of order 1~10

当满足CR<0.1 条件时,判断矩阵可以看作具有满意一致性;否则,需要重新调整判断矩阵,直到满足以上条件要求为止。判断矩阵A的特征向量和特征值构成的矩阵VA和矩阵DA如下:

从计算结果可查得,λmax=5.413 1,m=5,查表可知5 阶矩阵RRI=1.12,得到:

因为CCR=0.092 2<0.1,所以判断矩阵A具有满意一致性。剩余判断矩阵同理。

1.2.3 层次单排序

对目标层以外的每层元素分别计算相对权重,即对每个判断矩阵分别计算出最大特征根和特征向量。特征值矩阵对角线上的元素为特征根,其余元素都为0。分别对特征向量矩阵相对于特征值矩阵中最大特征根这列元素进行归一化处理,结果即每个元素对应上层的权重数值。经归一化处理后,权重Wi(i=A,B1,B2,B3,B4,B5)表示如下:

1.2.4 信誉值评估计算

通过惩罚机制和奖励机制进行信誉评估。奖励机制具有2 种行为:1)用户诚实积极地发布数据;2)当发现有用户提供虚假数据时,向群管理员(LEA)发送揭发消息。惩罚机制也具有2 种行为:1)用户被揭发有提供虚假数据的行为;2)用户故意给他人做出恶意评论的行为。信誉值分为点对点信誉值和综合信誉值。

定义1点对点信誉值表示节点i、j通过直接交互进行数据评价后得出的评价分数,用表示,如式(4)所示:

其中:k表示i、j的第k次交互;W表示权重;X表示指标评分;n表示评价指标总数。

定义2综合信誉值是指将系统中所有与节点i的点对点信誉值进行整合,用CRi表示。为了表示节点i与节点j进行多次交互后的总点对点信誉值,引入变量,其中T表示节点i与j的总交互次数。当j认为i的第k次交互的数据不可信且向LEA 申诉为真时,设;当j认为i的第k次交互的数据可信时,根据数据质量的满意程度设∈(0,1]。的计算公式如式(5)所示:

其中:β为惩罚因子,取值范围为(0,1),当i与j的第k次交易不可信时,总信誉与β相乘,β越小,惩罚力度越大;α为数据可信时的影响因子,取值范围为(0,1],α越小,说明第k次交易在整体信誉值中的影响越大;为节点i对节点j的第k次交易的数据价值量。

算法1信誉值计算算法

在算法1 中:MG 表示节点Pj(j=1,2,…,n)对节点Pi的行为消息级别;表示节点i、j的当前综合信誉值;CRi、CRj表示节点i、j重新计算后的最新信誉值;α、β、δ为相关系数。

2 信誉数据管理系统模型和关键机制

2.1 信誉数据管理系统模型

基于区块链的物联网数据服务信誉数据管理系统模型包括节点和基于以太坊的物联网数据服务平台两部分。如图3 所示,节点又分为数据拥有者(以下简称DO)和数据请求者(以下简称DR)。DR 是指对物联网数据有极大需求的互联网企业、厂商、研究机构等;DO 是指持有数据所有权并可以对数据进行权限管理的企业、个体、机构等。

图3 基于区块链的物联网数据服务信誉管理模型Fig.3 IoT data service reputation management model based on blockchain

在该模型中,DR 和DO 两个角色之间可以相互转化,每个角色的初始信誉值为0。信息流从DO 在平台上发布数据开始,参与者可以在平台上进行数据订阅、数据检索、查看用户信誉值、数据评价等相关信息,根据用户信誉值择优进行数据请求、权限交互、数据评价等服务,最终所有的交易关键信息都会保存到区块链中,从而保证了交易数据和评价信息的可靠性,为物联网数据服务信誉数据管理营造了可信良好的环境。

2.2 信誉数据管理解决方案

现有的集中式物联网服务信誉数据管理模型(如图4 所示)虽然在进行数据维护和管理上操作性较强,但存在数据存储性能瓶颈问题,且当受到恶意攻击时,容易造成用户隐私泄露、单点故障、数据篡改等问题。

图4 集中式物联网数据服务信誉管理模型Fig.4 Centralized IoT data service reputation management model

结合星际文件系统(Interplanetary File System,IPFS)[22]提出基于区块链的物联网数据服务信誉连接模型,如图5 所示。该模型去除了第三方,将信誉数据和数据源管理分隔开,数据提供商将数据传入IPFS 网络,返回对应hash 值。在数据发布时,将数据存入区块链网络进行广播。用户在区块链网络中检索、请求数据时,会进行数据权限交互,用户可使用令牌和公示的数据hash 值从IPFS 网络中获取相应数据。在交易后,用户可对该数据进行数据质量评价。系统根据评价结果进行信誉值动态更新调整并广播公示,其中涉及的评价信息、信誉值等信誉数据都存储到链上,保证了信誉数据的安全可信性。IPFS 可以防止区块链网络数据冗余,降低区块链节点的数据备份空间和计算成本,缩短交易时间,提高共识效率。

图5 基于区块链和IPFS 的物联网数据服务信誉连接模型Fig.5 IoT data service reputation connection model based on blockchain and IPFS

2.3 关键机制

2.3.1 用户匿名评价保护机制

在物联网数据服务平台进行数据评价时,为了防止恶意用户利用用户隐私数据进行打击报复或恶意破坏的行为,本文采用环签名技术,实现数据评价签名者对评价消息的完全匿名。在签名时不需要成员之间的合作,任何一个成员都可以使用自己的私钥和环中所有用户的公钥进行数据签名。用户只知道该签名来自该环,但不能确定来自环中的哪个签名者。

算法2环签名生成算法

算法3环签名验证算法

2.3.2 基于区块链和Redis 的信誉数据缓存机制

为提高查询速度,引入Redis 缓存技术。由图6可以看出,用户在平台中进行信誉数据访问时,平台先从Redis 中根据参数进行信誉数据查找,若有则直接返回,否则从区块链中进行查询,查询到信誉数据返回平台,并同时写入Redis 中进行备份,为下次访问做准备,具体流程如图7 所示。

图6 基于区块链和Redis 的信誉数据缓存流程Fig.6 Procedure of reputation data caching based on blockchain and Redis

图7 基于区块链和Redis 的信誉数据更新流程Fig.7 Procedure of reputation data update based on blockchain and Redis

3 原型系统实现与性能测试

本节设计基于以太坊的物联网数据服务信誉评估原型系统,介绍原型系统的主要功能模块、实现细节,并对系统功能性进行测试验证。

3.1 基于以太坊的信誉评估原型系统模块设计

基于以太坊的物联网数据服务信誉评估原型系统的功能架构如图8 所示。

图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 所示。

图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 所示。

图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 数据库存储大型文件、平台相关信息和不经常变更且高频率访问的数据。

图11 基于以太坊的物联网数据服务原型系统的分层架构Fig.11 Layered architecture of Ethereum-based IoT data service prototype system

3.2.2 关键合约实现

约定合约下半区表示功能函数,上半区表示全局变量,-为个人可见的私有变量,+为所有账户可见的公有变量,#表示需要特定权限才能进行调用。关键合约具体如下:

1)物联网数据服务管理主合约。该合约负责将系统中所有合约功能接口整合封装,提供更加简洁的接口调用,如图12 所示。

图12 物联网数据服务管理主合约Fig.12 IoT data service management main contract

2)用户注册合约。该合约具有用户注册、用户信息记录、用户信誉值初始计算等功能,如图13所示。

图13 用户注册合约Fig.13 User register contract

3)数据合约。该合约存储数据名称、数据类型、访问路由、提供者等信息,如图14 所示。

图14 数据合约Fig.14 Data contract

4)信誉管理合约。该合约具有信誉值计算、数据服务评价、修改评价记录、叛徒追踪等功能,如图15 所示。

图15 信誉管理合约Fig.15 Reputation management contract

3.2.3 性能测试

新的以太坊节点加入到区块链网络中都会自动备份所有交易数据,与其他节点共同参与整个网络数据的维护。在共识过程中节点需要进行挖矿,节点挖矿速度如图16 所示。

图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 又被仲裁为恶意诽谤并进行了相应的奖惩。实验结果验证了该信誉评估模型的有效性。

图17 信誉值计算验证Fig.17 Reputation value calculation verification

为验证信誉数据的响应速度,将本文模型与基于集中式信誉管理系统的淘宝、京东平台进行响应速度比较,如图18 所示。由图18 可以看出,本文模型的第一次信誉请求时间较长是因为第一次请求是从区块链中取值,后续会从Redis 中取值,并且对信誉数据的请求处理速度与主流平台具有可比性。

图18 信誉数据请求响应时间对比Fig.18 Comparison of reputation data request response time

4 结束语

本文设计基于区块链的物联网数据服务信誉评估模型,用户通过向物联网数据服务平台上传物联网数据源或者检索数据,根据数据提供者自身信誉或数据评价记录进行数据筛选,并利用访问控制进行数据权限的交互。在交互完成后进行数据质量评价,采用环签名技术保证评价真实性并隐藏用户个人信息。同时,利用IPFS 解决了数据冗余和存储性能瓶颈的问题,通过Redis 提升了区块链数据检索速度。测试结果表明,该模型能够有效进行物联网数据评估,并在分布式环境中保证了系统安全性和鲁棒性。下一步将优化物联网数据服务信誉评估模型的系统结构,并引入自然语言处理技术,对数据评价进行自动识别,提升信誉评估维度。

猜你喜欢
数据服务信誉区块
大数据时代高校图书馆数据服务的困境及优化路径
地理空间大数据服务自然资源调查监测的方向分析
基于单片机MCU的IPMI健康管理系统设计与实现
基于数据中台的数据服务建设规范研究
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
《红楼梦》的数字化述评——兼及区块链的启示
信誉如“金”
一场区块链引发的全民狂欢
数据服务依赖图模型及自动组合方法研究