首页 / 专利库 / 银行与财务事项 / 货币 / 数字货币 / 区块链中数字货币的智能监测方法及系统

链中数字货币的智能监测方法及系统

阅读:920发布:2020-05-15

专利汇可以提供链中数字货币的智能监测方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 区 块 链 中 数字 货币 的智能监测方法及系统,方法包括:首先由区块链路由器向 服务器 请求 获取异常交易地址;在区块链矿工 节点 向服务器请求获取敏感关键词文件;在区块链服务器中加载 机器学习 模型;在区块链路由器获取到网络中的 数字货币 数据包后,滤除包含异常交易地址的数字货币数据包;接着在区块链矿工节点滤除包含敏感关键词的数字货币数据包,控制未被滤除的交易数据进入矿池,由区块链矿工节点打包成区块数据;由区块链服务器的机器学习模型判定出区块数据中交易对应的交易地址是否为异常交易地址。本发明可以准确和全面地监测出交易的异常交易地址、敏感关键词和区块数据中的异常交易,提高数字货币交易的安全性和监管 力 度。,下面是链中数字货币的智能监测方法及系统专利的具体信息内容。

1.一种链中数字货币的智能监测方法,其特征在于,步骤为:
由区块链路由器向服务器请求获取异常交易地址,将其作为交易地址黑名单;由区块链矿工节点向服务器请求获取敏感关键词文件;在区块链服务器中加载机器学习模型;
在区块链路由器获取到网络中的数字货币数据包后,根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,将包含黑名单交易地址的数字货币数据包滤除掉;
在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,根据敏感关键词文件对获取到的数字货币数据包进行再次过滤,将包含敏感关键词的数字货币数据包滤除掉,控制未被滤除的数字货币数据包中交易数据包的交易数据进入矿池,由区块链矿工节点打包成区块数据;
由区块链服务器向区块链全节点获取区块数据,并且提取区块数据交易中的交易地址,然后从交易地址中提取出特征,将提出的特征输入到机器学习模型中,根据机器学习模型的输出判定出对应区块数据交易对应的交易地址是否为异常交易地址。
2.根据权利要求1所述的区块链中数字货币的智能监测方法,其特征在于,区块链路由器定时向服务器请求获取异常交易地址;
在区块链路由器获取到网络中的数字货币数据包后,根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,具体如下:
针对于从网络中获取到的数字货币数据包,从中提取出与交易相关的数据包,得到交易数据包;
对交易数据包进行解析,得到交易数据包中所包含的交易输出地址;
将交易输出地址与交易地址黑名单中的异常交易地址进行比对,判定交易输出地址是否为异常交易地址;
将交易输出地址判定为异常交易地址的交易数据包进行拦截,并且将拦截结果发送给向服务器。
3.根据权利要求2所述的区块链中数字货币的智能监测方法,其特征在于,区块链路由器向服务器发送的拦截结果为:
(addrn,tx_hash,amount,timestamp,type);
其中,addrn为被拦截交易数据包的交易输出地址,tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,type表示异常交易地址类型。
4.根据权利要求1所述的区块链中数字货币的智能监测方法,其特征在于,在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,进行如下过滤处理:
从数字货币数据包中提取出与交易相关的数据包,得到交易数据包;
对交易数据包进行解析,得到交易数据包的输出脚本;
检测输出脚本的内容,判定输出脚本的内容是否包含敏感关键词文件中的关键词,若是,则对输出脚本对应交易数据包进行拦截,并将拦截结果发送给服务器;并且控制未被拦截的交易数据包中的交易数据进入矿池。
5.根据权利要求4所述的区块链中数字货币的智能监测方法,其特征在于,区块链矿工节点向服务器发送的拦截结果为:
(tx_hash,amount,timestamp,keyword,scripttype);
其中tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,keyword表示被拦截交易数据包中的敏感关键词,scripttype表示被拦截交易数据包的脚本类型。
6.根据权利要求1所述的区块链中数字货币的智能监测方法,其特征在于,服务器在向区块链全节点获取到区块数据后,通过以下处理得到异常交易地址:
解析出区别数据中的交易txk(k∈[1,β]),其中β表示交易总数量;
从交易txk中提取中交易地址addrt;然后从交易地址addrt中提取出与交易地址相关的特征;
将上述提取的与交易地址相关的特征输入到机器学习模型中,通过机器学习模型检测交易txk是否为庞氏骗局交易;若是,则将检测结果存储在服务器中,并且将交易txk对应的交易地址判定为异常交易地址,同时更新服务器中的异常交易地址列表。
7.根据权利要求6所述的区块链中数字货币的智能监测方法,其特征在于,所述存储在服务器中的检测结果为:
(addrt,tx_hasht,amountt,timestampt,block_hasht,block_heightt);
其中addrt为交易txk的交易地址,tx_hasht为交易txk的交易号,amountt表示交易txk对应的交易金额,timestampt表示时间戳,block_hasht表示交易txk所在区块的hash值,block_heightt表示交易txk所在区块的高度。
8.根据权利要求6所述的区块链中数字货币的智能监测方法,其特征在于,从交易地址addrt中提取出与交易地址相关的特征包括:交易地址的第一次交易时间和最后一次交易时间相差的天数lifetime、交易地址至少有一笔交易的天数active_day、交易地址每天平均的交易数目frequency、交易地址接收/发送的金额总数量total_send_BTC/total_receive_BTC、交易地址接收/发送的金额总数量total_send_USD/total_receive_USD、交易地址接收/发送的平均金额数量total_send_BTC/total_receive_BTC、交易地址接收/发送的平均金额数量total_send_USD/total_receive_USD、交易地址转账数量占总数量的比例ratio,以及交易地址转账,后来又接收同个交易地址转账的交易地址数量payback。
9.根据权利要求1所述的区块链中数字货币的智能监测方法,其特征在于,在区块链服务器中加载的机器学习模型通过以下训练过程训练得到:
获取多个庞氏骗局交易的异常交易地址addrp和正常交易的正常交易地址addrnp;
分别对异常交易地址addrp和正常交易地址addrnp进行特征提取,提取出的与交易地址相关的特征构成样本集;
利用Bootstrap方法对样本集进行抽取,生成多个不同的训练集;
针对于多个训练集,将训练集中的与交易地址相关的特征作为输入,通过bagging方法分别对应训练得到多个决策树,当训练达到所设定的训练次数,决策树训练完成;
训练完成后的多个决策树组成随机森林模型,随机森林模型即为训练得到的机器学习模型。
10.一种区块链中数字货币的智能监测系统,其特征在于,包括设置在区块链路由器中的第一监测模块、设置在区块链矿工节点中的第二监测模块和设置在区块链服务器中的第三监测模块;
所述第一监测模块包括黑名单生成模块和第一过滤模块;其中:
黑名单生成模块,用于向服务器请求获取异常交易地址,将其作为交易地址黑名单;
第一过滤模块,在区块链路由器获取到网络中的数字货币数据包后,用于根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,将包含黑名单交易地址的数字货币数据包滤除掉;
所述第二监测模块包括敏感关键词获取模块、第二过滤模块和数据控制模块;其中:
敏感关键词获取模块,用于向服务器请求获取敏感关键词文件;
第二过滤模块,在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,用于根据敏感关键词文件对获取到的数字货币数据包进行再次过滤,将包含敏感关键词的数字货币数据包滤除掉;
数据控制模块,用于控制未被第二过滤模块滤除的数字货币数据包中交易数据包的交易数据进入矿池,由区块链矿工节点打包成区块数据;
所述第三监测模块包括学习模型加载模块、区块数据获取模块、交易地址提取模块、特征提取模块和异常交易地址判定模块;其中:
学习模型加载模块,用于加载机器学习模型;
区块数据获取模块,用于向区块链全节点获取区块数据;
交易地址提取模块,提取区块数据交易中的交易地址;
特征提取模块,用于从交易地址中提取出特征;
异常交易地址判定模块,用于将特征提取模块提取的特征输入到机器学习模型中,根据机器学习模型的输出判定出对应区块数据交易对应的交易地址是否为异常交易地址。

说明书全文

链中数字货币的智能监测方法及系统

技术领域

[0001] 本发明涉及区块链技术领域,特别涉及一种区块链中数字货币的智能监测方法及系统。

背景技术

[0002] 人工智能、区块链技术等新兴技术的发展深刻地影响着人类的生活方式。其中,区块链技术作为最受关注的前沿技术之一,在2009年到2019年近十年的时间里,从数字货币领域不断地衍生到工业4.0的场景,构建了一种基于互联网的新生态。
[0003] 区块链技术在金融领域最早的应用是数字货币,中本聪在2009提出的比特币经过十年的发展已经成为全球范围内参与范围最广、接受度最高的公有链之一。目前,比特币市场价值排名第一,市值一度超过2000亿美元,日交易量近230亿美元。除了比特币以外,以太坊作为全球第二的数字货币平台市值也高达320亿美元,日交易量高达100亿。区块链的巨大市场价值和超高回报率,让越来越多的投资者参与到比特币、以太坊等等数字货币的投资和使用中。
[0004] Chen W等人[Chen W,Zheng Z,Ngai E C H,et al.Exploiting Blockchain Data to Detect Smart Ponzi Schemes on Ethereum[J].IEEE Access,2019,7:37575-37586.]提出基于分析智能合约代码的区块链监管方案。Monamo P等人[Monamo P,Marivate V,Twala B.Unsupervised learning for robust Bitcoin fraud detection[C]//2016Information Security for South Africa(ISSA).IEEE,2016:129-134.]对如何识别和过滤区块链上的非法数据,进行了相关的区块链非法数据收集和分析工作。但是,这些项目大都只关注与区块链监管的某一个环节,而没有提出一套比较完善的可实施方案。

发明内容

[0005] 本发明的第一目的在于克服现有技术的缺点与不足,提供一种区块链中数字货币的智能监测方法,该方法可以准确和全面地监测出交易的异常交易地址、敏感关键词和区块数据中的异常交易,提高数字货币交易的安全性和监管度。
[0006] 本发明的第二目的在于提供一种区块链中数字货币的智能监测系统。
[0007] 本发明的第一目的通过下述技术方案实现:一种区块链中数字货币的智能监测方法,步骤为:
[0008] 由区块链路由器向服务器请求获取异常交易地址,将其作为交易地址黑名单;由区块链矿工节点向服务器请求获取敏感关键词文件;在区块链服务器中加载机器学习模型;
[0009] 在区块链路由器获取到网络中的数字货币数据包后,根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,将包含黑名单交易地址的数字货币数据包滤除掉;
[0010] 在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,根据敏感关键词文件对获取到的数字货币数据包进行再次过滤,将包含敏感关键词的数字货币数据包滤除掉,控制未被滤除的数字货币数据包中交易数据包的交易数据进入矿池,由区块链矿工节点打包成区块数据;
[0011] 由区块链服务器向区块链全节点获取区块数据,并且提取区块数据交易中的交易地址,然后从交易地址中提取出特征,将提出的特征输入到机器学习模型中,根据机器学习模型的输出判定出对应区块数据交易对应的交易地址是否为异常交易地址。
[0012] 优选的,区块链路由器定时向服务器请求获取异常交易地址;
[0013] 在区块链路由器获取到网络中的数字货币数据包后,根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,具体如下:
[0014] 针对于从网络中获取到的数字货币数据包,从中提取出与交易相关的数据包,得到交易数据包;
[0015] 对交易数据包进行解析,得到交易数据包中所包含的交易输出地址;
[0016] 将交易输出地址与交易地址黑名单中的异常交易地址进行比对,判定交易输出地址是否为异常交易地址;
[0017] 将交易输出地址判定为异常交易地址的交易数据包进行拦截,并且将拦截结果发送给向服务器。
[0018] 更进一步的,区块链路由器向服务器发送的拦截结果为:
[0019] (addrn,tx_hash,amount,timestamp,type);
[0020] 其中,addrn为被拦截交易数据包的交易输出地址,tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,type表示异常交易地址类型。
[0021] 优选的,在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,进行如下过滤处理:
[0022] 从数字货币数据包中提取出与交易相关的数据包,得到交易数据包;
[0023] 对交易数据包进行解析,得到交易数据包的输出脚本;
[0024] 检测输出脚本的内容,判定输出脚本的内容是否包含敏感关键词文件中的关键词,若是,则对输出脚本对应交易数据包进行拦截,并将拦截结果发送给服务器;并且控制未被拦截的交易数据包中的交易数据进入矿池。
[0025] 更进一步的,区块链矿工节点向服务器发送的拦截结果为:
[0026] (tx_hash,amount,timestamp,keyword,scripttype);
[0027] 其中tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,keyword表示被拦截交易数据包中的敏感关键词,scripttype表示被拦截交易数据包的脚本类型。
[0028] 优选的,服务器在向区块链全节点获取到区块数据后,通过以下处理得到异常交易地址:
[0029] 解析出区别数据中的交易txk(k∈[1,β]),其中β表示交易总数量;
[0030] 从交易txk中提取中交易地址addrt;然后从交易地址addrt中提取出与交易地址相关的特征;
[0031] 将上述提取的与交易地址相关的特征输入到机器学习模型中,通过机器学习模型检测交易txk是否为庞氏骗局交易;若是,则将检测结果存储在服务器中,并且将交易txk对应的交易地址判定为异常交易地址,同时更新服务器中的异常交易地址列表。
[0032] 更进一步的,所述存储在服务器中的检测结果为:
[0033] (addrt,tx_hasht,amountt,timestampt,block_hasht,block_heightt);
[0034] 其中addrt为交易txk的交易地址,tx_hasht为交易txk的交易号,amountt表示交易txk对应的交易金额,timestampt表示时间戳,block_hasht表示交易txk所在区块的hash值,block_heightt表示交易txk所在区块的高度。
[0035] 更进一步的,从交易地址addrt中提取出与交易地址相关的特征包括:交易地址的第一次交易时间和最后一次交易时间相差的天数lifetime、交易地址至少有一笔交易的天数active_day、交易地址每天平均的交易数目frequency、交易地址接收/发送的金额总数量total_send_BTC/total_receive_BTC、交易地址接收/发送的金额总数量total_send_USD/total_receive_USD、交易地址接收/发送的平均金额数量total_send_BTC/total_receive_BTC、交易地址接收/发送的平均金额数量total_send_USD/total_receive_USD、交易地址转账数量占总数量的比例ratio,以及交易地址转账,后来又接收同个交易地址转账的交易地址数量payback。
[0036] 优选的,在区块链服务器中加载的机器学习模型通过以下训练过程训练得到:
[0037] 获取多个庞氏骗局交易的异常交易地址addrp和正常交易的正常交易地址addrnp;
[0038] 分别对异常交易地址addrp和正常交易地址addrnp进行特征提取,提取出的与交易地址相关的特征构成样本集;
[0039] 利用Bootstrap方法对样本集进行抽取,生成多个不同的训练集;
[0040] 针对于多个训练集,将训练集中的与交易地址相关的特征作为输入,通过bagging方法分别对应训练得到多个决策树,当训练达到所设定的训练次数,决策树训练完成;
[0041] 训练完成后的多个决策树组成随机森林模型,随机森林模型即为训练得到的机器学习模型。
[0042] 本发明的第二目的通过下述技术方案实现:一种区块链中数字货币的智能监测系统,包括设置在区块链路由器中的第一监测模块、设置在区块链矿工节点中的第二监测模块和设置在区块链服务器中的第三监测模块;
[0043] 所述第一监测模块包括黑名单生成模块和第一过滤模块;其中:
[0044] 黑名单生成模块,用于向服务器请求获取异常交易地址,将其作为交易地址黑名单;
[0045] 第一过滤模块,在区块链路由器获取到网络中的数字货币数据包后,用于根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,将包含黑名单交易地址的数字货币数据包滤除掉;
[0046] 所述第二监测模块包括敏感关键词获取模块、第二过滤模块和数据控制模块;其中:
[0047] 敏感关键词获取模块,用于向服务器请求获取敏感关键词文件;
[0048] 第二过滤模块,在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,用于根据敏感关键词文件对获取到的数字货币数据包进行再次过滤,将包含敏感关键词的数字货币数据包滤除掉;
[0049] 数据控制模块,用于控制未被第二过滤模块滤除的数字货币数据包中交易数据包的交易数据进入矿池,由区块链矿工节点打包成区块数据;
[0050] 所述第三监测模块包括学习模型加载模块、区块数据获取模块、交易地址提取模块、特征提取模块和异常交易地址判定模块;其中:
[0051] 学习模型加载模块,用于加载机器学习模型;
[0052] 区块数据获取模块,用于向区块链全节点获取区块数据;
[0053] 交易地址提取模块,提取区块数据交易中的交易地址;
[0054] 特征提取模块,用于从交易地址中提取出特征;
[0055] 异常交易地址判定模块,用于将特征提取模块提取的特征输入到机器学习模型中,根据机器学习模型的输出判定出对应区块数据交易对应的交易地址是否为异常交易地址。
[0056] 本发明相对于现有技术具有如下的优点及效果:
[0057] (1)本发明公开了一种区块链中数字货币的智能监测方法,包括:首先由区块链路由器向服务器请求获取异常交易地址;由区块链矿工节点向服务器请求获取敏感关键词文件;在区块链服务器中加载机器学习模型;在区块链路由器获取到网络中的数字货币数据包后,滤除包含黑名单交易地址的数字货币数据包;接着在区块链矿工节点滤除包含敏感关键词的数字货币数据包,控制未被滤除的交易数据进入矿池,由区块链矿工节点打包成区块数据;由区块链服务器的机器学习模型判定出区块数据中交易对应的交易地址是否为异常交易地址。本发明通过在交易进入矿池前先进行异常交易地址和敏感关键词的滤除,再通过机器学习模型进行区块数据中的异常交易的排查,实现准确和全面地监测出交易的异常交易地址、敏感关键词和存在于区块数据中的异常交易,既能大量过滤网络中显而易见的异常交易,又能分析出潜在的异常交易,多层次地监管数字货币交易,从而实现对区块链数字货币中进行更为完整的监管。
[0058] (2)本发明区块链中数字货币的智能监测方法中,通过对数字货币数据包的内容进行检查并拦截如异常交易地址和敏感关键词的敏感内容,能够有效减少敏感内容在区块链中的存储量,通过对区块数据中的交易进行检查,能够有效减少区块链中诸如庞氏骗局的异常交易,提高区块链数字货币交易的安全性和监管力度。
[0059] (3)本发明区块链中数字货币的智能监测方法中,通过机器学习模型检测区块数据中的异常交易,能够准确又快速地分析出潜在的异常交易地址;同时,将所分析的异常交易地址及时更新到服务器,使得各个路由器能够实时获取到最新的异常交易地址,从而实现监管的自动化和智能化。附图说明
[0060] 图1是本发明区块链的网络部署图。
[0061] 图2是本发明区块链中数字货币的智能监测系统的结构示意图。

具体实施方式

[0062] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0063] 实施例1
[0064] 如图1中所示,区块链中主要包括以下几种设备:路由器、矿工节点Node2、全节点Node1、服务器、客户端Node3,它们之间能够通过有线或无线的方式进行通信,在本实施例中,为了解决现有区块链系统运行过程中包含的暗网交易、涉及金融诈骗的交易以及注入敏感内容的交易等,提供一种区块链中数字货币的智能监测方法,其中数字货币可以是比特币、以太坊等货币,如图1所示,该方法步骤为:
[0065] S1、由区块链路由器(如图1中R1、R2、R3)向服务器S请求获取异常交易地址,将其作为交易地址黑名单;由区块链矿工节点Node2向服务器S请求获取敏感关键词文件;在区块链服务器S中加载机器学习模型。
[0066] 在本实施例中,路由器可定时向服务器请求获取异常交易地址,实现对交易地址黑名单进行更新。矿工节点可定时向服务器请求获取敏感关键词文件,以得到最新的敏感关键词。
[0067] 其中,机器学习模型具体是采用随机森林算法训练得到,训练过程如下:
[0068] S11、获取多个庞氏骗局交易的异常交易地址addrp和正常交易的正常交易地址addrnp。
[0069] 本实施例庞氏骗局交易的异常交易地址具体是通过爬虫的方式获取到数字货币论坛中的帖子内容,若帖子中带有敏感关键字例如“scam”、“hyip”,则从帖子的内容中直接获取到庞氏骗局交易的异常交易地址,或者是从帖子的内容中获取到相关网址链接,根据网址链接获取到异常交易地址。正常交易地址具体是随机选择区块链中某一高度的区块,从区块中获取到交易地址。
[0070] S12、分别对异常交易地址addrp和正常交易地址addrnp进行特征提取,提取出的与交易地址相关的特征构成样本集。
[0071] 其中,与交易地址相关的特征包括:交易地址的第一次交易时间和最后一次交易时间相差的天数lifetime、交易地址至少有一笔交易的天数active_day、交易地址每天平均的交易数目frequency、交易地址接收/发送的金额总数量(比特币)total_send_BTC/total_receive_BTC、交易地址接收/发送的金额总数量(美元)total_send_USD/total_receive_USD、交易地址接收/发送的平均金额数量(比特币)total_send_BTC/total_receive_BTC、交易地址接收/发送的平均金额数量(美元)total_send_USD/total_receive_USD、交易地址转账数量占总数量的比例ratio,以及交易地址转账,后来又接收同个交易地址转账的交易地址数量payback。
[0072] 例如,当从交易地址中提取出交易地址发送的金额总数量的特征时,具体是从服务器中搜索出与交易地址相关的交易,然后将交易地址所发送的每个交易金额相加,从而得到交易地址发送的金额总数量的特征。
[0073] S13、利用Bootstrap方法对样本集进行抽取,生成多个不同的训练集。
[0074] S14、针对于多个训练集,将训练集中的与交易地址相关的特征作为输入,通过bagging方法分别对应训练得到多个决策树,当训练达到所设定的训练次数,决策树训练完成。
[0075] S15、训练完成后的多个决策树组成随机森林模型,随机森林模型即为训练得到的机器学习模型。
[0076] 在本实施例中,交易可以通过客户端Node3发起,且在网络中具体是存储在数字货币数据包中。
[0077] S2、在区块链路由器获取到网络中的数字货币数据包后,根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,将包含黑名单交易地址的数字货币数据包滤除掉,具体如下:
[0078] S21、针对于从网络中获取到的数字货币数据包,从中提取出与交易相关的数据包,得到交易数据包;
[0079] S22、对交易数据包进行解析,得到交易数据包中所包含的交易输出地址addressout;
[0080] S23、将交易输出地址addressout与交易地址黑名单中的异常交易地址进行比对,判定交易输出地址addressout是否为异常交易地址;若交易输出地址addressout包含于交易地址黑名单中,则判定交易输出地址addressout为异常交易地址,若交易输出地址addressout不包含于交易地址黑名单中,则交易输出地址addressout对应的交易数据包不进行任何处理。
[0081] S24、将交易输出地址判定为异常交易地址的交易数据包进行拦截,并且将拦截结果发送给向服务器。本实施例中,区块链路由器向服务器发送的拦截结果为:
[0082] (addrn,tx_hash,amount,timestamp,type);
[0083] 其中,addrn为被拦截交易数据包的交易输出地址,tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,type表示异常交易地址类型。
[0084] S3、在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,根据敏感关键词文件对获取到的数字货币数据包进行再次过滤,将包含敏感关键词例如非文明用语的数字货币数据包滤除掉,控制未被滤除的数字货币数据包中交易数据包的交易数据进入矿池,由区块链矿工节点从矿池中获取交易数据并将交易数据打包成区块数据。其中,由于区块链中的各个节点之间数据是相互同步的,因此,矿工节点将交易数据打包成区块数据之后,矿工节点会向其他矿工节点和全节点发送最新的区块数据。
[0085] 其中,对获取到的数字货币数据包进行再次过滤,具体如下:
[0086] S31、从数字货币数据包中提取出与交易相关的数据包,得到交易数据包tx;
[0087] S32、对交易数据包tx进行解析,得到交易数据包tx的输出脚本scriptout;
[0088] S33、检测输出脚本scriptout的内容,判定输出脚本scriptout的内容是否包含敏感关键词文件中的关键词,若是,则对输出脚本对应交易数据包进行拦截,并将拦截结果发送给服务器;并且控制未被拦截的交易数据包中的交易数据进入矿池。本实施例具体是使用Aho-Corasick敏感词模式匹配算法对输出脚本的内容进行判定。
[0089] 本实施例中,区块链矿工节点向服务器发送的拦截结果为:
[0090] (tx_hash,amount,timestamp,keyword,scripttype);
[0091] 其中tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,keyword表示被拦截交易数据包中的敏感关键词,scripttype表示被拦截交易数据包的脚本类型。
[0092] S4、由区块链服务器向区块链全节点Node1获取区块数据Draw,并且提取区块Draw数据交易中的交易地址,然后从交易地址中提取出特征,将提出的特征输入到机器学习模型中,根据机器学习模型的输出判定出对应区块数据交易对应的交易地址是否为异常交易地址。
[0093] 本实施例中,服务器在向区块链全节点获取到区块数据后,通过以下处理得到异常交易地址:
[0094] S41、解析出区块数据中的交易txk(k∈[1,β]),其中β表示交易总数量;
[0095] S42、从交易txk中提取中交易地址addrt;然后从交易地址addrt中提取出与交易地址相关的特征;
[0096] S43、将上述提取的与交易地址相关的特征输入到机器学习模型中,通过机器学习模型检测交易txk是否为庞氏骗局交易;若是,则将检测结果存储在服务器中,并且将交易txk对应的交易地址判定为异常交易地址,同时更新服务器中的异常交易地址列表。
[0097] 本实施例中,存储在服务器中的检测结果为:
[0098] (addrt,tx_hasht,amountt,timestampt,block_hasht,block_heightt);
[0099] 其中addrt为交易txk的交易地址,tx_hasht为交易txk的交易号,amountt表示交易txk对应的交易金额,timestampt表示时间戳,block_hasht表示交易txk所在区块的hash值,block_heightt表示交易txk所在区块的高度。
[0100] 实施例2
[0101] 本实施例公开了一种区块链中数字货币的智能监测系统,如图1和图2所示,包括设置在区块链路由器(如图1中R1、R2、R3)中的第一监测模块、设置在区块链矿工节点Node2中的第二监测模块和设置在区块链服务器S中的第三监测模块。在本实施例中,区块链路由器、区块链矿工节点和区块链服务器之间具体是通过有线连接或者无线连接的方式进行通信,且均是双向传输数字货币数据流。
[0102] 所述第一监测模块包括黑名单生成模块和第一过滤模块;其中:
[0103] 黑名单生成模块,用于向服务器请求获取异常交易地址,将其作为交易地址黑名单。
[0104] 第一过滤模块,在区块链路由器获取到网络中的数字货币数据包后,用于根据交易地址黑名单对获取到的数字货币数据包进行过滤处理,将包含黑名单交易地址的数字货币数据包滤除掉。
[0105] 所述第一过滤模块进一步包括:第一提取模块、第一解析模块、第一异常交易地址判定模块和第一拦截模块:
[0106] 第一提取模块,用于从网络中获取到的数字货币数据包中提取出与交易相关的数据包,得到交易数据包;
[0107] 第一解析模块,用于对交易数据包进行解析,得到交易数据包中所包含的交易输出地址;
[0108] 第一异常交易地址判定模块,用于将交易输出地址与交易地址黑名单中的异常交易地址进行比对,判定交易输出地址是否为异常交易地址;
[0109] 第一拦截模块,用于将交易输出地址判定为异常交易地址的交易数据包进行拦截,并且将拦截结果发送给向服务器。
[0110] 区块链路由器向服务器发送的拦截结果为:
[0111] (addrn,tx_hash,amount,timestamp,type);
[0112] 其中,addrn为被拦截交易数据包的交易输出地址,tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,type表示异常交易地址类型。
[0113] 所述第二监测模块包括敏感关键词获取模块、第二过滤模块和数据控制模块;其中:
[0114] 敏感关键词获取模块,用于向服务器请求获取敏感关键词文件。
[0115] 第二过滤模块,在区块链矿工节点通过网络获取到区块链路由器过滤后的数字货币数据包后,用于根据敏感关键词文件对获取到的数字货币数据包进行再次过滤,将包含敏感关键词的数字货币数据包滤除掉。
[0116] 所述第二过滤模块进一步包括:第二提取模块、第二解析模块、敏感关键词判定模块和第二拦截模块:
[0117] 第二提取模块,用于从数字货币数据包中提取出与交易相关的数据包,得到交易数据包;
[0118] 第二解析模块,用于对交易数据包进行解析,得到交易数据包的输出脚本;
[0119] 敏感关键词判定模块,用于检测输出脚本的内容,判定输出脚本的内容是否包含敏感关键词文件中的关键词;
[0120] 第二拦截模块,用于将输出脚本的内容判定包含敏感关键词文件中的关键词的交易数据包进行拦截,并将拦截结果发送给服务器。
[0121] 本实施例中,上述区块链矿工节点向服务器发送的拦截结果为:
[0122] (tx_hash,amount,timestamp,keyword,scripttype);
[0123] 其中tx_hash代表被拦截交易数据包的交易号,amount表示对应的交易金额,timestamp表示时间戳,keyword表示被拦截交易数据包中的敏感关键词,scripttype表示被拦截交易数据包的脚本类型。
[0124] 数据控制模块,用于控制未被第二过滤模块滤除的数字货币数据包中交易数据包的交易数据进入矿池,由区块链矿工节点Node2打包成区块数据。
[0125] 所述第三监测模块包括学习模型加载模块、区块数据获取模块、交易地址提取模块、特征提取模块和异常交易地址判定模块;其中:
[0126] 学习模型加载模块,用于加载机器学习模型;本实施例的机器学习模型可用于检测交易是否为庞氏骗局交易。
[0127] 区块数据获取模块,用于向区块链全节点Node1获取区块数据。
[0128] 交易地址提取模块,提取区块数据交易中的交易地址。
[0129] 特征提取模块,用于从交易地址中提取出与交易相关的特征;特征包括:交易地址的第一次交易时间和最后一次交易时间相差的天数lifetime、交易地址至少有一笔交易的天数active_day、交易地址每天平均的交易数目frequency、交易地址接收/发送的金额总数量(比特币)total_send_BTC/total_receive_BTC、交易地址接收/发送的金额总数量(美元)total_send_USD/total_receive_USD、交易地址接收/发送的平均金额数量(比特币)total_send_BTC/total_receive_BTC、交易地址接收/发送的平均金额数量(美元)total_send_USD/total_receive_USD、交易地址转账数量占总数量的比例ratio,以及交易地址转账,后来又接收同个交易地址转账的交易地址数量payback。
[0130] 异常交易地址判定模块,用于将特征提取模块提取的特征输入到机器学习模型中,根据机器学习模型的输出判定出对应区块数据交易对应的交易地址是否为异常交易地址,也即是当机器学习模型检测到交易为庞氏骗局交易,异常交易地址判定模块判定区块数据交易对应的交易地址为异常交易地址,并根据机器学习模型的检测结果存储在服务器中,对服务器的异常交易地址列表进行更新。
[0131] 本实施例中,上述存储在服务器中的检测结果为:
[0132] (addrt,tx_hasht,amountt,timestampt,block_hasht,block_heightt);
[0133] 其中addrt为交易txk的交易地址,tx_hasht为交易txk的交易号,amountt表示交易txk对应的交易金额,timestampt表示时间戳,block_hasht表示交易txk所在区块的hash值,block_heightt表示交易txk所在区块的高度。
[0134] 本实施例系统中,第三监测模块还包括样本集获取模块、训练集生成模块和机器学习模型训练模块:
[0135] 样本集获取模块,用于获取多个庞氏骗局交易的异常交易地址addrp和正常交易的正常交易地址addrnp,将所获取到的异常交易地址addrp和正常交易地址addrnp提取出与交易地址相关的特征以构成样本集。
[0136] 训练集生成模块,用于利用Bootstrap方法对样本集进行抽取,生成多个不同的训练集。
[0137] 机器学习模型训练模块,用于针对于多个训练集,将训练集中的与交易地址相关的的特征作为输入,通过bagging方法分别对应训练得到多个决策树,当训练达到所设定的训练次数,决策树训练完成;训练完成后的多个决策树组成随机森林模型,随机森林模型即为机器学习模型。
[0138] 在本实施例监测系统中,交易的监测不限于第一监测模块、第二监测模块和第三监测模块,具体可以根据实际需要设置更多层级的监测模块,实现对交易更多层级和更为严密的监测。
[0139] 需要说明的是,本实施例提供的系统仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0140] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈