本发明属于区块链支付,具体涉及一种区块链多方支付通道网络及其交易路径配置方法、系统。
背景技术:
1、自2008年以来,区块链就因其去中心化、匿名性、可追溯、防篡改等特性受到越来越多的关注。经过概念创新和技术迭代,区块链的应用场景已经扩展到了众多领域,并且得到许多国家的鼓励和支持。但是众所周知,区块链的可扩展性差,这阻碍了区块链技术的大规模应用。所以研究区块链可扩展性关键技术,对于推广区块链应用至关重要。
2、支付通道是解决区块链可扩展性问题的一个颇具前途的方法。交易双方通过链上交易打开一个支付通道,交易双方就可以通过支付通道自由地进行链下交易。交易在区块链之外被处理,仅在必要的时候与区块链进行交互,中间交易不在链上记录,最终结果才反映到链上。因此,由支付通道构成的支付通道网络,通过路由交易使任意两个节点进行链下交易成为现实。
3、然而,目前,支付通道仅考虑单个支付hub的设计,而单个支付hub只能连接有限数量的节点,无法满足大规模节点链下自由高效交易的需求。因此,有必要构建一个大型支付网络,然而,如何构建一个大型支付网络并设计其交易路径,是一个具有挑战性的问题。
技术实现思路
1、为了克服上述现有支付网络扩展性不足及交易路径场的不足,本发明提供一种区块链多方支付通道网络及其交易路径配置方法、系统及介质。其区块链多方支付通道网络如下:
2、包括多层hcube,其中,第0层的hcube0包括一个支付hub和n个与第0层的支付hub连接的节点,第1层的hcube1包括n个hcube0和n1个第1层的支付hub;以此类推,第k层的hcubek包括n个hcubek-1和nk个第k层的支付hub,且与同一个hcubek-1连接的节点不能连接到同一个第k层的支付hub,每个节点均与每一层hcube的一个支付hub连接,且连接到第k层中同一个支付hub的节点不能连接到第k+1层中同一个支付hub,其中,n为支付hub的容量,n和k为大于等于0的整数,一个节点代表加入支付通道网络的一个交易方,与每个支付hub连接的节点的数量小于等于n。
3、优选的,还包括节点位置确定单元,所述节点位置确定单元用于判断交易双方是否加入区块链多方支付通道网络;若交易双方均没有加入区块链多方支付通道网络,交易双方先寻找第0层的且现有成员数目少于n-1的支付hub,并加入到该支付hub;如果不存在满足条件的支付hub,交易双方将寻找两个属于同一个hcubek的第0层支付hub,且支付hub仍有容量,在满足条件的前提下,hcubek应该具有最小的k,交易双方各自加入一个hub;如果不存在两个属于同一个hcubek的第0层支付hub,交易双方中的发起者将部署一个新的第0层支付hub,且接收者加入到该hub。
4、若交易一方已接入区块链多方支付通道网络中,则交易另一方寻找一个在第0层且具有容纳新用户空间的支付hub,所述能够容纳新用户空间的支付hub与交易一方属于同一个最低层次的hcube0;如果交易双方没有连接到同一个第0层的支付hub,但它们属于同一个hcubek,则交易双方连接到第1~k层的支付hub。
5、优选的,所述判断交易双方是否加入加入区块链多方支付通道网络通过交易双方是否加入同一个支付hub确定。
6、优选的,所述确定节点的位置还包括:当存在多个支付hub同时满足要求时,即只要属于同一个hcubek的节点不会连接到同一个第k+1层的支付hub,那么交易双方按照从第0层支付hub到第k-1层支付hub的顺序选择支付hub加入即可,也即优先选择层数小的支付hub加入。
7、优选的,所述节点包括邻居节点和非邻居节点,连接至同一支付hub的节点互为邻居节点;连接至不同支付hub的节点称为非邻居节点。
8、本发明还提供有一种基于所述区块链多方支付通道网络的交易路径配置方法,包括邻居交易路径配置和非邻居交易路径配置,其中,所述邻居交易路径配置具体为:
9、将交易一方记为节点i,交易另一方记为节点t;
10、如果i在l层的可用资金充足,则直接在支付hub内交易即可,路由结束;否则,从i所在的每一层出发探测到t的路径;
11、对于i在k层的任一邻居mk,t在k层存在一个邻居m与mk连接至同一个支付hub;i发送消息给mk来寻找m,且mk发消息给t,告知t根据消息内容查看邻居信息表,寻找其k层的哪个邻居跟mk连接到同一个支付hub;如果节点i和节点t存在共同邻居m,则探寻交易路径成功;
12、所述所述非邻居交易路径配置具体为:
13、将交易一方记为节点i,交易另一方记为节点t;
14、搜索节点i与节点t同属的最低层的支付层hcubel;在同属的第l支付层hcubel搜索节点i的一个邻居节点ml,且该邻居节点与节点t同属于一个支付层hcubecl-1,将支付层hcubecl-1初始化为hcubel;节点i发送交易消息至邻居节点ml,第l支付层探寻交易路径结束;考虑交易路径的长度,从第l支付层,自上而下的探寻交易路径,更新支付层hcubecl;
15、对于节点i在第i支付层hcubei中的每个邻居mi,均与节点t同属于一个支付层hcubecl;节点i发送交易消息至所有邻居节点mi,查找每个邻居节点mi的邻居节点信息表中是否包含节点t;若包含节点t,则本次探寻交易路径成功;若不包含节点t,则继续在支付层hcubecl中寻找与节点t属于同一个支付层hcubecl-1的邻居节点,重复以上步骤,直到次探寻交易路径成功。
16、本发明还提供有一种区块链多方支付通道网络的交易路径配置系统,包括:
17、邻居交易路径配置模块,用于将交易一方记为节点i,交易另一方记为节点t;如果i在l层的可用资金充足,则直接在支付hub内交易即可,路由结束;否则,从i所在的每一层出发探测到t的路径;对于i在k层的任一邻居mk,t在k层存在一个邻居m与mk连接至同一个支付hub;i发送消息给mk来寻找m,且mk发消息给t,告知t根据消息内容查看邻居信息表,寻找其k层的哪个邻居跟mk连接到同一个支付hub;如果节点i和节点t存在共同邻居m,则探寻交易路径成功;
18、非邻居交易路径配置模块,用于将交易一方记为节点i,交易另一方记为节点t;搜索节点i与节点t同属的最低层的支付层hcubel;在同属的第l支付层hcubel搜索节点i的一个邻居节点ml,且该邻居节点与节点t同属于一个支付层hcubecl-1,将支付层hcubecl-1初始化为hcubel;节点i发送交易消息至邻居节点ml,第l支付层探寻交易路径结束;考虑交易路径的长度,从第l支付层,自上而下的探寻交易路径,更新支付层hcubecl;对于节点i在第i支付层hcubei中的每个邻居mi,均与节点t同属于一个支付层hcubecl;节点i发送交易消息至所有邻居节点mi,查找每个邻居节点mi的邻居节点信息表中是否包含节点t;若包含节点t,则本次探寻交易路径成功;若不包含节点t,则继续在支付层hcubecl中寻找与节点t属于同一个支付层hcubecl-1的邻居节点,重复以上步骤,直到次探寻交易路径成功。
19、本发明还提供有一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行所述交易路径配置方法。
20、本发明提供的区块链多方支付通道网络及其交易路径配置方法、系统具有以下有益效果:
21、(1)本发明通过构建多层hcube,hcube中的hcube0包括一个支付hub和n个与第0层的支付hub连接的节点,hcube1包括n个hcube0和n个第1层的支付hub;hcubek由n个hcubek-1和nk个第k层的支付hub,且与同一个hcubek-1连接的节点不能连接到同一个第k层的支付hub,每个节点均与每一层hcube的一个支付hub连接,且连接到第k层中同一个支付hub的节点不能连接到第k+1层中同一个支付hub,这种支付hub和节点互联的结构,能够构建一个庞大的新的多方支付通道网络,扩展链下支付的规模;
22、(2)本发明基于所构建的多方支付通道网络,提出基于多方支付通道网络的交易路径配置方法,该方法通过设计邻居交易路径配置方法和非邻居交易路径配置方法,解决了链下支付hub网络中节点交易时的寻路问题,能够根据节点间的关系针对性的配置交易路径,既能够缩短了链下节点交易的路径长度,提高交易路径成功率及交易效率;又能够方便任意节点间进行交易,使多个节点之间自由地进行链下交易,满足大规模节点链下自由高效交易的需求。
1.一种区块链多方支付通道网络,其特征在于,包括多层hcube,其中,第0层的hcube0包括一个支付hub和n个与第0层的支付hub连接的节点,第1层的hcube1包括n个hcube0和n1个第1层的支付hub;以此类推,第k层的hcubek包括n个hcubek-1和nk个第k层的支付hub,且与同一个hcubek-1连接的节点不能连接到同一个第k层的支付hub,每个节点均与每一层hcube的一个支付hub连接,且连接到第k层中同一个支付hub的节点不能连接到第k+1层中同一个支付hub,其中,n为支付hub的容量,n和k为大于等于0的整数,一个节点代表加入支付通道网络的一个交易方,与每个支付hub连接的节点的数量小于等于n。
2.根据权利要求1所述的区块链多方支付通道网络,其特征在于,还包括节点位置确定单元,所述节点位置确定单元用于判断交易双方是否加入区块链多方支付通道网络;若交易双方均没有加入区块链多方支付通道网络,交易双方先寻找第0层的且现有成员数目少于n-1的支付hub,并加入到该支付hub;如果不存在满足条件的支付hub,交易双方将寻找两个属于同一个hcubek的第0层支付hub,且支付hub仍有容量,在满足条件的前提下,hcubek应该具有最小的k,交易双方各自加入一个hub;如果不存在两个属于同一个hcubek的第0层支付hub,交易双方中的发起者将部署一个新的第0层支付hub,且接收者加入到该hub。
3.根据权利要求2所述的区块链多方支付通道网络,其特征在于,所述判断交易双方是否加入区块链多方支付通道网络通过交易双方是否加入同一个支付hub确定。
4.根据权利要求2所述的区块链多方支付通道网络,其特征在于,所述确定节点的位置还包括:当存在多个支付hub同时满足要求时,即只要属于同一个hcubek的节点不会连接到同一个第k+1层的支付hub,那么交易双方按照从第0层支付hub到第k-1层支付hub的顺序选择支付hub加入即可,也即优先选择层数小的支付hub加入。
5.根据权利要求2所述的区块链多方支付通道网络,其特征在于,所述节点包括邻居节点和非邻居节点,连接至同一支付hub的节点互为邻居节点;连接至不同支付hub的节点称为非邻居节点。
6.一种基于权利要求1所述的区块链多方支付通道网络的交易路径配置方法,其特征在于,包括邻居交易路径配置和非邻居交易路径配置,其中,所述邻居交易路径配置具体为:
7.一种区块链多方支付通道网络的交易路径配置系统,其特征在于,包括:
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求6所述的交易路径配置方法。
