本发明涉及计算机,尤其涉及一种基于数字货币的离线交易方法和装置。
背景技术:
1、双重支付,又称一币多付,指的是一笔钱被花费两次或者两次以上。随着数字货币的逐步推广,在加密货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况。而这种情况显然是不合理的,会造成财产损失。目前,多采用以下两种技术手段以避免由于双重支付而带来的交易不合理的情况:
2、1、基于后台系统的数据完整性校验,防止交易中出现“双重支付”的情况;
3、2、基于专用收款机具对付款方终端的余额进行校验和扣减,从而防止付款终端超额支付。
4、然而现有的这两种技术手段,在应用于加密字符串的离线交易场景时,并未起到预期的控制效果。因此,针对数字货币加密字符串的离线交易场景,如何避免出现“双重支付”,这是目前亟待解决的技术问题。
技术实现思路
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、根据本发明实施例的再一方面,提供了一种计算机可读介质。
33、一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的基于数字货币的离线交易方法。
34、上述发明中的一个实施例具有如下优点或有益效果:通过响应于执行离线交易操作,获取离线交易的交易金额、数字货币加密字符串的可用金额;在交易金额不超过可用金额的情况下,生成交易信息,数字货币加密字符串对应的交易信息是通过树形结构来保存的;将交易信息发送给收款方,以使收款方根据交易金额和可用金额进行交易校验,以及在交易校验通过后,进行接收到的数字货币加密字符串的可用金额的设置;根据交易金额和可用金额更新所述数字货币加密字符串的可用金额以完成离线交易的技术方案,通过记录数字货币加密字符串的可用金额,并在交易过程中有付款方检查可用余额,生成交易信息的同时扣减对应加密字符串的可用余额,从而防止超过该加密字符串的可用余额;收款方移动终端在接收交易的加密字符串时检验交易金额是否超过原加密字符串的可用金额,若超过则拒绝交易。由此,可以从离线交易的双方同时进行控制,以避免出现“双重支付”的情况,保证了交易安全和成功率。同时,通过树形结构来保存数字货币加密字符串的交易信息,可以便于追溯数字货币加密字符串的交易记录,从而更好地避免出现“双重支付”的情况,减少了交易参与各方的利益损失,大大提高了交易安全和成功率。
35、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。