一种数字资产交易风险控制方法及装置
技术领域
本申请涉及数字资产交易技术领域,尤其涉及一种数字资产交易风险控制方法及装置。
背景技术
数字资产是指能够在网络环境中流通的一种虚拟物品,由于交易物品的虚拟性,导致数字资产交易过程不同于传统交易,交易过程容易存在风险,而对交易一方或多方造成损失。为了达到抗抵赖效果,提高数字资产交易的公平性,数字资产交易可基于区块链技术,将相应的交易数据记录为区块,并按照规则顺序上链,形成区块链记账数据,分别存储在网络的多个节点中。
通常数字资产交易先在交易所(如交易网站平台)提供的平台上进行流水记录,交易认证等交易数据处理,再经过交易所将交易数据上链到区块链网络,完成分布式存储。但是区块链交易特性的共识机制,会在算力攻击、或者安全漏洞暴露的情况下,导致区块链数据回滚从而可能出现交易所被双花攻击、假资产流入等风险的存在,从而导致资产受损。并且在交易所内部进行数字货币打入后的内部上账时,也会由于区块链返回给交易所的到账状态,易出现多充值或多出账的问题。
为了降低上述风险,交易所需要在交易过程中,对数字资产隔离存放,相应的在内部记账和钱包之间的交互需要存在第三校验系统中进行,从而保证内部隔离见证的安全性。并且,将数字资产隔离存放,还能对资产进行校验,以避免在被黑客攻击后数字资产虚增,缓解平台多出账的问题。但是,数字资产的隔离存放,会导致一个交易对应的流水信息要分别存储在电子钱包和数据仓库中,两者的存储过程相互独立,从而使得交易所数字资产流水监管不及时,容易出现异常交易流水,并随着该数字资产交易的持续进行,而使得异常交易流水越来越多,形成新的资产交易风险。
发明内容
本申请提供了一种数字资产交易风险控制方法及装置,以解决传统风险控制方法容易出现异常流水的问题。
一方面,本申请提供一种数字资产交易风险控制方法,包括:
获取客户端交易申请;
分别提取第一时间段内的钱包流水和DW流水,所述钱包流水为存储在电子钱包平台中,所述交易申请对应数字资产类型的交易记录;所述DW流水为存储在数据仓库中,所述交易申请对应数字资产类型的交易记录;
比对所述钱包流水和DW流水;
生成第一缺失数据集,所述第一缺失数据集为经比对确定的所述钱包流水和DW流水中不一致交易记录信息;
如果所述第一缺失数据集满足熔断条件,则阻止所述交易申请;以及,熔断包含所述交易申请对应数字资产类型的交易。
可选的,所述方法还包括:
分别提取第二时间段内的钱包流水和DW流水,所述第二时间段的长度大于所述第一时间段长度;
获取补采流水数据,所述补采流水数据为在第二时间段内的钱包流水和DW流水中与所述第一缺失数据集对应的交易记录;
向第一时间段内的钱包流水和DW流水添加所述补采流水数据;
比对添加补采流水数据后的钱包流水和DW流水;
生成第二缺失数据集,所述第二数据集为添加补采流水数据后钱包流水和DW流水中不一致的交易记录信息;
如果所述第二缺失数据集不满足熔断条件,则解除熔断包含所述交易申请对应数字资产类型的交易。
可选的,第一缺失数据集包括:订单笔数、缺失数字资产类型数量、缺失折合金额以及对账超时时间中的一种或多种的组合;
所述熔断条件包括:订单笔数大于订单笔数阈值、缺失数字资产类型数量大于缺失数字资产类型数量阈值、缺失折合金额大于缺失折合金额阈值以及对账超时时间超过对账超时时间阈值中的一种或多种的组合。
可选的,分别提取第二时间段内的钱包流水和DW流水的步骤,还包括:
如果所述第一缺失数据集满足熔断条件,每隔预设时间间隔分别提取第二时间段内的钱包流水和DW流水;
如果所述第一缺失数据集不满足熔断条件,生成交易申请对应的交易订单。
可选的,生成交易申请对应的交易订单的步骤后,所述方法还包括:
生成包含交易订单的DW流水;以及,将生成的DW流水存储至数据仓库;
向区块链网络发起交易订单对应的交易;
在交易发起成功后,生成包含交易订单的钱包流水;以及,将生成的钱包流水存储至电子钱包平台。
可选的,获取客户端交易申请的步骤还包括:
判断所述交易申请对应的交易类型,所述交易类型包括数字资产提取交易和数字资产充值交易;
根据所述交易类型选择熔断条件。
可选的,根据所述交易类型选择熔断条件的步骤,包括:
如果所述交易类型为数字资产提取交易,所述熔断条件为钱包流水中的订单笔数大于DW流水中的订单笔数;
如果所述交易类型为数字资产充值交易,所述熔断条件为钱包流水中的订单笔数小于DW流水中的订单笔数。
可选的,比对所述钱包流水和DW流水的步骤,还包括:
分别从所述钱包流水和DW流水中提取交易识别信息,所述交易识别信息包括交易HASH值、交易索引值、交易地址以及交易金额;
生成每个交易对应的比对规则编码,所述比对规则编码为根据所述交易识别信息生成的序列码;
逐一比对每个交易在所述钱包流水和DW流水中对应的比对规则编码;
确定缺失数据,所述缺失数据为比对规则编码中不一致的交易识别信息对应的数值。
可选的,所述方法还包括:
如果所述比对规则编码中交易地址和/或交易金额不一致,直接熔断包含所述交易申请对应数字资产类型的交易。
另一方面,本申请还提供一种数字资产交易风险控制装置,包括:
获取单元,用于获取客户端交易申请;
流水提取单元,用于分别提取第一时间段内的钱包流水和DW流水,所述钱包流水为存储在电子钱包平台中,所述交易申请对应数字资产类型的交易记录;所述DW流水为存储在数据仓库中,所述交易申请对应数字资产类型的交易记录;
比对单元,用于比对所述钱包流水和DW流水;
第一缺失数据集单元,用于生成第一缺失数据集,所述第一缺失数据集为经比对确定的所述钱包流水和DW流水中不一致交易记录信息;
熔断单元,用于如果所述第一缺失数据集满足熔断条件,则阻止所述交易申请;以及,熔断包含所述交易申请对应数字资产类型的交易。
由以上技术方案可知,本申请提供一种数字资产交易风险控制方法及装置,所述方法在获取客户端交易申请后,分别提取第一时间段内的钱包流水和DW流水;通过比对钱包流水和DW流水,生成第一缺失数据集;其中,第一缺失数据集为经比对确定的钱包流水和DW流水中不一致交易记录信息;如果第一缺失数据集满足熔断条件,则阻止交易申请;以及,熔断包含交易申请对应数字资产类型的交易。所述方法通过比对钱包流水和DW流水,及时发现对应数字资产类型下的交易是否存在风险,并在确定存在风险时对交易进行熔断,避免出现大量异常流水,提高数字资产交易的安全性。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一种数字资产交易风险控制方法的流程示意图;
图2为本申请补采流水数据的流程示意图;
图3为本申请根据交易类型选择熔断条件的流程示意图;
图4为本申请确定缺失数据的流程示意图;
图5为本申请一种数字资产交易风险控制装置的结构示意图;
图6为本申请另一种数字资产交易风险控制装置的结构示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
本申请提供的技术方案中,所述数字资产为不同于实体商品的虚拟物品,如虚拟道具、数字货币、电子著作等。由于数字资产的虚拟性,使得其可以被复制和转移,而为了确定数字资产的唯一性,需要按照指定区分规则或共识机制对数字资产进行表征,以确定数字资产的流通方向。
参见图1,为本申请一种数字资产交易风险控制方法的流程示意图,应用于数字资产交易平台,所述数字资产交易平台为基于网络的交易系统,可以是交易网页或交易程序,数字资产交易平台可以在个人电脑、平板电脑、手机等终端设备上展示交易交互界面。交易平台可进一步包括多个模块,以分别完成交易中的不同内容,例如:数据仓库模块(DataWarehouse,DW)、电子钱包平台模块(wallet)、管理模块(mgtbit)、风险控制模块(Risk)。
本申请提供的技术方案中,交易平台可以作为交易第三方角色对数字资产交易过程进行对接和监控,即在交易订单生成后,可以针对交易订单记录成DW流水,以存储在数据仓库模块的存储器中;并且在数字资产完成转移后,再针对该交易订单记录钱包流水。可见,由于钱包流水和DW流水是分别进行记录生成的,因此钱包流水和DW流水之间可能存在不一致的情况,而这种不一致是造成异常流水的主要原因。部分黑客用户也可以利用钱包流水和DW流水相互独立生成的特点,伺机创造大量异常流水,从而影响正常交易的进行。
为了减少异常流水的出现,本申请提供一种数字资产交易风险控制方法,如图1所示,本申请提供的数字资产交易风险控制方法,包括以下步骤:
S1:获取客户端交易申请。
为了便于描述,在本申请提供的技术方案中,客户端可以进一步分为交易发起方客户端和交易目标方客户端。实际应用中,注册至交易平台的所有用户都可以作为交易发起方和交易目标方。所述客户端是指能够实施交易平台对应交易的应用程序,也可以指代安装有对应交易的应用程序的终端设备,例如:个人电脑、平板电脑、手机等。
实际应用中,交易双方可以通过客户端完成数字资产交易,即交易发起方向交易平台发出交易申请,交易申请中可以包括指定的交易对象、交易的数字资产类型、交易数额等。交易平台在接收到交易申请后,可以先对交易申请进行验证,确定交易申请是否符合规定的交易规范。如果符合交易规范则可生成交易订单,并向交易接受方发送交易订单,以使交易双方能够完成交易。
例如,用户1通过客户端发起一个交易申请,交易申请为提币申请,具体为:从用户2处以10:1的提币比率提取1.5个证通A。则在交易申请中需要包括:指定交易对象为用户2;交易的数字资产类型为证通A;交易数额为1.5。
S2:分别提取第一时间段内的钱包流水和DW流水。
本申请提供的技术方案中,随着交易的进行,交易平台内将产生多个交易订单,每个交易订单对应两种交易流水,即钱包流水和DW流水。其中,所述钱包流水为存储在电子钱包平台中,所述交易申请对应数字资产类型的交易记录;所述DW流水为存储在数据仓库中,所述交易申请对应数字资产类型的交易记录。
在交易平台接收到交易申请后,交易平台可以针对交易申请中指定的数字资产类型,提取第一时间段内所有已记录的水流数据。其中,第一时间段可以作为后续比对过程的比对有效时间,第一时间段为当前交易申请之前的预设时间段,可以按照交易平台中的交易数量指定第一时间段的长度。第一时间段长度可以为当前交易申请前X个小时加设置的该数字资产类型阈值时间范围。
例如,交易申请的接收时间为:2019年1月2日12:00:00,则可以分别在电子钱包平台和数据仓库中提取2019年1月2日8:00:00至2019年1月2日11:45:00时间段内的钱包流水和DW流水。其中,2019年1月2日11:45:00至2019年1月2日12:00:00为设置的该数字资产类型阈值时间,即预留容错时间以适应系统同步延时。
S3:比对所述钱包流水和DW流水。
在获取钱包流水和DW流水后,可以逐一对钱包流水和DW流水中的每一个交易进行比对,钱包流水和DW流水不一致的交易记录信息。例如:同一个交易对应的流水数据中,对应在钱包流水和DW流水具有不同的交易内容;或者在钱包流水中的某一交易,未在DW流水中出现,或者在DW流水中的某一交易,未在钱包流水中出现,都属于不一致的交易记录信息。
在确定不一致的交易记录信息后,还可以按照实际比对要求,对不一致的记录信息进行分类统计,例如,针对订单笔数、缺失数字资产类型数量、缺失折合金额以及对账超时时间进行统计,以确定单个交易对应的缺失数据。
S4:生成第一缺失数据集。
本申请提供的技术方案中,可以将单个交易对应的缺失数据进行汇总,生成第一缺失数据集。所述第一缺失数据集为经比对确定的所述钱包流水和DW流水中不一致交易记录信息。
例如,在2019年1月2日8:00:00至2019年1月2日11:45:00时间段内提取的钱包流水和DW流水中,可以分别提取以下风控因子,即:订单缺失笔数、缺失数字资产类型数量、缺失折合金额以及对账超时时间。其中,订单缺失笔数、缺失数字资产类型数量以及缺失折合金额可以通过计数的方式进行统计,对账超时时间可以用时间差累加计算的方式进行统计。
以订单缺失笔数为例,订单缺失笔数是指交易订单获取不到,所导致的钱包流水和DW流水中订单笔数不一致,经过比对钱包流水和DW流水,可以确定钱包流水和DW流水中的交易序号如下表:
可见,经过比对,钱包流水中缺失“订单3”、“订单5”、“订单7”和“订单8”,即订单缺失笔数为4。
S5:如果所述第一缺失数据集满足熔断条件,则阻止所述交易申请;以及,熔断包含所述交易申请对应数字资产类型的交易。
本申请提供的技术方案中,可以针对第一缺失数据集中统计的不一致交易记录与熔断条件进行比对,判断第一缺失数据集是否满足熔断条件。如果第一缺失数据集满足熔断条件,说明当前统计的第一缺失数据集中,存在过多不一致的情况,即钱包流水和DW流水之间存在的差异较大,存在产生异常流水的风险,因此需要阻止当前交易申请,以及时止损。如果第一缺失数据集不满足熔断条件,则当前交易风险较小,可以进行正常交易。
例如,根据上述比对结果,确定第一缺失数据集中的订单缺失笔数为4,而熔断条件为订单缺失笔数大于订单笔数阈值,且订单笔数阈值为3,则订单缺失笔数4大于订单笔数阈值3,第一缺失数据集满足熔断条件,则阻止当前交易申请,并熔断后续包含证通A的交易。
在本申请中,如果第一缺失数据集满足熔断条件,还可设置熔断交易程序,将后续所有包含交易申请对应数字资产类型的交易均进行阻止,减少交易数据生成量,避免再出现异常流水。
进一步地,第一缺失数据集包括:订单笔数、缺失数字资产类型数量、缺失折合金额以及对账超时时间中的一种或多种的组合;所述熔断条件包括:订单笔数大于订单笔数阈值、缺失数字资产类型数量大于缺失数字资产类型数量阈值、缺失折合金额大于缺失折合金额阈值以及对账超时时间超过对账超时时间阈值中的一种或多种的组合。实际应用中,只要任意一个缺失数据满足熔断条件,即可确定当前第一缺失数据集满足熔断条件。
以数字资产类型数量为例,提取的钱包流水和DW流水中数字资产类型数量如下表:
DW流水数字资产类型数量 |
钱包流水数字资产类型数量 |
1.231 |
1.231 |
2.32 |
2.32 |
3.5 |
- |
4.111 |
- |
通过比对DW流水和钱包流水,确定第一损失数据集中缺失数字资产类型数量为:3.5+4.111=7.611;如果设置缺失数字资产类型数量阈值为4,则缺失数字资产类型数量7.611>4,即第一损失数据集满足熔断条件,触发熔断交易。
以缺失折合金额为例,实际应用中,钱包流水和DW流水中的交易金额可以按照USDT折合价计算缺失折合金额。折合价的计算方法可以按照当天对交易均价进行折合计算,例如,针对具有USDT的交易对数据,可以通过每天24:00:00时取前一天的每个整点的价格,取24次,记录当天交易额除以24作为均价;针对无USDT的交易对数据,可以通过每天24:00:00时取前一天的每个整点的价格,取24次,再通过计价货币折合成USDT价格,记录相应币种对计价货币的交易额除以24作为均价。
提取的钱包流水和DW流水中,折合金额如下表:
DW流水数字资产类型数量 |
钱包流水数字资产类型数量 |
折合数量 |
1.231 |
1.231 |
3.5usdt |
2.32 |
2.32 |
4.5usdt |
3.5 |
- |
5usdt |
4.111 |
- |
6.1usdt |
如果缺失折合金额阈值为5.7,可见,缺失折合金额为5+6.1=11.1>5.7,即第一缺失数据集满足熔断条件,熔断交易。
以对账超时时间为例,提取的钱包流水和DW流水中,交易记录时间数据如下表:
DW订单 |
DW采集时间 |
钱包订单 |
钱包采集时间 |
对账时间 |
1 |
2019-01-0112:00:00 |
1 |
2019-01-0112:00:00 |
2019-01-0112:00:01 |
2 |
2019-01-0112:00:00 |
2 |
2019-01-0112:00:00 |
2019-01-0112:00:01 |
3 |
2019-01-0112:00:00 |
3 |
- |
- |
4 |
2019-01-0112:00:00 |
4 |
2019-01-0112:00:00 |
2019-01-0112:00:01 |
5 |
2019-01-0112:04:00 |
5 |
2019-01-0112:04:00 |
2019-01-0112:04:01 |
通过对比可知,在第3条交易记录中,第二次采集仍未采集到对应的对账时间,因此其对账时间超过对账超时时间阈值,即第一缺失数据集满足熔断条件,熔断交易。
本申请提供的技术方案中,还可以将上述风控因子进行结合,综合判断第一缺失数据集是否满足熔断条件,实际应用中,只有所有风控因子均不满足熔断条件时,才认定第一缺失数据集不满足熔断条件;而当任一风控因子满足熔断条件时,则确定第一缺失数据集满足熔断条件。
例如,提取的钱包流水和DW流水中交易记录数据如下表:
其中,BTC和ETH分别表示两种不同类型的数字资产,通过比对可知,BTC、ETH的订单缺失笔数均为1<订单笔数阈值3,不触发熔断;
对于数字资产BTC,对账时间达到对账时间阈值,触发熔断;
对于数字资产ETH,缺失数字资产类型数量达到数字资产类型数量阈值,并且对账时间也达到对账时间阈值,触发熔断。
由以上技术方案可知,本申请通过比对钱包流水和DW流水,确定钱包流水和DW流水中不一致的交易记录信息,并通过不一致的交易记录信息的数量判断是否需要对交易进行熔断,及时发现对应数字资产类型下的交易是否存在风险,并在确定存在风险时对交易进行熔断,避免出现大量异常流水,提高数字资产交易的安全性。
在本申请的部分实施例中,如果第一缺失数据集满足熔断条件,即对包含所述交易申请对应数字资产类型的交易进行熔断后,还可以进一步对流水数据进行补采,如图2所示,所述方法还包括:
S61:分别提取第二时间段内的钱包流水和DW流水。
本实施例中,在熔断交易后,可以针对该数字资产类型的交易记录信息进行补采,以进一步确定当前数字资产类型的交易是否确实存在风险。其中,第二时间段也为当前交易申请之前的预设时间段,但所述第二时间段的长度大于所述第一时间段长度。第二时间段为当前交易申请前Y天,加设置的该数字资产类型阈值时间范围。
例如,第二时间段的开始时间是当前时间前Y天,第二时间段的结束时间是当前时间减X小时。即,交易申请的接收时间为:2019年1月2日12:00:00,则第二时间段的开始时间为2018年12月17日12:00:00;第二时间段的结束时间为2019年1月2日8:00:00。
S62:获取补采流水数据。
实际应用中,可以针对在第二时间段提取的钱包流水和DW流水进行数据筛选,确定在第二时间段提取的钱包流水和DW流水中,是否存在第一缺失数据集中对应的交易记录信息。即,所述补采流水数据为在第二时间段内的钱包流水和DW流水中与所述第一缺失数据集对应的交易记录。
例如,从第一缺失数据集中可以确定,订单缺失笔数符合熔断条件,即钱包流水中缺失“订单3”、“订单5”、“订单7”和“订单8”,相应的,可以在第二时间段提取的钱包流水中筛选出缺失的“订单3”、“订单5”、“订单7”和“订单8”对应的交易记录信息作为补采流水数据。
S63:向第一时间段内的钱包流水和DW流水添加所述补采流水数据。
在获得补采流水数据后,可以将补采流水数据中的交易记录信息添加给钱包流水或DW流水,以补齐钱包流水或DW流水中缺失的数据。
例如,补采流水数据为“订单3”、“订单5”和“订单8”对应的交易记录信息,则将上述交易记录信息添加到钱包流水中,从而生成添加补采流水数据后的钱包流水如下表:
DW流水 |
钱包流水 |
订单1 |
订单1 |
订单2 |
订单2 |
订单3 |
<u>订单3</u> |
订单4 |
订单4 |
订单5 |
<u>订单5</u> |
订单6 |
订单6 |
订单7 |
- |
订单8 |
<u>订单8</u> |
…… |
…… |
S64:比对添加补采流水数据后的钱包流水和DW流水。
与步骤S3相同,本实施例可以针对添加补采流水数据后的钱包流水和DW流水进行二次比对,确定在钱包流水和DW流水中不一致的交易记录信息,再次确定缺失数据。
S65:生成第二缺失数据集。
本实施例中,可以将确定的缺失数据进行二次汇总,生成第二缺失数据集。所述第二数据集为添加补采流水数据后钱包流水和DW流水中不一致的交易记录信息。
例如,在向第一时间段提取的钱包流水和DW流水添加补采流水数据后,上述钱包流水和DW流水中,针对订单缺失笔数这一项的,钱包流水中缺失“订单7”,第二缺失数据集中包括“订单7”,相应的订单缺失笔数为1。
S66:如果所述第二缺失数据集不满足熔断条件,则解除熔断包含所述交易申请对应数字资产类型的交易。
经过第二缺失数据集与熔断条件的二次比对,可以进一步确定当前数字资产类型对应的交易是否存在风险。如果第二缺失数据集不满足熔断条件,则说明当前数字资产类型对应的交易记录数据已经被补齐,不存在风险,因此可以自动解除熔断;如果第二缺失数据集仍然满足熔断条件,则说明当前数字资产类型对应的交易记录数据中存在大量不一致情况,对应的交易极有可能存在风险,因此可以保持其熔断状态,阻止相关交易再次发生。
例如,经过向钱包流水中添加补采流水数据后,第二缺失数据集中包括“订单7”,相应的订单缺失笔数为1,而熔断条件为订单缺失笔数大于订单笔数阈值,且订单笔数阈值为3,此时订单缺失笔数1小于订单笔数阈值3,第二缺失数据集不满足熔断条件,则解除熔断包含证通A的交易。
需要说明的是,本实施例中第二缺失数据集也可以包括:订单缺失笔数、缺失数字资产类型数量、缺失折合金额以及对账超时时间中的一种或多种的组合;所述熔断条件包括:订单笔数大于订单笔数阈值、缺失数字资产类型数量大于缺失数字资产类型数量阈值、缺失折合金额大于缺失折合金额阈值以及对账超时时间超过对账超时时间阈值中的一种或多种的组合。实际应用中,只有第二缺失数据集中的全部内容均不满足熔断条件,才确定第二缺失数据集不满足熔断条件。而只要任意一个缺失数据满足熔断条件,即可确定当前第二缺失数据集满足熔断条件。
由以上技术方案可知,本实施例可以在对包含所述交易申请对应数字资产类型的交易进行熔断后,进行流水数据补采,以避免因数据存储延时等因素而造成的交易记录信息不同步的问题。本申请通过两次比对过程,可以减小对交易风险的误判,在获得交易安全性的前提下,避免对应交易无法进行。
需要说明的是,上述实施例仅在对当前数字资产类型对应的交易进行熔断后,才对钱包流水和DW流水进行补采。而如果第一缺失数据集不满足熔断条件,则直接完成对应的交易即可,即在本申请的部分实施例中,如图1、2所示,分别提取第二时间段内的钱包流水和DW流水的步骤,还包括:
S611:如果所述第一缺失数据集满足熔断条件,每隔预设时间间隔分别提取第二时间段内的钱包流水和DW流水。
实际应用中,针对已熔断的交易,在未解除之前,可以每隔预设时间触发一次提示,以进行第二时间段内的钱包流水和DW流水。
S612:如果所述第一缺失数据集不满足熔断条件,生成交易申请对应的交易订单。
如果所述第一缺失数据集不满足熔断条件,则无需对交易进行熔断,因此可以按照交易平台的交易方式完成交易申请,即生成交易申请对应的交易订单的步骤后,所述方法还包括:生成包含交易订单的DW流水;以及,将生成的DW流水存储至数据仓库;向区块链网络发起交易订单对应的交易;在交易发起成功后,生成包含交易订单的钱包流水;以及,将生成的钱包流水存储至电子钱包平台。
实际应用中,针对不同的交易,还可以设置不同的熔断条件,即在本申请的部分实施例中,如图3所示,获取客户端交易申请的步骤还包括:
S11:判断所述交易申请对应的交易类型。
实际应用中,可以对交易申请中包含的交易信息进行分析,从而确定客户端发起交易的交易类型,其中,所述交易类型包括数字资产提取交易和数字资产充值交易。数字资产提取交易是指客户端通过交易获取指定数字资产,而数字资产充值交易是指客户端通过交易卖出指定数字资产。
S12:根据所述交易类型选择熔断条件。
具体地,根据所述交易类型选择熔断条件的步骤,包括:
S121:如果所述交易类型为数字资产提取交易,所述熔断条件为钱包流水中的订单笔数大于DW流水中的订单笔数。
实际应用中,对数字资产提取交易的熔断,以钱包流水中的订单数据比对DW流水中的订单,如果钱包流水中的订单数据少于DW流水中的订单数据,则无安全风险,无需对交易进行熔断;如果钱包流水中的订单数据多于DW流水中的订单数据,为多出账,有安全风险,需要对交易进行熔断。
S122:如果所述交易类型为数字资产充值交易,所述熔断条件为钱包流水中的订单笔数小于DW流水中的订单笔数。
实际应用中,如果DW流水中的订单数据少于钱包流水中的订单数据,无安全风险;如果DW流水中的订单数据多于钱包流水中的订单数据,则当前状态为多充值,有安全风险,进行熔断。
在本申请的部分实施例中,如图4所示,比对所述钱包流水和DW流水的步骤,还包括:
S31:分别从所述钱包流水和DW流水中提取交易识别信息。
实际应用中,可以从流水数据中通过提取交易识别信息分辨每个交易,所述交易识别信息包括交易HASH值(txHash)、交易索引值(index)、交易地址(toAddress)以及交易金额(amount)。
S32:生成每个交易对应的比对规则编码。
所述比对规则编码为根据所述交易识别信息生成的序列码。例如,在进行比对时,为了确保唯一性,比对规则为:txhash+index+to_address+(tag)+amount构成的比对规则编码。其中,hash+index标识可以确认流水的唯一性。
S33:逐一比对每个交易在所述钱包流水和DW流水中对应的比对规则编码;
通过对比上述序列码,确定具体的不一致交易记录信息。实际应用中,可以针对在流水数据读取的交易识别信息,进行对比。例如:对于数字资产提取交易,如果比对规则编码有toAddressTag,则根据txHash,toAddress,toAddressTag,amount进行比对;如果比对规则编码没有toAddressTag,则根据txHash,toAddress,amount进行比对。
又例如:对于数字资产充值交易,如果有index,有toAddressTag,则先根据txHash,index,toAddress,toAddressTag进行比对,之后再比对amount。如果有index,没有toAddressTag,则先根据txHash,index,toAddress进行比对,之后再比对amount。如果没有index,有toAddressTag,则先根据txHash,toAddress,toAddressTag,amount进行比对。如果没有index,没有toAddressTag,则先根据txHash,toAddress,amount进行比对。
S34:确定缺失数据。
所述缺失数据为比对规则编码中不一致的交易识别信息对应的数值。上述比对可针对每个交易的具体内容进行比对,从而确定缺失数据,用于与其他缺失数据一起生成缺失数据集。
进一步地,如果所述比对规则编码中交易地址和/或交易金额不一致,直接熔断包含所述交易申请对应数字资产类型的交易。即在本实施例中,address+tag、amount不一致,则直接熔断,这一规则可以写入交易平台的硬编码中,不允许修改。实际应用中,如果address+tag、amount不一致,说明在钱包流水和DW流水中的交易记录信息存在同一个交易下,交易地址和金额不一致的情况,这种交易是不被允许的,因此可直接确定当前类型的数字资产存在风险,需要进行熔断。
基于上述数字资产交易风险控制方法,本申请还提供一种数字资产交易风险控制装置,如图5所示,所述装置包括:
获取单元,用于获取客户端交易申请;
流水提取单元,用于分别提取第一时间段内的钱包流水和DW流水,所述钱包流水为存储在电子钱包平台中,所述交易申请对应数字资产类型的交易记录;所述DW流水为存储在数据仓库中,所述交易申请对应数字资产类型的交易记录;
比对单元,用于比对所述钱包流水和DW流水;
第一缺失数据集单元,用于生成第一缺失数据集,所述第一缺失数据集为经比对确定的所述钱包流水和DW流水中不一致交易记录信息;
熔断单元,用于如果所述第一缺失数据集满足熔断条件,则阻止所述交易申请;以及,熔断包含所述交易申请对应数字资产类型的交易。
进一步地,如图6所示,所述装置还包括:
二次提取单元,用于分别提取第二时间段内的钱包流水和DW流水,所述第二时间段的长度大于所述第一时间段长度;
补采流水单元,用于获取补采流水数据,所述补采流水数据为在第二时间段内的钱包流水和DW流水中与所述缺失数据集对应的交易记录;
数据添加单元,用于向第一时间段内的钱包流水和DW流水添加所述补采流水数据;
二次比对单元,用于比对添加补采流水数据后的钱包流水和DW流水;
第二缺失数据集生成单元,用于第二缺失数据集,所述第二数据集为添加补采流水数据后钱包流水和DW流水中不一致的交易记录信息;
解除熔断单元,用于如果所述第二缺失数据集不满足熔断条件,则解除熔断包含所述交易申请对应数字资产类型的交易。
由以上技术方案可知,本申请提供一种数字资产交易风险控制方法及装置,所述方法在获取客户端交易申请后,分别提取第一时间段内的钱包流水和DW流水;通过比对钱包流水和DW流水,生成第一缺失数据集;其中,第一缺失数据集为经比对确定的钱包流水和DW流水中不一致交易记录信息;如果第一缺失数据集满足熔断条件,则阻止交易申请;以及,熔断包含交易申请对应数字资产类型的交易。所述方法通过比对钱包流水和DW流水,及时发现对应数字资产类型下的交易是否存在风险,并在确定存在风险时对交易进行熔断,避免出现大量异常流水,提高数字资产交易的安全性。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。