一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于节点信誉和分区共识的区块链构建方法

2022-06-02 16:41:20 来源:中国专利 TAG:


1.本发明涉及区块链技术,尤其涉及一种基于节点信誉和分区共识的区块链构建方法,属于物联网数据存储技术领域。


背景技术:

2.区块链技术在物联网领域可解决物联网设备间的大规模协作存储安全问题和物联网设备灵活组网部署问题。但现有区块链方案在物联网场景中存在许多问题:首先,现有的基于区块链的系统在可扩展性方面存在不足所有交易都必须由区块链网络上的每个节点处理,全网的所有数据和整个区块链系统的处理能力都受限于单个计算节点的处理能力。其次,随着节点数量的增加,共识算法受到影响,系统的整体处理能力不仅没有增加,反而会下降。
3.通常,网络分区被认为是一种链上性能扩展技术。当一个网络有特定数量的节点时,网络分区越多,每个分区内链上的节点就越少,这样可以提高单片机共识的效率和整个网络的交易效率。但是在进行分区时,考虑到不同的场景,就会造成网络节点数量的增长。传统区块链节点需要存储gb级别的数据,物联网中存在存储容量在mb-kb级别的多类型的小型设备。大多数物联网采用分区技术来解决存储问题,但是过多的分区势必造成区块链网络的安全性将受到损害,即当系统将过多的恶意节点分配到同一个分区中,导致分区中恶意节点的比例超过安全阈值(如1/3的拜占庭共识)时,分区无法达成共识,则分区失效。


技术实现要素:

4.本发明的目的在于针对上述现有的基于区块链的物联网数据存储系统的存储能力和安全性存在的问题,本发明提出了声誉评分与基于区块链分区相结合的分区算法,该算法基于节点声誉值,通过kademlia和prng随机数生成器算法将节点分配到不同的共识分区,保证分区的效率和随机性;设计了分区链和全局链的多链结构,实现了区块链存储性能随节点大小的增加而同步扩展的目标;设计了一种新的跨分区交易算法,该算法以每个区域选出的全球领导者为基础,确定两个分区共同涉及的验证区域,从而实现高效、安全的跨区域交易。
5.为实现上述目的,本发明采用的技术方案是:
6.一种基于节点信誉和分区共识的区块链构建方法,包括:
7.构建节点信誉值计算模型;
8.在所述模型中输入节点集,根据节点将区块链网络划分为多个不相连的委员会分区,并依据理论共识的安全性和复杂性得到最优分区;
9.根据所述最优分区和节点信誉值将所有所述节点随机分配到不同的所述分区,每个所述节点将分区号广播到所述区块链网络;
10.根据所述分区建立主从分支多链区块链结构,使得每个所述分区都有自己的分区链,整个区块链网络也有一个轻量级的全局链;所述分区链生成子块,包含分区内生成的事
务;所述全局链生成全局块,包含分区重组时整个区块链网络的utxo状态;
11.根据发送者地址分配交易所属的分区,同分区内节点存储分区内交易区块;当产生跨分区事务时,通过四阶段双向确认协议来完成跨分区事务共识;
12.每次重新分区前,整理各分区创建分区内的utxo状态;当每个分区对当前本地链的utxo状态达成一致时,形成包含分区中每个节点的utxo状态信息的状态块,将所有分区同步状态块组成新全局链,并重新分区重组,以使得每个节点使用所述新全局链中每个节点的utxo状态在新分区中启动事务一致。
13.进一步地,所述在所述模型中输入节点集,根据节点将区块链网络划分为多个不相连的委员会分区,并依据理论共识的安全性和复杂性得到最优分区,包括:
14.先输入节点集n和交易w,n节点区块链网络被划分为t个不相连的委员会分区,每个分区的大小tn为:
[0015][0016]
在委员会内部,故障节点的数量需满足:
[0017][0018]
那么,分区数t的值为:
[0019][0020]
结合复杂性的计算,得到:
[0021][0022]
式中,tg为在委员会内部达成共识期间达成共识的平均时间,t
t
为验证链上交易的平均时间;
[0023]
使得
[0024][0025]
由此,得到最优分区数t值。
[0026]
进一步地,所述根据所述最优分区和节点信誉值将所有所述节点随机分配到不同的所述分区,每个所述节点将分区号广播到所述区块链网络,包括:
[0027]
当所述最优分区数t=1时,不需要采用分区算法,否则,会根据所述节点信誉值进行分区;
[0028]
根据链接的方法建立分布式哈希表,所述节点从下到上遍历所述分布式哈希表,选择离自己最近的节点进行分区,当分区的数量与节点的数量匹配时,停止遍历以获取分区;
[0029]
确定分区后,每个所述节点将分区号广播到所述区块链网络,委员会成员通过所述分区号建立点对点链接。
[0030]
进一步地,所述根据所述节点信誉值进行分区,包括:
[0031]
将所述节点信誉值达到良好水平阈值的节点随机分配到各个分区,其中,对于信
誉值排名前45%的节点,会通过唯一id和哈希值进行分区;
[0032]
所述哈希值由节点上一次同意块的哈希值b
(h-1)
计算得到,表示为:
[0033]
i(h)=h(b
(h-1)
,id)
ꢀꢀꢀ
(5)
[0034]
式中,i(h)表示哈希值。
[0035]
进一步地,当事务大小大于w
t
,将其分配到整体信誉值较高的分区;w
t
是为了保证大型交易安全所设定的定值。
[0036]
本发明基于节点信誉和分区共识的区块链构建方法,与现有技术相比较具有以下优点:
[0037]
1)本发明的最优分区算法能够保证协商一致意见的有效性,并且在安全阈值范围内。
[0038]
2)本发明的最优分区算法能够保证可信的委员会(分区)成员的选择,保证共识网络的稳定性和强度,从而提高了区块链的事务吞吐量。
[0039]
3)本发明的最优分区算法可以提高每个分区的有效性,避免了pow共识造成的能量浪费,避免了直接使用pbft算法和昂贵的三阶段协议,消除了重组过程中网络节点数据迁移的开销,允许不同分区的节点处理和验证跨分区事务。
附图说明
[0040]
图1为本发明基于节点信誉和分区共识的区块链构建方法流程图;
[0041]
图2为本发明中分区重组策略的流程图。
具体实施方式
[0042]
以下结合实施例对本发明进一步说明:
[0043]
如图1所示,本实施例公开了一种基于节点信誉和分区共识的区块链构建方法,包括:
[0044]
101、构建节点信誉值计算模型;
[0045]
102、在模型中输入节点集,根据节点将区块链网络划分为多个不相连的委员会分区,并依据理论共识的安全性和复杂性得到最优分区;
[0046]
103、根据最优分区和节点信誉值将所有节点随机分配到不同的分区,每个节点将分区号广播到区块链网络;
[0047]
具体而言,设定信誉值并计算最优分区。根据输入节点集n,确定n节点区块链网络(除了网络leader)被划分为t个不相连的委员会分区,结合共识的安全性和共识的复杂性两个不同的角度,得到最优分区大小。根据节点信誉值将所有网络节点随机分区。在获得最优分区大小后,根据计算出的分区大小t和每个分区中的节点数tn,判断其需不需要分区。当分区大小t=1时,不需要分区算法。否则,会根据信誉值进行分区。将信誉值达到良好水平阈值的节点随机分配到各个分区。其中,对于声誉值排名前45%的节点,会通过唯一id和哈希值进行分区。一旦确定分区,每个节点将分区号广播到网络,以便委员会成员可以建立点对点链接。
[0048]
实施例1:
[0049]
先输入节点集n和交易w,n节点区块链网络被划分为t个不相连的委员会分区,每
个分区的大小tn为:
[0050][0051]
在委员会内部,故障节点的数量需满足:
[0052][0053]
那么,分区数t的值为:
[0054][0055]
结合复杂性的计算,得到:
[0056][0057]
式中,tg为在委员会内部达成共识期间达成共识的平均时间,t
t
为验证链上交易的平均时间;
[0058]
使得
[0059][0060]
由此,得到最优分区数t值。结合共识的安全性和共识的复杂性两个不同的角度,得到最优分区大小。
[0061]
104、根据分区建立主从分支多链区块链结构,使得每个分区都有自己的分区链,整个区块链网络也有一个轻量级的全局链;分区链生成子块,包含分区内生成的事务;全局链生成全局块,包含分区重组时整个区块链网络的utx0状态;
[0062]
具体而言,根据分区方案建立主从分支多链区块链结构。一旦划分完成,就会成立一个委员会。每个委员会将等待交易的分配,并使用ebrc共识算法达成共识。事务的分布由事务的输入地址决定。用户可以在网络上广播他们的事务,接收事务的节点根据事务的输入地址将事务转发给相应的分区。特别地,这里指定了当事务大小大于w
t
,将其分配到整体信誉值较高的分区,以提高事务处理效率和安全性。
[0063]
ebrc共识算法引用自专利cn112039964b一种基于区块链的节点信誉共识方法,包括:获取行为记录表;对行为记录表中节点进行信誉值评估;根据节点的信誉值变化计算节点的信誉增长率;根据节点的信誉值和信誉增长率进行权限管理等。其中,主要通过以下公式计算节点i的信誉值:式计算节点i的信誉值:其中ri表示节点i的信誉值,δi表示保证金比率,τi表示未完成率,ψi表示作恶率,表示活动率,ρi表示事务量级因子;各因素所占权重为:之后通过以下公式计算全网节点新的信誉增长率:其中,y(t)表示信誉增长率,ri,n表示当前轮次节点i的信誉值,ri,t表示前t轮节点i的信誉值。
[0064]
实施例2:
[0065]
在获得最优分区大小后,本工作的目标是将物联网节点公平、随机地划分为多个
委员会,以实现每个分区独立、并行处理事务的目的。为了提高分区的效率和保证分区的随机性,本文提出了一种基于节点声誉值的节点分配技术。
[0066]
首先,根据计算出的分区大小t和每个分区中的节点数tn,当分区大小t=1时,不需要分区算法。否则,会根据信誉值进行分区。将信誉值达到良好水平阈值的节点随机分配到各个分区。其中,对于声誉值排名前45%的节点,会通过唯一id和哈希值进行分区,这里的哈希值是由节点上次同意块的新的哈希值b
(h-1)
计算得到的,即:
[0067]
i(h)=h(b
(h-1)
,id)
ꢀꢀꢀ
(5)
[0068]
这个公式中i(h)将在每一轮中发生变化,与交易本身无关。因为b
(h-1)
是随机的,所以i(h)也是随机的。因为这一代b
(h-1)
是不可预测和不确定性的,所以恶意节点无法通过更改事务集,影响生成i(h)。
[0069]
然后,分区根据链接的方法建立了分布式哈希表。节点从下到上遍历路由表,选择离自己最近的节点进行分区。当分区的数量与节点的数量匹配时,停止遍历以获取分区。注意,只有信誉值较高的节点才能在信誉值较低的节点之前建立分区。然后,最后55%的节点可以通过prng随机数生成器直接确定分区,而无需等待。
[0070]
最后,一旦确定分区,每个节点将分区号广播到网络,以便委员会成员可以建立点对点链接。
[0071]
105、根据发送者地址分配交易所属的分区,同分区内节点存储分区内交易区块;当产生跨分区事务时,通过四阶段双向确认协议来完成跨分区事务共识;
[0072]
具体而言,如图2所示,跨分区交易通过四阶段双向协议完成。每个分区都有自己的分区链,整个网络节点也有一个轻量级的全局链。分区链生成子块,包含分区内生成的事务;全局链生成全局块,包含分区重组时整个网络节点的utxo状态。这种设计增加了子块生成的速率,从而增加了吞吐量和延迟。当产生跨分区事务时,为了促进跨分区事务,就会通过一个由所有分区选出的全局leader节点,通过四阶段双向确认协议来完成跨分区事务共识。其中,利用leader节点将不同的分区连接在一起。这意味着每个分区并行地维护与其他分区的连接,从而使它能够验证跨分区事务确认。
[0073]
106、每次重新分区前,整理各分区创建分区内的utxo状态;当每个分区对当前本地链的utxo状态达成一致时,形成包含分区中每个节点的utxo状态信息的状态块,将所有分区同步状态块组成新全局链,并重新分区重组,以使得每个节点使用新全局链中每个节点的utxo状态在新分区中启动事务一致。
[0074]
具体而言,如图2所示,单次分区时段内进行完区块存储后,重新进行选举和分区,变成下一个分区阶段,各分区创建分区内utxo状态,每个分区对当前本地链的utxo状态达成一致,形成包含分区中每个节点的utxo状态信息的状态块,每个分区的主节点发送给全球领袖g,全球领袖g通过ebrc达成性协议共识,更新全球链。并开始重新分区。之后,每个节点使用全局链中每个节点的utxo状态在新分区中启动事务一致,而不需要进行分区数据迁移。
[0075]
区块链系统效果评价:
[0076]
为了测试rpsc共识算法的适用性,采用了各种实验方案,并在服务器上运行。通过使用20台计算机的集合,每台计算机运行多个rpsc实例,以模拟多达1800个节点的网络。每台电脑都有英特尔酷睿i7 2.90ghz处理器,16gb的dram和256gb的ssd,以及ubuntu 16.04
和12gbps的通信连接。得到测试结果如下:
[0077]
1、在事务延迟测试中进行了三种延迟测试:分区算法的、不同分区大小的及分区复位的。在分区算法的延迟测试中,与ebrc相比,rpsc的延迟范围为102到213毫秒,平均事务延迟减少了44%。与elastico相比,平均事务延迟降低了41%。与omniledger相比,平均事务延迟降低了17%,这证明了分区共识的有效性。在不同分区大小下事务延迟的测试中,最优分片大小o的事务延迟最小,事务延迟范围为141-199毫秒。这证明了最优分片大小算法能够保证最大的一致性性能,并且在安全阈值范围内。这保证了协商一致意见的有效性。在分区复位延迟的测试中,在相同条件rpsc的复位延迟时间最少。
[0078]
2、在吞吐量测试中,随着恶意节点数量的增加,系统的事务吞吐量显著降低,但事务吞吐量可低至233个事务/ms。与目前流行的分区算法相比,有了明显的改进。因此,rpsc分区算法能够保证可信的委员会(分区)成员的选择,保证共识网络的稳定性和强度,从而提高了区块链的事务吞吐量。
[0079]
3、在与更高级的基于片段的协议进行比较分析中,rpsc可以提高了每个分区的有效性,避免了pow共识造成的能量浪费,避免了直接使用pbft算法和昂贵的三阶段协议,消除了重组过程中网络节点数据迁移的开销,允许不同分区的节点处理和验证跨分区事务。
[0080]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献