CN111429120A - 一种基于遗传算法的区块链支付通道网络多路径寻径方法 - Google Patents
一种基于遗传算法的区块链支付通道网络多路径寻径方法 Download PDFInfo
- Publication number
- CN111429120A CN111429120A CN202010227447.8A CN202010227447A CN111429120A CN 111429120 A CN111429120 A CN 111429120A CN 202010227447 A CN202010227447 A CN 202010227447A CN 111429120 A CN111429120 A CN 111429120A
- Authority
- CN
- China
- Prior art keywords
- payment
- path
- paths
- individual
- individuals
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/363—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Finance (AREA)
- Human Resources & Organizations (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Development Economics (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Physiology (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
Abstract
本发明公开了一种基于遗传算法的区块链支付通道网络多路径寻径方法,为解决区块链链下支付通道网络中可以最小化转发费用的多路径寻径问题,将支付通道网络描述为一个具有某些特定路由限制的特殊网络,使用遗传算法获得最优的支付路径选择和支付金额分配方案。本发明公开了一种基于遗传算法的区块链链下支付通道网络中的多路径寻径方法,通过不断迭代产生多样化解决方案,并从中挑选出较优的方案变化为下一代的方法,以接近最优方案,从而得到局部最优的多路径寻径方案,提高了通过支付通道支付的成功率,并有效减少了支付过程中产生的费用。
Description
技术领域
本发明涉及区块链技术与计算机网络领域,具体涉及一种基于遗传算法的区块链支付通道网络多路径寻径方法。
背景技术
区块链作为分布式账本的关键技术之一,在不依赖于第三方可信机构的前提下,解决了开放网络中的信用问题,去中心化的特点使其拥有广泛的应用前景。然而,类似于比特币这样的区块链协议在事务吞吐量和交易延迟方面存在着固有的限制,比如,比特币仅支持每秒约7次的交易,远远不能满足市场的需求。目前,解决这一问题的一个主流方案是链下支付通道网络(Payment Channel Network),它只通过区块链进行通道的建立和关闭,以及异常情况的处理,而使得大量的小额支付不需要访问区块链,为低延迟和高吞吐量支付带来了可能。
一个支付通道允许两个用户之间进行多次支付交易,而无需将每次交易都提交到区块链。支付通道将电子货币存入一个由双方用户控制的多签名地址,并保证在该通道关闭时,所有电子货币在双方约定的时间内被返还。两个用户在链上提交一个建立通道事务来开启一个支付通道,双方可以通过调整通道两端的余额来进行支付。当不再需要链下支付(或者支付通道的容量被耗尽)时,支付通道将关闭,并在区块链上提交一个关闭事务,该事务根据支付通道中最新的余额信息向每个用户发送已存的电子货币。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
支付通道网络是多个用户和他们之间的支付通道形成的网络,可以使用支付通道网络找到从发送者到接收者之间的间接路径进行支付,而不必在想要进行链下支付的每两个用户之间都建立支付通道,这样的构想改善了支付通道的可用性和实用性。支付通道网络中的寻径问题类似于具有某些特定路由限制的计算机网络路由问题。然而,由于支付通道网络的特殊性,传统的计算机网络路由算法无法适用。当前关于支付通道网络路由寻径算法的研究还比较少,已有的一些算法也仅仅关注寻找一条可能的路径,忽略了通过多条路径来提高付款成功率,并降低转发费用的可能性。
由此可知,现有技术中存在支付通道成功率不高的技术问题。
发明内容
本发明提出一种基于遗传算法的区块链支付通道网络多路径寻径方法,用于解决或者至少部分解决现有技术中存在的支付通道成功率不高的技术问题。
为了解决上述技术问题,本发明提供了一种基于遗传算法的区块链支付通道网络多路径寻径方法,包括:
S1:根据支付通道网络的结构构建一个有向图G,其中,图中的顶点用以参与交易的节点,边表示支付通道,支付通道用以转发交易,支付通道的属性包括余额bal(u,v)、基础收费系数base(u,v)和比例收费系数slope(u,v),边的权为当前通道上流经的支付金额所产生的收费Fee,Fee=base(u,v)+slope(u,v)×p,表示转发交易的收费,p表示支付路径上的支付金额,其中,支付路径为图G中的点构成的从发送方到接受方的路径,一条支付路径包括一个或者多个支付通道;
S2:基于支付通道网络,生成初始种群,其中,初始种群中的每个个体对应k条支付路径和每条路径上分配的支付金额P1,P2,…Pk,每条路径上分配的金额根据总金额平均分配;
S3:将每个个体对应的所有支付路径的总收费作为适应度,根据适应度选择出父辈,其中,支付路径的收费为包含的每个支付通道的收费之和;
S4:根据适应度,对父辈进行交叉和变异操作;
S5:当种群收敛或者迭代次数达到设定阈值时,计算最后一代种群中每一个个体的总收费,并选择总收费最小的个体作为当前k值下的最佳解决方案,当前k值下的最佳解决方案为选择出的多条支付路径;
S6:从多条支付路径中选择出目标支付路径。
在一种实施方式中,在步骤S2之前,所述方法还包括:
设置路径数量范围krange以及迭代次数阈值。
在一种实施方式中,S2包括:
S2.1:将每个个体的k条路径初始分配金额均为平均分配,P1=P2=…=Pk=P/k,P表示总金额;
S2.2:采用Dijkstra算法寻找k+1条收费最少路径,其中,每条路径上支付金额为P/k;
S2.3:从S2.2中的k+1条支付路径中选择出k条,生成一个个体;
S2.4:重复执行步骤S2.2~2.3,生成k+1个不同的个体,组成初始种群。
在一种实施方式中,S3具体包括:
S3.2:以概率α选择totalFee最小的α*k个个体作为父辈,并淘汰其他个体,其中α为预先设置的参数。
在一种实施方式中,S4具体包括:
S4.1:在每个个体中,随机选择两条路径,若两条路径除起点和终点外具有公共节点,则进行交叉操作,父辈个体和交叉后的个体共同组成新种群;
S4.2:交叉操作得到的每个个体以β的概率进行变异操作,β为预先设置的参数。
在一种实施方式中,S4.1中的交叉操作具体包括:
将两条路径公共节点前后的支付通道进行交换,并且,交叉后的种群个体数量与初始种群数量保持一致。
在一种实施方式中,S4.2变异操作包括:
保证总金额不变的情况下,在预设范围内随机调整每条路径上的支付金额大小;
在路径中的随机选择一个节点突变为另一随机节点。
在一种实施方式中,在步骤S4之后,所述方法还包括:判断进行交叉和变异操作得到的个体中,支付路径是否满足路由限制条件,如果不满足,则撤销。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
本发明提供的一种基于遗传算法的区块链支付通道网络多路径寻径方法,针对区块链链下支付通道网络的特性,利用遗传算法的思想,通过不断迭代产生多样化解决方案,并从中挑选出较优的方案变化为下一代的方法,以接近最优方案,从而得到局部最优的多路径寻径方案,提高了通过支付通道支付的成功率,并有效减少了支付过程中产生的费用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种基于遗传算法的区块链支付通道网络多路径寻径方法的实现流程示意图;
图2为本发明实施例的PCN网络结构示意图;
图3为图2中PCN网络的属性值。
具体实施方式
为了解决区块链链下支付通道网络中可以最小化转发费用的多路径寻径问题,本发明提供了一种基于遗传算法的区块链支付通道网络多路径寻径方法,从而达到提高支付通道成功率的目的。
为了实现上述目的,本发明的主要构思如下:
将支付通道网络描述为一个具有某些特定路由限制的特殊网络,使用遗传算法获得最优的支付路径选择和支付金额分配方案。本发明公开了一种基于遗传算法的区块链链下支付通道网络中的多路径寻径方法,通过不断迭代产生多样化解决方案,并从中挑选出较优的方案变化为下一代的方法,以接近最优方案,从而得到局部最优的多路径寻径方案,提高了通过支付通道支付的成功率,并有效减少了支付过程中产生的费用。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明主要基于遗传算法,考虑区块链链下支付通道网络的特性,提出的一种支付通道网络中的多路径寻径方法。本方法充分考虑了区块链链下支付通道网络与传统网络的差异,通过遗传算法不断变异、选择的思想,迭代接近最优方案。本发明提高了通过支付通道支付的成功率,并有效减少了支付过程中产生的费用。
本实施例提供了一种基于遗传算法的区块链支付通道网络多路径寻径方法,该方法包括:
S1:根据支付通道网络的结构构建一个有向图G,其中,图中的顶点用以表示电子货币账户,边表示支付通道,支付通道用以转发交易,支付通道的属性包括余额bal(u,v)、基础收费系数base(u,v)和比例收费系数slope(u,v),边的权为当前通道上流经的支付金额所产生的收费Fee,Fee=base(u,v)+slope(u,v)×p,表示转发交易的收费,p表示支付路径上的支付金额,其中,支付路径为图G中的点构成的从发送方到接受方的路径,一条支付路径包括一个或者多个支付通道;
具体来说,其中顶点集合V表示电子货币账户,加权边集合E表示支付通道。对于支付金额为p的支付路径上的每一个支付通道的限制条件为balu,v≥p。
S2:基于支付通道网络,生成初始种群,其中,初始种群中的每个个体对应k条支付路径和每条路径上分配的支付金额P1,P2,…Pk,每条路径上分配的金额根据总金额平均分配;
S3:将每个个体对应的所有支付路径的总收费作为适应度,根据适应度选择出父辈,其中,支付路径的收费为包含的每个支付通道的收费之和;
S4:根据适应度,对父辈进行交叉和变异操作;
S5:当种群收敛或者迭代次数达到设定阈值时,计算最后一代种群中每一个个体的总收费,并选择总收费最小的个体作为当前k值下的最佳解决方案,当前k值下的最佳解决方案为选择出的多条支付路径;
S6:从多条支付路径中选择出目标支付路径。
具体来说,S3中,所有支付路径的总收费作为适应度,每条支付路径的收费为其包含的所有支付通道的收费总和,再综合个体所对应的所有支付路径,可以到个体的总收费。
在一种实施方式中,在步骤S2之前,所述方法还包括:
设置路径数量范围krange以及迭代次数阈值。
具体来说,对于k从2至krange,进行迭代操作。
在一种实施方式中,S2包括:
S2.1:将每个个体的k条路径初始分配金额均为平均分配,P1=P2=…=Pk=P/k,P表示总金额;
S2.2:采用Dijkstra算法寻找k+1条收费最少路径,其中,每条路径上支付金额为P/k;
S2.3:从S2.2中的k+1条支付路径中选择出k条,生成一个个体;
S2.4:重复执行步骤S2.2~2.3,生成k+1个不同的个体,组成初始种群。
在一种实施方式中,S3具体包括:
S3.2:以概率α选择totalFee最小的α*k个个体作为父辈,并淘汰其他个体,其中α为预先设置的参数。
在一种实施方式中,S4具体包括:
S4.1:在每个个体中,随机选择两条路径,若两条路径除起点和终点外具有公共节点,则进行交叉操作,父辈个体和交叉后的个体共同组成新种群;
S4.2:交叉操作得到的每个个体以β的概率进行变异操作,β为预先设置的参数。
在一种实施方式中,S4.1中的交叉操作具体包括:
将两条路径公共节点前后的支付通道进行交换,并且,交叉后的种群个体数量与初始种群数量保持一致。
具体来说,交叉操作具体形式为交换公共节点前后的支付通道,例如路径(1,2,4,5,6,8,10)和(1,3,5,7,9,10)经过交叉后变为(1,2,4,5,7,9,10)和(1,3,5,6,8,10)。
而且在进行交叉操作后,需保证交叉后的种群个体数量与初始种群个体数量一致,若种群个体数量大于初始种群个体数量,则淘汰totalFee最大的个体,若种群个体数量小于初始种群个体数量,则复制父辈个体作为新个体补充。
在一种实施方式中,S4.2变异操作包括:
保证总金额不变的情况下,在预设范围内随机调整每条路径上的支付金额大小;
在路径中的随机选择一个节点突变为另一随机节点。
在一种实施方式中,在步骤S4之后,所述方法还包括:判断进行交叉和变异操作得到的个体中,支付路径是否满足路由限制条件,如果不满足,则撤销。
具体来说,路由限制条件为支付通道上的余额是否大于支付金额,如果小于,则撤销该操作。
如果种群收敛或迭代次数达到tmax,则结束迭代,否则增值t,返回生成初始种群的步骤。若结束迭代,计算最后一代种群中每一个个体的totalFee,并选择totalFee最小的个体作为当前k值下的最佳解决方案。
对于执行了2-5步骤的每一个k值,输出totalFee最小的个体和其对应的k值。
本发明提供的方法能够用计算机软件技术实现流程,请参见参见图1,图2所示的网络结构图为例对本发明的流程进行一个具体的阐述,如下:
步骤1,输入支付通道网络的网络拓扑结构,具体形式为一个有向图G=V,E,每一条边(通道)上包含三个属性值:余额bal(u,v)、基础收费系数base(u,v)和比例收费系数slope(u,v)。输入发送方节点s和接收方节点t,总支付金额P。设置最大循环迭代次数tmax,遗传概率α和变异概率β。
实施例的实施过程如下:
输入支付通道网络的网络拓扑结构,具体表示为一个有向图G=(V,E),其中顶点集合V表示电子货币账户,加权边集合E表示支付通道。在本发明的设定中,每一条边(通道)上包含三个属性值:余额bal(u,v)、基础收费系数base(u,v)和比例收费系数slope(u,v),对于支付金额为p的支付路径上的每一个支付通道的限制条件为balu,v≥p,并且该支付通道上的收费Fee=base(u,v)+slope(u,v)×p,表示它对转发支付的费用。为了便于解释,在本发明中,我们将u和v之间的双向通道表示为两个有向边,每个方向一条。
输入发送方节点s和接收方节点t,总支付金额P。设置最大循环迭代次数tmax,遗传概率α∈[0,1]和变异概率β∈[0,1]。
实施例具体的实施方案为:
支付通道网络的网络拓扑结构被随机设置为如图1所示,其中每条通道都是双向通道,其余额bal(u,v)、基础收费系数base(u,v)和比例收费系数slope(u,v)如图1中表格所示,设置s=0,t=10,P=100,tmax=20,α=0.4,β=0.5。
步骤2,设置路径数量范围krange,设置当前迭代次数t=0,对于k从2至krange,分别进行以下3至7步骤。
实施例的实施过程如下:
设置路径数量范围krange≥2,对于k从2至krange,分别进行3至7步骤,以寻求不同路径数量的解决方案,并在最后选取收费最少的方案作为最优方案输出。
实施例具体的实施方案为:
设置krange=3,及对于k=2和k=3分别进行3至7步骤寻找收费最少的方案
步骤3,生成初始种群。初始种群包含k+1个个体,其每个个体的形式为k条支付路径以及每条路径上分配的支付金额P1,P2,...Pk。实现方式如下:
①每个个体的k条路径初始分配金额均为平均分配,即P1=P2=...=Pk=P/k。
②使用Dijkstra算法寻找k+1条不同的收费最少的路径,每条路径支付金额为P/k。
③从②中寻得的k+1条路径中选择k条,生成一个个体。
④共可生成k+1个不同的个体,组成初始种群。
实施例的实施过程如下:
使用Dijkstra算法寻找k+1条不同的收费最少的路径,其中每条路径初始分配金额均为平均分配,即均为P/k。具体的,在每次使用Dijkstra算法得到一条路径后,将其路径中余额最少的通道余额置为0,使得到的k+1条路径不重复。在此步算法结束后,通道余额恢复原正常值。最后,从寻得的k+1条路径中选择k条,生成一个个体。共可生成k+1个不同个体,组成初始种群。
实施例具体的实施方案为:
本实施例的步骤3至步骤7以k=2为例说明具体实施方案,k=2时,
①P1=P2=P/k=100/2=50.
②使用Dijkstra算法寻找3条不同的收费最少的路径:
path1:(0,3,1,10)
path2:(0,4,7,8,2,10)
path3:(0,4,7,2,10)
③生成初始种群为:
个体1:{path1:(0,4,7,8,2,10),path2:(0,4,7,2,10),P1=P2=50}
个体2:{path1:(0,3,1,10),path2:(0,4,7,2,10),P1=P2=50}
个体3:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
步骤4,计算适应度,选择父辈。对于每个个体,计算其所有路径的总收费,作为适应度。计算每个个体k条路径中所有路径的总收费,并求和: 以概率α选择totalFee最小的α*k个个体作为父辈,并淘汰其他个体。
实施例的实施过程如下:
实施例具体的实施方案为:
计算每个个体k条路径的总收费:
个体1:totalFee=[base(0,4)+slope(0,4)×50+base(4,7)+slope(4,7)×50+base(7,8)+slope(7,8)×50+base(8,2)+slope(8,2)×50+base(2,10)+slope(2,10)×50]+[base(0,4)+slope(0,4)×50+base(4,7)+slope(4,7)×50+base(7,2)+slope(7,2)×50+base(2,10)+slope(2,10)×50]=10.25+10.68=20.93
同样可得:
个体2:totalFee=7.64+10.68=18.32
个体3:totalFee=7.64+10.25=17.89
α=0.4,故选择一个个体作为父辈。totalFee最少的个体为个体3,故选择个体3为父辈个体,个体1和个体2被淘汰。
父辈1:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
步骤5,进行交叉操作。在每个个体中,随机选择两条路径,若两条路径除起点和终点外有公共节点,则进行交叉操作,父辈个体和交叉后的个体共同组成新种群。交叉操作具体形式为交换公共节点前后的路径,例如路径(1,2,4,5,6,8,10)和(1,3,5,7,9,10)经过交叉后变为(1,2,4,5,7,9,10)和(1,3,5,6,8,10)。
实施例的实施过程如下:
交叉操作。在每个个体中,随机选择两条路径,若两条路径除起点和终点外有公共节点,则进行交叉操作,父辈个体和交叉后的个体共同组成新种群。交叉操作具体形式为交换公共节点前后的路径,例如路径(1,2,4,5,6,8,10)和(1,3,5,7,9,10)经过交叉后变为(1,2,4,5,7,9,10)和(1,3,5,6,8,10)。并且,需保证交叉后的种群个体数量与初始种群个体数量一致,若种群个体数量大于初始种群个体数量,则淘汰totalFee最大的个体,若种群个体数量小于初始种群个体数量,则复制父辈个体作为新个体补充。
实施例具体的实施方案为:
通过步骤4的到的父辈为:
父辈1:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
父辈中两条路径并不存在除起点和终点外的公共节点,故不进行交叉操作。复制父辈个体作为新个体组成新种群。
进行交叉操作后的新种群为:
个体1:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
个体2:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
个体3:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
需要说明的是,为了本说明的简单性和直观性,本实施方案选取了便于计算的k=2的情况,并且使用了只具有11个节点的小网络。当网络节点数量更多,k值更大时,步骤4中得到的父辈个体将有α*k个,每个个体中的k条路径将有更大的概率存在共同节点,那时,交叉操作将会进行。但是,若交叉操作过后生成的任一路径违背了支付通道网络中的路由限制条件(支付通道上的余额大于支付金额),则撤销该操作。
步骤6,进行变异操作。每个个体以β的概率进行变异操作。变异操作分为两步:①在保证总金额不变的情况下,在一定范围内随机调整每条路径上的支付金额大小,②在路径中的随机选择一个节点突变为另一随机节点。
实施例的实施过程如下:
变异操作。每个个体以β的概率进行变异操作。变异操作分为两步:①在保证总金额不变的情况下,在一定范围内随机调整每条路径上的支付金额大小,②在路径中的随机选择一个节点突变为另一随机节点。若某一操作过后生成的任一路径违背了支付通道网络中的路由限制条件(支付通道上的余额大于支付金额),则撤销该操作。
实施例具体的实施方案为:
步骤5得到的种群为:
个体1:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
个体2:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
个体3:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=P2=50}
以概率β=0.5进行变异操作,得到变异后的种群为:
个体1:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=50,P2=50}
个体2:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=53,P2=47}
个体3:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=48,P2=52}
步骤7,如果迭代次数达到tmax,则结束迭代,否则增值t,返回步骤3。若结束迭代,计算最后一代种群中每一个个体的totalFee,并选择totalFee最小的个体作为当前k值下的最佳解决方案。
实施例的实施过程如下:
如果迭代次数达到tmax,则结束迭代,否则增值t,返回步骤3。tmax可根据不同网络结构进行调整,使得算法得到较优结果而
结束迭代时,计算最后一代种群中每一个个体的totalFee,并选择totalFee最小的个体作为当前k值下的最佳解决方案。
实施例具体的实施方案为:
在实施例中,t=0,增加t至t=1,返回步骤3。
由于本实施例网络结构较为简单,故设置tmax=20。重复迭代3-6步骤20次后,得到最后一代种群:
个体1:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=66,P2=34}
个体2:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=71,P2=29}
个体3:{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=70,P2=30}
计算每一个个体的totalFee:
个体1:totalFee=17.09
个体2:totalFee=16.84
个体3:totalFee=16.9
所以k=2时选择个体2作为最佳解决方案,即{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=71,P2=29}
步骤8,对于执行了3-7步骤的每一个k值,输出totalFee最小的个体和其对应的k值。
实施例的实施过程如下:
对于从2至krange的每一个k值,通过3-7步骤执行后的结果,选择totalFee最小的个体作为算法输出。
实施例具体的实施方案为:
k=3时与k=2时步骤相同,最终得到结果为
{path1:(0,3,1,10),path2:(0,4,7,8,2,10),path3:(0,4,7,2,10),P1=60,P2=30,P2=10},totalFee=17.67
所以本发明方法的最终输出结果为k=2时的方案,即{path1:(0,3,1,10),path2:(0,4,7,8,2,10),P1=71,P2=29}。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
Claims (8)
1.一种基于遗传算法的区块链支付通道网络多路径寻径方法,其特征在于,包括:
S1:根据支付通道网络的结构构建一个有向图G,其中,图中的顶点用以参与交易的节点,边表示支付通道,支付通道用以转发交易,支付通道的属性包括余额bal(u,v)、基础收费系数base(u,v)和比例收费系数slope(u,v),边的权为当前通道上流经的支付金额所产生的收费Fee,Fee=base(u,v)+slope(u,v)×p,表示转发交易的收费,p表示支付路径上的支付金额,其中,支付路径为图G中的点构成的从发送方到接受方的路径,一条支付路径包括一个或者多个支付通道;
S2:基于支付通道网络,生成初始种群,其中,初始种群中的每个个体对应k条支付路径和每条路径上分配的支付金额P1,P2,…Pk,每条路径上分配的金额根据总金额平均分配;
S3:将每个个体对应的所有支付路径的总收费作为适应度,根据适应度选择出父辈,其中,支付路径的收费为包含的每个支付通道的收费之和;
S4:根据适应度,对父辈进行交叉和变异操作;
S5:当种群收敛或者迭代次数达到设定阈值时,计算最后一代种群中每一个个体的总收费,并选择总收费最小的个体作为当前k值下的最佳解决方案,当前k值下的最佳解决方案为选择出的多条支付路径;
S6:从多条支付路径中选择出目标支付路径。
2.如权利要求1所述的方法,其特征在于,在步骤S2之前,所述方法还包括:
设置路径数量范围krange以及迭代次数阈值。
3.如权利要求1所述的方法,其特征在于,S2包括:
S2.1:将每个个体的k条路径初始分配金额均为平均分配,P1=P2=…=Pk=P/k,P表示总金额;
S2.2:采用Dijkstra算法寻找k+1条收费最少路径,其中,每条路径上支付金额为P/k;
S2.3:从S2.2中的k+1条支付路径中选择出k条,生成一个个体;
S2.4:重复执行步骤S2.2~2.3,生成k+1个不同的个体,组成初始种群。
5.如权利要求1所述的方法,其特征在于,S4具体包括:
S4.1:在每个个体中,随机选择两条路径,若两条路径除起点和终点外具有公共节点,则进行交叉操作,父辈个体和交叉后的个体共同组成新种群;
S4.2:交叉操作得到的每个个体以β的概率进行变异操作,β为预先设置的参数。
6.如权利要求5所述的方法,其特征在于,S4.1中的交叉操作具体包括:
将两条路径公共节点前后的支付通道进行交换,并且,交叉后的种群个体数量与初始种群数量保持一致。
7.如权利要求6所述的方法,其特征在于,S4.2变异操作包括:
保证总金额不变的情况下,在预设范围内随机调整每条路径上的支付金额大小;
在路径中的随机选择一个节点突变为另一随机节点。
8.如权利要求1所述的方法,其特征在于,在步骤S4之后,所述方法还包括:判断进行交叉和变异操作得到的个体中,支付路径是否满足路由限制条件,如果不满足,则撤销。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010227447.8A CN111429120B (zh) | 2020-03-27 | 2020-03-27 | 一种基于遗传算法的区块链支付通道网络多路径寻径方法 |
US17/074,645 US20210304195A1 (en) | 2020-03-27 | 2020-10-20 | Method for blockchain payment channel network multi-path routing based on genetic algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010227447.8A CN111429120B (zh) | 2020-03-27 | 2020-03-27 | 一种基于遗传算法的区块链支付通道网络多路径寻径方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111429120A true CN111429120A (zh) | 2020-07-17 |
CN111429120B CN111429120B (zh) | 2023-04-07 |
Family
ID=71548886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010227447.8A Active CN111429120B (zh) | 2020-03-27 | 2020-03-27 | 一种基于遗传算法的区块链支付通道网络多路径寻径方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210304195A1 (zh) |
CN (1) | CN111429120B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225254A (zh) * | 2021-02-10 | 2021-08-06 | 中国科学院计算技术研究所 | 一种链下支付通道路由平衡方法 |
CN113537968A (zh) * | 2021-06-08 | 2021-10-22 | 复旦大学 | 一种基于博弈论的支付通道网络中交易请求处理方法 |
CN114938379A (zh) * | 2022-05-19 | 2022-08-23 | 中山大学 | 一种基于最小费用流的最优链下通道网络路由方法 |
CN115174463A (zh) * | 2022-07-08 | 2022-10-11 | 中国银行股份有限公司 | 交易链路的确定方法、装置、电子设备及计算机存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116032827B (zh) * | 2023-01-09 | 2024-05-10 | 暨南大学 | 一种基于aodv的pcn最优路径路由方法 |
CN116109416B (zh) * | 2023-04-12 | 2023-07-04 | 北京邮电大学 | 一种基于区块链的碳交易支付通道路由选择方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583868A (zh) * | 2018-10-17 | 2019-04-05 | 北京瑞卓喜投科技发展有限公司 | 支付状态通道网络及其构建方法和系统、高频交易系统 |
US10305833B1 (en) * | 2017-07-23 | 2019-05-28 | Turing Technology, Inc. | Blockchain based email procedures |
CN110223055A (zh) * | 2019-05-05 | 2019-09-10 | 中山大学 | 一种区块链支付通道网络的路径选择方法 |
US20190332921A1 (en) * | 2018-04-13 | 2019-10-31 | Vosai, Inc. | Decentralized storage structures and methods for artificial intelligence systems |
-
2020
- 2020-03-27 CN CN202010227447.8A patent/CN111429120B/zh active Active
- 2020-10-20 US US17/074,645 patent/US20210304195A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10305833B1 (en) * | 2017-07-23 | 2019-05-28 | Turing Technology, Inc. | Blockchain based email procedures |
US20190332921A1 (en) * | 2018-04-13 | 2019-10-31 | Vosai, Inc. | Decentralized storage structures and methods for artificial intelligence systems |
CN109583868A (zh) * | 2018-10-17 | 2019-04-05 | 北京瑞卓喜投科技发展有限公司 | 支付状态通道网络及其构建方法和系统、高频交易系统 |
CN110223055A (zh) * | 2019-05-05 | 2019-09-10 | 中山大学 | 一种区块链支付通道网络的路径选择方法 |
Non-Patent Citations (1)
Title |
---|
李松钊: "基于区块链的物流服务交易蚁群智能合约算法应用研究" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225254A (zh) * | 2021-02-10 | 2021-08-06 | 中国科学院计算技术研究所 | 一种链下支付通道路由平衡方法 |
CN113225254B (zh) * | 2021-02-10 | 2022-04-22 | 中国科学院计算技术研究所 | 一种链下支付通道路由均衡方法 |
CN113537968A (zh) * | 2021-06-08 | 2021-10-22 | 复旦大学 | 一种基于博弈论的支付通道网络中交易请求处理方法 |
CN113537968B (zh) * | 2021-06-08 | 2022-03-18 | 复旦大学 | 一种基于博弈论的支付通道网络中交易请求处理方法 |
CN114938379A (zh) * | 2022-05-19 | 2022-08-23 | 中山大学 | 一种基于最小费用流的最优链下通道网络路由方法 |
CN114938379B (zh) * | 2022-05-19 | 2023-10-20 | 中山大学 | 一种基于最小费用流的最优链下通道网络路由方法 |
CN115174463A (zh) * | 2022-07-08 | 2022-10-11 | 中国银行股份有限公司 | 交易链路的确定方法、装置、电子设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111429120B (zh) | 2023-04-07 |
US20210304195A1 (en) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111429120B (zh) | 一种基于遗传算法的区块链支付通道网络多路径寻径方法 | |
Chekuri et al. | Non-cooperative multicast and facility location games | |
Varadarajan et al. | Solving multi-objective optimal power flow using differential evolution | |
Grosu et al. | Noncooperative load balancing in distributed systems | |
Chitra et al. | A nondominated sorting genetic algorithm solution for shortest path routing problem in computer networks | |
Crichigno et al. | Multiobjective multicast routing algorithm for traffic engineering | |
Mukherjee et al. | Asymptotically optimal load balancing topologies | |
CN108809860B (zh) | 基于业务可靠性的网络节点资源分配方法 | |
CN110234155A (zh) | 一种基于改进topsis的超密集网络接入选择方法 | |
Abbasi et al. | Optimal distribution of workloads in cloud-fog architecture in intelligent vehicular networks | |
Long et al. | An efficient task offloading approach based on multi-objective evolutionary algorithm in cloud-edge collaborative environment | |
CN115529316A (zh) | 一种基于云计算中心网络架构的微服务部署方法 | |
Salimi et al. | Task scheduling with Load balancing for computational grid using NSGA II with fuzzy mutation | |
CN115543556A (zh) | 一种基于多任务遗传编程算法的自适应符号回归方法 | |
Dube et al. | Differential join prices for parallel queues: Social optimality, dynamic pricing algorithms and application to internet pricing | |
CN114677218A (zh) | 一种基于支付结的链下交易方法 | |
CN112631612B (zh) | 一种基于遗传算法的kubernetes云平台配置的优化方法 | |
Li et al. | cost-and-QOS-based NFV service function chain mapping mechanism | |
Satyananda et al. | A multi-objective QoS optimization with fuzzy based parameter setting for real-time multicasting | |
Nyirenda et al. | Multi-objective particle swarm optimization for fuzzy logic based active queue management | |
Mirali et al. | Distributed weighting strategies for improved convergence speed of first-order consensus | |
CN111290853B (zh) | 一种基于自适应改进遗传算法的云数据中心调度方法 | |
Xu et al. | Multi-controller load balancing mechanism based on improved genetic algorithm | |
CN115719951A (zh) | 双极直流配电网中基于源荷极性切换的电压平衡控制方法 | |
Rahmat et al. | Differential evolution immunized ant colony optimization technique in solving economic load dispatch problem |
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 |