CN113810507A - 一种基于ide的区块链可信节点划分方法 - Google Patents

一种基于ide的区块链可信节点划分方法 Download PDF

Info

Publication number
CN113810507A
CN113810507A CN202111367610.1A CN202111367610A CN113810507A CN 113810507 A CN113810507 A CN 113810507A CN 202111367610 A CN202111367610 A CN 202111367610A CN 113810507 A CN113810507 A CN 113810507A
Authority
CN
China
Prior art keywords
nodes
node
individuals
fragment
individual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111367610.1A
Other languages
English (en)
Other versions
CN113810507B (zh
Inventor
张佩云
黄文君
汪丽翠
陈禹同
郭威峰
谢荣见
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Tongxinchen Information Technology Co ltd
Original Assignee
Nanjing University of Information Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN202111367610.1A priority Critical patent/CN113810507B/zh
Publication of CN113810507A publication Critical patent/CN113810507A/zh
Application granted granted Critical
Publication of CN113810507B publication Critical patent/CN113810507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/30Decision processes by autonomous network management units using voting and bidding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Optimization (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于IDE(Improved Differential Evolution)的区块链可信节点划分方法,属于区块链技术领域。本发明通过合理分配可信节点,改变了节点随机划分的方式,平衡各分片的信任值与节点数,提高了分片的可靠性,同时,为了减少片内节点间的通信延时,将距离较近的节点放置在同一个分片中,通过IDE进行迭代调整,得到最佳的节点分片集。本发明提出的可信节点划分方法可以有效提高分片的安全性和系统的性能,大大提高了区块链系统的交易吞吐量,并且降低了通信延时。

Description

一种基于IDE的区块链可信节点划分方法
技术领域
本发明属于区块链技术领域,更具体地说,涉及一种基于IDE的区块链可信节点划分方法。
背景技术
区块链具有去中心化、集体维护监督、安全可信、可追溯和可编程等特点,引起了学术界和企业界的广泛关注。与此同时,区块链技术已经在众多领域进行广泛研究,例如从金融到医疗,从社会生活到物联网等方面。研究表明,区块链可以解决这些领域中的很多问题。
然而,区块链中每个节点都需要处理所有交易,导致区块链技术存在着吞吐量低和扩展性差等问题,极大限制了区块链技术的发展与应用。例如比特币每秒处理7笔交易,以太坊则是每秒处理10笔交易,容易产生交易积压和网络拥堵,而在现实世界中,占据领先地位的VISA支付系统,每秒可以轻松处理2000笔交易,最高可处理4.5万笔交易。因此,区块链中低吞吐量和高延迟要求促使区块链技术需要迫切提高可扩展能力。
分片技术已被认为是迄今为止线上扩展区块链系统最实用的解决方案,引起了研究者的广泛关注。然而,分片之后,达成共识所需的节点数量减少,导致分片中恶意节点更容易实现串通作弊等恶意行为。这使得基于分片的区块链更容易受到51%攻击。因此区块链分片中,分片安全性格外重要。因为目前存在的区块链方案中,大多采用了随机分片的方式来维持分片分布的公平性,该方法会导致各个分片可信度不同,一些分片信任度高而另一些分片信任度过低。
在区块链分片技术方面,诸如以太坊之类的公有链正在研究分片技术。分片技术源自于数据库管理系统中,将一个整体拆分为不同部分,以减轻节点负担并提高性能。将区块链网络中的节点进行分片,允许分片中的节点处理所在分片的交易,通过这种方式,可以提高区块链系统的存储空间。随着区块链网络中节点数量的增加,分片数也随之增加,进而系统的处理能力也随之增加。同时,每个分片都足够大,可以达成可靠共识。分片内的通信与一般的区块链操作并无不同,但需要不同的分片间通信方法。
现有的分片方案通常将节点随机分配给不同的分片以同时满足安全性和效率的要求。例如,Elastico、OmniLedger和RapidChain协议通过让节点执行工作量证明来获取随机值,然后将随机值用于分片,所有节点将被随机分配给每个分片。
Elastico作为最早的分片方法之一,为提高区块链性能提供了一种新思路。该方法首先将区块链网络随机分成多个分片,然后将节点按照节点ID放入已分好的分片中进行处理。该方法将节点随机放置在彼此不相交的节点子集中,实现计算能力的并行。然而,由于分片中的节点必须存储所有交易,这对于存储能力是一个巨大的挑战,而且各个分片之间没有通信,所以不支持跨片交易,跨片交易问题有待解决。
OmniLedger为Elastico分片协议提供了一些增强和附加功能,其建立在ByzCoin之上,提出了原子提交协议Atomix,该协议基于锁定验证的方式,提高了节点验证的安全性。除此之外,OmniLedger还进一步解决了存储问题,通过在分片中设置状态块来降低分片中节点的存储压力,并通过状态块完成同步。然而该方法面临的问题是节点的通信开销太大,区块链系统的并行化能力受到了极大的影响。
RapidChain进一步改进了OmniLedger,在跨片通信方面采用分片间路由协议,在处理交易时,节点所在分片的领导者首先在分片中创建该交易的所有父交易,然后在分片中验证交易,最后分片的领导者将跨片验证请求通过路由协议直接发送给父交易所在的分片,由相关分片验证父交易。RapidChain通过分片间路由协议使分片中的领导者能够快速找到该分片交易的父交易所在的分片,从而大大减少了跨片通信成本。通过该方式使得区块链系统的可扩展性有了显著提升。
Monoxide分片方案中矿工节点可以参与多个分片的挖矿工作,且仅负责处理和打包区块,而存储分片节点记录的工作由各自分片的完整节点来完成,实现计算和存储的独立和分离。对于节点,通过路由中继转发到目标分片,减少了分片之间的通信量。
SSChain由一个根链和多个分片组成,鼓励分片内用户生成片内交易,且片内交易由分片处理。对于跨片交易,根链将收取较高的交易费用来处理。根链维护整个区块链交易记录,所以根链具有处理跨片交易的功能,而且大大减少了跨片通信成本。SSChain实现了交易分片和状态分片,然而根链的存在很容易产生性能瓶颈。
而在智能合约方面,Chainspace作为一个智能合约分片平台,具有支持智能合约分片的功能,采用分布式提交协议(Sharded Byzantine Atomic Commit,简称S-BAC),S-BAC由拜占庭协议和原子提交协议组成,因此可以确保分片系统的一致性。对于跨片交易的处理通过创建相应的一次性智能合约来完成,然而所有跨片交易都需要创建新的智能合约,且分片中跨片交易太多,所以区块链系统性能的提升受到了限制。
以上区块分片方案中,节点划分和交易放置均采用随机划分的方式。随机划分的方式使信任值较低的节点进入同一个分片,进而导致节点窜通作弊等行为。
在区块链分片中,分片安全性格外重要。分片之后单个分片中验证节点数量较少,节点之间串通作弊导致单个分片被破坏,进而破坏整个区块链系统。因为目前存在的区块链方案中,大多采用了随机分片的方式来维持分片分布的公平性,该方法会导致各个分片中节点信任度不同,一些分片信任度高而另一些分片信任度过低,所以最低信任值的分片将成为区块链系统安全性的瓶颈。因此区块链分片中的安全性问题有待进一步研究。
发明内容
针对现有区块链中分片信任分配不均导致分片安全性不高的问题,本发明提供一种基于IDE的区块链可信节点划分方法,通过合理分配可信节点,以提高分片的可靠性,同时,为了减少片内节点间的通信延时,将距离较近的节点放置在同一个分片中,通过迭代调整,得到最佳的节点分片集,可以有效提高分片的安全性并降低通信延时。
为解决上述问题,本发明采用如下的技术方案。
一种基于IDE的区块链可信节点划分方法,包括如下步骤:
步骤一、建立模型:
S1:区块链网络中的节点集记为
Figure 174023DEST_PATH_IMAGE001
,节点集
Figure 887901DEST_PATH_IMAGE001
包含n个节点
Figure 618703DEST_PATH_IMAGE002
Figure 607388DEST_PATH_IMAGE003
,其中,
Figure 313438DEST_PATH_IMAGE004
Figure 604742DEST_PATH_IMAGE005
Figure 465251DEST_PATH_IMAGE006
分别是节点
Figure 78198DEST_PATH_IMAGE002
的二维坐标 和信任值;
S2:将n个节点划分到K个分片中,得到节点分片集合
Figure 215918DEST_PATH_IMAGE007
,其 中
Figure 599495DEST_PATH_IMAGE008
表示分片j;节点
Figure 448765DEST_PATH_IMAGE002
与分片j之间的划分关系表示为K×n矩阵,记为
Figure 107148DEST_PATH_IMAGE009
Figure 364954DEST_PATH_IMAGE010
S3:节点数:分片j中含有
Figure 214705DEST_PATH_IMAGE011
个节点,
Figure 315385DEST_PATH_IMAGE012
分片节点数均衡度
Figure 262612DEST_PATH_IMAGE013
为:
Figure 125657DEST_PATH_IMAGE014
S4:通信距离:计算分片j中任意一个节点与其他节点之间的通信距离和,选取通 信距离和最小的节点为领导节点
Figure 319878DEST_PATH_IMAGE015
,分片j中个节点到领导节点
Figure 517641DEST_PATH_IMAGE015
的通信距离
Figure 694326DEST_PATH_IMAGE016
为:
Figure 910412DEST_PATH_IMAGE017
通信距离均衡度
Figure 354163DEST_PATH_IMAGE018
为:
Figure 399742DEST_PATH_IMAGE019
S5:分片信任值:分片j的信任值
Figure 265935DEST_PATH_IMAGE020
为:
Figure 710430DEST_PATH_IMAGE021
分片信任值均衡度
Figure 325082DEST_PATH_IMAGE022
为:
Figure 746705DEST_PATH_IMAGE023
S6:对区块链可信节点进行划分:
Figure 839426DEST_PATH_IMAGE024
其中,
Figure 411DEST_PATH_IMAGE025
为节点划分的解空间,
Figure 972915DEST_PATH_IMAGE026
Figure 570250DEST_PATH_IMAGE027
分别表示通信距离均衡度
Figure 497622DEST_PATH_IMAGE018
与分片节点数均 衡度
Figure 293539DEST_PATH_IMAGE013
的阈值,
Figure 764841DEST_PATH_IMAGE022
越小表示整个区块链系统中分片之间的信任值差异越小,也表示区块链分 片的可靠性和安全性越好;
步骤二、优化:采用IDE对步骤一中建立的模型进行迭代调整,使得K个分片之间的通信距离均衡度、分片信任值均衡度和分片节点数均衡度均最小,从而得到最佳的节点分片集。
进一步的,步骤二中,IDE具体包括:
A1、编码及初始化:设g为迭代次数,初始化时g= 0;从n个节点中随机地产生N个个 体,形成初始种群
Figure 115051DEST_PATH_IMAGE028
Figure 565886DEST_PATH_IMAGE029
,个体
Figure 606523DEST_PATH_IMAGE030
包含n个基因位,每个基因位代 表对应节点所在分片编号;
个体
Figure 733879DEST_PATH_IMAGE030
的基因位j表示为
Figure 53608DEST_PATH_IMAGE031
Figure 557402DEST_PATH_IMAGE032
Figure 842759DEST_PATH_IMAGE033
Figure 875437DEST_PATH_IMAGE034
别表示基因位取值 的最小值与最大值,
Figure 950971DEST_PATH_IMAGE035
是介于0和1之间的均匀分布随机数;
A2、差分变异产生变异个体:经过g次迭代后,可以得到g代的种群
Figure 258456DEST_PATH_IMAGE036
Figure 8106DEST_PATH_IMAGE037
,从g代种群中随机选择3个个体
Figure 496506DEST_PATH_IMAGE038
Figure 777446DEST_PATH_IMAGE039
Figure 137889DEST_PATH_IMAGE040
,适应度函数
Figure 882991DEST_PATH_IMAGE041
为:
Figure 539363DEST_PATH_IMAGE042
分别计算个体
Figure 307598DEST_PATH_IMAGE038
Figure 206153DEST_PATH_IMAGE039
Figure 163351DEST_PATH_IMAGE040
的适应度值,并根据计算结果从低到高依次排序,若其 对应的适应度值
Figure 239892DEST_PATH_IMAGE043
;则变异操作:
Figure 10271DEST_PATH_IMAGE044
,得到变 异个体
Figure 994407DEST_PATH_IMAGE045
;其中,
Figure 402517DEST_PATH_IMAGE046
且满足b≠m≠w≠ i;
F为动态缩放因子,
Figure 571330DEST_PATH_IMAGE047
Figure 579737DEST_PATH_IMAGE048
为初始缩放因子,
Figure 47191DEST_PATH_IMAGE049
是最大迭代次数,g是 当前迭代数,
Figure 824655DEST_PATH_IMAGE050
令变异个体
Figure 289003DEST_PATH_IMAGE045
的基因位j用
Figure 519127DEST_PATH_IMAGE051
表示,并采用修补算子进行修复,
Figure 799061DEST_PATH_IMAGE052
,从而生成g代变异种群
Figure 352402DEST_PATH_IMAGE053
A3、交叉产生实验个体:将个体
Figure 676067DEST_PATH_IMAGE054
与变异个体
Figure 203607DEST_PATH_IMAGE045
进行交叉,得到实验个体
Figure 270920DEST_PATH_IMAGE055
;个体
Figure 678768DEST_PATH_IMAGE054
的基因位j用
Figure 189646DEST_PATH_IMAGE056
表示,实验个体
Figure 191100DEST_PATH_IMAGE055
的基因位j用
Figure 576951DEST_PATH_IMAGE057
表示,
交叉操作方式为:
Figure 121195DEST_PATH_IMAGE058
P为交叉概率,对于g代个体i,
Figure 868221DEST_PATH_IMAGE059
;其中,
Figure 763496DEST_PATH_IMAGE060
是个体
Figure 687459DEST_PATH_IMAGE045
的适应 度,
Figure 148527DEST_PATH_IMAGE061
Figure 266787DEST_PATH_IMAGE062
分别为g代变异种群中最优和最差个体的适应度,
Figure 180516DEST_PATH_IMAGE063
是当前变异种 群中个体的平均适应度,
Figure 908170DEST_PATH_IMAGE064
Figure 489324DEST_PATH_IMAGE065
分别是交叉概率P的最小值和最大值,优选的,
Figure 509976DEST_PATH_IMAGE064
取0.4,
Figure 176581DEST_PATH_IMAGE065
取0.6;
从而生成第g代实验种群
Figure 707925DEST_PATH_IMAGE066
A4、选择产生下一代个体:将g代种群
Figure 143586DEST_PATH_IMAGE067
与实验种群
Figure 338069DEST_PATH_IMAGE066
中个体的适应度进行选择 操作从而选择生成下一代种群
Figure 491970DEST_PATH_IMAGE068
,选择操作公式如下:
Figure 561426DEST_PATH_IMAGE069
Figure 851593DEST_PATH_IMAGE070
是个体
Figure 497205DEST_PATH_IMAGE071
的适应度,
Figure 872823DEST_PATH_IMAGE072
是个体
Figure 480390DEST_PATH_IMAGE073
的 适应度。
每一代种群表示一种分片方式,通过IDE进行选择、交叉和变异进行迭代调整,找到最优的一代种群,从而得到最佳的节点分片集,并且满足K个分片之间的通信距离均衡度、分片信任值均衡度和分片节点数均衡度均最小。
相比于现有技术,本发明的有益效果为:
本发明的一种基于IDE的区块链可信节点划分方法,通过合理分配可信节点,以提高分片的可靠性,同时,为了减少片内节点间的通信延时,将距离较近的节点放置在同一个分片中,通过迭代调整,得到最佳的节点分片集;通过此方法得到的节点分片集可以有效提高分片的安全性,降低了通信延时,并且大大提高了区块链系统的交易吞吐量。
附图说明
图1为本发明的模型建立流程图;
图2为本发明的编码方式的示意图;
图3为本发明的IDE的流程图;
图4为本发明中阈值对算法收敛性的影响;
图5为本发明中最大与最小交叉概率对算法收敛性的影响;
图6为本发明中初始缩放因子对算法收敛性的影响;
图7为本发明中种群大小对算法收敛性的影响;
图8为本发明中分片中的节点数对区块链失效率的影响;
图9为本发明中分片数量对交易吞吐量的影响;
图10为本发明中分片中节点数对交易吞吐量的影响;
图11为本发明中分片数量对交易延时的影响;
图12为本发明中分片中节点数对交易延时的影响;
图13为本发明中恶意节点比率对区块链失效率的影响。
具体实施方式
下面结合具体实施例和附图对本发明进一步进行描述。
实施例1
一种基于IDE的区块链可信节点划分方法,如图1所示,区块链网络中的节点集记 为
Figure 890643DEST_PATH_IMAGE001
,节点集
Figure 426929DEST_PATH_IMAGE001
包含n个节点,如下:
Figure 289843DEST_PATH_IMAGE003
Figure 701101DEST_PATH_IMAGE002
可以实现转发、验证、记账等 功能,
Figure 965861DEST_PATH_IMAGE004
Figure 670118DEST_PATH_IMAGE005
Figure 817066DEST_PATH_IMAGE006
分别是节点
Figure 766436DEST_PATH_IMAGE002
的二维坐标和信任值。分片之后,各分 片中选出了一个领导节点,该节点将打包所在分片的交易生成微区块并提交给区块链系统 的目录委员会,以便该委员会组装微区块生成区块。将n个节点划分到K个分片中,节点分片 集合表示为:
Figure 42959DEST_PATH_IMAGE007
,其中
Figure 170315DEST_PATH_IMAGE008
表示分片j。
节点
Figure 257088DEST_PATH_IMAGE002
与分片j之间的划分关系表示为K×n矩阵,记为
Figure 760882DEST_PATH_IMAGE009
Figure 285054DEST_PATH_IMAGE010
例如,假设有6个节点和3个分片,6个节点分别为
Figure 583311DEST_PATH_IMAGE074
Figure 829485DEST_PATH_IMAGE075
Figure 199286DEST_PATH_IMAGE076
Figure 715980DEST_PATH_IMAGE077
Figure 699986DEST_PATH_IMAGE078
Figure 246505DEST_PATH_IMAGE079
,3个分片分 别为
Figure 105483DEST_PATH_IMAGE080
Figure 381744DEST_PATH_IMAGE081
Figure 287383DEST_PATH_IMAGE082
,如果将节点
Figure 570465DEST_PATH_IMAGE074
Figure 954173DEST_PATH_IMAGE077
Figure 773356DEST_PATH_IMAGE079
分配给
Figure 771268DEST_PATH_IMAGE080
,将节点
Figure 620275DEST_PATH_IMAGE075
分配给
Figure 807674DEST_PATH_IMAGE081
,将节点
Figure 144678DEST_PATH_IMAGE076
Figure 172546DEST_PATH_IMAGE078
分配给
Figure 915374DEST_PATH_IMAGE082
,则关系矩阵为:
Figure 657196DEST_PATH_IMAGE083
分片节点数:令分片j的节点数为
Figure 434659DEST_PATH_IMAGE011
Figure 102270DEST_PATH_IMAGE012
令分片节点数均衡度
Figure 752300DEST_PATH_IMAGE013
为:
Figure 547081DEST_PATH_IMAGE014
通信距离:计算分片j中任意一个节点与其他节点之间的通信距离和,选取通信距 离和最小的节点为领导节点
Figure 428318DEST_PATH_IMAGE015
,分片j中
Figure 17563DEST_PATH_IMAGE011
个节点到
Figure 282453DEST_PATH_IMAGE015
的的通信距离
Figure 536717DEST_PATH_IMAGE016
为:
Figure 714538DEST_PATH_IMAGE017
;为了保证各分片在通信距离上的差异最 小,将通信距离较近的节点划分到同一个分片中。
定义分片内通信距离均衡度
Figure 661634DEST_PATH_IMAGE018
,表示各分片中节点
Figure 131930DEST_PATH_IMAGE011
与对应领导节点
Figure 160191DEST_PATH_IMAGE015
之间的通 信距离差异之和,通信距离均衡度
Figure 16020DEST_PATH_IMAGE018
为:
Figure 163712DEST_PATH_IMAGE019
信任值:为了提高分片的安全性,防止信任值较低的节点进入同一个分片,造成分片安全性低的问题,需要考虑分片的信任值。
令分片j的
Figure 324566DEST_PATH_IMAGE002
的信任值为
Figure 310845DEST_PATH_IMAGE006
,分片中各节点的信任值总和,称为分片信任值。令分 片j的信任值为
Figure 929171DEST_PATH_IMAGE020
Figure 31119DEST_PATH_IMAGE021
为防止某个分片信任值过低,而造成区块链系统安全性能瓶颈,需要合理分配可信节点到各个分片,以提高区块链系统的可靠性。
分片信任值均衡度
Figure 459695DEST_PATH_IMAGE022
为:
Figure 938081DEST_PATH_IMAGE023
Figure 753457DEST_PATH_IMAGE022
越小,表示整个区块链系 统中分片之间的信任值差异越小,也表示区块链分片的可靠性和安全性越好。
在考虑分片信任值时,也需要考虑分片节点数。因为分片j的信任值
Figure 291886DEST_PATH_IMAGE020
是分片内所 有节点的信任值总和,所以当两个分片的信任值相同但节点数不同,如果节点数较多的分 片中包含了较低信任值的节点,则该分片的安全性不高。
综上所述,基于IDE的区块链可信节点划分方法的划分目标如下公式:
Figure 942179DEST_PATH_IMAGE084
其中,
Figure 224256DEST_PATH_IMAGE025
为节点划分的解空间,式中
Figure 410649DEST_PATH_IMAGE018
Figure 854400DEST_PATH_IMAGE022
Figure 54306DEST_PATH_IMAGE013
三者之间互相联系,彼此制约,很 难同时得到最优结果。为了解决上述问题,采用多目标优化算法中的约束法进行求解。选择 其中一个作为优化目标,将剩余两者转化为约束条件,则最终优化问题转化下式:
Figure 77756DEST_PATH_IMAGE085
上式在保证分片信任值取得理想值的同时,在一定程度上兼顾了
Figure 912464DEST_PATH_IMAGE018
Figure 527116DEST_PATH_IMAGE013
。其中,
Figure 886422DEST_PATH_IMAGE026
Figure 510301DEST_PATH_IMAGE027
分别表示通信距离均衡度
Figure 405707DEST_PATH_IMAGE018
与分片节点数均衡度
Figure 456840DEST_PATH_IMAGE013
的阈值,例如将
Figure 569021DEST_PATH_IMAGE027
设为50,表明满 足各分片节点数差异小于50的情况下,各分片信任值差异最小。
首先对IDE中所使用的关键术语进行解释:
基因位:对应节点所在分片编号称为基因位;
个体:节点的划分结果称为个体,该个体由n个基因位组成;
种群:多个个体组成一个种群规模为N的种群;
变异个体:差分变异操作产生的划分结果称为变异个体;
实验个体:交叉操作后产生的划分结果称为实验个体,由实验个体组成实验种群;
下一代个体:选择操作产生下一代个体。
如图3所示,IDE步骤具体包括:
A1、编码及初始化:设g为迭代次数,初始化时g=0;从n个节点中均匀随机地产生N 个个体,形成初始种群
Figure 731012DEST_PATH_IMAGE028
Figure 749434DEST_PATH_IMAGE029
,个体
Figure 892839DEST_PATH_IMAGE030
包含n个基因位,每个基因 位代表对应节点所在分片编号;
例如,如图2所示,对于含有8个节点的区块链网络,个体
Figure 977470DEST_PATH_IMAGE030
的编码为
Figure 693884DEST_PATH_IMAGE086
,表示节点初始划分结果为:
Figure 813150DEST_PATH_IMAGE087
令个体
Figure 455353DEST_PATH_IMAGE030
的基因位j表示为
Figure 27279DEST_PATH_IMAGE031
Figure 278876DEST_PATH_IMAGE032
,其中,
Figure 252648DEST_PATH_IMAGE033
Figure 65752DEST_PATH_IMAGE034
别表示基 因位取值的最小值与最大值,
Figure 921713DEST_PATH_IMAGE035
是介于0和1之间的均匀分布随机数;通过上式,得 到的结果为连续实数变化空间,而分片编号为整数,所以采用四舍五入原则,以此将连续实 数变化空间转化为离散区域空间,结果落到其中某一区间则取该空间对应的分片即可。例 如:4个分片的区块链网络,基因位的取值空间为
Figure 979930DEST_PATH_IMAGE088
,即
Figure 73788DEST_PATH_IMAGE089
Figure 57793DEST_PATH_IMAGE090
。当随机数
Figure 604312DEST_PATH_IMAGE091
时,
Figure 926272DEST_PATH_IMAGE092
,四舍五入后该基因位的取值为3。
A2、差分变异产生变异个体:经过g次迭代后,可以得到g代的种群
Figure 874637DEST_PATH_IMAGE036
Figure 29544DEST_PATH_IMAGE037
从g代种群中随机选择个体
Figure 486195DEST_PATH_IMAGE093
Figure 869903DEST_PATH_IMAGE094
,然后将两个个体相减,且合理缩放后与随机 选择第三个个体
Figure 187621DEST_PATH_IMAGE095
进行求和,从而得到变异个体
Figure 264161DEST_PATH_IMAGE045
Figure 267496DEST_PATH_IMAGE096
且满足x≠y≠z≠i,F为缩放因子,且
Figure 720474DEST_PATH_IMAGE097
上式中使用随机选择的个体
Figure 315534DEST_PATH_IMAGE095
作为基准个体,在
Figure 297397DEST_PATH_IMAGE095
附近以固定步长F进行搜索, 表现出高度的随机性,收敛速度较慢,并且有可能陷入局部最优。
为此,进行如下改进,令适应度函数
Figure 289492DEST_PATH_IMAGE041
为:
Figure 280582DEST_PATH_IMAGE042
;从g代种群中随机选择 3个个体
Figure 218232DEST_PATH_IMAGE038
Figure 885843DEST_PATH_IMAGE039
Figure 178284DEST_PATH_IMAGE040
,分别计算个体
Figure 458218DEST_PATH_IMAGE038
Figure 355766DEST_PATH_IMAGE039
Figure 194278DEST_PATH_IMAGE040
的适应度值,并根据计算结果从低到高依 次排序,假设三个个体对应的适应度值关系为:
Figure 646119DEST_PATH_IMAGE043
;则变异操作如下:
Figure 726815DEST_PATH_IMAGE044
。其中,b≠m≠w≠i且满足
Figure 478870DEST_PATH_IMAGE046
Figure 488283DEST_PATH_IMAGE038
是g代随机选择的个体中的最佳 个体,所以变异个体均在最佳个体附近进行变异,可加快收敛速度。又因为每次随机选出的 适应度最好的个体不是全部相同,所以还可以增加种群多样性,避免陷入局部最优。
同时,应该采用动态缩放因子F。在迭代初期,使用较大的缩放因子用于提高全局搜索能力,可以保持个体多样性,避免早熟;到后期,使用较小的缩放因子,防止错过最优解,即用于提高局部搜索能力。动态缩放因子F取值如下:
Figure 692999DEST_PATH_IMAGE047
Figure 252419DEST_PATH_IMAGE048
为初始缩放因子,
Figure 108248DEST_PATH_IMAGE049
是最大迭代次数,g是当前迭代数,
Figure 773716DEST_PATH_IMAGE050
,且随着迭 代次数的增加,F逐渐减少,最后缩放因子缩小至接近
Figure 231109DEST_PATH_IMAGE048
。由此可以平衡全局搜索与局部搜 索之间的矛盾,同时提高了收敛速度。
令变异个体
Figure 171384DEST_PATH_IMAGE045
的基因位j用
Figure 881720DEST_PATH_IMAGE051
表示,为了防止变异个体的基因位
Figure 780405DEST_PATH_IMAGE051
超出解空间范 围,采用修补算子进行修复,具体修复操作如下式:
Figure 444867DEST_PATH_IMAGE052
通过以上修复方法,可以确保基因位取值均在解空间范围内。每个变异个体
Figure 313466DEST_PATH_IMAGE045
Figure 111264DEST_PATH_IMAGE098
均通过上述方式产生,从而生成g代变异种群
Figure 571065DEST_PATH_IMAGE053
A3、交叉产生实验个体:将个体
Figure 972090DEST_PATH_IMAGE054
与变异个体
Figure 4899DEST_PATH_IMAGE045
进行交叉,得到实验个体
Figure 174981DEST_PATH_IMAGE055
;个体
Figure 133578DEST_PATH_IMAGE054
的基因位j用
Figure 21900DEST_PATH_IMAGE056
表示,实验个体
Figure 330171DEST_PATH_IMAGE055
的基因位j用
Figure 620338DEST_PATH_IMAGE057
表示,交叉操作方式如下式:
Figure 749837DEST_PATH_IMAGE058
P表示固定的交叉概率,
Figure 125455DEST_PATH_IMAGE099
为均匀分布的随机数。通过生成一个随 机数与P比较,以此来决定实验个体的基因位
Figure 500067DEST_PATH_IMAGE057
Figure 441478DEST_PATH_IMAGE054
还是
Figure 945140DEST_PATH_IMAGE045
所对应的基因位决定。
例如:当P较大时,则意味着
Figure 604792DEST_PATH_IMAGE045
有更多的基因进入到
Figure 514585DEST_PATH_IMAGE055
;反之,
Figure 779345DEST_PATH_IMAGE054
有更多的基因 进入到
Figure 985067DEST_PATH_IMAGE055
。然而该方法固定交叉概率,使最终选择结果具有随机性,收敛速度较慢。为此, 对交叉策略进行改进。
对适应度好的变异个体,应取较大的P,可使该个体进入下一代的几率增大;对适应度差的个体,取较小的P,使该个体能尽快被淘汰掉。对于g代个体i,
Figure 335277DEST_PATH_IMAGE059
其中,
Figure 786112DEST_PATH_IMAGE060
是个体
Figure 905378DEST_PATH_IMAGE045
的适应度,
Figure 547581DEST_PATH_IMAGE061
Figure 385087DEST_PATH_IMAGE062
分别为g代变异种群中最优和最 差个体的适应度,
Figure 365244DEST_PATH_IMAGE063
是当前变异种群中个体的平均适应度,
Figure 604596DEST_PATH_IMAGE064
Figure 824225DEST_PATH_IMAGE065
分别是交叉概率P的 最小值和最大值,优选的,
Figure 634180DEST_PATH_IMAGE064
取0.4,
Figure 941664DEST_PATH_IMAGE065
取0.6;每个个体
Figure 284790DEST_PATH_IMAGE055
均通过上述方式产生,从而生成第 g代实验种群
Figure 19528DEST_PATH_IMAGE066
A4、选择产生下一代个体:将g代种群
Figure 782691DEST_PATH_IMAGE067
与实验种群
Figure 877555DEST_PATH_IMAGE066
中个体的适应度进行比 较,适应度值较好的个体将被选择进入下一代。选择操作公式如下:
Figure 825919DEST_PATH_IMAGE069
Figure 482291DEST_PATH_IMAGE070
是个体
Figure 516106DEST_PATH_IMAGE071
的适应度,
Figure 414661DEST_PATH_IMAGE072
是个体
Figure 643298DEST_PATH_IMAGE073
的 适应度。
当种群产生后,需要计算种群内所有个体的适应度。同时,当原个体与个体适应度 值相等时,优先选择个体以使种群保持多样性,从而选择生成下一代种群
Figure 719838DEST_PATH_IMAGE068
图3中,g=g+1表示种群代数增加1,然后IDE进入下一代进行迭代,当
Figure 490217DEST_PATH_IMAGE100
时停止 迭代,IDE算法结束,其中
Figure 677616DEST_PATH_IMAGE049
表示最大种群数。每一代种群表示一种分片方式,通过IDE进行 选择、交叉和变异进行迭代调整,找到最优的一代种群,从而得到最佳的节点分片集,并且 满足K个分片之间的通信距离均衡度、分片信任值均衡度和分片节点数均衡度均最小。
实施例2
本实施例对实施例1中的可信节点划分方法进行了具体实验验证,实验采用Windows 10六十四位操作系统,Intel Core i7处理器、CPU 2.40GHz、8G内存。采用Omnet++5.4.1模拟器,并使用OverSim仿真模块对区块链分片网络进行仿真。其中Omnet++ 5.4.1是一个用于构建网络的仿真器,在网络仿真领域中占有十分重要的地位;OverSim是一个基于Omnet++ 5.4.1,且用于仿真P2P网络的开源仿真模块。OverSim最大的特点是可扩展性强,在一台PC上,可以实现10000个节点甚至100000个节点的网络仿真。
在仿真实验中,节点的带宽设置为20Mbps,通信链路延迟设置为100ms,仿真网络中两个随机节点之间的单向等待时间约为90-140ms。表1给出了实验参数配置。
名称 含义
<i>N</i> 种群大小 150
Figure 85725DEST_PATH_IMAGE006
节点信任值 [0, 10]
<i>n</i> 区块链系统中的节点总数 4000
Figure 598746DEST_PATH_IMAGE034
基因位最小值 1
Figure 590842DEST_PATH_IMAGE033
基因位最小值 16
<i>K</i> 分片数 4, 6, ..., and 16
Figure 581932DEST_PATH_IMAGE049
最大迭代次数 400
表1 实验配置
数据集的内容是比特币网络中的10000000比特币交易,验证节点划分优化方法是否有效,主要有三个性能指标:交易吞吐量、交易延时、区块链失效率。
交易吞吐量(
Figure 107198DEST_PATH_IMAGE101
):表示时间t内系统处理的交易数量Q,
Figure 525541DEST_PATH_IMAGE102
,其中,Q是其验证 在周期t内完成处理的交易数。
交易延时(D):表示区块链中从交易生成到最终验证完成的时间,
Figure 270512DEST_PATH_IMAGE103
Figure 799713DEST_PATH_IMAGE104
Figure 979153DEST_PATH_IMAGE105
分别是交易k生成及其块验证完成的时刻,给定l个交易,则 交易延时。
区块链失效率(
Figure 833976DEST_PATH_IMAGE106
):表示当前划分状态下,只要任意一个分片失效,则整个区块链 失效。
n为区块链中节点总数,令b为区块链系统的共识比例,表示共识算法中达成协议 所需的最小仲裁人数(多数表决为1/2,PBFT为2/3),r为网络的恶意节点比例。分片中至少 需要bn个节点才能达到安全共识,即:能安全正常运行。如果分片i中的节点j是恶意节点, 则记为
Figure 800664DEST_PATH_IMAGE107
,否则为
Figure 133557DEST_PATH_IMAGE108
。设
Figure 791938DEST_PATH_IMAGE109
Figure 801351DEST_PATH_IMAGE110
分别表示分片i中的节点数和非恶意节点数:
Figure 802805DEST_PATH_IMAGE111
Figure 690121DEST_PATH_IMAGE110
遵循恶意节点比率为r的二项式分布。概率
Figure 296683DEST_PATH_IMAGE112
表示分片i正常运行的概率为:
Figure 476997DEST_PATH_IMAGE114
则区块链失效率:
Figure 169010DEST_PATH_IMAGE115
本实施例中将实施例1提出的基于IDE的区块链可信节点划分方法(Proposed)与根据地址映射到相应的分片的方法(Monoxide)进行比较,为了使用合适的实验参数,首先对算法的收敛性进行实验:
首先分析阈值对算法收敛性的影响实验,
Figure 591508DEST_PATH_IMAGE026
Figure 786997DEST_PATH_IMAGE027
分别表示所设定的通信距离均衡 度与节点数均衡度的阈值。实验结果如图4所示,横轴表示迭代次数,纵轴表示收敛速度,当
Figure 403792DEST_PATH_IMAGE026
=50,
Figure 583100DEST_PATH_IMAGE027
=500时系统收敛最快,在迭代100次时系统收敛。当
Figure 546639DEST_PATH_IMAGE026
=20,
Figure 127793DEST_PATH_IMAGE027
=200时系统收敛最慢, 在迭代250次时系统收敛。这是因为当
Figure 649911DEST_PATH_IMAGE026
=50,
Figure 316515DEST_PATH_IMAGE027
=500时,此时两个阈值都比较大,导致算法的 可行解空间比较大,此时有利于算法收敛。此外,
Figure 758779DEST_PATH_IMAGE026
=50,
Figure 443707DEST_PATH_IMAGE027
=500时适应度函数值优于其他几 种情况,此时系统的分片算法更关注于分片信任值的均衡,因此,优选的,
Figure 153037DEST_PATH_IMAGE026
取50,
Figure 792091DEST_PATH_IMAGE027
取500。
为了进一步探究交叉概率对算法收敛性的影响,进行最大于最小交叉概率对算法 收敛性影响的实验,
Figure 612279DEST_PATH_IMAGE064
Figure 151714DEST_PATH_IMAGE065
分别表示最大交叉概率与最小交叉概率。实验结果如图5所示, 横轴表示迭代次数,纵轴表示收敛速度,当
Figure 766366DEST_PATH_IMAGE064
=0.4,
Figure 889787DEST_PATH_IMAGE065
=0.6时系统收敛最快,在迭代150次时 系统收敛。当
Figure 248087DEST_PATH_IMAGE064
=0.1,
Figure 907607DEST_PATH_IMAGE065
=0.9时系统收敛最慢,在迭代250次时系统收敛。这是因为当
Figure 958740DEST_PATH_IMAGE064
= 0.4,
Figure 572386DEST_PATH_IMAGE065
=0.6时,此时交叉概率较大,导致个体变异的可能性较大,有利于算法找到最优解。 此外,
Figure 531115DEST_PATH_IMAGE064
=0.4,
Figure 779562DEST_PATH_IMAGE065
=0.6时适应度函数值优于其他几种情况,此时有利于算法寻找最优解,因 此
Figure 1596DEST_PATH_IMAGE064
取0.4,
Figure 93749DEST_PATH_IMAGE065
取0.6。
接下来探究初始缩放因子对算法收敛性的影响,进行初始缩放因子
Figure 59431DEST_PATH_IMAGE048
对算法收敛 性影响的实验。实验结果如图6所示,横轴表示迭代次数,纵轴表示收敛速度,当
Figure 427965DEST_PATH_IMAGE048
=0.3时系 统收敛最快,在迭代150次时系统收敛。当
Figure 289741DEST_PATH_IMAGE048
=0.5时系统收敛最慢,在迭代250次时系统收 敛。这是因为
Figure 550084DEST_PATH_IMAGE048
越大时,初始搜索步长越大,收敛速度越慢。此外,
Figure 303145DEST_PATH_IMAGE048
=0.3时适应度函数值 优于其他几种情况,此时有利于算法寻找最优解,优选的,
Figure 542496DEST_PATH_IMAGE048
取0.3。
为了设置合适的种群大小,进一步探究种群大小对算法收敛性的影响,实验结果如图7所示,横轴表示迭代次数,纵轴表示收敛速度,当N=50时系统收敛最快,在迭代150次时系统收敛。当N=150时系统收敛最慢,在迭代250次时系统收敛。这是因为N越大时,种群多样性就越复杂,收敛速度越慢。此外,N=50时适应度函数值优于其他几种情况,此时有利于算法寻找最优解,优选的,N取50。
最后,为了进一步研究分片中节点数对区块链失效率的影响,设置分片中的节点数k分别为100、150、200、250,计算区块链失效率。实验结果如图8所示,横轴表示分片数,纵轴表示区块链失效率,当区块链分片系统中节点数k=100时,区块链正常运行的概率可以达到97.4%。此外,分片中节点数越多,分片安全性越高,当分片中的节点数为100、150、200、250时,区块链失效率可达2.6%、3.9%、4.6%、8%,所以随着分片中的节点数增加,区块链失效率在逐渐提高,即:区块链系统的安全性在不断降低,因此,优选的,节点数k取100。
经过上述实验对比,将对比实验的实验参数均设置为
Figure 588556DEST_PATH_IMAGE116
Figure 647779DEST_PATH_IMAGE117
Figure 204531DEST_PATH_IMAGE118
Figure 32810DEST_PATH_IMAGE119
Figure 315018DEST_PATH_IMAGE120
Figure 861537DEST_PATH_IMAGE121
Figure 221980DEST_PATH_IMAGE122
时,更有利于展示所提出算法的运行。
设置好参数后,首先比较两种方法的交易吞吐量,而影响交易吞吐量主要有两个因素:分片数量和节点数量。
分片数量对交易吞吐量的影响:随着分片数量的增加,区块链系统的并行性增加,系统的交易吞吐量也会增加,设分片中的节点数为250,共有16个分片,交易吞吐量的对比实验结果如图9所示,横轴表示分片数量,纵轴表示交易吞吐量,随着分片数量的增加,本发明Proposed方法的交易吞吐量接近线性增加(从2100增加到4770),由此可以看出可以通过增加分片数量来提高区块链系统的可扩展性。而Monoxide方法在分片数是16时达到最高交易吞吐量(3550tps),低于本发明Proposed方法的最高交易吞吐量(4770)。实验结果表明本发明所提出的分片方法可以有效提高交易吞吐量。
节点数量对交易吞吐量的影响:将分片数量设定为16,实验数据如图10所示,横轴表示节点数量,纵轴表示交易吞吐量,图10表明交易吞吐量随着分片中节点数增加而降低。在Monoxide方法中,随着分片中节点数量的增加,节点随机分片的方式将导致各分片中信任值和节点之间的通信距离不同。即随着节点数量的增加,交易吞吐量越低,而使用本发明提出的Proposed方法进行分片,由于平衡了分片之间的信任值和节点之间的距离,所以通信距离降低,进而使交易吞吐量大大提升。
比较两种方法的交易延时:
首先考虑分片数量对交易延迟的影响。假设分片中节点具有相同的网络延迟和计算能力。Monoxide方法的对比实验中,每个分片有250个节点,依次将分片数目设置为4、6、…、16个,实验结果如图11所示,横轴表示分片数量,纵轴表示交易延时,图11表明交易延时随着分片数量的增加而减小,因为在区块链分片系统中,随着分片数量的增加,区块链系统的并行能力增加,所以交易在分片中的等待验证的时间减少,进而交易延迟大幅度降低。当分片数量为16时,Monoxide方法的交易延时为28.1s,而相同情况下,本发明提出的Proposed方法的交易延时方式更低,为27.6s。通过以上分析发现,改变分片节点划分方式,可以降低区块链系统的交易延时。
为了进一步探究交易延时的影响因素,考虑分片中节点数对交易延时的影响,如图12所示,横轴表示节点数量,纵轴表示交易延时,图12表明随着分片中节点数量增加,交易延时也随之增加。由于异步网络的存在,分片中节点数量的增加,会导致节点消息转发的通信延时增加,所以分片中达成共识的所花时间更长。与随机放置方式Monoxide相比,使用本发明提出的Proposed方法降低了交易延时,这进一步确定了Proposed方法在减少交易延时方面的优势。
区块链失效率:
考虑恶意节点比率对区块链失效率的影响,分片数量设为16,分片中节点个数设为250,测试恶意节点比率对区块链失效率的影响,如图13所示,横轴表示考虑恶意节点比率,纵轴表示区块链失效率,从图13中可以看出,区块链失效率随着恶意节点比率的增加而增加,但是在相同情况下,本发明提出的Proposed方法的区块链失效率更低,该方法可以容忍更多分恶意节点。这是因为本发明提出的Proposed方法将恶意节点均衡划分到其他分片中,减少了分片中恶意节点的串通作弊行为,减少了单分片接管问题,使区块链系统的安全性大幅度提升。
综上所述,由上述实验结果表明,因为大多数分片方案中均采用随机分配的方式,存在安全性的问题,而本发明提出的Proposed方法改变了节点随机划分的方式,平衡各分片的信任值与节点数,且考虑到分片内节点之间的通信延时,实现分片节点信任值均衡和片内节点通信延时短的放置目标。并且通过合理设置交易吞吐量、交易延时和区块链失效率三个指标,实现节点的合理划分,在提升吞吐量和降低时延等方面均有较好的性能。
本发明所述实例仅仅是对本发明的优选实施方式进行描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域工程技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的保护范围。

Claims (2)

1.一种基于IDE的区块链可信节点划分方法,其特征在于,包括如下步骤:
步骤一、建立模型:
S1:区块链网络中的节点集记为
Figure 245480DEST_PATH_IMAGE001
,节点集
Figure 726402DEST_PATH_IMAGE001
包含n个节点
Figure 788030DEST_PATH_IMAGE002
Figure 402813DEST_PATH_IMAGE003
,其 中,
Figure 810661DEST_PATH_IMAGE004
Figure 695440DEST_PATH_IMAGE005
Figure 24790DEST_PATH_IMAGE006
分别是节点
Figure 53051DEST_PATH_IMAGE002
的二维坐标和信任值;
S2:将n个节点划分到K个分片中,得到节点分片集合
Figure 784247DEST_PATH_IMAGE007
,其中
Figure 839928DEST_PATH_IMAGE008
表示分片j;节点
Figure 158039DEST_PATH_IMAGE002
与分片j之间的划分关系表示为K×n矩阵,记为
Figure 957368DEST_PATH_IMAGE009
Figure 543070DEST_PATH_IMAGE010
S3:节点数:分片j中含有
Figure 35231DEST_PATH_IMAGE011
个节点,
Figure 840638DEST_PATH_IMAGE012
分片节点数均衡度
Figure 178079DEST_PATH_IMAGE013
为:
Figure 883866DEST_PATH_IMAGE014
S4:通信距离:计算分片j中任意一个节点与其他节点之间的通信距离和,选取通信距 离和最小的节点为领导节点
Figure 281350DEST_PATH_IMAGE015
,分片j中个节点到领导节点
Figure 807009DEST_PATH_IMAGE015
的通信距离
Figure 461324DEST_PATH_IMAGE016
为:
Figure 21618DEST_PATH_IMAGE017
通信距离均衡度
Figure 590003DEST_PATH_IMAGE018
为:
Figure 868537DEST_PATH_IMAGE019
S5:分片信任值:分片j的信任值
Figure 314825DEST_PATH_IMAGE020
为:
Figure 729625DEST_PATH_IMAGE021
分片信任值均衡度
Figure 734491DEST_PATH_IMAGE022
为:
Figure 969163DEST_PATH_IMAGE023
S6:对区块链可信节点进行划分:
Figure 953562DEST_PATH_IMAGE024
其中,
Figure 488448DEST_PATH_IMAGE025
为节点划分的解空间,
Figure 398635DEST_PATH_IMAGE026
Figure 386183DEST_PATH_IMAGE027
分别表示通信距离均衡度
Figure 174273DEST_PATH_IMAGE018
与分片节点数均衡度
Figure 298086DEST_PATH_IMAGE013
的阈值,
Figure 379175DEST_PATH_IMAGE022
越小表示整个区块链系统中分片之间的信任值差异越小;
步骤二、优化:采用IDE对步骤一中建立的模型进行迭代调整,使得K个分片之间的通信距离均衡度、分片信任值均衡度和分片节点数均衡度均最小,从而得到最佳的节点分片集。
2.根据权利要求1所述的一种基于IDE的区块链可信节点划分方法,其特征在于:步骤二中,IDE具体包括:
A1、编码及初始化:设g为迭代次数,初始化时g= 0;从n个节点中随机地产生N个个体, 形成初始种群
Figure 854019DEST_PATH_IMAGE028
Figure 445799DEST_PATH_IMAGE029
,个体
Figure 689699DEST_PATH_IMAGE030
包含n个基因位,每个基因位代表对 应节点所在分片编号;
个体
Figure 676109DEST_PATH_IMAGE030
的基因位j表示为
Figure 638249DEST_PATH_IMAGE031
Figure 266676DEST_PATH_IMAGE032
Figure 132127DEST_PATH_IMAGE033
Figure 555018DEST_PATH_IMAGE034
别表示基因位取值的最 小值与最大值,
Figure 4453DEST_PATH_IMAGE035
是介于0和1之间的均匀分布随机数;
A2、差分变异产生变异个体:经过g次迭代后,可以得到g代的种群
Figure 265933DEST_PATH_IMAGE036
Figure 953266DEST_PATH_IMAGE037
,从g代种群中随机选择3个个体
Figure 812638DEST_PATH_IMAGE038
Figure 483790DEST_PATH_IMAGE039
Figure 955485DEST_PATH_IMAGE040
,适应度函数
Figure 28484DEST_PATH_IMAGE041
为:
Figure 58756DEST_PATH_IMAGE042
;分别计算个体
Figure 217205DEST_PATH_IMAGE038
Figure 480872DEST_PATH_IMAGE039
Figure 408377DEST_PATH_IMAGE040
的适应度值,并根据计算结果从低到高依次 排序,若其对应的适应度值
Figure 343972DEST_PATH_IMAGE043
;则变异操作:
Figure 989717DEST_PATH_IMAGE044
,得到变异个体
Figure 803215DEST_PATH_IMAGE045
;其中,
Figure 850805DEST_PATH_IMAGE046
且满足b≠m≠w≠i;
F为动态缩放因子,
Figure 222880DEST_PATH_IMAGE047
Figure 355922DEST_PATH_IMAGE048
为初始缩放因子,
Figure 707531DEST_PATH_IMAGE049
是最大迭代次数,g是当前迭 代数,
Figure 609628DEST_PATH_IMAGE050
令变异个体
Figure 152604DEST_PATH_IMAGE045
的基因位j用
Figure 507362DEST_PATH_IMAGE051
表示,
Figure 161198DEST_PATH_IMAGE052
,生成g代变异种群
Figure 684845DEST_PATH_IMAGE053
A3、交叉产生实验个体:将个体
Figure 664302DEST_PATH_IMAGE054
与变异个体
Figure 771936DEST_PATH_IMAGE045
进行交叉,得到实验个体
Figure 730927DEST_PATH_IMAGE055
;个体
Figure 342037DEST_PATH_IMAGE054
的 基因位j用
Figure 492395DEST_PATH_IMAGE056
表示,实验个体
Figure 556166DEST_PATH_IMAGE055
的基因位j用
Figure 318848DEST_PATH_IMAGE057
表示,
交叉操作方式为:
Figure 784465DEST_PATH_IMAGE058
P为交叉概率,对于g代个体i,
Figure 105724DEST_PATH_IMAGE059
;其中,
Figure 656792DEST_PATH_IMAGE060
是个体
Figure 456120DEST_PATH_IMAGE045
的适应度,
Figure 543287DEST_PATH_IMAGE061
Figure 769869DEST_PATH_IMAGE062
分别为g代变异种群中最优和最差个体的适应度,
Figure 808232DEST_PATH_IMAGE063
是当前变异种群中 个体的平均适应度,
Figure 411252DEST_PATH_IMAGE064
Figure 618505DEST_PATH_IMAGE065
分别是交叉概率P的最小值和最大值,
Figure 15988DEST_PATH_IMAGE064
取0.4,
Figure 807226DEST_PATH_IMAGE065
取0.6;
生成第g代实验种群
Figure 682779DEST_PATH_IMAGE066
A4、选择产生下一代个体:将g代种群
Figure 756257DEST_PATH_IMAGE067
与实验种群
Figure 324641DEST_PATH_IMAGE066
中个体的适应度进行选择操作 从而选择生成下一代种群
Figure 337596DEST_PATH_IMAGE068
,选择操作公式如下:
Figure 282419DEST_PATH_IMAGE069
Figure 431640DEST_PATH_IMAGE070
是个体
Figure 937970DEST_PATH_IMAGE071
的适应度,
Figure 172643DEST_PATH_IMAGE072
是个体
Figure 655576DEST_PATH_IMAGE073
的适应 度。
CN202111367610.1A 2021-11-18 2021-11-18 一种基于ide的区块链可信节点划分方法 Active CN113810507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111367610.1A CN113810507B (zh) 2021-11-18 2021-11-18 一种基于ide的区块链可信节点划分方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111367610.1A CN113810507B (zh) 2021-11-18 2021-11-18 一种基于ide的区块链可信节点划分方法

Publications (2)

Publication Number Publication Date
CN113810507A true CN113810507A (zh) 2021-12-17
CN113810507B CN113810507B (zh) 2022-02-15

Family

ID=78938373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111367610.1A Active CN113810507B (zh) 2021-11-18 2021-11-18 一种基于ide的区块链可信节点划分方法

Country Status (1)

Country Link
CN (1) CN113810507B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064329A (zh) * 2022-01-11 2022-02-18 天津眧合数字科技有限公司 一种基于区块链的时间混合队列分片系统与方法
CN114520810A (zh) * 2022-01-27 2022-05-20 山东浪潮工业互联网产业股份有限公司 一种基于区块链的区块数据传输方法、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111149332A (zh) * 2017-04-28 2020-05-12 数据翼股份有限公司 在去中心化系统中实施集中式隐私控制的系统和方法
CN112258321A (zh) * 2020-10-13 2021-01-22 安徽师范大学 区块链分片的交易放置方法
US20210067319A1 (en) * 2019-08-30 2021-03-04 Industry-Academic Cooperation Foundation, Yonsei University Trust-based shard distribution apparatus and method for fault tolerant blockchain networks
CN113225370A (zh) * 2021-03-08 2021-08-06 河北工业大学 一种基于物联网的区块链多目标优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111149332A (zh) * 2017-04-28 2020-05-12 数据翼股份有限公司 在去中心化系统中实施集中式隐私控制的系统和方法
US20210067319A1 (en) * 2019-08-30 2021-03-04 Industry-Academic Cooperation Foundation, Yonsei University Trust-based shard distribution apparatus and method for fault tolerant blockchain networks
CN112258321A (zh) * 2020-10-13 2021-01-22 安徽师范大学 区块链分片的交易放置方法
CN113225370A (zh) * 2021-03-08 2021-08-06 河北工业大学 一种基于物联网的区块链多目标优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIAPING WANG等: "Monoxide: Scale out Blockchains with Asynchronous Consensus Zones", 《NSDI "19 OPEN ACCESS SPONSORED BY NETAPP》 *
YUNAN SONG等: "The risk of block chain financial market based on particle swarm optimization", 《JOURNAL OF COMPUTATIONAL AND APPLIED MATHEMATICS》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064329A (zh) * 2022-01-11 2022-02-18 天津眧合数字科技有限公司 一种基于区块链的时间混合队列分片系统与方法
CN114064329B (zh) * 2022-01-11 2022-03-29 天津眧合数字科技有限公司 一种基于区块链的时间混合队列分片系统与方法
CN114520810A (zh) * 2022-01-27 2022-05-20 山东浪潮工业互联网产业股份有限公司 一种基于区块链的区块数据传输方法、设备及介质

Also Published As

Publication number Publication date
CN113810507B (zh) 2022-02-15

Similar Documents

Publication Publication Date Title
CN113810507B (zh) 一种基于ide的区块链可信节点划分方法
CN109033422B (zh) 一种生成区块链的方法、装置及区块链
CN112041872A (zh) 在分区区块链网络中维护区块链的区块
Cuevas et al. A cuckoo search algorithm for multimodal optimization
CN113626875B (zh) 一种区块链分片赋能的知识图谱文件存储方法
CN113114496A (zh) 一种基于分片技术的区块链可扩展性问题解决方法
CN113973021A (zh) 一种图式区块链的网络传输优化装置及方法
CN115935442A (zh) 基于多智能体深度强化学习的区块链性能优化方法
CN114503143A (zh) 统一协议共识
CN115022326B (zh) 基于协同过滤推荐的区块链拜占庭容错共识方法
CN115664682A (zh) 基于联盟链主从多链的医疗数据共享的共识方法
CN117745433B (zh) 基于改进pbft共识机制的能源区块链节点共识方法
CN115549931A (zh) 一种基于拟态防御的拜占庭容错实现方法及系统
CN108965287B (zh) 一种基于有限临时删边的病毒传播控制方法
CN113269543A (zh) 一种用于区块链的多层混合交易扩容系统及方法
CN116644131A (zh) 基于pso-ga的分片区块链系统性能优化方法
CN115878729B (zh) 一种基于联盟链的节点区块存储分配优化方法及系统
CN115733841A (zh) 一种基于图流分割的区块链动态分片扩展方法
CN114611721A (zh) 一种基于分片区块链的联邦学习方法、装置、设备及介质
CN115426125A (zh) 一种用于区块链分片系统的区块有效性验证方法
Ran et al. Blockchain Topology Optimization Based on Node Clustering
CN117221335B (zh) 无线区块链网络分片方法及装置、电子设备、存储介质
Huang et al. Blockchain-enabled Edge Computing Framework for Hierarchic Cluster-based Federated Learning
CN117786709B (zh) 一种双区块链存储方法、介质及系统
CN117675669A (zh) 一种簇间区块传输方法、存储介质及计算设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220408

Address after: 215000 4th floor, building 6, No. 78, Keling Road, science and Technology City, Suzhou, Jiangsu Province

Patentee after: Suzhou tongxinchen Information Technology Co.,Ltd.

Address before: 210044, No. 219, Ning six road, Pukou District, Jiangsu, Nanjing

Patentee before: NANJING University OF INFORMATION SCIENCE & TECHNOLOGY

TR01 Transfer of patent right