System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于机器学习及数据挖掘,具体涉及一种基于图神经网络的区块链交易行为预测方法。
技术介绍
1、区块链技术取得了重大发展,各行业引入区块链作为底层技术,这将不可避免地导致大量数据以区块链的形式出现。因此,研究区块链数据具有重要意义。由于区块链系统通过匿名交易的方式保护用户的隐私,因此分析区块链数据,推断用户的交易行为,预测交易是区块链数据挖掘中的重要问题。不同专家学者在区块链交易行为预测方面进行了不同方法的研究,从而对区块链交易行为进行较为准确的预测。
2、传统的基于交易图的交易行为预测和刻画方法包含以下几种:
3、1)基于特征提取的机器学习方法。
4、2)基于图学习算法的区块链异常交易行为预测方法。
5、3)基于级联的机器学习方法。
6、以上这些算法都是在区块链交易图上执行的。同时目前提取特征的方法通常进考虑交易双方的出入度或者是交易发起次数等统计信息。这些信息通常难以表达区块链交易图中的节点链接关系。
技术实现思路
1、本专利技术的目的在于克服现有技术的不足,提供一种基于图神经网络的区块链交易行为预测方法,在交易子图中使用图神经网络算法,可以表达交易图中节点的链接关系,将有效快速的对区块链交易行为进行预测。
2、本专利技术解决其技术问题是通过以下技术方案实现的:
3、一种基于图神经网络的区块链交易行为预测方法,其特征在于:所述方法的步骤为:
4、1)搭建区块链主网,配置网络接口
5、2)利用基于数据字典的交易图构建算法对区块链交易数据集进行区块链交易图的构建;
6、3)利用基于标记矩阵的交易子图构建算法对区块链交易图进行子图划分;
7、4)利用基于图神经网络和随机游走的交易行为预测方法对无权图交易行为进行预测;
8、5)利用基于图神经网络和随机游走的交易行为预测方法对有权图交易行为进行预测。
9、而且,所述步骤1)具体方法为:使用ethereum jsonrpc获取区块链交易数据trans_dataether,首先搭建go ethereum连接区块链主网,通过配置ethereum rpc实现区块链的http接口,通过编写爬虫程序对区块链交易数据trans_dataether进行数据获取、预处理和存储,同时得到区块链交易数据集trans_data_setether;其中区块链交易数据集trans_data_setether的数据结构包括:序号ether_setid、输入地址ether_setinput、输出地址ether_setoutput、交易额ether_setvalue、时间戳ether_settime。
10、而且,所述步骤2)具体方法为:
11、201)利用上述区块链交易数据集trans_data_setether,以输入地址ether_setinput和输出地址ether_setoutput为节点,以每一条区块链数据存在的交易关系为边,使用交易额ether_setvalue和时间戳ether_settime作为权值,构建输入地址ether_setinput指向输出地址ether_setoutput的区块链交易有向图graphd;
12、202)对区块链交易有向图graphd进行提取和预处理;
13、203)由于交易的输入地址ether_setinput和输出地址ether_setoutput为32字节字符串,造成节点名称存取困难,因此,使用数据字典对区块链交易有向图graphd进行重新标记;此过程中形成区块链交易数据字典表trans_data_dicether以及重新标记的区块链交易数据表new_trans_data_setform;其中区块链交易数据字典表trans_data_dicether包括:编号trans_data_dicid,交易地址trans_data_dicaddress;重新标记的区块链交易数据表new_trans_data_setform包括:序号new_ether_set_formid、输入地址序号new_ether_set_forminid、输出地址序号new_ether_set_formoutid、交易额new_ether_set_formvalue、时间戳new_ether_set_formtime;同时重新标记的区块链交易数据表new_trans_data_setform中的输入地址序号new_ether_set_forminid和输出地址序号new_ether_set_formoutid存储的内容是区块链交易数据字典表trans_data_dicether的编号trans_data_dicid;
14、204)在重新标记的区块链交易数据表new_trans_data_setform的基础上,构建区块链交易图blockchain_transg;其中输入地址序号new_ether_set_forminid和输出地址序号new_ether_set_formoutid为区块链交易图blockchain_transg中的节点和构造由节点指向的边边的权值为边边的时间属性由于使用数据字典对区块链交易有向图graphd进行重新标记,因此读取new_trans_data_setform中重新标记的区块链交易图,该区块链交易图表示为交易图矩阵w:其第i行第j列的元素为即new_trans_data_setform中代表的new_ether_set_forminid以及代表的new_ether_set_formoutid所在行的编号trans_data_dicid。同时构成交易图时间矩阵t:其第i行第j列的元素为
15、205)同时区块链交易图blockchain_transg包括:节点节点边边的权值边的时间属性n为节点总数。
16、而且,所述步骤3)具体方法为:
17、301)假设标记矩阵s由边vi对应的id值idi构成:
18、s=[idi]n×1,i=1,2,…,n
19、302)若存在节点vi指向vj的边eij,则:
20、
21、其中:sk代表矩阵s中的第k行元素;
22、303)对所有边eij执行上述操作后,对标记矩阵s进行整理,对相同的sk值使用最小行号进行标记:
23、{sk=min(k)|k=1,2,…,n且sk=si}
24、将标记矩阵s按照交换排序算法调整为升序,在交换第m行和第n行时同时交换邻接矩阵w和邻接矩阵t的第m行和第n行以及第m列和第n列,调整后,邻接矩阵w和邻接矩阵t将变换为分块对角矩阵形式wdiag:
25、
26、而且,所述步骤4)具体方法为:
27、401)随机游走方法最初是定义在一个包含n个节点的强连接且非周期性本文档来自技高网...
【技术保护点】
1.一种基于图神经网络的区块链交易行为预测方法,其特征在于:所述方法的步骤为:
2.根据权利要求1所述的基于图神经网络的区块链交易行为预测方法,其特征在于:所述步骤1)具体方法为:使用Ethereum JSON RPC获取区块链交易数据trans_dataether,首先搭建Go Ethereum连接区块链主网,通过配置Ethereum RPC实现区块链的HTTP接口,通过编写爬虫程序对区块链交易数据trans_dataether进行数据获取、预处理和存储,同时得到区块链交易数据集trans_data_setether;其中区块链交易数据集trans_data_setether的数据结构包括:序号ether_setId、输入地址ether_setInput、输出地址ether_setOutput、交易额ether_setValue、时间戳ether_setTime。
3.根据权利要求2所述的基于图神经网络的区块链交易行为预测方法,其特征在于:所述步骤2)具体方法为:
4.根据权利要求1所述的基于图神经网络的区块链交易行为预测方法,其特征在于:所
5.根据权利要求1所述的基于图神经网络的区块链交易行为预测方法,其特征在于:所述步骤4)具体方法为:
6.根据权利要求1所述的基于图神经网络的区块链交易行为预测方法,其特征在于:所述步骤5)具体方法为:
...【技术特征摘要】
1.一种基于图神经网络的区块链交易行为预测方法,其特征在于:所述方法的步骤为:
2.根据权利要求1所述的基于图神经网络的区块链交易行为预测方法,其特征在于:所述步骤1)具体方法为:使用ethereum json rpc获取区块链交易数据trans_dataether,首先搭建go ethereum连接区块链主网,通过配置ethereum rpc实现区块链的http接口,通过编写爬虫程序对区块链交易数据trans_dataether进行数据获取、预处理和存储,同时得到区块链交易数据集trans_data_setether;其中区块链交易数据集trans_data_setether的数据结构包括:序号eth...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。