当前位置: 首页 > 专利查询>江苏大学专利>正文

一种基于UTXO切片的区块链逆向溯源分析方法、网络设备及存储设备技术

技术编号:36201043 阅读:10 留言:0更新日期:2023-01-04 11:54
本发明专利技术公开了一种基于UTXO切片的区块链逆向溯源分析方法、网络设备及存储设备,通过逆向运行区间交易网络模型完成对UTXO模型区块链的溯源分析,首先根据交易数据构建一个区间内的交易网络模型;然后根据UTXO切片数据完成对切片状态的信息载入;接着按照各个交易发生的逆向顺序进行交易网络的逆向运行,同时分析聚类地址的基因,直到区间内所有交易逆向运行完成,完成对区块链的逆向溯源分析。本发明专利技术实现对UTXO类型区块链在一个时间段内的建网,降低对计算机储存空间的使用;实现了切片状态的载入,有效减少了时间和空间复杂度,实现了在区块链交易数据日益增长的应用场景中的分析需求;能够满足对UTXO类型区块链数据逆向追踪溯源的需求。踪溯源的需求。踪溯源的需求。

【技术实现步骤摘要】
一种基于UTXO切片的区块链逆向溯源分析方法、网络设备及存储设备


[0001]本专利技术主要涉及区块链领域和信息
,尤其涉及UTXO区块链的逆向溯源分析,具体涉及一种基于UTXO切片的区块链区间交易网络的逆向溯源分析方法、网络设备及存储设备。

技术介绍

[0002]UTXO区块链是区块链领域重要组成部分之一。随着当今区块链网络规模不断变大,对UTXO区块链数据的溯源追踪也变得愈发困难。UTXO模型的区块链不会记录地址的余额,每一笔交易都需要对应的输入和输出,因此具有较高的复杂性。而随着网络安全问题日益凸显,对于区块链数据的溯源追踪问题也需要快速、高效的解决方案。在这样的日益复杂的应用环境下,传统的以数据库查询为主的区块链数据追踪方法难以满足大规模交易分析的需求。
[0003]2020年发表于《IEEE Transactions on Network Science and Engineering》的文献《A Bitcoin Transaction Network Analytic Method for Future Blockchain Forensic Investigation》提出了一种称之为(Blockchain Transaction Network)BTN的交易网络模型对UTXO区块链交易进行大规模分析,极大提高了分析效率。由于UTXO区块链的不保存余额信息的性质,BTN模型需要从初始区块开始建立。随着日益增长的交易量的增多,这种整体建模的分析方法会消耗越来越多的计算资源,显然是难以持续的。公开号为CN113641755A的中国专利技术专利“一种UTXO区块链的增量式切片分析方法”提出了一种对UTXO区块链按设定的时间区间进行分段切片以保存UTXO信息和余额信息的方法。这一技术方法为一段时期内的UTXO区块链交易分析提供了技术支持。
[0004]本专利技术利用UTXO切片信息构建区间交易网络分析模型,设计了区块链逆向溯源分析方法,可以实现高效准确的区块链逆向溯源分析。

技术实现思路

[0005]为解决UTXO模型区块链分析需要从初始区块建模,消耗巨大计算资源的问题,本专利技术提出一种基于UTXO切片的区块链逆向溯源分析方法,旨在实现在一个区间内建立交易网络模型,通过交易网络的逆向运行,实现对交易的逆向溯源分析。
[0006]技术方案:本专利技术基于一种UTXO切片的区块链逆向溯源分析方法,具体步骤如下:
[0007]步骤1设置交易区间,读取区块链数据,构建区间交易网络;
[0008]步骤2读取切片数据,设置区间交易网络中断状态,并进行地址染色操作;
[0009]步骤3逆向运行区间交易网络,对交易事件进行逆向溯源分析。
[0010]进一步地,上述步骤1中,区间交易网络构建包括如下步骤:
[0011]步骤1.1设置建网区间,选定区间BTN的起始切片、终止切片,设置交易表大小;
[0012]步骤1.2新建用作储存输出的币结点表、地址的地址表、交易的交易表;
[0013]步骤1.3设置交易的输入,根据交易输入数据,将交易输入与交易和币结点绑定;
[0014]步骤1.4设置交易的输出,根据交易输出数据,将交易输出与交易、币结点与地址绑定;
[0015]步骤1.5设置交易时间戳,根据交易数据和区块数据,获取交易所在区块的时间戳,将时间戳与交易绑定。
[0016]进一步地,步骤1.3的输入绑定具体步骤包括:
[0017]步骤1.3.1根据交易输入数据,获取区间内的交易输入信息;
[0018]步骤1.3.2遍历区间内的交易输入;
[0019]步骤1.3.3将交易输入对应的币结点保存至币结点列表相应位置,并将币结点与输入绑定,若该币结点为空,则先在币结点表中新建该币结点,再保存至币结点列表相应位置并与输入绑定;
[0020]步骤1.3.4将输入与交易绑定,若该交易为空,则先在交易表中新建该交易,再将输入与交易绑定;
[0021]步骤1.3.5判断交易输入遍历是否结束,如果遍历未结束,则返回步骤1.3.2。
[0022]进一步地,步骤1.4的输出绑定具体步骤包括:
[0023]步骤1.4.1根据交易输出数据,获取区间内的交易输出信息;
[0024]步骤1.4.2遍历区间内的交易输出;
[0025]步骤1.4.3将币结点保存至币结点列表,并将币结点与输出绑定,若交易输出对应的币结点为空,则先在币结点表中新建该币结点,再保存至币结点列表并与输出绑定;
[0026]步骤1.4.4将币结点与地址绑定,若币结点对应的地址为空,则先在地址表中新建该地址,再将币结点与该地址绑定;
[0027]步骤1.4.5将输出与交易绑定,若该交易为空,则先在交易表中新建该交易,再将输出与该交易绑定;
[0028]步骤1.4.6判断交易输出遍历是否结束,如果遍历未结束,则返回步骤1.4.2。
[0029]进一步地,上述步骤2中,切片数据载入及染色池设置包括如下步骤:
[0030]步骤2.1读取切片信息,包括切片ID、区块ID、区块时间戳、切片包含的交易量;
[0031]步骤2.2根据切片数据、交易输入数据、交易输出数据,获取起始切片数据中的币结点信息,包括币值、币结点ID、币结点映射的地址、是否已消耗;
[0032]步骤2.3遍历币结点信息;
[0033]步骤2.4判断币结点在币结点列表中是否为空,若该币结点在币结点列表中为空,则在币结点列表中新建该币结点;
[0034]步骤2.5将币结点绑定至币结点映射的地址,若币结点映射的地址在地址表中为空,则先在地址表中新建该地址,再将币结点绑定至该地址;
[0035]步骤2.6判断币结点是否被消耗,若已被消耗,则地址余额保持不变,并将币结点的可用状态设置为否,若未被消耗,则在地址余额中增加币结点的币值,币结点的可用状态设置为真;
[0036]步骤2.7判断输出遍历是否结束,如果未遍历结束,则返回步骤2.3;
[0037]步骤2.8根据地址信息中的聚类信息,将聚类地址设为染色池,并将聚类地址中的余额进行染色,其他地址置为空白基因。
[0038]进一步地,上述步骤3中,区间交易网络逆向运行分析包括如下步骤:
[0039]步骤3.1根据时间戳,按照区间内交易发生顺序,反向遍历交易表中的交易;
[0040]步骤3.2根据交易上输出对应的币结点可用状态,判断该交易是否可以进行逆向运行,若币结点可用状态均为真,则转至步骤3.3,否则该交易异常程序中断;
[0041]步骤3.3根据交易是否存在输入,判断是否为普通交易,若存在输入,则为普通交易,转至步骤3.4,否则直接转至步骤3.5;
[0042]步骤3.4运行普通交易;
[0043]步骤3.5将交易设置为已运行,交易各输出对应的币结点可用状态设置为否;
[0044]步骤3.6判断交易本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于UTXO切片的区块链逆向溯源分析方法,其特征在于,包括如下步骤:步骤1设置交易区间,读取区块链数据,构建区间交易网络;步骤2读取切片数据,设置区间交易网络中断状态,并进行地址染色操作;步骤3逆向运行区间交易网络,对交易事件进行逆向溯源分析。2.根据权利要求1所述的一种基于UTXO切片的区块链逆向溯源分析方法,其特征在于,所述步骤1中,区间交易网络构建包括如下步骤:步骤1.1设置建网区间,选定区间BTN的起始切片、终止切片,设置交易表大小;步骤1.2新建用作储存输出的币结点表、地址的地址表、交易的交易表;步骤1.3设置交易的输入,根据交易输入数据,将交易输入与交易和币结点绑定;步骤1.4设置交易的输出,根据交易输出数据,将交易输出与交易、币结点与地址绑定;步骤1.5设置交易时间戳,根据交易数据和区块数据,获取交易所在区块的时间戳,将时间戳与交易绑定。3.根据权利要求2所述的一种基于UTXO切片的区块链逆向溯源分析方法,其特征在于,所述步骤1.3中,将交易输入与交易和币结点绑定的具体步骤包括:步骤1.3.1根据交易输入数据,获取区间内的交易输入信息;步骤1.3.2遍历区间内的交易输入;步骤1.3.3将交易输入对应的币结点保存至币结点列表相应位置,并将币结点与输入绑定,若该币结点为空,则先在币结点表中新建该币结点,再保存至币结点列表相应位置并与输入绑定;步骤1.3.4将输入与交易绑定,若该交易为空,则先在交易表中新建该交易,再将输入与交易绑定;步骤1.3.5判断交易输入遍历是否结束,如果遍历未结束,则返回步骤1.3.2。4.根据权利要求2所述的一种基于UTXO切片的区块链逆向溯源分析方法,其特征在于,所述步骤1.4中,将交易输出与交易、币结点与地址绑定的具体步骤包括:步骤1.4.1根据交易输出数据,获取区间内的交易输出信息;步骤1.4.2遍历区间内的交易输出;步骤1.4.3将币结点保存至币结点列表,并将币结点与输出绑定,若交易输出对应的币结点为空,则先在币结点表中新建该币结点,再保存至币结点列表并与输出绑定;步骤1.4.4将币结点与地址绑定,若币结点对应的地址为空,则先在地址表中新建该地址,再将币结点与该地址绑定;步骤1.4.5将输出与交易绑定,若该交易为空,则先在交易表中新建该交易,再将输出与该交易绑定;步骤1.4.6判断交易输出遍历是否结束,如果遍历未结束,则返回步骤1.4.2。5.根据权利要求1所述的一种基于UTXO切片的区块链逆向溯源分析方法,其特征在于,所步骤2的实现包括如下步骤:步骤2.1读取切片信息,包括切片ID、区块ID、区块时间戳、切片包含的交易量;步骤2.2根据切片数据、交易输入数据、交易输出数据,获取起始切片数据中的币结点信息,包括币值、币结点ID、币结点映射的地址、是否已消耗;步骤2.3遍历币结点信息;
步骤2.4判断币结点在币结点列表中是否为空,若该币结点在币结点列表中为空,则在币结点列表中新建该币结点;步骤2.5将币结点绑定至币结点映射的地址,若币结点映射的地址在地址表中为空,则先在地址表中新建该地址,再将币结点绑定至该地址;步骤2.6判断币结点是否被消耗,若已被消耗,则地址余额保持不变,并将币结点的可用状态设置为否,若未被消耗,则在地址余额中增加币结点的币值,币结点的可用状态设置为真;步骤2.7判断输出遍历是否结束,如果未遍历结束,则返回步骤...

【专利技术属性】
技术研发人员:赵浏阳吴岩李致远刘路张佳刘晨
申请(专利权)人:江苏大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1