APP下载

基于区块链的P2P节点信任评价模型

2019-04-03王凤英

关键词:信任区块交易

张 方, 王凤英

(山东理工大学 计算机科学与技术学院, 山东 淄博 255049)

P2P与传统的C/S和CDN[1-2]网络模式相比,打破了传统的计算模式,即网络中节点间的地位不再是一对多的关系,而是一对一的关系,每个节点为其他节点提供服务同时也享有其他节点提供的服务。此特性将互联网的计算任务或存储资料分布到各个散布的节点上,利用节点闲置的计算能力或存储空间,达到高性能计算和海量存储的目的[3]。P2P网络由此完美解决了传统网络模式中的服务瓶颈与信息孤岛问题,具有更广阔的应用前景。其活动节点的去中心化与当下流行的区块链特性不谋而合。通过类比P2P技术[4]与区块链[5]技术,发现两者有很大的相似,都有非中心化、健壮性、可扩展、去信任等特点。研究具有可信、可运营的大规模分布式系统一直是近年来的热点,融合区块链的hash链与P2P技术则是构建大规模分布式系统的关键技术之一,成为目前研究热点。

1994年Marsh首次对信任进行阐述,建立了主观信任模型。此后专家学者在此基础上针对不同应用场景和实际需求,从多方位建立了大量信任评价模型和评价标准。孙玉星等[6]基于最小损失,对贝叶斯决策模型的推荐信任进行了修正。Zheng等[7]以节点连续行为状态为参考,创建置信因子函数,修改局部与全局信誉比以提高信任可靠性。Sabrina等[8]将市场激励机制运用到P2P节点的信任评价和管理。王小峰[9]基于线性马尔可夫构建具有偏差预测的信任评价模型。Koaczek[10]引入有限状态机,在P2P网络中对邻居节点实施动态建模。

国内外针对节点的信任评价进行了多角度、多层次的研究,但通过梳理相关文献发现,部分研究设计存在问题,如评价指标过于单一,只使用节点局部信任、间接信任[6]等;计算开销大,文献[9]算法时间复杂度的数量级达到n2。本文通过分析P2P节点对等传输特点与信用评价因素,将节点认证、激励机制、综合信任、时间敏感函数、时间戳等指标纳入信用指标体系,融合SEC(Social-Ecommerce Chain 社交电商行业区块链)及Patricia Tree(帕特里夏树)的hash链存储结构改进节点信任评价,在传统分析方法上融合数学理论,更利于决策的合理性。

1 P2P节点信任评价经典模型

1.1 模型基本理论

P2P节点信任评价经典模型评价因素包括:在直接信任模型下由节点直接交易产生的直接评价,在间接信任模型下由其他节点推荐产生的间接评价,再将两者按一定规则组成节点综合评价。

1)直接信任模型。节点的直接信任用向量D表示,使用Dempster组合规则的置信函数m()合成m(D),节点直接信任D由三种正值α,β,γ表示,分别用m({T})代表信任,m({~T})不信任,m({T,~T})信任待定,且α+β+γ=1。如在i、j节点未交互前的t0时间,由于彼此关系不清晰,m(D)表达为Dij(t0)=(0,0,1),随后节点进行即时更新,同时根据规则选择不同的权重系数修正节点信任,可抵御不良节点极速提升自身信任。

(1)

(2)

1.2 模型优点分析

在P2P网络环境下,节点可信度的求解方法一般是根据节点满意度的不同评判标准来构建信任评价函数,经典模型[11]区别于典型的全局信任模型EigenRep,其信用指标包括直接信任、间接信任及修正后合成的综合信任三部分,优点如下:

1)首先运用Dempster-Shafer证据理论,降低P2P去中心化特性引起的信任出现的随机性、主观不确定性,证据随时间不断积累,可在先验分布未知情况下缩小假设集。

2)权重系数与折扣系数的选定。修正了节点的直接信任与间接信任,从而量化节点的可信程度得到综合信任,降低了恶意节点行为,提高网络安全性与鲁棒性。

3)通过理论分析与仿真结果表明[11],该模型能抵御网络部分攻击,有效检测恶意节点,提高了P2P网络利用率与安全性。

2 基于区块链的PCB

2.1 P2P节点信任评价经典模型改进

PCB(P2P node credit evaluation model combined with blockchain)在节点互相评价前,首先要确认对方身份的真伪与接收消息的时效,用节点身份认证与时间戳实现。身份认证保证节点存在的唯一性;时间戳保证消息只在特定时间内有效,避免被第三方非法使用,此外考虑到节点的信任具有时间衰减性。综上所述在经典模型中加入以下信用指标:

1)节点认证包括身份及消息认证。为实现节点可信性度量必须保证节点的身份唯一,需要为每个活动的节点编id号,任意节点都不能发动重放攻击。身份认证和随机密钥的使用防止Sybil攻击。加入时间戳Time,根据时间戳即可判断消息的时效。

2)加入时间衰减因素即时间敏感函数,实现节点信任的动态反馈。由于P2P网络特性,节点可随意加入或离开网络,因此信任要依交互次数和交易状态而定,即信任需动态更新。当节点在规定时间内未处于活动状态时,其信任随之衰减,具体在2.3节说明。

3) 树结构的hash区块链应用。hash链主要应用于信任认证与信任存储,在P2P网络中,融合区块链的优势,可简化验证且存储记录不可更改,更安全高效。

2.2 基于区块链的PCB模型

在PCB模型中引入树结构主要应用在两个方面,其一是节点身份与消息的认证,其二是存储P2P网络节点交易信息的单向hash链。用Patricia Tree 存储有效信息,根据树的特性确定指针的引用,提高操作效率;操作简单多样;状态信息存储于区块的最后区域,节省空间。PCB模型参考Bitcoin使用的轻客户端Merkle Proof的五部分结构,仅需验证hash链的区块头,而无需下载每次交易及每个区块,简化验证操作。

2.2.1 节点身份与消息认证

初始交易节点采用对称密钥密码体系进行消息认证,网络中的每个节点都有唯一身份标识即id号。若节点A、B进行认证,先利用NTRU-KE算法[12]产生共享密钥KAB,利用在高维度格找寻最短向量的数学难题,计算多项式环上的乘法和较小整数求模运算得到共享密钥KAB,再通过广播使密钥事先共享,具体算法参考文献[11]。加入时间戳阻止重放攻击,用Hash函数H(.)保证消息的完整性。

认证消息:

A→B:(idA,MACA,Time1,FA)

B→A:(idB,MACB,Time2,FB)

认证步骤:

1)节点A将消息发送给B,其中FA=fKAB(n1),f是加密函数用密钥KAB对随机数rs1加密;Time1是时间戳;MACA是哈希函数H(rs1,idA,idB,Time1)。

2)节点B根据时间戳Time1判断消息的时效性,若是新消息,则用Time1解密FA,得到rs1′,并计算H(rs1′,idA,idB,Time1) ,判断rs1是否与rs1′相等,若相等B信任A。同时B生成一个随机数rs2(rs1≠rs2),并发送(idB,MACB,Time2,FB) 给节点A。

3)节点A收到消息后,同理验证B的身份。这样初始交易节点A、B就确认了彼此的身份信息。

2.2.2 区块链信任存储与奖惩

本节将区块链的hash链应用到信任值的存储中,通过hash链对节点信任与信任评价推荐进行有效控制。确保在分布式环境中对节点进行有效地验证与刷新[12]。PCB模型区块存储分两部分:区块头与区块身,区块头主要记录账户信息,区块身主要记录交易信息。其中区块头主要包含上一区块头的哈希值、时间戳、个人资产(分为三种类型)、该区块交易的Merkle Tree(默克尔树)的根哈希,区块存储结构见表1。

表1 区块存储结构表

Tab.1 Block storage structure table

区块数据项描述大小/B版本号区块版本号4上一区块记录记录前一区块的Hash值8头部个人资产资产分区,公平奖惩32时间戳记录生成当前区块时间4Merkle树的根哈希值记录当前区块所有交易Merkle树的根哈希值32交易数当前区块记录的交易数量1-9身部交易关系当前区块保存的所有交易明细变长信任指数记录当前区块信任值区间10

1)区块头

为了减少非正常节点行为,引入代价费用。费用从区块头部的个人资产中扣除,即节点每次评价、申诉阶段都要预先从个人资产中扣除一部分抵押费,类似区块链的押金背书,同时结合节点的诚实行为实行激励机制。其中非正常、恶意、不良节点指以快速增加自己或他人的资产为目的,与其他节点合谋频繁进行恶意评价、错误申诉、提供虚假信息和有连续失信等不良行为的节点。个人资产包含三部分:个人可支配资产、待确定奖励资产和待确定惩罚资产。个人可支配资产可用来交易支付与奖励他人;待确定奖励资产为未确认的其他节点奖励自己的、将来归入个人可支配资产的资产;待确定惩罚资产是未确定的由于自己违背约定的不良行为而从个人可支配资产拿出的惩罚资产,将来归入检举节点的待确定奖励资产中。除去个人可支配资产,其余两部分资产均放入资金池中,并加以时间限制。每一次的输入都是基于上一次的输出,避免双支问题。个人资产构成关系如图1所示。 个人资产使用规则具体见表2。

图1 个人资产构成Fig.1 The parts of personal assets

表2 资产使用规则

Tab.2 Asset usage rules

大小关系效用说明评价奖励>不评价惩罚降低节点惰性评价、促进主动评价申诉的奖励>评价的奖励促进误判节点申诉奖赏的力度<惩罚的力度防止恶意节点攻击同一正常节点而获得信任的快速增长二次恶意申诉节点惩罚>首次的防止其他恶意节点为被复审发现的恶意节点申诉,保证恢复被误判节点信任奖励、惩罚财产冻结时间>交易时间为了确保奖赏、惩罚的正确性,个人资产设置时间限制,直至相关行为被确定才归入个人可支配资产

2)区块身

针对高并发性问题,采用类似SEC多链并行的底层架构解决,建立多链自治的双链并行系统。双链包括主链和副链两种,其中主链(交易链)负责执行交易、维护交易历史等;副链(账户和关系链)负责维护账户信息和信任指数,再次验证只需验证副链区块头部信息即可。两条链各司其职互不干扰,又通过交易互相联系,降低了信息冗余的同时使操作更简单高效。同时主链和副链采用异步更新机制,保证信息的完备性。多链自治指所有的交易不仅仅限于并行的双链,可以同一时间N条双链同时记录上链,由于P2P网络特性,每条链地位都是对等的,不存在先后顺序问题,每条链按照各自的交易如实完成信息记录。多链自治的双链并行系统有效缓解了并发性问题。

3)奖惩实施

采用SEC对多方交易关系进行分布式记账,并引入信任背书概念,只记录交易关系和信任,通过智能合约实现记录交易。以交易卖家、买家两方节点为例,交易完成后,如果买家认定商品为假冒伪劣产品,可向自动合约地址发出不信任,卖家除从个人可支配资产中扣除惩罚金外,还会被扣信任指数。当信任指数降为-1时,即信用关系表示为完全不信任,则永久性被网络禁用。惩罚金由智能合约约束收入资金池,买家相应会从资金池获得一定的补偿,为防止节点为获得补偿虚报产品信息,规定买家补偿金必须小于卖家惩罚金。押金背书是以一定的个人资产为担保,承认信任的一种代价手段。如果买家觉得卖家值得信任,可推荐该卖家,但需要抵押一定押金性质的个人可支配资产为其背书,之后卖家有交易成交,为其背书的人可以获得一定的记账权,买家可收回押金并获得资金池的奖励金,若该卖家不被信任,就会被反扣押金到资金池。抵押金、奖励金数目不定,随交易失败次数动态调整。失败次数越多,抵押金越大,奖励金越少,但奖励金永远不会超过抵押金。此外由于记录在链是不可篡改的,增加了安全性。同时带有奖励的推荐机制,使越来越多人愿意付出抵押金为某个商家背书,意味着越相信越能给自己“奖励”而非“惩罚”,提高了节点的主动性。这种主动推荐的信任机制,比淘宝删评论和好评返现等小奖励小回报手段,以影响其后的买家选择而不用付出代价的评级机制更有效。

2.3 PCB模型形式化定义

将时间轴划分成均等、长度为t0的时间段,节点i在经典模型中综合信任记为Trust(i),规定每隔t0衰减一次,tin、tend为节点进入、离开网络的时间。则加入时间敏感函数的节点信任度评价函数为

sensitive(Trust(i))=

(3)

加入时间敏感函数的节点信任度评价函数sensitive(Trustij(i))作为最终信任能较好地反应在一定时间内信任随时间衰减的特性,使节点的信任值更合理,且计算复杂度较低。

2.4 PCB模型算法描述

1)进行节点认证

(1) 计算共享密钥KAB并生成认证消息;

(2) 验证交易双方节点id号,核对时间戳、随机数等认证节点身份信息。

2)计算节点信任度

(2) 计算合成后节点的综合信任Cij;

(3) 更新节点信任。

3)融入时间敏感函数

(1) 分别计算时间tin,tend;

(2) 更新加入时间敏感函数的节点信任度评价函数sensitive(Trustij(i)),并作为最终信任。

4)节点信任存储与资产分区

(1)将节点交易信息存储到区块身部;

(2)根据交易信息完成情况,结合个人资产使用规则与奖惩情况对节点个人资产重新分区,同时将时间戳等上一区块信息存入区块头部。

3 PCB模型效能分析

1)随机性强。本文选择多项式环上的乘法和较小整数求模运算得到密钥的随机数再生成密钥,同样使用加密函数的随机数验证消息,安全性依赖于NTRU格中的困难问题,相比非环上计算和伪随机数验证,其有效性依赖于元素的概率[13];在NTRU中多项式与环上卷积乘法运算的阶级相差很大,因此密钥生成速度快。这使得节点的行为更加不可预测,从而进一步降低攻击成功的可能性。

2)效率高、能耗低。SEC分布式记账交易关系和信任背书模式,通过资产实现激励机制,很大程度上提高了节点的积极主动性[14];以区块链的抵押金作为担保对不良节点约束策略,有效抑制了不良节点由于提供虚假信息等不良行为对系统造成的恶性影响;使用Patricia Tree作为节点交易信息的存储结构,分块存储更加高效[15],文献[16]已证明度为d、存储结构是d-tree的拓扑维护开销为O(d);多链并行的底层架构解决了并发性问题;时间敏感函数处理上使用累加与除法运算计算开销较小;sensitive(Trust(i))只记录信任分布,而不是具体的值,减少了存储开销。

4)防止第三方介入。加入时间戳,保证信息只在特定时间内有效,避免被第三方非法使用,区块链在比较第三方时间戳与实际节点交互时间长短后,若长舍弃,否则进一步验证密钥;双向认证,发送方与接收方的认证非发送方单向认证,而是双向认证的,使接受方也能认证发送方,但在一定程度上阻碍代理的产生。

5)建立的信用指标体系有效、合理。融合时间敏感函数的sensitive(Trustij(i))保证了节点信任资质的时效性,主要体现在时间戳的运用;节点的直接评价和间接信任参与运算,且记录在链,可溯源,多信任参与运算保证了信任计算的合理性,记录可溯源保证了节点的可信性;采用时间戳与加密函数的随机数双验证,保证了节点相关信任评价的时效性和有效性。

6) 多模型抵抗攻击情况对比见表3。通过表3的对比,发现本文基于区块链的PCB模型在抵御重放攻击、多假名攻击、共谋攻击、伪装攻击、DoS攻击中,综合抵抗攻击力较强。

表3 多模型对抗攻击比较表

Tab.3 Multi-model confrontation attack comparison table

方法模型重放攻击多假名攻击共谋攻击伪装攻击DoS攻击多人评价累加Amazon模型YNNYYAARE模型NNNYN折扣方法TRAVOS模型NNNNN信念机制Trunits模型NNNYN过滤方法聚类过滤模型YNYNY本文方法PCB模型YNYYY

4 结束语

本文分析了P2P网络与区块链特点,在对经典模型分析后,融合hash链的帕特里夏树与电商行业区块链,构建了PCB模型,根据节点交易的直接信任和间接信任,并融合时间敏感函数计算节点的综合信任,采用激励机制对个人财产进行明确分类,进而更加明确衡量P2P中节点之间的信任问题,为实现相对准确的节点信任评估提供了一种较为全面的解决方案。

猜你喜欢

信任区块交易
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
区块链将给媒体业带来什么
区块链+媒体业的N种可能
嘤嘤嘤,人与人的信任在哪里……
大宗交易榜中榜
大宗交易榜中榜
大宗交易
信任
惊人的交易