一种闪电网络的多路径路由确定方法及系统与流程

文档序号:24648490发布日期:2021-04-13 16:26阅读:153来源:国知局
一种闪电网络的多路径路由确定方法及系统与流程

1.本发明涉及区块链链下交易通道技术领域,并且更具体地,涉及一种闪电网络的多路径路由确定方法及系统。


背景技术:

2.闪电网络ln(the lightning network)是一种增强区块链可扩展性的方法,但是该技术有些方面需要改进才能被广泛熟练地采用,比如路由效率问题。路由问题是一个特别棘手的问题。在这方面,我们提出了一种ln多路径路由方法,能显著降低用户支付的费用。由于节点收取的费用会影响路由决策,因此我们也提出了一种新型收费策略,该策略允许保持网络链路平衡,这对于ln网络的长期运行至关重要。
3.目前,已有的闪电网络支付路由方法都是单路径的,也就是说为费用发送者和接收者之间建立唯一的支付路由通路,该路径满足费用p的发送需求。但是这有可能导致两个问题:一是用户支付的手续费用过多,二是整体闪电网络的支付能力均衡被打破,也就是说本来闪电网络可以容纳100笔交易,目前只能容纳50笔。
4.因此,需要一种闪电网络的多路径路由确定方法。


技术实现要素:

5.本发明提出一种闪电网络的多路径路由确定方法及系统,以解决如何确定最优的多路径路由的问题。
6.为了解决上述问题,根据本发明的一个方面,提供了一种闪电网络的多路径路由确定方法,所述方法包括:
7.构造与目标闪电网络对应的图结构;其中,所述图结构中的每个节点表示路由的发送方、中间方或接收方;
8.确定用于获取实际交易费用最小值的约束条件;
9.根据获取的多路径路由获取请求,确定多路径路由的发送方、多路径路由的接收方和需求交易费用;
10.确定最大路由条数,根据所述最大路由条数和需求交易费用确定每个路由条数对应的单次需求交易费用,并依次遍历所述图结构,以获取满足所述约束条件的每个路由条数对应的实际交易费用最小值和每个路由条数对应的多条路由;
11.从所述每个路由条数对应的实际交易费用最小值中选取最小值对应的路由条数为最优路由条数,并确定所述最优路由条数对应的多条路由为最优多路径路由。
12.优选地,其中所述约束条件包括:
[0013][0014]
[0015][0016][0017]
其中,为多路径路由的发送方a需支付的实际交易费用;b为多路径路由的接收方;n为图结构g的节点数,边(x,y)为节点x和y之间的支付通道,所有边的集合为e;t
x,y
为节点x支付给节点y的实际支付金额;r
x,y
为节点x支付给节点y的最大金额,即x和y之间的支付通道的支付能力;f
y,x
(t
y,x
)为节点y和节点x之间的通道承载支付金额为t
y,x
的交易时,节点x收取的通道手续费;f
x,y
(t
x,y
)为节点x和节点y之间的通道承载支付金额为t
x,y
的交易时,节点x收取的通道手续费;p1为需求交易费用。
[0018]
优选地,其中所述方法还包括:
[0019]
确定支付通道边(u,v)的均衡因子balance=|r
u,v

r
v,u
|,以实现整体支付网络均衡;其中,若r
u,v
>r
v,u
,则否则,low和high为通道手续费调节因子;b为基础手续费;r
u,v
代表节点u支付给节点v的最大金额,r
v,u
代表节点v支付给节点u的最大金额,代表节点u和节点v之间的通道承载支付金额为p的交易时,节点u收取的手续费;代表同一笔交易节点v收取的手续费;u和v分别等同与x和y。
[0020]
根据本发明的另一个方面,提供了一种闪电网络的多路径路由确定系统,所述系统包括:
[0021]
图结构构造单元,用于构造与目标闪电网络对应的图结构;其中,所述图结构中的每个节点表示路由的发送方、中间方或接收方;
[0022]
约束条件确定单元,用于确定用于获取实际交易费用最小值的约束条件;
[0023]
请求分析单元,用于根据获取的多路径路由获取请求,确定多路径路由的发送方、多路径路由的接收方和需求交易费用;
[0024]
实际交易费用最小值确定单元,用于确定最大路由条数,根据所述最大路由条数和需求交易费用确定每个路由条数对应的单次需求交易费用,并依次遍历所述图结构,以获取满足所述约束条件的每个路由条数对应的实际交易费用最小值和每个路由条数对应的多条路由;
[0025]
最优多路径路由确定单元,用于从所述每个路由条数对应的实际交易费用最小值中选取最小值对应的路由条数为最优路由条数,并确定所述最优路由条数对应的多条路由为最优多路径路由。
[0026]
优选地,其中所述约束条件包括:
[0027][0028][0029]
[0030][0031]
其中,为多路径路由的发送方a需支付的实际交易费用;b为多路径路由的接收方;n为图结构g的节点数,边(x,y)为节点x和y之间的支付通道,所有边的集合为e;t
x,y
为节点x支付给节点y的实际支付金额;r
x,y
为节点x支付给节点y的最大金额,即x和y之间的支付通道的支付能力;f
y,x
(t
y,x
)为节点y和节点x之间的通道承载支付金额为t
y,x
的交易时,节点x收取的通道手续费;f
x,y
(t
x,y
)为节点x和节点y之间的通道承载支付金额为t
x,y
的交易时,节点x收取的通道手续费;p1为需求交易费用。
[0032]
优选地,其中所述系统还包括:
[0033]
均衡因子确定单元,用于确定支付通道边(u,v)的均衡因子balance=|r
u,v

r
v,u
|,以实现整体支付网络均衡;其中,若r
u,v
>r
v,u
,则否则,low和high为通道手续费调节因子;b为基础手续费;r
u,v
代表节点u支付给节点v的最大金额,r
v,u
代表节点v支付给节点u的最大金额,代表节点u和节点v之间的通道承载支付金额为p的交易时,节点u收取的手续费;代表同一笔交易节点v收取的手续费;u和v分别等同与x和y。
[0034]
本发明提供了一种闪电网络的多路径路由确定方法及系统,相比于传统只能单条路径发送费用,实现了多路径发送,通过将大笔交易拆分为更合理的多笔小交易,并选择最佳路由,起到最小化手续费的目的,更利于整体的闪电网络支付体系均衡。
附图说明
[0035]
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
[0036]
图1为根据本发明实施方式的闪电网络的多路径路由确定方法100的流程图;
[0037]
图2为根据本发明实施方式的闪电网络的多路径路由确定系统200的结构示意图。
具体实施方式
[0038]
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
[0039]
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
[0040]
图1为根据本发明实施方式的闪电网络的多路径路由确定方法100的流程图。如图1所示,本发明实施方式提供的闪电网络的多路径路由确定方法,相比于传统只能单条路径发送费用,实现了多路径发送,通过将大笔交易拆分为更合理的多笔小交易,并选择最佳路由,起到最小化手续费的目的,更利于整体的闪电网络支付体系均衡。本发明实施方式提供的闪电网络的多路径路由确定方法100,从步骤101处开始,在步骤101构造与目标闪电网络
对应的图结构;其中,所述图结构中的每个节点表示路由的发送方、中间方或接收方。
[0041]
在步骤102,确定用于获取实际交易费用最小值的约束条件。
[0042]
优选地,其中所述约束条件包括:
[0043][0044][0045][0046][0047]
其中,为多路径路由的发送方a需支付的实际交易费用;b为多路径路由的接收方;n为图结构g的节点数,边(x,y)为节点x和y之间的支付通道,所有边的集合为e;t
x,y
为节点x支付给节点y的实际支付金额;r
x,y
为节点x支付给节点y的最大金额,即x和y之间的支付通道的支付能力;f
y,x
(t
y,x
)为节点y和节点x之间的通道承载支付金额为t
y,x
的交易时,节点x收取的通道手续费;f
x,y
(t
x,y
)为节点x和节点y之间的通道承载支付金额为t
x,y
的交易时,节点x收取的通道手续费;p1为需求交易费用。
[0048]
优选地,其中所述方法还包括:
[0049]
确定支付通道边(u,v)的均衡因子balance=|r
u,v

r
v,u
|,以实现整体支付网络均衡;其中,若r
u,v
>r
v,u
,则否则,low和high为通道手续费调节因子;b为基础手续费;r
u,v
代表节点u支付给节点v的最大金额,r
v,u
代表节点v支付给节点u的最大金额,代表节点u和节点v之间的通道承载支付金额为p的交易时,节点u收取的手续费;代表同一笔交易节点v收取的手续费;u和v分别等同与x和y。
[0050]
在本发明的实施方式中,首先将闪电网络构造为一个图结构g,其中节点为费用发送者、中间人或接收者,g的节点集合为n,边(u,v)表示节点u和v之间的支付通道,所有边的集合为e。r
u,v
代表节点u支付给节点v的最大金额,r
v,u
代表节点v支付给节点u的最大金额,换句话说就是支付通道的支付能力。如果u想要支付给v的金额为p,则必须满足p<=r
u,v

[0051]
当然,u和v不一定是支付交易的发起者或接收者,可能只是中间人,也就是需要收取手续费。代表节点u和节点v之间的通道承载支付金额为p的交易时,节点u收取的手续费;代表同一笔交易节点v收取的手续费。
[0052]
那么对于一笔支付交易,发送者为节点a,代表alice,接收者为节点b,代表bob,支付的金额为p,如何能够最小化支付费用呢?因此,构建了如下约束条件:
[0053]
[0054][0055][0056][0057]
其中公式(1)为alice到所有节点发送的费用之和,该值包括两部分,一是拟发送给bob的费用p,二是支付给各个节点的费用。公式(2)表示整个网络的收支是平衡的,也就是说所有支付通道的双向费用之和是均等的,不会有费用凭空冒出来。公式(3)表示alice发出的所有费用—所有通道收取的手续费=p,而bob最终受到的费用也是p。公式(4)表示每一条支付通道边都要满足金额限制,不能突破其支付能力。
[0058]
上述问题的求解是np难问题,通过branch and bound等算法可以精确得到每一条边的金额t
x,y
,也就知道alice应该采用哪几条路径向bob发送费用p。
[0059]
在本发明中,在代表节点u和节点v之间的通道承载支付金额为p的交易时,节点u收取的手续费的收取方式将决定了整个支付网络的均衡性。以支付通道边(u,v)为例说明,在本发明中首先定义支付通道边(u,v)的均衡因子balance=|r
u,v

r
v,u
|。其次,定义通道手续费调节因子low和high。然后定义基础手续费为b。如果r
u,v
>r
v,u
,否则,通过上述公式可以快速缩小balance值,达到整体支付网络均衡。
[0060]
在步骤103,根据获取的多路径路由获取请求,确定多路径路由的发送方、多路径路由的接收方和需求交易费用。
[0061]
在步骤104,确定最大路由条数,根据所述最大路由条数和需求交易费用确定每个路由条数对应的单次需求交易费用,并依次遍历所述图结构,以获取满足所述约束条件的每个路由条数对应的实际交易费用最小值和每个路由条数对应的多条路由。
[0062]
在步骤105,从所述每个路由条数对应的实际交易费用最小值中选取最小值对应的路由条数为最优路由条数,并确定所述最优路由条数对应的多条路由为最优多路径路由。
[0063]
在本发明的实施方式中,基于上述约束条件,确定最优多路径路由。具体包括:
[0064]
s1,遍历整个闪电网络支付通道,找到alice支付给bob整笔款p的一条路由通道,使得(1)最小化,且满足限制条件(2)(3)(4)。
[0065]
s2,将p减半,遍历整个闪电网络支付通道,找到alice支付给bob费用p/2的至少两条路由通道,使得(1)最小化,且满足限制条件(2)(3)(4)。
[0066]
s3,一直继续下去,直至到达最大步骤k。将p变为p/k,遍历整个闪电网络支付通道,找到alice支付给bob费用p/k的至少k条路由通道,使得(1)最小化,且满足限制条件(2)(3)(4)。
[0067]
s4,比较k个步骤中,公式(1)的值大小,从中选择最小的值对应的多条路由作为最优多路径路由。
[0068]
例如,若公式(1)的最小值为将p变为p/2时,则最终alice发送给bob的费用将分为
两笔,从两条路径发送给bob。而不是目前已有方法的单条路径。
[0069]
图2为根据本发明实施方式的闪电网络的多路径路由确定系统200的结构示意图。如图2所示,本发明实施方式提供的闪电网络的多路径路由确定系统200,包括:图结构构造单元201、约束条件确定单元202、请求分析单元203、实际交易费用最小值确定单元204和最优多路径路由确定单元205。
[0070]
优选地,所述图结构构造单元201,用于构造与目标闪电网络对应的图结构;其中,所述图结构中的每个节点表示路由的发送方、中间方或接收方。
[0071]
优选地,所述约束条件确定单元202,用于确定用于获取实际交易费用最小值的约束条件。
[0072]
优选地,其中所述约束条件包括:
[0073][0074][0075][0076][0077]
其中,为多路径路由的发送方a需支付的实际交易费用;b为多路径路由的接收方;n为图结构g的节点数,边(x,y)为节点x和y之间的支付通道,所有边的集合为e;t
x,y
为节点x支付给节点y的实际支付金额;r
x,y
为节点x支付给节点y的最大金额,即x和y之间的支付通道的支付能力;f
y,x
(t
y,x
)为节点y和节点x之间的通道承载支付金额为t
y,x
的交易时,节点x收取的通道手续费;f
x,y
(t
x,y
)为节点x和节点y之间的通道承载支付金额为t
x,y
的交易时,节点x收取的通道手续费;p1为需求交易费用。
[0078]
优选地,其中所述系统还包括:
[0079]
均衡因子确定单元,用于确定支付通道边(u,v)的均衡因子balance=|r
u,v

r
v,u
|,以实现整体支付网络均衡;其中,若r
u,v
>r
v,u
,则否则,low和high为通道手续费调节因子;b为基础手续费;r
u,v
代表节点u支付给节点v的最大金额,r
v,u
代表节点v支付给节点u的最大金额,代表节点u和节点v之间的通道承载支付金额为p的交易时,节点u收取的手续费;代表同一笔交易节点v收取的手续费;u和v分别等同与x和y。
[0080]
优选地,所述请求分析单元203,用于根据获取的多路径路由获取请求,确定多路径路由的发送方、多路径路由的接收方和需求交易费用。
[0081]
优选地,所述实际交易费用最小值确定单元204,用于确定最大路由条数,根据所述最大路由条数和需求交易费用确定每个路由条数对应的单次需求交易费用,并依次遍历所述图结构,以获取满足所述约束条件的每个路由条数对应的实际交易费用最小值和每个路由条数对应的多条路由。
[0082]
优选地,所述最优多路径路由确定单元205,用于从所述每个路由条数对应的实际交易费用最小值中选取最小值对应的路由条数为最优路由条数,并确定所述最优路由条数对应的多条路由为最优多路径路由。
[0083]
本发明的实施例的闪电网络的多路径路由确定系统200与本发明的另一个实施例的闪电网络的多路径路由确定方法100相对应,在此不再赘述。
[0084]
已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
[0085]
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。
[0086]
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0087]
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0088]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0089]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0090]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1