基于区块链的信任评估模型研究

2023-10-09 01:46张垿豪冯文龙黄梦醒
计算机应用与软件 2023年9期
关键词:信任度信任区块

张垿豪 冯文龙 黄梦醒 刘 伟

(海南大学信息与通信工程学院 海南 海口 570228)

0 引 言

传统的分布式信任评估模型都是通过收集节点历史行为的评价信息并采用数学方法,对该节点未来行为进行预测。此类模型默认评价信息无论好坏,其内容都是客观的,从而对其采用数学方法预测信任大致走向。然而实际情况下,恶意节点会出现恶意评价的行为,如果对恶意评价通过数学方法预测,可能发生误判的情况。除此之外,分布式网络中的不同节点对评价信息的认可度不同,缺少一个统一并且可信的评价信息来源。区块链作为分布式存储技术,其发展得到了学术界的广泛关注。

区块链这一概念是Nakamoto[1]在论文《比特币:一种点对点电子现金系统》(Bitcoin:A peer-to-peer electronic cash system)中首次提出的,文章中详细介绍了区块链中的诸多技术,例如:分布式技术、密码学原理、智能合约共识算法等,并将这些技术运用到新型货币比特币中,随后运行并证明了文章中提出的比特币系统是可行的,同时也标志着区块链1.0时代诞生。当区块链技术在比特币中取得了巨大成功后,Buterin[2]在比特币基础上提出了以太坊(Ethereum)概念,这意味着区块链2.0时代来临。文章中不仅定义了以太币,还提供了图灵完备的编程语言,并将编写的智能合约应用于以太坊当中,当合约满足条件时,可以强制实施条约内容,为分布式非信任网络下实现交易奠定基础。随着区块链技术的不断发展,区块链也进入了3.0时代,人们不仅仅将区块链技术应用于金融行业,开始更多地将其应用于车联网[3]、电子商务[4]、能源交易[5]等各个领域。

为了解决传统分布式信任评估模型中存在的问题,许多学者将区块链技术与信任评估模型相结合,从而帮助节点在进行交互前,双方依据可靠的评价信息了解彼此,此外还可以帮助识别一些恶意节点,提高信任评估模型的准确度,从而提高交互的可信度以及成功率。本文首先介绍了现有的基于区块链典型的信任评估模型,对模型进行了分析比较并总结了各个模型的优缺点,最后对区块链中信任评估模型的可研究点进行了探讨。

1 相关概念

1.1 信 任

信任是一个抽象、复杂的概念,它在不同领域有着不同的含义。本文综合文献[6-15]并在此基础上给出信任、直接信任、间接信任的描述性定义,分别对应定义1、定义2、定义3。

定义1一般而言,信任就是通过信任者的主观感觉即直接信任以及外部环境又称间接信任相信被信任者是诚实、值得信赖的。

定义2信任者自身与被信任者发生交互后对被信任者的信任。

定义3信任者参考其他实体对被信任者的意见所产生的信任。

在定义1中,信任者和被信任者是一个笼统概念,可以代表用户、组织、服务等;信任者的主观感觉是指自己对被信任者的印象;外部环境包括其他信任者与被信任者完成交互时的评价或者信任者自己可信赖的朋友向自己推荐,例如:Alice看到好多陌生人对这个服务的评价很高,于是也比较相信这个被信任者;Alice的好朋友Bob向她推荐了这个服务,所以Alice也相信这个被信任者。

图1反映了直接信任与间接信任的关系。Alice与Bob是相互直接信任的,Bob与Tom也是相互直接信任的,这时,Bob向Alice推荐他信任的朋友Tom,则Alice在信任Bob的基础上就间接信任了Tom。

虽然在不同领域中信任概念是有所区别的,但是性质却是相近的。总结整理相关文献后,发现信任具有如下的性质:

1) 非对称性。信任关系不具有对称性。例如A信任B,但是B不一定信任A;即使双方相互信任,对彼此的信任程度可能不相同。

2) 主观性。不同评价者对相同的被评价者的评价会有所不同,这是因为每个评价者参考的标准不同所导致的。

3) 动态性。评价者与被评价者之间的信任关系是根据交互的次数、时间等因素的变化而不断变化的,它并不是一成不变的。例如,在某个时间内A信任B,但随着时间的推移,A对B的信任会衰减。

4) 有限传递性。信任可以在某种条件下传递。例如,实体A信任实体B,而实体B信任实体C,实体B向实体A推荐该实体C,则实体A是可以信任实体C的,只是实体A以及实体B对实体C的信任来源以及信任度不相同。

5) 可计算性。信任可以根据一些特征量化,通过一些数学方法计算出数值,通过数值直接比较信任的大小,具体实现是由不同的信任模型以及数学方法决定的。

6) 不确定性。信任发生在交互之前,对被信任者的行为有预测作用,是一种不确定性的行为甚至有风险。

7) 自反性。任何时间任何情况下,所有实体都信任自己。

在分布式网络中,由于信任的实体是分散的,没有统一的中央节点进行管理,各个节点之间的信任关系需要通过信任评估的方法实现。

1.2 信任评估

信任评估是在双方交互前采用合适的数学方法对信任信息进行量化,从而得到相应的信任值,以信任值的大小表示节点的可信程度。不同的信任评估模型对信任信息的量化、度量方法有所不同。随着网络技术的不断发展,信任问题已经成为分布式网络中的核心问题,综合文献后发现有关信任评估的相关技术在理论和实践方面存在很多问题,具体体现在:

1) 现有的信任模型评估方法大多基于粗粒度,考虑的因素较少,对信任信息评估得不完全或者不细致,导致得到的评价准确率较低。

2) 对恶意节点的抵抗能力不强,缺乏有效的策略和方法去准确识别恶意节点以及恶意行为,同时对于诚实节点缺少合理的奖赏策略。

3) 现有的信任模型实现代价大,因为信任评估需要参考之前所有的评价并且还要实时更新评价,所以需要花费较多的计算与存储资源。

4) 用户参与信任评价时会留下与自己真实身份相关的信息,恶意用户通过一些技术手段轻而易举地获得用户信息,这样会造成真实信息的泄露,产生隐私安全问题,现有的信任评估模型没有考虑到这种情况。

5) 由于对信任的量化以及对信任关系的衡量缺少统一的标准,导致现有的信任模型缺乏客观性,参考价值较低。

2 区块链中信任评估模型

区块链是由分布式存储技术、密码学、共识算法、智能合约这四种核心技术组成。分布式存储技术是一种数据存储技术,每个节点都能记录数据;密码学是一种特殊的加密解密算法,可以用于身份验证也可以用于维护数据的完整性;共识算法则是一种协调节点进行数据维护的算法;智能合约类似合同,将规则用代码的形式表示,当条件满足立即触发并强制性执行。它们都能够为分布式网络中的信任评估模型提供支撑,解决分布式网络中存在的信任问题。本节将选取从不同方面结合区块链技术的典型信任评估模型进行评述与介绍。

2.1 改进区块存储结构的信任评估模型

中本聪在文献[1]提到,区块体记录所有经过验证的交易且它们是通过 Merkle树的哈希过程生成唯一的Merkle根并记入区块头,这些交易记录可溯源且不可篡改。许多学者发现将信任相关信息储存在区块里,就解决了信任信息内容不可靠的问题,为此提出了从区块存储结构以及内容方面结合信任评估的模型[16-21]。文献[17]基于Merkle树结构,提出使用存在与不存在证明来判断存储在区块中的交易信息是否合理,并将交易信息分为三类,依据分类直接计算信任得分。文献[18]在车联网环境下提出将其他车辆对某个车辆发出的信息进行信任评级,并将结果发送给RSU,RSU统计收到的信任评级并计算某个车辆的信任偏移量,最后将结果存入区块体中,从而保证信任评价客观公正且可以实时更新。文献[19]与文献[18]不同之处在于它提出将信任评级存入区块,其他车辆基于存储的评级对信息发送者进行评估,该评估保留了评价者的主观意愿。文献[20]在无线传感器网络中,提出对信标节点从行为、数据、反馈三个方面进行信任评估,将得到的信任值存储于区块,便于实时监测信任值变化。文献[21]在医疗领域提出通过区块中的信任值过滤虚假信息,随后将加密的个人健康记录的哈希值存储在区块链上,减小本地存储压力。相关索引存储在智能合约当中,在调用时可以有效验证健康记录的完整性以及正确性。此类模型旨在保证评价信息内容的完整并且没有被篡改,从而能够提供可靠的评价数据。例如ChainTrust模型[16],该模型使用Merkle Patricia树和二叉Merkle树对评价数据存储,提高评价数据来源的可靠性和安全性。同时又对现有的信任评估模型进行改进,根据评价的先后顺序定义了评价序列图,然后根据评价序列图计算被评估节点的直接信任以及间接信任,并依据间接信任的可信度计算其权重,最后得到综合信任值。

2.1.1ChainTrust模型的建立

在进行综合评价时,ChainTrust模型提出了将评价数据存储在区块中,在区块头中使用State Root模块记录Merkle Patricia树的根,在区块体中使用Merkle Patricia树和二叉Merkle树结构。Merkle Patricia树包括扩展节点、分支节点和叶子节点。扩展节点分为Prefix以及Hash字段,Hash字段存放分支节点的哈希值。分支节点又分为叶子节点以及扩展节点,叶子节点分为Key和哈希链表。哈希链表存放与某个特定节点有关的评价数据的Hash值,扩展节点和分支节点都是以键值对的形式将特定节点对应起来,所以按顺序将根、扩展节点、分支节点、叶子节点组合起来可以得到特定的Key以及与其有关的评价数据的Hash值。Tx Root是二叉树的根,底层存储评价数据的相关摘要,相邻的两个摘要进行Hash运算得到父节点的Hash值,经过反复运算得到根Hash值,该模块保证评价数据不被篡改。Nonce与PrevBlockHash与比特币系统[1]中的区块功能一致。具体的结构如图2所示。

图2 区块的存储结构

当进行评价时,从区块中取出相关评价信息,将其组成评价序列。评价序列指的是将节点收到的评价按照先后顺序生成有序的集合。评价序列如图3所示,其中两个节点之间的单向箭头表示节点之间发生过交互并且做出过评价,单向箭头的权重就代表评价序列。例如从节点a指向节点b的箭头,权重Lab表示a对b发起的评价所组成的评价序列。同时,与节点a有过交互并且产生评价的节点都有一个指向节点a的单向箭头。

图3 评价序列

在ChainTrust模型中,如果节点b想要得到节点a的信任值,首先节点b先获取所有关于节点a的评价信息,并且评价信息中的被评价者是节点a,评价者则是所有与节点a发生过交互的节点,每个评价者对应不同的评价序列,节点b分别计算每一个评价序列,得到每个与节点a发生过交互的节点对a的直接信任度,将其进行加权计算间接信任度,最后得到节点b对节点a的综合信任度。

具体而言,节点b对节点a的直接信任度DTba,参考因素为节点b对节点a的满意率Aba,由式(1)表示。

DTba=Aba

(1)

间接信任度ITba是除评估主体之外的其他节点对被评估节点的直接信任度的加权之和,由式(2)表示。

(2)

最后进行加权和得到b对a的综合信任度Rba,由式(3)表示。

Rba=max{(1-μ)DTba+μITba,δ}

(3)

式中:μ为间接信任度的权重。当μ=0时,评估主体仅信任自身经验;当μ=1时,评估主体仅信任他人的经验。考虑到冷启动问题,模型规定δ是节点的初始综合信任度。

为了将模型精确化,文献[16]分别从参与评价的节点广泛程度以及评价节点对被评估节点直接信任度的离散程度考虑了权重μ的取值,并提出式(4)。

μ=α·β

(4)

式中:α是广泛度系数,α∈[0,1),用来量化评价来源的广泛度,具体表达式见式(5);β是离散系数,用来量化评价节点对被评价节点信任度的离散情况,用式(6)表示。σ是评价节点对被评价节点信任度集合的标准差,用式(7)表示。

(5)

式中:n表示参与评价的节点数。

(6)

(7)

2.1.2模型的算法思想

假设节点b运用该模型对节点a进行综合信任评估,该模型的算法思想是:

1) 从区块中找到评价数据。

(1) 从Merkle Patricia树找到节点a对应的叶子节点并获取相关评价数据的Hash。

(2) 通过Hash值找到评价数据。

(3) 将评价数据按照评价者分为不同评价序列。

2) 交互前计算节点a的信任值。

(1) 计算直接信任值。

(2) 计算间接信任值。

(3) 计算间接信任值的权重。

(4) 最后得到综合信任值。

3) 交互完成后,将新的评价信息存储到区块,信任值则在下次交易发起时更新。

2.1.3模型的优缺点

该模型的优点是:

1) 通过对区块链存储结构的改进,可以快速找到节点完整的关于信任评价的数据,并且确保评价信息不被篡改。

2) 考虑了评价节点来源的广泛性以及其直接信任度的离散性,使得权重的设置更加客观,计算所得的综合信任度更加具有参考意义。

该模型的缺点是:

1) 模型默认进入网络的节点均为可信节点,没有考虑节点的身份信息,只考虑到节点的恶意行为。

2) 模型缺乏一种奖惩机制来约束节点的行为。

3) 对信任的评估仍然停留在粗粒度,没有具体细化考虑其他因素。

2.1.4应用场景分析

该模型主要适用于一些数据查询类的服务,对于本地存储能力有限的节点也可以使用该模型,如在医疗领域[21],根据区块中存储的信任值,过滤虚假数据信息,然后通过个人健康记录的哈希值找到相关摘要,再通过索引找到完整记录,既保证了信息的完整可靠性又减轻了本地存储个人健康存储的压力。同时该模型也偏重于交易之前对交易方进行评估,即通过存储在区块中的评价信息判断交易方的可信程度。如在车联网领域[18-19],通过区块中存储的评价信息对车辆发送的信息进行评估,判断信息是否真实,从而排除车辆存在作恶行为。

2.2 改进区块链身份认证的信任评估模型

在分布式网络中,所有节点都可以加入该网络并参与交互,虽然解决了信息孤岛的问题,但由于参与交互的节点身份不明,很容易遭到恶意节点的攻击或者交互完成后给出恶意评价,为此不少学者从身份认证方面结合信任评估的模型[17,22-25]。文献[17]基于公钥基础设施的认证协议,提出使用公钥作为通信中的假名,而没有任何关于真实身份信息,从而保证有条件的匿名,随后收集匿名评价信息进行综合信任评估。文献[23]在车联网环境下提出匿名聚合车辆公告协议,首先车辆信息由可信权威机构登记,随后机构向车辆颁发密钥以及化名地址,然后车辆广播消息公告并通过收集聚合其他车辆签名证明自己广播消息的可信度。文献[24]在制造服务环境下,客户与制造商通过P2P网络的协议连接并进行身份认证,随后创建区块链账户,生成公私钥对并通过数字签名进行信息认证,根据提供商的信誉度与交易反馈来综合评估服务信任度。文献[25]在物联网环境下提出了一种基于身份的密钥协议实现有效并且安全的无证书通信,并使用令牌奖励模型来鼓励发布高质量的数据。此类模型主要利用密码学原理对加入网络的节点进行身份认证,从而确保加入网络的节点以及节点之间交互时的协商信息是可信且不被泄露的。例如PCB模型[22],该模型提出将节点身份认证、时间敏感函数等因素作为信任评价指标来保证评价的客观性和可靠性。对参与网络中的节点进行身份认证确保其合法性以及唯一性,利用时间戳技术考虑消息的时效性,同时考虑到分布式网络的特性,引入时间敏感函数对节点的信任进行动态评价,如当节点在一段时间内无所作为时,该节点的信任值将会下降。除此之外,该模型将信任值存储到区块体中,确保信任信息不被篡改,从而提高评价信息的客观真实性。最后采用激励机制和惩罚机制来鼓励合法行为和打击恶意行为。

2.2.1PCB模型的建立

进入网络中的节点首先进行身份验证,它的过程主要是:假设A、B两个节点互相进行身份以及消息认证,先利用NTRU-KE算法[26]产生共享密钥KAB并广播给网络中所有节点。具体算法参考文献[26],验证内容由式(8)和式(9)表示。

A→B:(idA,MACA,Time1,fKAB(rs1))

(8)

B→A:(idB,MACB,Time2,fKAB(rs2))

(9)

式中:f是用密钥KAB对随机数rs1加密的加密函数;Time1是时间戳;MACA是哈希函数H(rs1,idA,idB,TimeA)。假设A发送消息给B,B先根据时间戳来判断其信息是否有效,若有效则使用时间戳解密f并得到r′s1,然后计算H(r′s1,idA,idB,TimeA)来判断rs1是否与r′s1相等,相等则说明B信任A,同时B生成随机数rs2(rs1≠rs2),并发送验证内容给A。同样过程验证B的身份。这样就确认双方的身份信息,彼此获得了身份信任。

(10)

修正后的间接信任评价由式(11)表示。

(11)

最后依据 Dempster 组合规则,将修正的间接信任与直接信任合成综合信任满足式(12)。

(12)

由于P2P网络特性,节点可随意加入或离开网络,因此信任要依交互次数和交易状态而定,即信任需动态更新,PCB模型则引入了时间衰减因素即时间敏感函数,实现节点信任的动态反馈并且使得节点信任度更合理、计算复杂度降低。其基本思想为:将时间轴划分成均等、长度为t0的时间段,我们将节点a在经典模型[26]中综合信任记为 Trust(a) ,规定每隔t0衰减一次,tin、tend为节点进入、离开网络的时间[23]。那么结合时间敏感函数的节点信任度评价函数如式(13)所示。

sensitive(Trust(a))=

(13)

为了约束节点的行为并且保证信任信息真实性和可靠性,该模型还提出将最后计算出的综合信任值存储到区块中并根据信任值进行奖罚。区块存储结构见表1。区块头中除了有上一区块的哈希、当前区块的版本号、生成当前区块的时间戳和Merkle树的根哈希外,还将个人资产写入区块头,区块体主要包括交易数量、交易明细、信任指数。节点每次参与评价或者发布交易信息时都会从个人资产中抽取小部分作为抵押金,后续将根据节点的行为进行奖励或扣除,相对应地对其信任指数进行增加与减少,这种与信任相关的奖惩机制可以较好约束节点的行为。最后为了能使整个产生区块的过程快速高效,该模型采用双链结构即主链和副链,其中主链主要负责交互信息, 副链主要负责信任信息,两者互不干扰同时又由交易过程相互联系。

表1 区块链存储结构表

2.2.2模型的算法思想

假设节点A运用该模型对节点B进行信任评价,具体的算法思想是:

1) 身份认证。

(1) 生成共享密钥KAB并广播。

(2)A与B互相验证身份信息并检查信息的时间戳。

(3) 通过验证则进行信任评估,反之则终止。

2) 信任评估。

(1) 交互前,计算A对B的直接信任值。

(2) 计算A对B的间接信任值。

(3) 计算A对B的综合信任值。

(4) 交互完成后,根据评价信息引入时间敏感函数,直接更新对节点B的信任值。

3) 信任存储。

(1) 将交易信息和节点的信任值存储到区块体。

(2) 根据交易的情况,将个人资产更新后存入区块头。

2.2.3模型的优缺点

该模型的优点是:

(1) 在身份认证过程中使用改进的加密算法,使得密钥的生成速度加快,节点的行为难以预测,从而降低恶意节点攻击成功的概率。

(2) 时间戳与时间敏感函数的引入,使得交互双方发送信息更具有时效性并且更加安全的同时,也保证了评价信息能够动态更新,信任评价有一定的参考意义。

(3) 提出奖惩激励机制,提高节点的积极性和主动性,规范节点的行为。

该模型的缺点是:

虽然考虑了身份信任以及时间因素对信任值的影响,但是对直接信任度以及间接信任度的评估参考因素仍然比较少,评估结果不太准确。

2.2.4应用场景分析

该模型主要应用于一些对参与网络的节点有一定条件限制的许可链环境中,例如联盟链以及私链。如在车联网领域[23],只有经过相关证书机构认证并且经过信任计算的车辆才能有资格发送道路信息,没有经过身份验证的车辆只能够接收信息,不参与信息验证与传递。同时,该模型也偏重于交易过程中,双方进行交易协商时的身份验证,来确认交易双方没有改变并且没有出现故障,从而来确定是可信的。例如在制造服务领域[24],首先根据信任评估模型确认候选的制造服务商,随后用户与服务商之间通过公私钥对以及签名互相确认双方身份,进而协商服务。

2.3 改进区块链共识机制的信任评估模型

在分布式网络中,对于评价信息没有一个统一的标准,导致各个节点对评价信息的认可度都不相同,为此许多学者认为区块链中的共识机制可以解决这个问题,于是提出了将共识算法与信任评估结合的模型[23,28-29]。文献[23]提出一种基于工作量证明与实用拜占庭故障容忍算法的混合共识算法,RSU通过工作量证明获得产生区块的权利,并根据信任信息计算获得信任值并打包成信任块进行广播,全网通过实用拜占庭算法进行共识,通过后将信任块接入区块链。文献[27]在工业物联网的环境下提出基于声誉的激励共识协议,声誉越高的节点获得记账权的概率越大,该协议中的奖惩机制可以鼓励所有节点以良好的方式参与网络协作,从而营造可信的交互环境并降低共识的难度。文献[28]在车联网环境中提出利用每辆车的声誉价值,将资源共享与共识过程结合在一起,每个区块都会将记录的所有交易信息的声誉值按照一定规则进行求和,与工作量证明机制类似,只有总声誉价值高的区块才能入链。此类模型主要利用共识机制对评价的内容进行验证,只有大部分节点都认同的评价信息才能被记录,保证了全网有一个统一参考标准。如MTBAD(Multi-dimensional Trust Based Anomaly Detection model)[29]模型,该模型不仅通过共识机制来确保信任评级可信,而且改进了共识算法即通过信任值的大小来确定记账权,激励节点规范自己行为,提高自己的信任值。此外,该模型从信誉(Reputation)、QoS(Quality of Service)、社交关系(Social Relationship)等多个维度对被评估者的信任进行评估,同时为了使模型更加灵活,对信任值进行模糊化处理得到信任评级可以更快发现节点的异常行为。

2.3.1MTBAD模型的建立

在交互前,评价节点根据信誉、QoS、社交关系三个维度的信任信息对被评估者进行信任评价。假设交互前节点a对节点b的总体信任评价记为Tab(k),计算式如(14)所示。

(14)

(15)

假设节点a与节点b之前没有发生过交互,那么各个维度的信任值更新的具体公式如下:

(16)

(17)

式中:β∈[0,1]。

然后将得到的信任值进行模糊计算处理,根据具体的需求设定规则,本模型用If-Then语句表示,规则举例见表2。并将信任分为三个级别,分别用“High”“Medium”“Low”表示信任评级的语义值。通过语义的变化来监测节点的恶意行为并采取一定的措施,当信任等级为“Low”时,被评价节点将被放入黑名单并禁止一切行为。

表2 模糊计算处理的规则举例

为了保证得到的信任评估结果客观并且实时更新各个节点的账本,该模型提出一种基于信任的共识机制PoT(Proof of Trust)。它是以信任值为基础,只有区块内信任值最高的节点才拥有记账权并获得一定的信任奖励,因此该机制也激励节点提高自己的信任值。PoT共识过程主要包括以下步骤:首先,在双方交互完成后,评价者对被评价者进行信任评估,并将评估结果广播至全网,收到广播信息的节点会将该消息记录在自己的存储库中,当达到一定的数量后会停止接收信息并根据收到的评估结果进行信任排序,只有排序第一的节点才有资格将这些评价打包成区块并使用自己的私钥签名广播至全网。随后其他节点先使用记账节点的公钥对该区块信息进行验证并核实区块中的每条评价信息,所有验证都通过后,才能将该区块记录到区块链当中,随后进行下一轮计算,此时将对记账者进行一定的信任奖励。

2.3.2模型的算法思想

假设节点a运用该模型对节点b进行信任评估,具体的算法思想是:

1) 交互前计算节点b的信任值。

(1) 判断节点a与节点b是否发生过交互;若发生过则执行步骤(2),反之执行步骤(3)。

(2) 发生过交互,计算节点a对节点b的历史信任与发生交互时产生的直接信任值。

(3) 没有发生过交互,计算节点a对节点b的历史信任并计算其他与节点b发生过交互的节点对节点b的推荐信任值。

2) 监视异常行为。

(1) 交互过程中会另外将信任值进行模糊处理得到信任评级。

(2) 通过信任评级的变化检测节点异常行为。

(3) 当信任评级为“Low”时,停止该节点的一切行为。

3) 生成区块。

(1) 交互完成后,将信任评价广播。

(2) 节点收集评价信息并进行信任排序。

(3) 只有信任值最高的节点将评价信息打包成区块。

(4) 将区块广播至全网,全网进行验证。

(5) 验证通过后,生成区块并记入区块链。

2.3.3模型的优缺点

该模型的优点是:

(1) 对信任评价因素进行了细粒度研究,从不同维度切入,具有较大的参考意义。

(2) 采用了PoT共识机制,简化共识过程,也避免了双花问题的出现,同时有效地抵制了简单的攻击问题,诸如51%攻击等,同时还可以激励节点努力提高自己的信任值,减少恶意行为的出现。

该模型的缺点是:

(1) 该模型需要较大的计算资源,对于条件有限的设备无法使用。同时该模型也无法抵御恶意节点的抱团攻击,当恶意节点较多且达成共识后,难以区分恶意节点。

(2) 使用PoT时,没有考虑到区块分叉的问题,会导致恶意节点利用分叉篡改评价数据。

2.3.4应用场景分析

该模型主要应用于发生具体交易的服务,如数据交易或者比特币交易,它们都存在一个完整的数据信息交互或商品购买过程。同时该模型更加偏重于交易后交易信息入链的过程,即通过计算打包成的区块中所包含的交易的信任度之和或者直接计算打包区块的节点的信任度,从而确定谁具有产生区块的权利。只有经过信任评估后入链的信息是可信且不能篡改的。例如在车联网中进行的信息交互[23,28],可以提前将经过信任评估的前方道路真实信息上链,其他车辆从上链信息中获取道路信息,从而提高车辆行驶效率。

3 结 语

区块链技术由于其公开透明、防篡改、可溯源等特性,使其成为近年关注的热点。本文主要总结了基于区块链技术[30]改进的一些信任评估模型,分别从三个不同方面选取一个典型模型分析并描述了模型的优缺点以及算法思想。同时对比发现这三种模型分别是从区块链中的分布式存储、身份认证、共识机制三个方面改进并与信任评估模型结合(见表3),为分布式网络中节点进行可信的交互提供了安全可靠的方案。

表3 典型模型与区块链中核心技术的结合情况

目前,基于区块链技术的信任评估模型均从区块存储、身份认证、共识机制三个方面进行结合,如基于区块存储的信任模型是从存储内容或存储结构改进,用信任值、哈希摘要、评价信息存储代替原有区块的交易存储或者改进区块原本的Merkle树结构[16],可以更加方便快捷地查询到评价信息;基于身份认证的信任模型首先对加入网络的节点进行身份验证从而获得相关证书然后对交易双方的交易信息进行核实评估[24],从而确保交易双方是可信的;基于共识机制的信任模型则是通过对参与共识的节点的信任度进行评估[27]或者通过对候选区块中打包的交易进行信任评估[28],从而经过共识确定区块的产生权。由于智能合约本身是一段满足条件就能自动执行的代码,对智能合约的研究更多是研究其实现的功能并且代码自身就是可信的,所以没有将智能合约与信任评估模型结合的实例。同时需要说明的是对于同一个场景,可以采用上述不同的模型,只是结合区块链技术的角度不同,需要根据具体问题来分析并且模型可以结合使用。然而,基于区块链技术的信任评估模型研究现状,该方向仍然有许多问题需要研究与探索:

(1) 基于区块链技术的信任评估模型中存在隐私泄露问题。虽然在区块链技术中节点之间的交互可以通过CA机构颁布的证书使用匿名信息进行交互,但是CA机构颁布的证书会与节点的真实信息有所关联,恶意节点很容易通过证书找到相关联的用户隐私信息,如何有效地协调隐私保护与交互信息公开透明仍是研究的重点。

(2) 信任评估模型自身仍然停留在粗粒度评价。大多数的信任评估仍然只是考虑评价节点自身的评价,没有考虑到被评价者自身的因素,如自身的环境等。尤其是在区块链这样的分布式网络中,所处的地理位置不同就可能导致从同一节点接收到的信息也不同,所产生的评价不同,从而导致信任评估不准确。因此需要建立完备的多维度信任评估模型来评判一个节点的可信度。

(3) 仍需提高区块链与信任评估模型结合度。传统的分布式网络中信任评估面临的问题主要有:对评价信息来源以及对评价节点的身份都有较大的不确定性,而区块链由于其公开透明和不可篡改的特性,将评价信息存入区块保证其来源的客观真实;采用公私钥对以及数字签名等密码学技术对交互双方进行身份验证,保证交互的可靠性;同时采用基于信任的共识机制可以激发节点积极主动性去发布可靠的信任评价。可见将区块链技术与信任评估模型结合,可以提高模型的可信度。此外,还可以结合区块链中的其他技术如智能合约等来设计信任评估模型,如可以将信任评估方法写入智能合约即编写一个信任评估合约,从而对交易自动实现信任评估;也可以将多个技术结合,如将身份认证与区块存储技术与信任评估模型结合[23],设计更加完备的信任模型。

猜你喜欢
信任度信任区块
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
全球民调:中国民众对政府信任度最高
嘤嘤嘤,人与人的信任在哪里……
基于信任度评估的移动自组织网络路由协议
信任
2014,如何获得信任