支付状态通道网络及其构建方法和系统、高频交易系统与流程

文档序号:17329764发布日期:2019-04-05 22:00阅读:254来源:国知局
支付状态通道网络及其构建方法和系统、高频交易系统与流程

本发明涉及区块链支付技术领域,尤其涉及一种支付状态通道网络及其构建方法和系统、高频交易系统。



背景技术:

区块链存在同步效率及异步确认机制,当交易频次很高,实时写入及实时获取结果,对于一些交互要求高的应用,比如游戏,支付及其它智能合约应用场景,高频小额交易成本很高。

目前公认的比较成熟的公链,比如比特币和以太坊均不能实时获取结果,eos(enterpriseoperationsystem,即为商用分布式应用设计的一款区块链操作系统)可以实时获取数据,比特币与以太坊都面临交易确认时间长和网络拥堵严重的问题。

区块链扩容可以解决这个问题,可以增加单个节点计算量,layer1层扩容,比如以太坊的的casper+sharding(分片)是典型的tps(系统吞吐量)维度的扩容。layer2层扩容,也可以通过off-chian(脱链),把计算/交易放到主链之外执行,只要在主链记录最终的结果,不考虑中间过程。off-chian可以把主链部分状态拿到链外操作,比如转账或者别的状态处理,处理完成之后,同步最终结果到主链保存。layer2层是加密经济的解决方案。

目前已经成体系方案有两种:

(1)状态通道(state-channel):比特币的闪电网络和以太坊的雷电网络为代表。

(2)侧链(side-chian):以太坊的plasma为代表。

比特币网络是通过闪电网络为代表来解决这个问题。闪电网络通过把比特币交易放在主链之外(off-chain),实现即时收发款并且降低交易费用,对于比特币逐渐形成的日常支付货币来说愈发鲜明。

以太坊是通过雷电网络raidennetwork来解决这个问题。雷电网络与闪电网络原理类似,雷电网络没有将所有的交易放在区块链上处理,而是把部分转移到链外,让用户通过私下交换转账签名信息来实现交易。不同点在于雷电网络在链下完成支付任务的基础上,还能够处理状态交易,也就是类似于概念的非货币交易。

闪电网络与雷电网络的优点:

(1)改善隐私,并不是所有的交易存储都存储在公共区块链上,当交易通道关闭,双方分配的资产数数额才会被一次存储。

(2)可实现小额支付并且付款是即时支付,支付只需要几分之一秒。

侧链可以允许数字资产在主链与侧链之间进行转移,允许一个区块链中的代币和其它数字资产被分离到另外一个区块链中安全的使用,然后需要时它们转移回原始的区块链。主链与侧链是双向挂钩相互连接,主链与侧链之间的资产可以预定利率进行交易。

侧链可以永久存储也可以容纳更多交易,可以拥有独立的地址空间。侧链是主链的分支,可以独立记账,有永久存储机制和共识算法,并且侧链可以再创建侧链,相当于提供了一种多层无限扩展方案。

然而,现有技术具有以下缺陷:

状态通道是一个临时的点对点的价值转移通道,用力处理小额支付手续费过高的问题,所以当建立的支付通道都是临时通道,并且一个状态通道仅仅适用于两个用户之间价值转移,若用户太多仍会面临状态通道网络问题。

比特币的闪电网络和以太坊雷电网络都存在下无离线支付,用户无法支付不在线的人,如果中途掉线,就可能无法作出回应。

侧链引入打破了“一条链,一种资产”使得事情变复杂;由于本身支持自己算法,可能是复杂攻击中的一个简单目标;还有若侧被破坏或者回滚,可能会破坏代币的互换性等等。

另外,扩展是一个多方面的难题,不仅仅涉及的提高交易通量/交易速度,还要涉及到复杂计算问题等等本发明要解决的问题,就是闪电网络/雷电网络都不能解决一个路径离线问题及路径问题。

离线问题。有两种通道关闭离线及中转节点离线,节点离线不仅仅会造成支付通道关闭,还会带来离线节点代币损失。

通道关闭后节点离线。在其中一方提出提现请求或者赎回代币时候,支付通道回关闭,比如a向b转帐,a提出体现请求之后,就会向智能合约调用关闭功能,之后结算窗口打开,b调用智能合约的updatatransfer函数向智能合约提交余额证明,若此时b离线,不能及时提交离线证明,就会才难关闭通道的参与者的余额证明,并假设其它参与者没有收到任何转帐,这样子链上显示a已经转帐给b,但是实际上b并没有收到钱,就会引起对b损失。

中转节点离线。假设a通过中转节点b向节点c转帐,且a/b/c支付通道已经建立,并且c取得了b的转帐代币,之后就是b要向a出示secret,并且a向b转帐了,此时b离线了,此时若c关闭与b之间的支付通道,在链上确认拿到代币,a与b之间的支付通道也在超出规定时间内没有转帐,此时b就会有损失。这就是中转节点带来的损失。

路径查找问题。可以通过高级视图,找到最短中转支付通道,但是把支付通道的最新链下交易状态同步给链上,仍然没有解决。

因此,提供一种支付状态通道网络及其构建方法和系统、高频交易系统。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的支付状态通道网络及其构建方法和系统、高频交易系统,在支付状态通道网络中选取上层支付节点并与区块链支付主网络常连通,能够解决中转节点离线问题,能够解决不能及时同步线下状态等问题,还能够减小路径寻找带来的复杂度高的问题。

根据本发明的一个方面,提供一种支付状态通道网络的构建方法,该支付状态通道网络包括多个分路支付节点,包括以下步骤:

根据各分路支付节点的分布计算,从各分路支付节点中优选出上层支付节点,建立上层支付节点与各分路支付节点之间的分路支付通道;

建立上层支付节点与区块链支付主网络之间的总支付通道。

进一步地,上述支付状态通道网络的构建方法,还包括:

当上层支付节点离线时,从在线的分路支付节点中自动选取下一个上层支付节点。

进一步地,通过以下计算模型从各分路支付节点中优选出上层支付节点:

其中,c(pk)表示节点pk的接近度,d(pi,pk)表示以pi为起点pk为终点的路径所包含的边的数量,n为状态通道网络所有节点数。

进一步地,当选出多个上层支付节点时,通过以下步骤筛选出最终上层支付节点:

分别将预定义的链接信息从各上层支付节点向各分路支付节点广播;

计算各上层支付节点向各分路支付节点广播链接信息的复杂度或时间;

复杂度或时间最小的上层支付节点作为最终上层支付节点。

根据本发明的另一方面,提供一种基于上述方法实现的支付状态通道网络的构建系统,包括:

上层支付节点选取模块,用于根据各分路支付节点的分布计算,从各分路支付节点中优选出上层支付节点;

分路支付通道建立模块,用于建立上层支付节点与各分路支付节点之间的分路支付通道;

总支付通道建立模块,用于建立上层支付节点与区块链支付主网络之间的总支付通道。

进一步地,上述支付状态通道网络的构建系统,还包括:最终上层支付节点筛选模块,用于在选出多个上层支付节点时,筛选出最终上层支付节点,

该最终上层支付节点筛选模块包括:

信息广播单元,用于分别将预定义的链接信息从各上层支付节点向各分路支付节点广播;

复杂度或时间计算单元,用于计算各上层支付节点向各分路支付节点广播链接信息的复杂度或时间;

最终上层支付节点选取单元,用于复杂度或时间最小的上层支付节点作为最终上层支付节点。

进一步地,上述支付状态通道网络的构建系统,还包括:

上层支付节点自动选取模块,用于在上层支付节点离线时,从在线的分路支付节点中自动选取下一个上层支付节点。

根据本发明的又一方面,提供一种根据上述方法构建的支付状态通道网络,包括:

多个分路支付节点,分别用于支付交易,并将支付交易状态实时发送至上层支付节点;

上层支付节点,用于将支付交易状态实时传输至区块链支付主网络。

进一步地,上层支付节点还用于在待支付交易的分路支付节点之间无直接通道时,作为分路支付节点的连通节点。

根据本发明的还一方面,提供一种高频交易系统,包括上述支付状态通道网络以及区块链支付主网络。

本发明与现有技术相比具有以下的优点:

本发明的支付状态通道网络及其构建方法和系统、高频交易系统在支付状态通道网络中选取上层支付节点并与区块链支付主网络常连通,能够解决中转节点离线问题,能够解决不能及时同步线下状态等问题,还能够减小路径寻找带来的复杂度高的问题。

附图说明

以下结合附图和实施例对本发明作进一步说明。

图1是本发明的支付状态通道网络构建方法步骤图;

图2是本发明的支付状态通道网络上层支付节点示意图;

图3是本发明的支付状态通道网络构建系统框图;

图4是本发明的支付状态通道网络示意图;

图5是本发明的高频交易系统框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

本发明可以经济激励通过建立链下分路支付节点来实现。可以减少中转过程中中介节点离线问题,也可以减小路径查找最短中转支付通道带来的复杂性问题。

图1是本发明的支付状态通道网络构建方法步骤图,如图1所示,本发明提供的支付状态通道网络的构建方法,该支付状态通道网络包括多个分路支付节点,包括以下步骤:

步骤101:根据各分路支付节点的分布计算,从各分路支付节点中优选出上层支付节点,建立上层支付节点与各分路支付节点之间的分路支付通道;

步骤102:建立上层支付节点与区块链支付主网络之间的总支付通道。

进一步地,上述支付状态通道网络的构建方法,还包括:

步骤103:当上层支付节点离线时,从在线的分路支付节点中自动选取下一个上层支付节点。

具体地,例如,在闪电网络或者雷电网络这样的链下状态通道中开辟一个上层支付节点,上层支付节点可以解决节点离线问题及路径选择问题。在闪电网络或者雷电网络中众多节点中,选取与尽可能多节点都相连接的节点为上层支付节点,上层支付节点具有以下三个属性:

(1)上层支付节点可以跟网络中尽可能多的节点都可以建立支付通道;

(2)上层支付节点因为有在线激励,会一直保持在线,掉线可能性很小,若掉线,由于可以及时更新最新链下状态到区块链上,带来的损失也会很小;

(3)上层支付节点可以及时更新off-chian最新的状态到区块链上,同时也解决了路径最短算法带来的计算量大的问题。

在以上三个属性中,上层支付节点具备最重要的一个属性就是与尽可能多节点连接,也就是节点尽量在网络中心位置。

当上层支付节点离线时,从在线的分路支付节点中自动选取下一个上层支付节点,以避免因为某个时刻上层支付节点突然离线,关闭所有通道,对链上区块的gas消耗过大,造成堵塞。

其中,可以通过以下计算模型从各分路支付节点中优选出上层支付节点:

其中,c(pk)表示节点pk的接近度,d(pi,pk)表示以pi为起点pk为终点的路径所包含的边的数量,n为状态通道网络所有节点数。在该计算模型中,分路支付节点的接近度越大,说明该分路支付节点越靠近整个支付状态通道网络的中心,并且能够确保尽可能地与其他分路支付节点连通,因此,在各分路支付节点中选取接近度最大的作为上层支付节点。

参见图2,对于p2来说,可以直接到达p1、p3、p4,p2也通过p4到达p5,但是对于p1来说,只有通过p2到达其它各个节点,可以认为p2是中心节点。

假设有m个点,n个连接信息,把链接信息打散到m个点上,是o(n)的复杂度,然后对这些点按照连接顺序进行排序,复杂度为o(m*logm),查找的时间为o(logm)。

本发明的支付状态通道网络的构建方法在支付状态通道网络中选取上层支付节点并与区块链支付主网络常连通,能够解决中转节点离线问题,能够解决不能及时同步线下状态等问题,还能够减小路径寻找带来的复杂度高的问题。

当选出多个上层支付节点时,通过以下步骤筛选出最终上层支付节点:

分别将预定义的链接信息从各上层支付节点向各分路支付节点广播;

计算各上层支付节点向各分路支付节点广播链接信息的复杂度或时间;

复杂度或时间最小的上层支付节点作为最终上层支付节点。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

图3是本发明的支付状态通道网络构建系统框图,如图3所示,本发明提供的基于上述方法实现的支付状态通道网络的构建系统,包括:

上层支付节点选取模块301,用于根据各分路支付节点的分布计算,从各分路支付节点中优选出上层支付节点;

分路支付通道建立模块302,用于建立上层支付节点与各分路支付节点之间的分路支付通道;

总支付通道建立模块303,用于建立上层支付节点与区块链支付主网络之间的总支付通道。

本发明的支付状态通道网络的构建系统在支付状态通道网络中选取上层支付节点并与区块链支付主网络常连通,能够解决中转节点离线问题,能够解决不能及时同步线下状态等问题,还能够减小路径寻找带来的复杂度高的问题。

上述支付状态通道网络的构建系统,还包括:最终上层支付节点筛选模块304,用于在选出多个上层支付节点时,筛选出最终上层支付节点,

该最终上层支付节点筛选模块包括:

信息广播单元,用于分别将预定义的链接信息从各上层支付节点向各分路支付节点广播;

复杂度或时间计算单元,用于计算各上层支付节点向各分路支付节点广播链接信息的复杂度或时间;

最终上层支付节点选取单元,用于复杂度或时间最小的上层支付节点作为最终上层支付节点。

进一步地,上述支付状态通道网络的构建系统,还包括:

上层支付节点自动选取模块305,用于在上层支付节点离线时,从在线的分路支付节点中自动选取下一个上层支付节点。

对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。

图4是本发明的支付状态通道网络示意图,如图4所示,本发明提供的根据上述方法构建的支付状态通道网络,包括:

多个分路支付节点,分别用于支付交易,并将支付交易状态实时发送至上层支付节点;

上层支付节点,用于将支付交易状态实时传输至区块链支付主网络。

进一步地,上层支付节点还用于在待支付交易的分路支付节点之间无直接通道时,作为分路支付节点的连通节点。

本发明的中转交易是通过智能合约(hashedtimelockcontract)来实现的,通过智能合约,双方约定先冻结一笔钱,并提供一个数字r的哈希数值h(r),给定的时间内,有人可以提出一个对应的r数值与h(r)匹配,则这笔钱转账给接受方。

若通道状态节点a转帐给通道状态节点z,若通道状态节点a与通道状态节点z之间没有支付通道,需要通过上层支付节点c建立支付通道。这里假设通道状态节点a转帐给通道状态节点z比特币0.5btc,并且给通道状态节点z一个数值r,通道状态节点a与上层支付节点c达成一个htlc(hashedtimelockcontract,哈希的带时钟的合约)合约,若四天内,上层支付节点c可以给予通道状态节点a一个数值r,那么通道状态节点a会给节点c支付0.51btc;同理,上层支付节点与通道状态节点z也达成一个htlc合约,如果通道状态节点z给予上层支付节点c一个数值r,节点c支付0.5btc给节点z。当然这里通道状态节点z有对应的数值r,中心支付通道状态节点z0.5btc,节点a支付中心节点0.51btc,其中0.01btc是上层支付节点的转帐费用,上层支付节点还会收到在线激励费用。

上层支付节点存在避免了常规中转节点突然离线问题。若上层支付节点是普通中转节点,假设在中转节点转帐给节点z之后,中转节点突然宕机离线,节点a与节点c之间支付通道关闭,节点a还没有转帐给节点c,超出规定时间,支付通道状态信息更新到区块链中,状态信息中显示a没有转帐给节点z,但是节点c已经转帐给节点z了,给离线节点c带来损失。这里有了上层支付节点c解决了这个问题,上层支付节点是通过算法的尽可能多跟多数节点连接的上层支付节点,会有在线激励费用,所以会保持在线状态,即时宕机因为会定期及时更新状态通道到区块链,损失也会很小。

因此,若节点a给节点z转帐,但是a与z之间没有直接的支付通道,通过一定的算法,选举出中心节点c,a可以通过c给z转帐交易。并且上层支付节点c可以实时更新最新的链下状态信息导区块链上。上层支付节点有转帐费用和在线激励费用。

上层支付节点可以保持最新的转帐/锁记录,并且同步支付通道的链下交易状态,允许分路支付节点调用关闭通道的close函数及更新通道余额updatetransfer函数,保障离线节点权益。

如图4所示,在闪电网络或雷电网路中,在链下(off-chian)节点之间交易通过上层支付节点与链上交互,上层支付节点会定期更新最新状态到区块链上。两个节点直接支付交易按照原来闪电网络和雷电网络的机制,定期更新状态到区块链上。

其中,分路支付节点之间的直接支付交易按照闪电网络或雷电网络的方式进行。

具体地,闪电网络和雷电网络都是基于微支付通道演进而来,其中涉及到节点之间点对点交易与需要中转节点的中转交易。

具体地,交易双方先建立支付通道,类似于建立一个资金池,双方预存一部分资金到支付通道,并且对交易后的资金分配方案进行签名确认,并且废旧老版本资金分配方案,当某一个节点需要提现时,可以将最终交易结果写入区块链网络中,被最终确认。

参见图4,节点a与节点b点对点交易,节点a与节点b建立支付通道,并且预存资金到资金池,这里假设用比特币进行交易,节点a为0.4btc,节点b为0.6btc,双方对当前资金方案签名确认,当节点a向节点b转帐0.1btc之后,节点a与节点z对资金分配方案重新签字确认,并且废弃掉旧的资金确认方案。

本发明的支付状态通道网络在支付状态通道网络中选取上层支付节点并与区块链支付主网络常连通,能够解决中转节点离线问题,能够解决不能及时同步线下状态等问题,还能够减小路径寻找带来的复杂度高的问题。

图5是本发明的高频交易系统框图,如图5所示,本发明提供的高频交易系统,包括上述支付状态通道网络以及区块链支付主网络。

本发明的高频交易系统在支付状态通道网络中选取上层支付节点并与区块链支付主网络常连通,能够解决中转节点离线问题,能够解决不能及时同步线下状态等问题,还能够减小路径寻找带来的复杂度高的问题。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1