陈心瑜,阮凯斌
(1.福建农林大学金山学院信息与机电工程系,福建 福州 350002;2.福建农林大学机电工程学院物理系,福建 福州 350002)
物联网多布设在无人监管的区域,物联网中的节点需要自组的适应网络的多态变化,并且自适应多重角色转换[1-3]。在传输数据时,节点需要考虑数据中继的可靠性;在处理数据时,节点需要考虑数据的完整性;在管理网络时,节点需要考虑网络性能的持久性。自适应的特点决定着物联网是一种无中心管理模型,节点之间是对等的关系[4]。在以往的网络管理模式中,网络待久性的管理需要节点在某个时段比较持久扮演管理者,这种状态使得节点在这一时段很难达到在管理网络的同时又兼顾传输了数据[5]。这种情况下,不得不调用性能相对比较优秀的节点统筹管理网络,充当“管理员”角色,因此只能称为“虚拟第三方监管”[6-8],并不是真正意义上节点每时每刻都可以在不同角色之间转换。因此,本文通过引入区块链的管理架构模式,借鉴区块链分析数据的方法,使得节点在去中心化的物联网中,在传输数据的同时,也兼顾了网络管理的稳定性。
在区块链中,每隔10分钟将产生一次流水记账的权利竞争,人员之间将依据自己的算力向其它节点证明通过自己努力所达到的工作量,这就是工作量证明方式(Proof of work,POW)[9],工作量证明方法在很大的程度证明了自己可以完成记账任务的诚心与工作实力。在物联网中,本文将每一次的数据传输记为一次“流水记账”,在节点广播传输数据的需求信息后,接收方节点将依据自身的算力、能耗及信用值向发送方节点证明自己的“工作量”。发送方节点从中选择出自己最适合的传输节点作为中继节点,而被选中的中继节点在成功转发数据后,也同样将获得增值信用作为酬劳。
在区块链中,每一次的记账都会生成一个新的“区块”,这个区块信息将全网发布,使得每个人都收到此信息,这是每个人员的数据唯一性备份,使得入侵者很难更改以往信息,从而有效防止了数据的篡改,保证了数据的真实性。在文献中形象的称这种人员为“矿工”,而每位矿工所挖的矿即是找到新的区块。伴随每一次的记账都会产生新的区块,也会给对应的矿工一定的酬劳,这也就是矿工需努力工作的激励机制。在物联网中,信用机制将是节点的激励机制,每一个节点也是一名“矿工”,每个节点努力寻求传输数据的机会是为了提高自身的信用值,以获得更多节点的信任,增加可靠性。
在对机制描述之前,先对物联网的一些前提假设做说明。
在物联网中存在 个节点,节点之间链路具有对称性[10]。本文中,为了更加集中讨论区块链在物联网中的可行性应用,暂时不考虑节点的隐终端与显终端问题。
物联网中的节点计算存储等各方面的硬件是具有局限性的,动态源路由协议(Dynamic Source Routing ,DSR)更适合节点数据的传输。
第一步:首先发送方i要对自己传输数据的难度系数(Difficulty Coefficient of Transmission,DCOT)进行估算,使所有的中继节点在随后的算力估算中作为参考。根据实际情况,数据的难度系数考虑因素主要包括本次传输的报文长度,是否要密文传输,协商加密算法,以及本次传输任务完成时中继方所能获得的信用报酬,所以数据的难度系数可表示为:
第二步:发送方通过DSR路由协议,广播信息请求中继的报文请求,在发送方i的传输范围Ri内,有个中继节点接收到该控制信息,以其中任意一个中继节点为例,说明中继节点构建算力策略空间的过程。作为竞争数据中继的“记账”节点将根据发送方发来的信息难度,自身剩余能量及本次传输的可行性算力评估自己是否可以承担本次的中继任务
备选中继节点作为一名“矿工”,将根据发送方所发送的消息传输难度,计算出自己本次传输所要消息的算力。每传输一次数据,节点所固有的硬件资源就要进行一次折损,因此备选中继节点不仅要考虑当前发送数据的算力,还要考虑传输数据所付出的资源折旧率,故可行性算力。假设折旧率是根据以往的平均算力进行折旧而得的[11],折旧率符合高斯白噪声,其方差为,噪声有效范围 。
节点不仅要通过算力性能评价实现内在因素的估测,还应通过对区块链实际信道情况的信息获取进行外在因素分析。文献[6]将信干比作为信道状态的评价指标,其定义如式4所示。
其中C表示信道容量,表示节点j对第g种通道“挖矿”能力的评估,表示节点j的发送功率,表节点j处理数据的折旧增益代价,表示信道噪声。
节点i将结合可能存在的节点竞争个数n,给出在不同节点竞争个数条件下节点j成功发送数据的概率。由于信道处理数据的折旧增益代价与节点竞争个数有着紧密的联系[12],因此,假设在具有相同维数的前提下,设置节点i在t时刻对节点j的“记账”期望等于
当节点i可以对所有候选中继节点完成期望评测时,策略矩阵则简化为节点i对中继节点上一时刻t-1的期望与当前时刻t期望的集合,即:
发送端i从所构建的策略矩阵中依据式(6)选择出最符合条件的中继节点,并结合上一次与当前的期望值求出最大的平均值,可使节点i有效的帮助中继节点提高收益,而式7则是为了寻求出与平均值最相近的一个中继节点,因为信道在较小时隙内的变化是不明显的,所以可被视为如果某一中继节点能够符合式(6),则表示该节点具有较好的稳定性。
最后,节点i根据式8选择出符合的中继节点,并将更新为,同时将捎带发送给选中的中继节点,以供节点对发送端的可靠性进行评测。
为了验证基于区块链模型分析物联网传输数据的优化的合理性,本文的仿真区域设置为1000*1000,在该仿真区域内随机投放200个节点,每个节点的有效传输半径为100,每组单元实验随机初始化节点剩余能量及已有信用值。每组单元进行2000次通信息实验,共进行10组单元实验。
本文以其中一组单元的节点传输信息为例展开讨论。图1(a)所示为第1次通信时网络中节点的初始能量状态。随着通信次数的增加,图1(b)与图1(c)分别表示第600次通信与1200次通信时节点的剩余能量,网络中节点的能量随着通信次数的增加,正在逐渐减少,直至图1(d)所示。图1(d)为物联网中节点第1800次通信所剩余能量显示图,节点的多次通信,网络中绝大部分节点已处于低电量状态。从这四幅图可以看出,每次的通信节点传输数据的消耗分布基本均匀,网络中的节点可以理性的通过自己传输水平的能力正确估算是否愿意传输中继数据。
图1 基于区块链物联网能量值分布图
这一组单元实验所对应的节点信用值显示情况如下图2所示。
图2 基于区块链物联网信用值分布图
结合能量图1与对应的信用值图2可以看出,在多次传输后,还有少许的节点存在比较高的能量。能量较高节点的对应信用值图可以看出,节点所对应的信用值并不高,信用值的高低体现的是节点传输数据的可靠性。从图2(a)可以看出,初始化的第1次通信所对应的随机生成的信用值,到多次通信后节点的信用值如图2(b)(c)(d)所示,整个物联网中的节点都在为获取更多的信用值,而不断努力传输数据,物联网的全局信用趋势依然是比较均匀分布,这说明网络中的节点将信用值作为激励,努力为别的节点进行传输的有效性。
为了突显本文机制的优势,在另一组实验中,将分别对基于区块链理论、信用机制、能量机制三种情况进行讨论。首先假设三种机制初始生成一样的地理坐标节点、剩余能量及信用值,以方便显示机制对比的公平性。本文以第600次时的通信能量对比图为例。
图3(a)与图4(a)表示的是同组实验中,相同节点坐标前提下,随机生成的相同能量值与信用值。图3(b)(c)(d)与图4(b)(c)(d)所分别对应了在第600次通信中,区块链机制、信用机制、能量机制的能量值与信用值的分布情况。可以明显的看出,当通信的次数达到600次时,基于区块链机制的节点的能量明显要高于信用机制与能量机制。根据本文所介绍的机制,备选中继节点在计算自身是否符合中继条件时,不仅通过式1考虑了本次传输数据的难度,还结合以往的传输数据的能力式3进行综合判断,所以节点对自己传输能力的判断更加精确,对能源的控制更加协调,更具全局性。
图3 三种机制,能量值对比
图4 三种机制,信用值对比
区块链的分析方法最早出现在金融领域,专家学者试图将货币的流通隐退第三方银行监管机制作为研究的目的,用以显示币流通中的公平性与合理性。这点与物联网的特性在本质上是一样的,作为计算机网络、无线网络、传感器网络等多种网络交叉的结合体,物联网也在试图寻找一种无人监管的平等传输方式,使得网络的传输更具智能性,多态性,减少人为管理所可能产生的差错,使网络更适用于复杂区域。本文通过基于区块链的物联网通信模型,讨论了区块链对物联网适用的性能优化的分析方法,通过实验结果论证了该机制的可行性与优越性。
当然,在本文中为了突出该机制的分析方法,弱化了节点的一些特性属性的考虑,比如节点对网络的诚实性。所以,在以后的工作中,可以考虑对节点性质更为细致的考虑,从而达到对网络更加精准的优化。