System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 避免支付通道网络支付死锁的交易方法技术_技高网

避免支付通道网络支付死锁的交易方法技术

技术编号:41141858 阅读:23 留言:0更新日期:2024-04-30 18:11
本发明专利技术公开了避免支付通道网络支付死锁的交易方法,主要包含网络划分和交易执行两模块。网络划分模块包含步骤:初始化整体支付通道网络;根据网络连通性对整体支付通道网络进行网络划分,分为多个连通子网络;判断单个连通子网络的规模是否是大规模连通子网络,是大规模连通子网络的,根据landmark规则划分,分多个独立子分区和多个非独立子分区,不是大规模连通子网络的结束划分;交易执行模块包括交易划分、总体执行规则和具体交易执行规则三部分。交易执行模块根据交易划分结果按照并发执行的规则执行以提升支付效率,具体交易执行过程中对跨片区交易与非独立子网络中交易通过交易队列串行执行,以有效避免支付死锁的发生。

【技术实现步骤摘要】

本专利技术涉及区块链支付通道网络技术及分布式,更具体地说,涉及避免支付通道网络支付死锁的交易方法


技术介绍

1、可扩展性是当今区块链技术的最大障碍。尽管就安全性和去中心化程度而言,加密货币无可挑剔,但就可扩展性而言却还不尽如人意,目前区块链技术的扩展支付能力还不能与传统中心化平台相比。这归因于区块链的底层机制需要等待全体节点的一致性共识和区块的交易确认。因此,如何提高区块链交易处理能力是区块链发展的重大挑战。

2、支付通道网络是区块链在链下提高可扩展性中应用范围最广的解决方案。它允许交易双方以建立支付通道的方式在链下实现交易而无需上链广播和链上区块确认,这极大地提升了支付效率。然而,尽管支付通道网络的支付效率十分优秀,但由于网络拓扑过大的弊端,多笔交易并行执行面临支付死锁的风险。

3、支付死锁是指多个交易并行执行多跳支付过程中,存在交易之间互相等待对方释放共有通道,导致网络支付阻塞的现象。如图一所示,假设该网络箭头所示方向的通道容量为1其他方向为零,同时存在两笔交易额为1的交易a→e和f→c。两笔交易各自支付均可正常进行,然而如果两笔交易同时进行则会陷入支付死锁等待的僵局,这是由于确保支付通道网络安全一致性的哈希时间锁合约规定需要等待路径中每条通道的确认随机数r才可执行。因此a→e支付中会永远等待d-e通道完成支付,而f→c的支付中也同时在等待b-c通道完成支付而无限等待,陷入支付死锁。支付死锁不仅需要消耗单笔支付额外的时间开销和抵押成本,还将影响整个网络的整体支付状态。

4、面对支付死锁问题werman等人设计了根据序列号来唯一确定支付顺序的协议,以避免支付死锁现象发生;malavolta等人也针对死锁问题设计了确保网络通道更新的协议来防止死锁现象的发生。目前防止支付死锁的方案主要是通过确保存在冲突的协议不并发执行来防止支付死锁发生,然而这些方案仅适合小网络规模状态下的支付通道网络,对于超大规模的支付通道网络,串行支付的交易执行效率恐难以满足用户需求。因此,如何在保证支付效率安全高效的前提下,设计避免支付通道网络支付死锁的交易方法尤为重要。

5、为此,我们设计避免支付通道网络支付死锁的交易方法解决上述问题的发生。


技术实现思路

1、本专利技术为了解决上述支付死锁问题,提供避免支付通道网络支付死锁的交易方法。

2、本专利技术采用的技术方案如下:

3、避免支付通道网络支付死锁的交易方法,该方法分为两个主要模块:网络划分模块和交易执行模块。网络划分模块主要思想是对大型支付通道网络进行网络划分,从而实现“分而治之”提高交易效率。交易执行模块的核心是对大规模连通子网络中的交易进行分类,将独立子分区内简单可执行的大批量交易并行执行,提高交易执行效率;对其他易发生交易冲突的小批量交易放到统一的交易执行队列中串行执行,避免交易死锁发生。

4、其中,所述网络划分模块包括以下步骤:

5、步骤1:初始化整体支付通道网络;

6、步骤2:根据网络连通性对整体支付通道网络进行网络划分,分为若干个连通子网络;

7、步骤3:对单个连通子网络的网络规模进行判断,判断该网络是否是大规模连通子网络,属于大规模连通子网络继续进行步骤4,不属于大规模连通子网络结束划分;

8、步骤4:对大规模连通子网络进一步划分。根据landmark规则划分,分为若干独立子分区和若干非独立子分区。

9、进一步地,所述步骤1中初始化的整体支付通道网络包括初始化g(v,e),其中v表示所有节点集合,v={v1,v2,…,vn};e表示网络中通道(边)集合,e={e1,e2,…,em}。

10、进一步地,所述步骤2中确定所述若干连通子网络的唯一标识符g={g1,g2,…,gi}。

11、进一步地,所述步骤3中的所述连通子网络规模判断根据边的数目进行判断。

12、进一步地,所述步骤4中所述landmark规则对网络中的通道根据密度聚类算法执行划分。

13、进一步地,所述步骤4中确定所述连通子网络中的独立子分区唯一标识符gi-a={gi-a-1,gi-a-2,…,gi-a-p};同样地,确定所述连通子网络中的非独立子分区唯一标识符gi-b={gi-b-1,gi-b-2,…,gi-b-q}。

14、交易执行:值得注意的是,网络中各连通子网络由于拓扑独立,不存在连通通道,因此各自独立运行,互补干扰;而对于大规模连通子网络,需要根据交易执行模块进一步划分。

15、所述交易执行模块包括交易划分、总体执行规则和具体交易执行规则三部分。

16、交易划分:对所有交易根据是否跨分区分为分区内交易和跨分区交易两类。

17、总体执行规则:根据所述交易划分对交易类型进行分类,将所有独立子分区内的分区内交易划分为第一类交易;将所有非独立自分区内的分区内交易与跨分区交易划分为第二类交易,两类交易总体并发执行。

18、具体交易执行规则:第一类交易各自独立并行执行;第二类交易根据先进先出的原则入队交易队列,根据队列顺序串行执行。

19、进一步地,根据所述交易划分中分区内交易所在的网络子分区将分区内交易划分为独立子分区内的分区内交易和非独立子分区内的分区内交易。

20、进一步地,根据所述总体执行规则部分中确定所有所述交易的唯一交易标识符txid,对于第一类交易,其交易标识符为包含子网络标识符、交易发送方节点、交易接收方节点、交易金额、是否属于第一类交易、独立子分区标识符、交易秘钥r和交易所选路径p所得到的哈希序列,txid=hash{g,ea,eb,amount,1,gi-a,r,p};所述第二类交易中非独立子分区内的交易标识符为包含子网络标识符、交易发送方节点、交易接收方节点、交易金额、是否属于第一类交易、非独立子分区标识符、交易秘钥r、交易所选路径p所得到的哈希序列,txid=hash{g,ea,eb,amount,0,gi-b,r,p};所述第二类交易中跨分区交易标识符为包含子网络标识符、交易发送方节点、交易发送方所属网络分区标识符、交易接收方节点、交易接收方所属网络分区标识符、交易金额、是否属于第一类交易、交易秘钥r和交易所选路径p所得到的哈希序列,txid=hash{g,ea,ea-gi,eb,eb-gi,amount,0,r,p}。

21、进一步地,根据所述总体交易执行规则,每隔t个时间间隔进行一次总体交易执行,其中t=t1+t2,t1表示所述第一类交易执行时间,t2表示所述第二类交易执行时间。

22、本专利技术的有益效果是:

23、在本专利技术中,提出了避免支付通道网络支付死锁的交易方法,该方法的核心思想是根据支付通道网络具体特征将网络划分为多个子网络和子分区,使其并发执行,有效提升支付通道网络支付效率;为了防止跨分区交易产生死锁现象,本专利技术对交易进一步划分,并根据交易划分类型使用不同的交易执行策略以防止本文档来自技高网...

【技术保护点】

1.避免支付通道网络支付死锁的交易方法,其特征在于,包含网络划分和交易执行两个模块,网络划分模块用于分割支付通道网络使其独立并行执行,提高交易执行效率;交易划分模块用于对交易进行分类,防止跨分区交易出现交易死锁现象;

2.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤1中初始化的整体支付通道网络包括初始化G(V,E),其中V表示所有节点集合,V={v1,v2,...,vn};E表示所有边集合,E={e1,e2,...,em}。

3.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤2中所述多个连通子网络的唯一标识符G={g1,g2,...,gi}。

4.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤3中对所述连通子网络规模判断根据边的数目进行。

5.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤4中所述连通子网络中的独立子分区唯一标识符Gi-A={gi-A-1,gi-A-2,...,gi-A-p};同样地,所述连通子网络中的非独立子分区唯一标识符Gi-B={gi-B-1,gi-B-2,...,gi-B-q}。

6.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述交易划分部分中分区内交易所在的网络子分区将分区内交易划分为独立子分区内的分区内交易和非独立子分区内的分区内交易。

7.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述总体执行规则部分中确定所有所述交易的唯一交易标识符TxID,对于第一类交易该标识符为包含子网络标识符、交易发送方节点、交易接收方节点、交易金额、是否属于第一类交易、独立子分区标识符、交易秘钥R和交易所选路径P所得到的哈希序列,TxID=Hash{G,eA,eB,amount,1,Gi-A,R,P};所述第二类交易中非独立子分区内的交易标识符为包含子网络标识符、交易发送方节点、交易接收方节点、交易金额、是否属于第一类交易、非独立子分区标识符、交易秘钥R、交易所选路径P所得到的哈希序列,TxID=Hash{G,eA,eB,amount,0,Gi-B,R,P};所述第二类交易中跨分区交易标识符为包含子网络标识符、交易发送方节点、交易发送方所属网络分区标识符、交易接收方节点、交易接收方所属网络分区标识符、交易金额、是否属于第一类交易、交易秘钥R和交易所选路径P所得到的哈希序列,TxID=Hash{G,eA,eA-gi,eB,eB-gi,amount,0,R,P};

...

【技术特征摘要】

1.避免支付通道网络支付死锁的交易方法,其特征在于,包含网络划分和交易执行两个模块,网络划分模块用于分割支付通道网络使其独立并行执行,提高交易执行效率;交易划分模块用于对交易进行分类,防止跨分区交易出现交易死锁现象;

2.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤1中初始化的整体支付通道网络包括初始化g(v,e),其中v表示所有节点集合,v={v1,v2,...,vn};e表示所有边集合,e={e1,e2,...,em}。

3.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤2中所述多个连通子网络的唯一标识符g={g1,g2,...,gi}。

4.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤3中对所述连通子网络规模判断根据边的数目进行。

5.根据权利要求1所述的避免支付通道网络支付死锁的交易方法,其特征在于,所述步骤4中所述连通子网络中的独立子分区唯一标识符gi-a={gi-a-1,gi-a-2,...,gi-a-p};同样地,所述连通子网络中的非独立子分区唯一标识符gi-b={gi-b-1,gi-b-2,...,gi-b-q}。

6.根据权利要求1所述的...

【专利技术属性】
技术研发人员:李光顺郭佳男刘雨桐吴俊华王兆杰马凯文
申请(专利权)人:曲阜师范大学
类型:发明
国别省市:

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

1