System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链,特别是涉及一种基于区块链的离线支付方法、系统和计算机设备。
技术介绍
1、随着科学技术的发展,出现了区块链技术,基于区块链的安全性高和去中心化的特点,业界大多选择使用区块链进行支付交易。
2、然而,在目前的区块链交易中,交易双方需要保持同时在线,进行资产转移的确认,交易需要经过双方用户的同时在线确认才可完成,同时再确认后需要经过系统内节点的共识确认才会最终完成。整个过程需要双方必须在线才能进行,对交易限制较大。
3、因此,如何减小交易限制是亟需解决的问题。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够减小交易限制的基于区块链的离线支付方法、系统、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种基于区块链的离线支付方法。方法包括:
3、在离线支付交易请求所指定的接收节点处于离线状态的情况下,响应于离线支付交易请求,离线代理智能合约创建请求节点和接收节点之间的离线通道,进入代理交易模式,由离线代理智能合约生成代理交易,并从区块链网络的节点中选择用于持有代理交易的代理节点;代理节点在持有代理交易时,将代理信息添加到代理交易的交易信息中的代理记录字段;离线通道的通道智能合约将代理交易的交易信息添加到离线通道的通道账本中的交易记录字段;
4、代理节点检测接收节点的状态,并在检测到接收节点上线后,向离线代理智能合约发送代理核销请求;
5、离线代理智能合约响
6、在其中一个实施例中,进入代理交易模式,包括:
7、离线通道的通道智能合约检测接收节点所处的状态;
8、在检测到接收节点处于离线状态的情况下,通道智能合约将离线支付交易请求发送给离线代理智能合约,以进入代理交易模式。
9、在其中一个实施例中,方法还包括:
10、若代理节点在达到代理期限时未检测到接收节点上线,离线代理智能合约向代理节点发送代理结束通知;
11、代理节点响应于代理结束通知,根据代理节点的代理身份密钥将持有的代理交易打包签名,并将签名后的代理交易发送给离线代理智能合约;
12、离线代理智能合约对签名的代理交易验证无误后,从区块链网络中选择新的代理节点,将代理交易发给新的代理节点。
13、在其中一个实施例中,方法还包括:
14、在针对离线支付交易请求完成支付处理后,离线代理智能合约根据持有过离线支付交易请求对应的代理交易的各个代理节点的签名结果,生成最终的代理签名。
15、在其中一个实施例中,方法还包括:
16、当前持有代理交易的代理节点对由待验证节点签名的历史代理交易进行验证,得到待验证节点对应的代理验证结果,并将代理验证结果发送给离线代理智能合约;
17、其中,待验证节点是区块链网络中的、需进行交易验证的节点。
18、在其中一个实施例中,待验证节点是区块链网络中的、用于从中选择出新的代理节点的候选节点;历史代理交易是候选节点在作为历史离线支付交易请求的代理节点时签名过的代理交易;
19、离线代理智能合约对签名的代理交易验证无误后,从区块链网络中选择新的代理节点,包括:
20、离线代理智能合约在对签名的代理交易验证无误后,基于各候选节点对应的代理验证结果,从各个候选节点中选择新的代理节点。
21、在其中一个实施例中,从区块链网络的节点中选择用于持有代理交易的代理节点,包括:
22、从区块链网络的各节点中确定满足代理节点申请条件的节点,得到初筛节点;
23、根据各初筛节点的历史代理记录、离线频率或进入代理销结阶段的次数中的至少一种,确定各初筛节点分别对应的选中概率;
24、根据各初筛节点分别对应的选中概率,从各初筛节点中选择用于持有代理交易的代理节点。
25、第二方面,本申请还提供了一种基于区块链的离线支付系统,用于实现本申请各实施例中的离线支付方法,系统包括:
26、离线代理智能合约,用于在离线支付交易请求所指定的接收节点处于离线状态的情况下,进入代理交易模式,生成代理交易,并从区块链网络的节点中选择用于持有代理交易的代理节点;
27、代理节点,用于检测接收节点的状态,并在检测到接收节点上线后,向离线代理智能合约发送代理核销请求;
28、离线代理智能合约,还用于响应于代理核销请求,将代理交易发送给上线的接收节点以进行支付处理。
29、第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现本申请各实施例中的步骤。
30、第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本申请各实施例中的步骤。
31、第五方面,本申请还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请各实施例中的步骤。
32、上述基于区块链的离线支付方法、系统、计算机设备、存储介质和计算机程序产品,在离线支付交易请求所指定的接收节点处于离线状态的情况下,能够由离线代理智能合约从区块链网络的节点中选择用于持有代理交易的代理节点,进入离线代理处理,由代理节点检测接收节点的状态,并在检测到接收节点上线后,向离线代理智能合约发送代理核销请求;离线代理智能合约响应于代理核销请求,将代理交易发送给上线的接收节点以进行支付处理,从而无需交易双方同时在线就可以完成离线交易,大大减小了交易限制。
本文档来自技高网...【技术保护点】
1.一种基于区块链的离线支付方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述进入代理交易模式,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述待验证节点是区块链网络中的、用于从中选择出新的代理节点的候选节点;所述历史代理交易是所述候选节点在作为历史离线支付交易请求的代理节点时签名过的代理交易;
7.根据权利要求1-6任一项所述的方法,其特征在于,所述从区块链网络的节点中选择用于持有所述代理交易的代理节点,包括:
8.一种基于区块链的离线支付系统,其特征在于,用于实现权利要求1-7任一项所述的离线支付方法,所述系统包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种基于区块链的离线支付方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述进入代理交易模式,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,所述待验证节点是区块链网络中的、用于从中选择出新的代理节点的候选节点;所述历史代理...
【专利技术属性】
技术研发人员:谭林,高耀芃,刘齐军,郭兆中,
申请(专利权)人:湖南天河国云科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。