一种基于遗传算法的最佳共识节点选择方法技术

技术编号:22565790 阅读:27 留言:0更新日期:2019-11-16 12:19
本发明专利技术公开了一种基于遗传算法的最佳共识节点选择方法,主要解决现有技术中存在的在确定最佳共识节点时常用的共识算法存在效率低耗时长的问题。该方法包括(S1)将多个参与节点分别编码成对应的染色体,以获取编码后的多个染色体;(S2)对多个染色体中的每个染色体进行选择、交叉、变异和可行性检测操作;(S3)将满足适应度函数的个体选择出来,通过适应度函数求解最优解,如果达到适应度函数要求,则求得最优解,如果没有,则返回继续执行步骤(S2),直至得到最优解。通过上述方案,本发明专利技术达到了交易效率高和处理时间快的目的,具有很高的实用价值和推广价值。

An optimal consensus node selection method based on genetic algorithm

The invention discloses an optimal consensus node selection method based on genetic algorithm, which mainly solves the problem of low efficiency and long time consumption of consensus algorithm commonly used in determining the optimal consensus node in the prior art. The method includes (S1) encoding multiple participating nodes into corresponding chromosomes to obtain multiple chromosomes after encoding; (S2) selecting, crossing, mutation and feasibility detection for each chromosome in multiple chromosomes; (S3) selecting individuals satisfying the fitness function and solving the optimal solution through the fitness function. If the requirements of the fitness function are met, then Get the optimal solution, if not, return to continue with step (S2) until the optimal solution is obtained. Through the above scheme, the invention achieves the purpose of high transaction efficiency and fast processing time, and has high practical value and promotion value.

【技术实现步骤摘要】
一种基于遗传算法的最佳共识节点选择方法
本专利技术属于遗传算法
,具体地讲,是涉及一种基于遗传算法的最佳共识节点选择方法。
技术介绍
区块链实质上是由多方参与、共同维护的一个持续增长的分布式账本,它的主要特点在于去中心化或者弱中心化,即无须集中控制就能达成彼此之间的信任关系,这依靠于分布式共识机制。常用的共识算法可分为两大类:一类是基于证明的共识算法,如有工作量证明共识机制(POW),股权证明算法(POS),然而这类共识算法吞吐量低、出块慢;另一类是基于投票的共识算法,最经典的是实用拜占庭容错算法(PBFT),但该方法也存在冗余、耗时长的问题。因此如何解决现有技术的存在的问题,是本领域技术人员急需解决的问题。
技术实现思路
本专利技术的目的在于提供一种基于遗传算法的最佳共识节点选择方法,主要解决现有技术中存在的在确定最佳共识节点时常用的共识算法存在效率低耗时长的问题。为了实现上述目的,本专利技术采用的技术方案如下:一种基于遗传算法的最佳共识节点选择方法,包括如下步骤:(S1)将多个参与节点分别编码成对应的染色体,以获取编码后的多个染色体;(S2)对多个染色体中的每个染色体进行选择、交叉、变异和可行性检测操作;(S3)将满足适应度函数的个体选择出来,通过适应度函数求解最优解,如果达到适应度函数要求,则求得最优解,如果没有,则返回继续执行步骤(S2),直至得到最优解;其中,f(ni)表示适应度函数,ni表示一个合法的染色体,N表示所有染色体的集合,Fau表示该染色体即该节点出现问题的次数,Com表示该染色体即该节点与其他节点交易的效率。进一步地,所述步骤(S1)中将各个参与节点编码呈一个染色体是根据一个包含m个参与节点的编码要求得到一个m维向量的染色体,这个维度即所有参与节点的个数,m为整数同时也是各个参与节点的编号,即N={n1,n2,...,nm},其中,ni表示第i个节点。进一步地,所述步骤(S2)中对多个染色体中的每个染色体进行选择、交叉、变异和可行性检测操作是将父代样本两两分组,以进行部分映射交叉,并消除冲突的数字编号,任意选取两个点,并互换数值编号,生成新群体;验证任意染色体是否是可行解,将满足适应度函数的个体选择出来,以作为父代群体。进一步地,所述步骤(S3)中的适应度函数是通过节点的宕机次数与其他节点的通信的交易效率作出的函数。具体地,所述步骤(S3)中达到适应度函数要求是当Fau(ni)最小,Com(ni)最大时,此时ni为最优解,即最佳共识节点。与现有技术相比,本专利技术具有以下有益效果:本专利技术是基于PBFT的算法,节点分为共识节点和备份节点,且该共识节点作为共识节点执行三阶段协议完成交易,本专利技术提出最佳共识节点选择方法,只有在满足适应度函数的情况下才能求出最佳共识节点,在不满足适应度函数的情况下继续对染色体进行选择、交叉、变异和可行性检测操作,因此本专利技术相对于现有选择共识节点的方法存在交易效率高和处理时间快的优点。附图说明图1为本专利技术的流程框图。具体实施方式下面结合附图和实施例对本专利技术作进一步说明,本专利技术的实施方式包括但不限于下列实施例。实施例如图1所示,一种基于遗传算法的最佳共识节点选择方法,将各个参与节点最佳选取方案编码成一个染色体,以获取编码后的多个染色体,对所述多个染色体的每个染色体进行交叉、变异、可行性检查和选择操作,将节点的宕机次数与与其他节点通信的交易效率作为模型的适应度函数,根据所述适应度函数得到最优解,以实现最佳共识节点的选择。第一步,对所有参与节点进行编码:根据一个包含m个参与节点的编码要求得到一个m维向量的染色体,m为整数,这个维度即所有参与节点的个数,同时也是他们的编号。即N={n1,n2,...,nm},其中ni表示第i个节点。第二步,对多个染色体的每个染色体进行选择、交叉、变异等操作:将父代样本两两分组,以进行部分映射交叉,并消除冲突的数字编号,任意选取两个点,并互换数值编号,生成新群体;验证任意染色体是否是可行解,以及将满足适应度函数的个体选择出来,以作为父代群体。第三步,设置适应度函数求最优解:其中:f(ni)为适应度函数,ni代表一个合法的染色体,N则代表所有染色体的集合,Fau代表该染色体即该节点出现问题的次数,Com代表该染色体即该节点与其他节点交易的效率。如果达到适应度函数要求,即Fau(ni)最小,Com(ni)最大,则满足适应度函数,该ni为最优解(最佳共识节点),如果没有,则返回继续执行第二步,直至得到最优解即最佳节点。基于本专利技术选择方法的具体应用:A1预准备阶段:根据以上遗传算法方法选取完共识节点之后进行交易。共识节点为接收的客户端请求排序n:<<PRE-PREPARE,v,n,d>,m>,其中v表示视图编号,m表示客户端发送的请求消息,d表示m的消息摘要,然后共识节点将预准备信息广播到备份节点。A2准备阶段:备份节点将共识节点送来的预准备消息进行验证。先验证签名及其摘要d的正确性,保证没被篡改,然后验证视图编号是否一致,并检查该备份节点从未在视图v中接受过序号为n但摘要d不同的消息m。预准备消息经过验证之后,该节点进入准备阶段,并向所有备份节点广播<PREPARE,v,n,d,i>,i为备份节点编号,同时将预准备消息和准备消息写入消息日志中。A3确认阶段:备份节点对接收的准备消息(数字签名、视图编号、消息序号)进行检查,校验无误后将该消息写入消息日志中。如果备份节点已经收到了来自不同备份节点发来的与预准备消息相匹配的准备消息已经有2f个,该节点就进入确认阶段,同时向所有备份节点广播确认消息<COMMIT,v,n,d,i>。上述实施例仅为本专利技术的优选实施例,并非对本专利技术保护范围的限制,但凡采用本专利技术的设计原理,以及在此基础上进行非创造性劳动而做出的变化,均应属于本专利技术的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种基于遗传算法的最佳共识节点选择方法,其特征在于,包括如下步骤:/n(S1)将多个参与节点分别编码成对应的染色体,以获取编码后的多个染色体;/n(S2)对多个染色体中的每个染色体进行选择、交叉、变异和可行性检测操作;/n(S3)将满足适应度函数的个体选择出来,通过适应度函数求解最优解,如果达到适应度函数要求,则求得最优解,如果没有,则返回继续执行步骤(S2),直至得到最优解;/n

【技术特征摘要】
1.一种基于遗传算法的最佳共识节点选择方法,其特征在于,包括如下步骤:
(S1)将多个参与节点分别编码成对应的染色体,以获取编码后的多个染色体;
(S2)对多个染色体中的每个染色体进行选择、交叉、变异和可行性检测操作;
(S3)将满足适应度函数的个体选择出来,通过适应度函数求解最优解,如果达到适应度函数要求,则求得最优解,如果没有,则返回继续执行步骤(S2),直至得到最优解;



其中,f(ni)表示适应度函数,ni表示一个合法的染色体,N表示所有染色体的集合,Fau表示该染色体即该节点出现问题的次数,Com表示该染色体即该节点与其他节点交易的效率。


2.根据权利要求1所述的一种基于遗传算法的最佳共识节点选择方法,其特征在于,所述步骤(S1)中将各个参与节点编码呈一个染色体是根据一个包含m个参与节点的编码要求得到一个m维向量的染色体,这个维度即所有参与节点的个数,m为整数同时...

【专利技术属性】
技术研发人员:刘明哲杨晨王坤陈薪羽李由之
申请(专利权)人:成都理工大学
类型:发明
国别省市:四川;51

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

1