物联网技术区块链中数据确认时间

论文价格:免费 论文用途:其他 编辑:硕博论文网 点击次数:
论文字数:3524 论文编号:sb2019100423095328081 日期:2019-10-04 来源:硕博论文网

本篇文章目录导航
题目:物联网与区块链结合环境下对数据确认时间的研究
第一章 物联网与区块链结合的研究绪论
第二章 物联网与区块链结合的国内外研究现状
第三章 物联网技术区块链中数据确认时间
第四章 物联网技术区块链确认时间模型的建立
第五章 物联网与区块链结合仿真实验与结果分析
第六章 物联网与区块链结合总结与展望及致谢、参考文献

第三章 区块链中数据确认时间


区块链结合物联网的场景下,物联网数据作为区块链中的交易存在,若数据已经被应用检测到在区块链中存在,应用可以根据自身对于安全性以及时效性的要求计算出确认时间,经过这段时间后再使用和处理数据。本章逐一分析了最短确认时间的影响因素以及各影响因素的子因素。若某时刻某区块在区块链节点中作为主链区块存在,则该区块中的数据被该节点认为是可使用的。反之,若该区块不在主链上,代表数据没有保存在公认的区块链上,区块链网络中的节点不认可该区块以及区块内的数据。应用可以通过该数据所在的区块当前所处的状态安全与否来判断该数据可用或不可用。根据以太坊用来选择主链区块的GHOST协议,某高度下若产生多个分叉区块,节点选取子区块数最多的区块为主链区块。但主链区块并不是始终如一的,若其他分叉区块的子区块数大于当前主链区块的子区块数,节点会重新选取子区块数更多的区块为主链区块。而事实上某个区块的子区块数代表着该区块的确认区块数量。根据上述分析,本章分两个部分来对以太坊区块的确认时间进行分析:首先是区块至少应满足的确认区块数量与时间的关系,其次是区块后实际连接的确认区块数与时间的关系。当包含着应用数据的区块被挖出后,至少应满足的确认区块个数会随着时间的推移而发生变化,由区块链节点自主挖矿生成的确认区块数也会随着时间的变化而发生变化。因此,对于一个固定的时刻,当新生成的确认区块数量大于至少应满足的确认区块数量时,区块中的数据在该时刻是安全的。若确认区块数量小于应满足的区块数量则需要再等待一段时间,直至到达某时刻确认区块数量大于等于该时刻应满足的确认区块数。本文将至少应满足的确认区块个数称为最少确认区块数,在以太坊的环境下,本章在保证区块中数据安全的条件下对被挖出的区块的最少确认区块数进行分析,并对最少确认区块数量和时间的关系进行了详细的分析。


3.1 区块链的最少确认区块数
由于区块链在同一高度只选择一个区块作为主链区块,因而分叉区块间存在着对主链的“竞争”关系。但如果区块链在某高度发生分叉现象,当前的主链区块存在着被其他同高度分叉区块替代的可能性,经过一段时间后主链区块可能会发生变化。原先主链区块中的数据在区块链网络中变为无效数据,使得应用数据不被区块链网络所公认从而变为不可用。因此,区块在被挖出后需要等待区块后连接一定数量的确认区块数,直至其他的分叉区块难以超越该区块的确认区块数。根据文献[29]对GHOST协议的分析,使用GHOST协议的区块链中决定区块的最少确认区块数量的主要因素为网络中攻击节点的算力、应用对区块中数据不可用的容忍程度和区块在诚实者主链上的概率。
3.1.1 区块链网络中攻击节点的算力
51攻击是区块链中典型攻击手段。所有攻击节点利用其算力在某高度处另立一条新链,试图恶意造成区块链分叉,目的是攻击者试图使得分叉高度区块在确认区块数量上超过原先的主链区块。当攻击节点算力占全网算力的50%以上时,攻击必然成功。因此当网络中存在攻击节点时,诚实链条区块的最少确认区块数应在原来的基础上增加一定的数量。
3.1.2 应用对数据不可用的容忍程度
从应用角度出发,应用对区块中数据不可用的容忍程度是一个自变量,不同应用对数据的安全性有不同的容忍程度,某些应用为了提高数据传接收的效率,可以允许数据存在一定的不可用概率。即一段时间过后,数据不可用的概率小于应用设定的阈值则区块中的数据能够被视为是可用的。在包含应用数据的区块后连接了一定数量的确认区块后,虽然区块中数据不可用的概率依然存在,但只要该概率小于应用设定的概率阈值就可以确认区块中的数据。从区块链的角度出发,应用对区块中数据不可用的容忍程度可以理解为已经确认的区块内数据经过一段时间后失效的概率,此时在研究中可作为一个因变量,若区块链网络发生如攻击节点增多、确认时间缩短的变化,则相应地可以得到区块中数据不可用概率的变化。本文以区块中数据不可用的概率作为衡量安全性的标准,数据不可用概率越低则安全性越高,反之,数据不可用概率越高则安全性越低。
3.1.3 区块在诚实者主链上的概率
当区块链在某高度发生恶意分叉后,虽然某时刻诚实者区块的确认区块数大于攻击者区块的确认区块数,攻击者链条对诚实者链条暂时不构成威胁,但若该时刻包含应用数据的区块尚不在诚实者主链上,数据对于应用来说仍是不可用的。因此,需研究区块在诚实主链上的概率随时间的变化规律。首先,根据GHOST协议:当节点在自身的缓存中发现某高度存在某个区块的确认区块数大于其他分叉区块时,该区块被该节点视为主链区块。但主链区块是可能被替换的,区块在随后的时间是否在主链上还涉及到其他分叉链条增长的情况。因此,需要分析不同时刻分叉的概率。其次,若某高度出现多个分叉,主链区块是由同一高度的区块在随后所挖出的确认区块数量决定的,因此还要分析不同时刻各分叉区块产生确认区块的概率。
(1)对某高度的分叉概率的分析设所研究高度为高度h,当高度h上的第一个区块被挖出后,事实上由于该区块在被挖出后并不能立即被所有区块链节点接收,因此其成为高度h上的主链区块需等待该区块广播至所有区块链节点。而在这段时间内,存在着暂未接收到该高度区块的节点,本文中,将暂未收到任何h高度区块的节点称为“空白节点”。这类节点仍在原来的高度h-1上挖矿。当这类节点挖到新的区块时,高度h上会增加两个甚至两个以上区块,造成区块链在高度h上分叉。由于该分叉是由空白节点产生的,因此需要分析空白节点产生区块的概率。而产生区块的概率是由节点的算力来决定的,网络的算力增加则产生新区块的概率也会增加。本文假设区块链网络中所有节点算力相同,则问题转化为求解分叉概率与空白节点的数量之间的关系。空白节点的数量相当于总节点数减去已接收到区块的节点总数,区块 为高度h上第一个产生的区块,该区块于t1时刻被节点A挖出。在 t1时刻,只有节点 A 的缓存中包含区块 。此时节点 A 在区块 的基础上继续向更高的高度挖矿,而其余节点仍在高度 h-1 上的区块的基础上继续向上挖矿。由于每个接收到区块的节点存在验证区块的时延以及转发时对等节点暂时离线造成的时延,设直至 t2时刻区块链节点 B 接收到区块 ,如图 3.1 所示:

称节点内部不同的区块结构为不同的“视角”,在 t2时刻,节点 B 接收到了区块 。此时节点 B 与节点 A 的块链视角相同。而在 t1与 t2之间,节点 B 由于未接收到任何 h 高度上的区块,因而继续在 h-1 高度上挖矿。
与区块 同高度的分叉区块可能在t1至t2时间内被节点B挖出,若在t1与t2间的t'时刻成功挖到区块 ,则高度h产生区块链的分叉现象。同样的, 在网络中共同广播期间,空白节点仍有概率产生新的分叉区块。综上所述,分叉区块是由高度h上的区块在传播过程中空白节点产生的。随着区块的传播,空白节点占比减少,产生分叉区块的概率逐渐减少。因此,需分析以太坊区块的传播随时间变化的关系,从而得出空白节点占比。(2)对各分叉区块产生确认区块概率的分析根据区块链内部的机制,区块链节点若收到同一高度的多个区块,它会根据接收到区块的先后顺序来决定自己以哪一个区块为主链区块并以该区块为基础继续向上挖矿。因此,根据区块链网络中的节点对于h高度上不同分叉区块的选择可以将节点分为不同的集合。各集合分别以不同的区块为基础向上继续挖矿。和分叉区块产生的过程类似,在区块链网络中不同类节点的占比不同因而产生区块的概率也不相同。但是由于节点可以接收到多个分叉区块,因此各类以不同分叉区块为主链的节点集合的占比不仅与单个区块的传播有关,而且和节点接收高度h上各分叉区块的顺序有关。如图3.2所示,假设节点A、节点B分别产生高度h上的区块,虽然两区块随着各自的传播逐渐被网络中节点接收,但各类节点集合的占比却收到了区块传播顺序的影响。
比特币使用动态变化的难度值来适应网络中整体算力变化,使得处块间隔维持在一个稳定值附近。中本聪在比特币白皮书中将产生区块这一事件视为一个泊松过程,并利用泊松过程分析了攻击节点发起 51 攻击成功超越当前主链的成功率。以太坊平台也设置了难度更新算法 Ethash[31]来使全网节点的算力和出块间隔之间产生一种稳定的关系。出块间隔较小意味着全网的算力总和较强,需要提升挖矿难度来使块间隔增大。反之,出块间隔较大意味着全网的算力总和较弱,需要降低挖矿难度来使块间隔减小。在以太坊中,视全网挖出一个新区块为一个事件,则该事件满足:①在规定的初始时刻还没有区块被挖出。②由于以太坊的挖矿算法可以使任意网络算力下的出块间隔在一个固定值附近波动,只要全网存在算力,挖出新区块这一事件发生的频率就几乎是固定的,则该事件发生的周期也是固定的。因此,在一个时间段内挖出的区块数量并不会影响到另一个时间段挖出的区块的数量。③由于在每个时刻事件发生的频率即单位时间内事件发生的频数是固定的。则在两个相同的时间段 T1、T2内,事件发生的概率=固定的频数×T1=固定的频数×T2。事件在相同时间内发生的概率也是相同的。根据条件①至条件③可知以太坊新区块产生这一事件也可视为一个泊松过程。在区块被挖出后的 t 时刻,区块实际的确认区块数为 ,当 大于区块最少确认区块数时,由于满足了 t 时刻对于确认区块数的最低要求,则 t 时刻区块中的数据可以被确认并也可以被应用使用。所以还需分析研究区块的实际的确认区块数 ,通过各时刻通过 与 的比较可以得到区块中数据最短的确认时间。


3.2 本章小结
本章首先对以太坊中区块的确认时间进行了分析,在某时刻实际的后续区块数到达了当前环境所需的最少的确认区块,即可以确认区块中的数据。之后逐一分析了最少确认区块的影响因素,且对影响因素之一——区块在诚实者主链上的概率进行了深入分析。本章根据GHOST 协议确定区块在诚实者主链上概率的影响因素,即分叉概率以及各分叉区块的确认区块数增加的概率。此外,分析了实际的确认区块数的增长规律,明确了求解最短确认时间的方法。


如果您有论文相关需求,可以通过下面的方式联系我们
点击联系客服
QQ 1429724474 电话 15800343625