一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种交易风险参数计算方法、区块链验证节点及存储介质与流程

2022-10-09 12:24:14 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,特别是涉及一种交易风险参数计算方法、区块链验证节点及存储介质。


背景技术:

2.随着区块链技术的发展,跨链交易的规模也在不断扩大。在现有基于哈希锁定算法的跨链交易场景下,存在一些恶意用户,他们在短时间内创建大量跨链交易,并通过使这些跨链交易超时的方式,造成跨链交易网络拥堵,从而造成正常用户间的跨链交易失败。但是,由于现有技术无法实现对恶意用户的准确标记,且并未对交易风险进行量化。导致交易双方无法确定与对方交易时产生交易风险的几率,降低了跨链交易的安全性和可靠性。


技术实现要素:

3.本发明实施例的目的在于提供一种交易风险参数计算方法、区块链验证节点及存储介质,以实现提高跨链交易安全性和可靠性的发明目的。具体技术方案如下:一种交易风险参数计算方法,所述方法包括:获取交易验证信息组,根据所述交易验证信息组中的至少部分信息对所述交易验证信息组进行交易合法性验证,其中,所述交易验证信组中,包括两个交易方的交易验证信息,所述交易验证信息与所述交易方存在对应关系,所述至少部分信息包括:各交易验证信息的交易资产参数、交易结果类型、源区块链标识和目标区块链标识。
4.在所述交易合法性验证通过的情况下,根据所述交易结果类型,更新各交易方的当前交易结果参数组。
5.根据所述当前交易结果参数组和所述交易资产参数,计算各交易方的交易风险参数。
6.可选的,所述在所述交易合法性验证通过的情况下,根据所述交易结果类型,更新各交易方的当前交易结果参数组,包括:对各交易方的当前交易结果参数组:在该交易方的所述交易结果类型是失败类型的情况下,对与该交易方匹配的所述当前交易结果参数组中的当前交易失败次数的数值,进行数值添加操作,完成对该交易方的所述当前交易结果参数组的更新操作。
7.在该交易方的所述交易结果类型是成功类型的情况下,对与该交易方匹配的所述当前交易结果参数组中的当前交易成功次数的数值,进行数值添加操作,完成对该交易方的所述当前交易结果参数组的更新操作。
8.可选的,所述根据所述当前交易结果参数组和所述交易资产参数,计算各交易方的交易风险参数,包括:对各交易方:根据该交易方生成的交易验证信息中的所述交易资产参数m,通过公式:t=(m/ms)
×
(1-λ)
×
(1 θ),
计算该交易方的交易风险参数t,其中,所述ms是预设的标准资产参数,所述λ是该交易方的交易风险增高参数,所述θ是该交易方的交易风险降低参数,所述λ的数值大于所述θ的数值,所述交易风险增高参数λ的数值,在p的取值为0的情况下是0,在所述p不小于1的情况下,所述交易风险增高参数λ的数值是通过公式:λ=1/(1 e
1-p
)p≥1,计算获得的,其中,所述p是该交易方的当前交易结果参数组中的当前交易失败次数,所述e是自然常数;所述交易风险降低参数θ的数值,在q的取值不大于预设启动参数c的情况下是0,在所述q的取值大于所述预设启动参数c的情况下,所述交易风险降低参数θ的数值是通过公式:θ=(1/2)
×
e-[1/(q-c)]
q>c,计算获得的,其中,所述q为该交易方的当前交易结果参数组中的当前交易成功次数。
[0009]
可选的,所述交易验证信息组包含由所述两个交易方中的第一交易方生成的第一交易验证信息,和由所述两个交易方中的第二交易方生成的第二交易验证信息,所述根据所述交易验证信息组中的至少部分信息对所述交易验证信息组进行交易合法性验证,包括:利用预设签名验证算法,对所述交易验证信息组中的各交易验证信息进行签名验签。
[0010]
在所述交易验证信息组中的各交易验证信息,均通过所述签名验签的情况下,按照预设交易合法性验证规则,对所述交易验证信息组进行所述交易合法性验证,其中,所述预设交易合法性验证规则包括:判断所述第一交易验证信息中的所述交易资产参数,与所述第二交易验证信息中的所述交易资产参数是否一致,获得第一判断结果。
[0011]
判断所述第一交易验证信息中的所述源区块链标识,与所述第二交易验证信息中的所述目标区块链标识是否一致,获得第二判断结果。
[0012]
判断所述第二交易验证信息中的所述源区块链标识,与所述第一交易验证信息中的所述目标区块链标识是否一致,获得第三判断结果。
[0013]
若所述第一判断结果、所述第二判断结果和所述第三判断结果均为一致,则确定所述交易合法性验证通过。
[0014]
可选的,所述交易结果类型的确定过程包括:判断所述第一交易方在利用原象的哈希值锁定第一待交易资产,并设定第一超限时刻后,是否向所述第二交易方发送所述原象的哈希值,若否,则将所述第一交易方的所述交易结果类型确定为第一失败类型,其中,所述第一待交易资产是所述第一交易方账户中的待交易资产。
[0015]
在所述第一交易方向所述第二交易方发送所述原象的哈希值的情况下,判断所述第二交易方是否利用所述原象的哈希值锁定第二待交易资产,若否,则将所述第二交易方的所述交易结果类型确定为第二失败类型,其中,所述第二待交易资产是所述第二交易方账户中的待交易资产。
[0016]
在所述第二交易方利用所述原象的哈希值锁定所述第二待交易资产,且设定第二超限时刻的情况下,判断所述第一交易方是否在所述第二超限时刻前,利用所述原象解锁所述第二待交易资产,若否,则将所述第一交易方的交易结果类型确定为第三失败类型,其中,所述第二超限时刻早于所述第一超限时刻。
[0017]
在所述第一交易方在所述第二超限时刻前,利用所述原象解锁所述第二待交易资产,判断所述第二交易方在所述第一超限时刻前,是否利用所述第一交易方发送的所述原象,解锁所述第一待交易资产,若否,则将所述第二交易方的交易结果类型确定为第四失败类型。
[0018]
在所述第二交易方在所述第一超限时刻前,利用所述第一交易方发送的所述原象,解锁所述第一待交易资产的情况下,将所述第一交易方和所述第二交易方的所述交易结果类型,确定为交易成功类型。
[0019]
一种区块链验证节点,所述区块链验证节点配置有:数据验证模块、数据更新模块和参数计算模块,所述数据验证模块用于获取交易验证信息组,根据所述交易验证信息组中的至少部分信息对所述交易验证信息组进行交易合法性验证,其中,所述交易验证信组中,包括两个交易方的交易验证信息,所述交易验证信息与所述交易方存在对应关系,所述至少部分信息包括:各交易验证信息的交易资产参数、交易结果类型、源区块链标识和目标区块链标识。
[0020]
所述数据更新模块用于在所述交易合法性验证通过的情况下,根据所述交易结果类型,更新各交易方的当前交易结果参数组。
[0021]
所述参数计算模块用于根据所述当前交易结果参数组和所述交易资产参数,计算各交易方的交易风险参数。
[0022]
可选的,所述数据更新模块被设置为:对各交易方的当前交易结果参数组:在该交易方的所述交易结果类型是失败类型的情况下,对与该交易方匹配的所述当前交易结果参数组中的当前交易失败次数的数值,进行数值添加操作,完成对该交易方的所述当前交易结果参数组的更新操作。
[0023]
在该交易方的所述交易结果类型是成功类型的情况下,对与该交易方匹配的所述当前交易结果参数组中的当前交易成功次数的数值,进行数值添加操作,完成对该交易方的所述当前交易结果参数组的更新操作。
[0024]
可选的,所述参数计算模块被设置为:对各交易方:根据该交易方生成的交易验证信息中的所述交易资产参数m,通过公式:t=(m/ms)
×
(1-λ)
×
(1 θ),计算该交易方的交易风险参数t,其中,所述ms是预设的标准资产参数,所述λ是该交易方的交易风险增高参数,所述θ是该交易方的交易风险降低参数,所述λ的数值大于所述θ的数值,所述交易风险增高参数λ的数值,在p的取值为0的情况下是0,在所述p不小于1的情况下,所述交易风险增高参数λ的数值是通过公式:λ=1/(1 e
1-p
)p≥1,计算获得的,其中,所述p是该交易方的当前交易结果参数组中的当前交易失败次数,所述e是自然常数;
所述交易风险降低参数θ的数值,在q的取值不大于预设启动参数c的情况下是0,在所述q的取值大于所述预设启动参数c的情况下,所述交易风险降低参数θ的数值是通过公式:θ=(1/2)
×
e-[1/(q-c)]
q>c,计算获得的,其中,所述q为该交易方的当前交易结果参数组中的当前交易成功次数。
[0025]
可选的,在所述交易验证信息组包含由所述两个交易方中的第一交易方生成的第一交易验证信息,和由所述两个交易方中的第二交易方生成的第二交易验证信息的情况下,所述数据验证模块在进行所述交易合法性验证时被具体设置为:利用预设签名验证算法,对所述交易验证信息组中的各交易验证信息进行签名验签。
[0026]
在所述交易验证信息组中的各交易验证信息,均通过所述签名验签的情况下,按照预设交易合法性验证规则,对所述交易验证信息组进行所述交易合法性验证,其中,所述预设交易合法性验证规则包括:判断所述第一交易验证信息中的所述交易资产参数,与所述第二交易验证信息中的所述交易资产参数是否一致,获得第一判断结果。
[0027]
判断所述第一交易验证信息中的所述源区块链标识,与所述第二交易验证信息中的所述目标区块链标识是否一致,获得第二判断结果。
[0028]
判断所述第二交易验证信息中的所述源区块链标识,与所述第一交易验证信息中的所述目标区块链标识是否一致,获得第三判断结果。
[0029]
若所述第一判断结果、所述第二判断结果和所述第三判断结果均为一致,则确定所述交易合法性验证通过。
[0030]
可选的,在进行所述交易结果类型的确定过程中,所述区块链验证节点被具体设置为:判断所述第一交易方在利用原象的哈希值锁定第一待交易资产,并设定第一超限时刻后,是否向所述第二交易方发送所述原象的哈希值,若否,则将所述第一交易方的所述交易结果类型确定为第一失败类型,其中,所述第一待交易资产是所述第一交易方账户中的待交易资产。
[0031]
在所述第一交易方向所述第二交易方发送所述原象的哈希值的情况下,判断所述第二交易方是否利用所述原象的哈希值锁定第二待交易资产,若否,则将所述第二交易方的所述交易结果类型确定为第二失败类型,其中,所述第二待交易资产是所述第二交易方账户中的待交易资产。
[0032]
在所述第二交易方利用所述原象的哈希值锁定所述第二待交易资产,且设定第二超限时刻的情况下,判断所述第一交易方是否在所述第二超限时刻前,利用所述原象解锁所述第二待交易资产,若否,则将所述第一交易方的交易结果类型确定为第三失败类型,其中,所述第二超限时刻早于所述第一超限时刻。
[0033]
在所述第一交易方在所述第二超限时刻前,利用所述原象解锁所述第二待交易资产,判断所述第二交易方在所述第一超限时刻前,是否利用所述第一交易方发送的所述原象,解锁所述第一待交易资产,若否,则将所述第二交易方的交易结果类型确定为第四失败
类型。
[0034]
在所述第二交易方在所述第一超限时刻前,利用所述第一交易方发送的所述原象,解锁所述第一待交易资产的情况下,将所述第一交易方和所述第二交易方的所述交易结果类型,确定为交易成功类型。
[0035]
一种区块链验证节点,所述区块链验证节点包括:处理器;用于存储所述处理器可执行指令的存储器。
[0036]
其中,所述处理器被配置为执行所述指令,以实现如上述任一项所述的交易风险参数计算方法。
[0037]
一种计算机可读存储介质,当所述计算机可读存储介质中的指令由区块链验证节点的处理器执行时,使得所述区块链验证节点能够执行如上述任一项所述的交易风险参数计算方法。
[0038]
本发明实施例提供的一种交易风险参数计算方法、区块链验证节点及存储介质,通过对交易验证信息进行交易合法性验证,避免了由于跨链场景下交易数据出现异常的风险,提高了交易数据的真实性和传输安全性。并通过设置不同的交易结果类型,来区分各交易方导致跨链交易失败的不同原因,从而实现了对恶意交易方的准确识别。同时,通过引入交易资产参数进行交易风险参数的计算,并通过预先设定的计算公式,降低了小额度对交易风险参数的影响效果,避免了对交易风险参数的恶意积累,提高了最终计算出的交易风险参数的准确性和可靠性。最后,通过计算交易风险参数,来实现对交易风险程度进行量化。从而使得各交易方可以根据该交易风险参数,对将要发生的跨链交易的风险进行评估,进而提高跨链交易的安全性和可靠性。可见,本发明实现了对恶意交易方的准确识别和对交易风险的量化,提高了跨链交易的安全性和可靠性。
[0039]
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
[0040]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]
图1为本发明实施例提供的一种交易风险参数计算方法的流程图;图2为本发明的一个可选实施例提供的一种交易结果类型的确定过程的信令图;图3为本发明的另一个可选实施例提供的一种区块链验证节点的框图;图4为本发明的另一个可选实施例提供的一种区块链验证节点的框图。
具体实施方式
[0042]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
[0043]
本发明实施例提供了一种交易风险参数计算方法,如图1所示,该交易风险参数计算方法包括:s101、获取交易验证信息组,根据交易验证信息组中的至少部分信息对交易验证信息组进行交易合法性验证,其中,交易验证信组中,包括两个交易方的交易验证信息,交易验证信息与交易方存在对应关系,至少部分信息包括:各交易验证信息的交易资产参数、交易结果类型、源区块链标识和目标区块链标识。
[0044]
其中,上述交易验证信息,可以是由交易方在基于哈希时间锁定合约(hashed timelock contract,htlc)执行一次完整的跨链交易后,向区块链验证节点发送的验证信息。
[0045]
可选的,在本发明的一个可选实施例中,上述交易验证信息的生成过程,可以是:在交易方完成上述跨链交易后,将交易方标识、交易资产参数、交易结果类型、源区块链标识符和目标区块链标识进行数据拼接,获得初始交易验证信息。再利用预设签名算法,对初始交易验证信息进行签名,获得上述交易验证信息。由于进行跨链交易的交易双方分别处于不同的区块链上,其交易数据在传输过程中易被篡改或缺失。因此,通过对上述经过签名的交易验证信息进行交易合法性验证,可以确保交易数据的真实性和传输安全性。
[0046]
s102、在交易合法性验证通过的情况下,根据交易结果类型,更新各交易方的当前交易结果参数组。
[0047]
可选的,在本发明的一个可选实施例中,上述交易结果类型,可以是用于判断交易方在基于htlc的跨链交易中,是否正确执行htlc限定的操作步骤的标识参数。由于在实际应用场景下,导致跨链交易失败的原因有多种,例如恶意操作、过失操作、网络延迟等。对由于过失操作或网络延迟而导致跨链交易失败的交易方,其处置方式不能等同于恶意操作的交易方。因此,本发明通过设置不同的交易结果类型,可以实现对恶意交易方的准确识别。
[0048]
需要说明的是,在实际应用场景下,上述交易结果类型可以有多种。其具体类型可以根据实际应用场景自行设定,本发明对此不作过多限定。
[0049]
s103、根据当前交易结果参数组和交易资产参数,计算各交易方的交易风险参数。
[0050]
可选的,在本发明的一个可选实施例中,上述交易资产数可以是交易方在跨链交易过程中的具体交易数额。由于在实际应用场景下,恶意交易方存在通过生成大量小额度的跨链交易,来积累上述交易风险参数。因此,本发明通过上述交易资产参数进行交易风险参数的计算,并通过预先设定的计算公式,降低小额度对交易风险参数的影响效果,从而避免了对交易风险参数的恶意积累。提高了最终计算出的交易风险参数的准确性和可靠性。
[0051]
可选的,在本发明的一个可选实施例中,上述交易风险参数可以是表征交易方在跨链交易过程中,产生交易风险程度的量化参数。由于在现有的跨链交易场景中,各交易方分别位于不同的区块链中,导致交易双方无法根据对方的历史数据,分析出在与对方进行跨链交易时产生交易风险的程度。因此,本发明通过计算上述交易风险参数,来实现对交易风险程度进行量化。从而使得各交易方可以根据该交易风险参数,对将要发生的跨链交易的风险进行评估,进而提高跨链交易的安全性和可靠性。
[0052]
本发明通过对交易验证信息进行交易合法性验证,避免了由于跨链场景下交易数据出现异常的风险,提高了交易数据的真实性和传输安全性。并通过设置不同的交易结果
类型,来区分各交易方导致跨链交易失败的不同原因,从而实现了对恶意交易方的准确识别。同时,通过引入交易资产参数进行交易风险参数的计算,并通过预先设定的计算公式,降低了小额度对交易风险参数的影响效果,避免了对交易风险参数的恶意积累,提高了最终计算出的交易风险参数的准确性和可靠性。最后,通过计算上述交易风险参数,来实现对交易风险程度进行量化。从而使得各交易方可以根据该交易风险参数,对将要发生的跨链交易的风险进行评估,进而提高跨链交易的安全性和可靠性。可见,本发明实现了对恶意交易方的准确识别和对交易风险的量化,提高了跨链交易的安全性和可靠性。
[0053]
可选的,在交易合法性验证通过的情况下,根据交易结果类型,更新各交易方的当前交易结果参数组,包括:对各交易方的当前交易结果参数组:在该交易方的交易结果类型是失败类型的情况下,对与该交易方匹配的当前交易结果参数组中的当前交易失败次数的数值,进行数值添加操作,完成对该交易方的当前交易结果参数组的更新操作。
[0054]
在该交易方的交易结果类型是成功类型的情况下,对与该交易方匹配的当前交易结果参数组中的当前交易成功次数的数值,进行数值添加操作,完成对该交易方的当前交易结果参数组的更新操作。
[0055]
可选的,在本发明的一个可选实施例中,由于导致交易失败的原因有多种,因此,上述失败类型可以设置为多种。例如误操作导致的失败类型、恶意操作导致的失败类型、网络延迟导致的失败类型等。需要说明的是,上述失败类型的具体类型,可以根据实际应用场景自行设定,本发明对失败类型的具体类型和数量,不作过多赘述和限定。
[0056]
可选的,在本发明的另一个可选实施例中,在实际应用场景中,上述当前交易结果参数组,可以是存储于预设区块链节点中的数据组。当前结果参数组中,记录了当前时刻之前的各历史时刻的跨链交易中,产生的成功交易或失败交易的总数量。
[0057]
可选的,在本发明的另一个可选实施例中,为了区分恶意交易方和非恶意交易方,对于上述不同类型的交易结果类型,可以设置上述数值添加操作时,不同交易结果类型所对应添加的数值不同。例如,对于恶意交易方产生的恶意操作失败类型,可以将其对应的添加数值设置为0.7,并对与该恶意交易方匹配的当前交易结果参数组中的当前交易失败次数,进行加1操作。对于非恶意交易方产生的误操作失败类型,可以将其对应的添加数值设置为0.3,并对与非该恶意交易方匹配的当前交易结果参数组中的当前交易失败次数,进行加0.3操作。对于非恶意交易方产生的网络延迟失败类型,可以将其对应的添加数值设置为0,并对与非该恶意交易方匹配的当前交易结果参数组中的当前交易失败次数,进行加0操作。
[0058]
可选的,根据当前交易结果参数组和交易资产参数,计算各交易方的交易风险参数,包括:对各交易方:根据该交易方生成的交易验证信息中的交易资产参数m,通过公式:t=(m/ms)
×
(1-λ)
×
(1 θ),计算该交易方的交易风险参数t,其中,ms是预设的标准资产参数,λ是该交易方的交易风险增高参数,θ是该交易方的交易风险降低参数,λ的数值大于θ的数值,交易风险增高参数λ的数值,在p的取值为0的情况下是0,在p不小于1的情况下,交易风险增高参数λ的
数值是通过公式:λ=1/(1 e
1-p
)p≥1,计算获得的,其中,p是该交易方的当前交易结果参数组中的当前交易失败次数,e是自然常数。
[0059]
交易风险降低参数θ的数值,在q的取值不大于预设启动参数c的情况下是0,在q的取值大于预设启动参数c的情况下,交易风险降低参数θ的数值是通过公式:θ=(1/2)
×
e-[1/(q-c)]
q>c,计算获得的,其中,q为该交易方的当前交易结果参数组中的当前交易成功次数。
[0060]
可选的,在本发明的一个可选实施例中,上述预设的标准资产参数ms,可以是该交易方的历史交易资产数值的平均值。本发明通过预设的标准资产参数ms,可以实现降低小额度对交易风险参数的影响效果,避免对交易风险参数的恶意积累的风险。
[0061]
可选的,在本发明的另一个可选实施例中,上述预设启动参数c可以是用于促进交易方执行成功跨链交易的参数值。需要说明的是,上述预设启动参数c的具体数值,可以根据实际应用场景自行设定,本发明对此不作过多限定。
[0062]
可选的,交易验证信息组包含由两个交易方中的第一交易方生成的第一交易验证信息,和由两个交易方中的第二交易方生成的第二交易验证信息,根据交易验证信息组中的至少部分信息对交易验证信息组进行交易合法性验证,包括:利用预设签名验证算法,对交易验证信息组中的各交易验证信息进行签名验签。
[0063]
在交易验证信息组中的各交易验证信息,均通过签名验签的情况下,按照预设交易合法性验证规则,对交易验证信息组进行交易合法性验证,其中,预设交易合法性验证规则包括:判断第一交易验证信息中的交易资产参数,与第二交易验证信息中的交易资产参数是否一致,获得第一判断结果。
[0064]
判断第一交易验证信息中的源区块链标识,与第二交易验证信息中的目标区块链标识是否一致,获得第二判断结果。
[0065]
判断第二交易验证信息中的源区块链标识,与第一交易验证信息中的目标区块链标识是否一致,获得第三判断结果。
[0066]
若第一判断结果、第二判断结果和第三判断结果均为一致,则确定交易合法性验证通过。
[0067]
可选的,在本发明的一个可选实施例中,为了保证跨链交易时的交易资产安全,在上述第一判断结果、第二判断结果和第三判断结果中,任一个判断结果为不一致时,均设置为触发终止交易操作。其中,该终止交易操作的具体实现方式,可以是:根据目标区块链标识符,锁定接收交易资产的交易方账户。并根据资产参数,从接收交易资产的交易方账户中,扣除与该资产参数对应的资产额度。根据源区块链标识,将该扣除的资产额度返还至发出交易资产的交易方账户。
[0068]
可选的,交易结果类型的确定过程包括:判断第一交易方在利用原象的哈希值锁定第一待交易资产,并设定第一超限时刻后,是否向第二交易方发送原象的哈希值,若否,则将第一交易方的交易结果类型确定为第一失败类型,其中,第一待交易资产是第一交易方账户中的待交易资产。
[0069]
在第一交易方向第二交易方发送原象的哈希值的情况下,判断第二交易方是否利用原象的哈希值锁定第二待交易资产,若否,则将第二交易方的交易结果类型确定为第二失败类型,其中,第二待交易资产是第二交易方账户中的待交易资产。
[0070]
在第二交易方利用原象的哈希值锁定第二待交易资产,且设定第二超限时刻的情况下,判断第一交易方是否在第二超限时刻前,利用原象解锁第二待交易资产,若否,则将第一交易方的交易结果类型确定为第三失败类型,其中,第二超限时刻早于第一超限时刻。
[0071]
在第一交易方在第二超限时刻前,利用原象解锁第二待交易资产,判断第二交易方在第一超限时刻前,是否利用第一交易方发送的原象,解锁第一待交易资产,若否,则将第二交易方的交易结果类型确定为第四失败类型。
[0072]
在第二交易方在第一超限时刻前,利用第一交易方发送的原象,解锁第一待交易资产的情况下,将第一交易方和第二交易方的交易结果类型,确定为交易成功类型。
[0073]
需要说明的是,在实际应用场景中,上述交易结果类型的确定过程可以有多种,在此示例性的提供一种:如图2所示,设定当前应用场景为第一交易方和第二交易方,基于htlc进行资产交换的跨链交易场景。
[0074]
步骤s201,第一交易方生成原象,并计算原象的哈希值。并触发步骤s202。
[0075]
步骤s202,第一交易方利用原象的哈希值锁定a资产,并设定第一超限时刻t。并触发步骤s203。
[0076]
步骤s203,第一交易方判断是否生成锁定请求。若是,则触发步骤s204。若否,则触发步骤s205。
[0077]
步骤s204,第一交易方向第二交易方发送锁定请求。并触发步骤s206。
[0078]
可选的,在本发明的可选实施例中,上述锁定请求中的数据,包括但不限于:第一超限时刻t、a资产锁定标识和原象的哈希值。其中,a资产锁定标识是第一交易方,利用原象的哈希值对a资产锁定成功后生成的标识。
[0079]
步骤s205,第一交易方终止交易,并生成交易结果类型为恶意阻塞网络的失败类型。
[0080]
可选的,在本发明的另一个可选实施例中,在实际应用场景中,上述终止交易可以由监控该交易过程的区块链节点执行,也可以由配置于第一交易方的监测模块执行。上述交易结果类型的确定可以由监控该交易过程的区块链节点执行。
[0081]
步骤s206,第二交易方读取锁定请求中第一超限时刻t和原象的哈希值,利用原象的哈希值锁定b资产,并设定第二超限时刻t。并触发步骤s207。
[0082]
其中,上述第二超限时刻t早于上述第一超限时刻t。
[0083]
步骤s207,第二交易方判断是否生成解锁请求。若是,则触发步骤s208。若否,则触发步骤s209。
[0084]
可选的,在本发明的另一个可选实施例中,上述解锁请求中的数据,包括但不限于:第二超限时刻t和b资产锁定标识。其中,b资产锁定标识是第二交易方,利用原象的哈希值对b资产锁定成功后生成的标识。
[0085]
步骤s208,第二交易方向第一交易方发送解锁请求。并触发步骤s210。
[0086]
步骤s209,第二交易方终止交易,并生成交易结果类型为恶意违约的失败类型。
[0087]
步骤s210,第一交易方响应于解锁请求,读取解锁请求中的第二超限时刻t。判断是否在第二超限时刻t前生成第一解锁资产指令。若是,则触发步骤s211。若否,则触发步骤s212。
[0088]
可选的,在本发明的另一个可选实施例中,上述解锁资产指令中的数据,包括但不限于:原象和解锁b资产的指令。
[0089]
步骤s211,第一交易方向第二交易方发送第一解锁资产指令。并触发步骤s213。
[0090]
步骤s212,第一交易方终止交易,并生成交易结果类型为恶意违约的失败类型。
[0091]
步骤s213,第二交易方响应于第一解锁资产指令中的解锁b资产的指令,利用原象解锁b资产。并触发步骤s214。
[0092]
步骤s214,第二交易方判断是否在第一超限时刻t前,生成第二解锁资产指令。若是,则触发步骤s215。若否,则触发步骤s216。
[0093]
可选的,在本发明的另一个可选实施例中,上述第二解锁资产指令中的数据,包括但不限于:b资产、原象和解锁a资产的指令。
[0094]
步骤s215,第二交易方向第一交易方发送第二解锁资产指令。并触发步骤s217。
[0095]
步骤s216,第二交易方终止交易,并生成交易结果类型为过失违约的失败类型。
[0096]
步骤s217,第一交易方接收b资产,并响应于第二解锁指令中的解锁a资产指令,利用第二解锁指令中的原象解锁a资产。并触发步骤s218。
[0097]
步骤s218,第一交易方向第二交易方发送a资产。并触发步骤s219。
[0098]
步骤s219,第二交易方接收a资产,生成交易结果类型为完成交易的成功类型。触发步骤s220。
[0099]
步骤s220,第二交易方向第一交易方发送完成交易回执信息。并触发步骤s221。
[0100]
步骤s221,第一交易方响应于完成交易回执信息,生成交易结果类型为完成交易的成功类型,并结束流程。
[0101]
与上述方法实施例相对应地,本发明还提供了一种区块链验证节点,如图3所示,该区块链验证节点配置有:数据验证模块301、数据更新模块302和参数计算模块303,数据验证模块301用于获取交易验证信息组,根据交易验证信息组中的至少部分信息对交易验证信息组进行交易合法性验证,其中,交易验证信组中,包括两个交易方的交易验证信息,交易验证信息与交易方存在对应关系,至少部分信息包括:各交易验证信息的交易资产参数、交易结果类型、源区块链标识和目标区块链标识。
[0102]
数据更新模块302用于在交易合法性验证通过的情况下,根据交易结果类型,更新各交易方的当前交易结果参数组。
[0103]
参数计算模块303用于根据当前交易结果参数组和交易资产参数,计算各交易方的交易风险参数。
[0104]
可选的,上述数据更新模块302被设置为:对各交易方的当前交易结果参数组:在该交易方的交易结果类型是失败类型的情况下,对与该交易方匹配的当前交易结果参数组中的当前交易失败次数的数值,进行数值添加操作,完成对该交易方的当前交易结果参数组的更新操作。
[0105]
在该交易方的交易结果类型是成功类型的情况下,对与该交易方匹配的当前交易结果参数组中的当前交易成功次数的数值,进行数值添加操作,完成对该交易方的当前交
易结果参数组的更新操作。
[0106]
可选的,上述参数计算模块303被设置为:对各交易方:根据该交易方生成的交易验证信息中的交易资产参数m,通过公式:t=(m/ms)
×
(1-λ)
×
(1 θ),计算该交易方的交易风险参数t,其中,ms是预设的标准资产参数,λ是该交易方的交易风险增高参数,θ是该交易方的交易风险降低参数,λ的数值大于θ的数值,交易风险增高参数λ的数值,在p的取值为0的情况下是0,在p不小于1的情况下,交易风险增高参数λ的数值是通过公式:λ=1/(1 e
1-p
)p≥1,计算获得的,其中,p是该交易方的当前交易结果参数组中的当前交易失败次数,e是自然常数。
[0107]
交易风险降低参数θ的数值,在q的取值不大于预设启动参数c的情况下是0,在q的取值大于预设启动参数c的情况下,交易风险降低参数θ的数值是通过公式:θ=(1/2)
×
e-[1/(q-c)]
q>c,计算获得的,其中,q为该交易方的当前交易结果参数组中的当前交易成功次数。
[0108]
可选的,在交易验证信息组包含由两个交易方中的第一交易方生成的第一交易验证信息,和由两个交易方中的第二交易方生成的第二交易验证信息的情况下,数据验证模块在进行交易合法性验证时被具体设置为:利用预设签名验证算法,对交易验证信息组中的各交易验证信息进行签名验签。
[0109]
在交易验证信息组中的各交易验证信息,均通过签名验签的情况下,按照预设交易合法性验证规则,对交易验证信息组进行交易合法性验证,其中,预设交易合法性验证规则包括:判断第一交易验证信息中的交易资产参数,与第二交易验证信息中的交易资产参数是否一致,获得第一判断结果。
[0110]
判断第一交易验证信息中的源区块链标识,与第二交易验证信息中的目标区块链标识是否一致,获得第二判断结果。
[0111]
判断第二交易验证信息中的源区块链标识,与第一交易验证信息中的目标区块链标识是否一致,获得第三判断结果。
[0112]
若第一判断结果、第二判断结果和第三判断结果均为一致,则确定交易合法性验证通过。
[0113]
可选的,在进行交易结果类型的确定过程中,上述如图3所示的区块链验证节点被具体设置为:判断第一交易方在利用原象的哈希值锁定第一待交易资产,并设定第一超限时刻后,是否向第二交易方发送原象的哈希值,若否,则将第一交易方的交易结果类型确定为第一失败类型,其中,第一待交易资产是第一交易方账户中的待交易资产。
[0114]
在第一交易方向第二交易方发送原象的哈希值的情况下,判断第二交易方是否利用原象的哈希值锁定第二待交易资产,若否,则将第二交易方的交易结果类型确定为第二失败类型,其中,第二待交易资产是第二交易方账户中的待交易资产。
[0115]
在第二交易方利用原象的哈希值锁定第二待交易资产,且设定第二超限时刻的情况下,判断第一交易方是否在第二超限时刻前,利用原象解锁第二待交易资产,若否,则将第一交易方的交易结果类型确定为第三失败类型,其中,第二超限时刻早于第一超限时刻。
[0116]
在第一交易方在第二超限时刻前,利用原象解锁第二待交易资产,判断第二交易方在第一超限时刻前,是否利用第一交易方发送的原象,解锁第一待交易资产,若否,则将第二交易方的交易结果类型确定为第四失败类型。
[0117]
在第二交易方在第一超限时刻前,利用第一交易方发送的原象,解锁第一待交易资产的情况下,将第一交易方和第二交易方的交易结果类型,确定为交易成功类型。
[0118]
本发明实施例还提供了一种区块链验证节点,如图4所示该区块链验证节点包括:处理器401;用于存储处理器401可执行指令的存储器402。
[0119]
其中,处理器被配置为执行指令,以实现如上述如图1所示的交易风险参数计算方法。
[0120]
本发明实施例还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由区块链验证节点的处理器执行时,使得区块链验证节点能够执行如上述如图1所示的交易风险参数计算方法。
[0121]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
[0122]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd-rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
[0123]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0124]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并
不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0125]
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0126]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献