一种基于场域网和IOTA的共识算法制造技术

技术编号:33442374 阅读:81 留言:0更新日期:2022-05-19 00:29
本发明专利技术公开了一种基于场域网和IOTA的共识算法,首先建立场域网中IOTA共识时间分析模型;所述场域网中IOTA共识时间计算包括交易写入tangle的时间,交易在网络中传输的时间和共识达成时间;然后建立寄生链攻击成功概率分析模型在已知诚实节点事件到达率的基础上,分析并计算出了恶意节点若想攻击成功,所需要付出的算力与网络中诚实节点的总算力的比值;最后在上述分析模型的基础上,提出了一种通过减少tangle写入时间降低共识时间的新的区块链共识算法,将IOTA节点和相邻的终端组成一个集群;集群的所有成员协作完成任务,并将计算结果返回给IOTA节点,然后IOTA节点将数据写入到tangle中,从而降低了网络的共识时间。从而降低了网络的共识时间。从而降低了网络的共识时间。

【技术实现步骤摘要】
一种基于场域网和IOTA的共识算法


[0001]本专利技术涉及无线通信
,主要涉及一种基于场域网和IOTA的共识算法。

技术介绍

[0002]随着可再生能源分布式发电的大规模发展,下一代电网,即智能电网,已经通过将当前的信息网络和信息系统与传统能源网络整合到新的电网系统中来发展。然而,当前的智能电网仍然面临一些挑战,如消费者与可再生能源发电之间缺乏有效的交易信任、能源供需动态平衡难以实现、网络物理安全威胁的出现以及大规模数据共享的安全性等。为了解决这些挑战,很多研究人员正在研究区块链技术在SG中的适用性。例如,区块链在SG中有一些重要应用领域,可以有效解决:1)实现可信的分布式能源交易,2)克服与隐私和安全相关的挑战,3)通过监控特定区域的使用统计数据来远程控制特定区域的能源流动,以及4)协助SG设备的诊断和维护。
[0003]然而,在拥有数百万分布式无线终端的SG中,区块链的选择是一个重要的问题。众所周知,一致性算法对区块链的安全性和一致性起着关键作用。目前流行的共识算法包括工作量证明(PoW)、权益证明(PoS)和实用拜占庭容错(PBFT)。PoW的核心思想是对计算能力的竞争。矿商不断进行哈希以争夺生成额外区块的权利,因此这种情况不适用于计算能力较弱的SG。PoS通过评估所持有的代币的数量和持续时间来确定参与者获得会计权利的概率。在PoS中,币龄越高的参与者获得创建新区块的权利的概率就越高,这可能导致垄断。在PBFT中,PBFT共识机制中有一个主节点,其余节点一般称为replicas。客户端向主节点发送请求,然后所有诚实副本节点通过运行一个预准备、准备和提交三个阶段组成的协议来执行区块链网络中所有事务请求的顺序。PBFT共识算法共识速度较快,但需要提前知道所有参与者的人数,扩容困难,不适合SG。
[0004]因此,由于SG网络规模大、存取快、计算资源有限、交易频繁等固有特点,传统的共识算法不能有效地应用于该网络。因此,需要研究一些资源效率高、成本低、事务吞吐量高、支持并发的共识算法。IOTA是专门为物联网开发的,具有有向无环图(DAG)共识机制,打破了上述共识机制的单链结构,允许所有节点在处理和验证了之前的交易后,立即将新的交易插入分布式账本。Tangle是基于DAG架构的第三代区块链。Tangle的优势在于:1)没有交易费用;2)降低资源;3)降低交易的验证延迟;4)更大的网络吞吐量。因此IOTA系统非常适用于SG网络。
[0005]然而,目前对这一问题的研究主要集中在特定的共识算法上,缺乏针对不同网络规模和不同传输协议的共识时间分析模型。

技术实现思路

[0006]专利技术目的:针对上述
技术介绍
中存在的问题,本专利技术提供了一种基于场域网和IOTA的共识算法,综合考虑了数据无线传输跳数、通信协议和选择tips个数,建立了场域网共识时间和寄生链攻击的成功概率分析模型,解决了SG网络数据和交易安全共享的问题,
并在此基础上,提出了一种新的区块链共识算法,降低了交易延迟,提高了系统吞吐量。
[0007]技术方案:为实现上述目的,本专利技术采用的技术方案为:
[0008]一种基于场域网和IOTA的共识算法,包括以下步骤:
[0009]步骤S1、建立场域网中IOTA共识时间分析模型;所述场域网中IOTA共识时间计算包括交易写入tangle的时间,交易在网络中传输的时间和共识达成时间;具体地,
[0010]步骤S1.1、交易写入tangle的时间;
[0011]交易写入tangle的时间与所做的工作量证明PoW难度和设备的计算能力相关;当节点有交易写到tangle中时,首先选择tangle中未被验证的交易tips进行验证,然后再进行PoW计算,最后将数据写入本地tangle,并将计算结果和选择的tips向IOTA网络中广播;忽略tips的验证时间,将PoW的计算时间作为交易写入tangle的时间;
[0012]步骤S1.2、交易在网络中传输的时间;
[0013]选择Gossip协议进行交易传输,将本节点拥有而相邻节点没有的交易,定期转发至邻居节点;收到转发消息的邻居节点重复该转发步骤;最终通过多个轮次的转发将交易信息传达全网;交易的传输时间即交易在网络中的传输跳数乘以每跳的传输时延;忽略有线网络的传输时延,在场域网FAN中网络的每跳传输时延即为无线网格网络mesh中的传输时延;步骤S1.3、共识达成时间;
[0014]达成共识的时间是从事务首次在所有IOTA节点中存在到每个tips可以看到它的时间,即tips被选择验证所需的时间;IOTA节点向tangle中写入交易后,当验证该交易的tips个数等于网络中的提示数时,共识达成,交易不可更改;
[0015]步骤S2、建立寄生链攻击成功概率分析模型;
[0016]所述寄生链攻击成功概率分析模型指寄生链攻击成功的概率与诚实节点事件到达率、恶意节点事件到达率的闭合表达式;具体地,
[0017]如图5所示,节点首先发送交易a,交易一致完成后,节点接收到该交易对应的物资;此时,节点发送双花交易b,当交易b的最终累积权值大于a时,交易a就被放弃,此时攻击成功;如果寄生链选择在共识完成时间之后发起的交易d进行验证,则交易b验证交易a;每一个验证交易b的交易都间接地验证了交易a,此时寄生链攻击不可能成功;因此寄生链选择的交易应该是在协商一致完成时间之前启动的交易;交易选择后,只需要构造寄生链的累计权重大于交易a的累积权重,攻击即可成功;计算攻击成功时恶意节点所需要的计算量与全网计算量的比例,即可得出攻击成功的概率;
[0018]步骤S3、建立基于场域网和IOTA的区块链共识算法;
[0019]将IOTA节点和相邻的终端组成集群;终端将事务发送到IOTA节点;当IOTA节点接收到足够多的事务时,它将所有事务打包,并将PoW任务分发给集群中的终端;集群中所有成员协同完成各自的任务,并将计算结果返回给IOTA节点,由IOTA节点将数据写入tangle。
[0020]进一步地,所述步骤S1.1中交易写入tangle的时间具体计算方法如下:
[0021]设定IOTA网络中的节点数为N,当节点i有交易写到tangle中时,首先选择k个tips进行验证,然后再进行PoW计算,最后将数据写入本地tangle,并将计算结果和所选的tips向IOTA网络中广播,节点i的交易写入时间t
i
为:
[0022][0023]其中,d
Pi
为进行PoW的计算周期数,f
i
为节点i的计算能力;交易写入本地tangle的平均时间间隔h为:
[0024][0025]所述步骤S1.2中交易在网络中传输的时间具体计算方法如下:
[0026]对于N个节点的IOTA网络,设定每个节点有m+1个邻居,则每次传输给m个邻居,设定每跳传输的平均时间为T,事件成功被接收的概率为p,则网络传输相当于pm叉树,传输总跳数为:
[0027本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于场域网和IOTA的共识算法,其特征在于,包括以下步骤:步骤S1、建立场域网中IOTA共识时间分析模型;所述场域网中IOTA共识时间计算包括交易写入IOTA数据库tangle的时间(tangle的结构示意图如图1所示),交易在网络中传输的时间和共识达成时间;具体地,步骤S1.1、交易写入tangle的时间;交易写入tangle的时间与所做的工作量证明PoW难度和设备的计算能力相关;当节点有交易写到tangle中时,首先选择tangle中未被验证的交易tips进行验证,然后再进行PoW计算,最后将数据写入本地tangle,并将计算结果和选择的tips向IOTA网络中广播;忽略tips的验证时间,将PoW的计算时间作为交易写入tangle的时间;步骤S1.2、交易在网络中传输的时间;选择Gossip协议进行交易传输,将本节点拥有而相邻节点没有的交易,定期转发至邻居节点;收到转发消息的邻居节点重复该转发步骤;最终通过多个轮次的转发将交易信息传达全网;交易的传输时间即交易在网络中的传输跳数乘以每跳的传输时延;忽略有线网络的传输时延,在场域网FAN中网络的每跳传输时延即为无线网格网络mesh中的传输时延;步骤S1.3、共识达成时间;达成共识的时间是从事务首次在所有IOTA节点中存在到每个tips可以看到它的时间,即tips被选择验证所需的时间;IOTA节点向tangle中写入交易后,当验证该交易的tips个数等于网络中的提示数时,共识达成,交易不可更改;步骤S2、建立寄生链攻击成功概率分析模型;所述寄生链攻击成功概率分析模型指寄生链攻击成功的概率与诚实节点事件到达率、恶意节点事件到达率的闭合表达式;具体地,如图5所示,节点首先发送交易a,交易一致完成后,节点接收到该交易对应的物资;此时,节点发送双花交易b,当交易b的最终累积权值大于a时,交易a就被放弃,此时攻击成功;如果寄生链选择在共识完成时间之后发起的交易d进行验证,则交易b验证交易a;每一个验证交易b的交易都间接地验证了交易a,此时寄生链攻击不可能成功;因此寄生链选择的交易应该是在协商一致完成时间之前启动的交易;交易选择后,只需要构造寄生链的累计权重大于交易a的累积权重,攻击即可成功;计算攻击成功时恶意节点所需要的计算量与全网计算量的比例,即可得出攻击成功的概率;步骤S3、建立基于场域网和IOTA的区块链共识算法;将IOTA节点和相邻的终端组成集群;终端将事务发送到IOTA节点;当IOTA节点接收到足够多的事务时,它将所有事务打包,并将PoW任务分发给集群中的终端;集群中所有成员协同完成各自的任务,并将计算结果返回给IOTA节点,由IOTA节点将数据写入tangle。2.根据权利要求1所述的一种基于场域网和IOTA的共识算法,其特征在于,所述步骤S1.1中交易写入tangle的时间具体计算方法如下:设定IOTA网络中的节点数为N,当节点i有交易写到tangle中时,首先选择k个tips进行验证,然后再进行PoW计算,最后将数据写入本地tangle,并将计算结果和所选的tips向IOTA网络中广播,节点i的交易写入时间t
i
为:
其中,d
Pi
为进行PoW的计算周期数,f
i
为节点i的计算能力;交易写入本地tangle的平均时间间隔h为:所述步骤S1.2中交易在网络中传输的时间具体计算方法如下:对于N个节点的IOTA网络,设定每个节点有m+1个邻居,则每次传输给m个邻居,设定每跳传输的平均时间为T,事件成功被接收的概率为p,则网络传输相当于pm叉树,传输总跳数为:L=log
pm
(pmN

N+1)

1总的传输时间为LT;基于802.11 MAC广播协议,高斯信道,在数据饱和时,计算每跳的平均传输时间T;当节点有数据包需要发送时,节点开始监听信道状态,当检测到信道空闲时间超过分布式帧间隔DIFS时,节点进入退避阶段,否则节点将一直处于监听信道状态;节点进入退避阶段后,随机选择一个退避时隙值并启动退避计数器;当信道处于空闲状态时,退避计数器随信道空闲时间以时隙为单位递减,直至退避计数器为零时开始发送数据包;当在退避计数器递减过程中信道处于忙时,则退避计数过程被冻结,节点重新监听信道,直到检测到信道空闲时间超DIFS后,重新回到退避阶段并继续被冻结的退避递减过程;设定回退时间设置范围为{1

w0},节点传输数据的概率τ=2/(w0+1),在一个虚拟时隙中,成功传输数据的概率p
s
=nτ(1

τ)
n
‑1,信道空闲的概率为p
i
=(1

τ)
n
,信道忙的概率为p
bsy
=1

p
i
=1

(1

τ)
n
,其中,n为可能产生碰撞的节点个数;在一个虚拟时隙内,发生碰撞的概率为p
c
=1

p
s

p
i
,当信道成功传输数据或发生碰撞时,数据的传输时延包括:数据发送时延L
en
/r、分布式帧传输前等待时延DIFS和传播时延δ;其中L
en
为帧的总长度,包括MAC数据包头和物理数据包头,r为发送速率;由于成功传输导致信道忙的时延T
s
和由碰撞引起的信道忙的时延T
c
为:退避计数器每一次技术所需的等待时延包括:当信道空闲时,退避计数器每减1,时间间隔为一个物理时隙σ、当信道成功传输数据时,退避计数器被冻结,此时等待时间为T
s
、以及当信道发生碰撞时,退避计数器被冻结,此时等待时间为T
c
;因此退避计数器每次计时等待时间间隔平均为:t0=(1

p
bsy
)σ+p
s
T
s
+p
c
T
c
t0即为一个虚拟时隙;退避计时器初值D在{1

w0}范围均匀分布,则E[D]=(w0+1)/2;对于可能产生碰撞的n个节点,计时器在设置初值后同时执行减1计数,则平均分到每个节点的退避时间E[D
n
]=(w0+1)/2n,传输一个数据帧的平均时延为:设定IOTA的数据包大小为L
p
,一个数据帧的大小为L
en
,则传输一个IOTA数据包的平均时间为:
采用M进制的QAM编码计算IOTA数据包被成功接收的概率;误比特率表示如下:其中,E
b
/N0为信噪比,由数据传输错误的概率为数据传输失败包括数据传输错误或碰撞引起,因此,数据传输失败的概率为:p
r
=p
c
+p
e

p
c
*p
e
,成功传输一个IOTA数据包的概率为:所述步骤S1.3中共识达成时间计算方法如下:在tangle中,tips的总数R0维持在一个稳定的状态,且满足:在t
...

【专利技术属性】
技术研发人员:张秀贤陈勐勐
申请(专利权)人:南京晓庄学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1