数字货币交易信息分析方法转让专利

申请号 : CN201810746926.3

文献号 : CN109087079A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 叶茂陈忠亮杨亮朱亚军

申请人 : 北京知帆科技有限公司

摘要 :

本发明涉及大数据处理领域,提供数字货币交易信息分析方法,包括:获取多笔数字货币交易信息,所述交易信息至少包括交易地址;将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇;为所述地址簇标注身份信息,根据所述地址簇和所述交易信息生成地址簇交易信息。通过交易地址来构建地址簇,交易地址可选择交易输入或输出地址,将关联的地址合并为一个地址簇,根据地址簇内地址的混合标注信息为地址簇标注,可极大降低标注量,使得实名标注可以实现,此外,通过合并地址簇的方式,使得每个地址簇可以通过多个交易地址验证,从而可以过滤错误的标注信息,从而提高了实名标注的准确性,为相关部门提供交易者的真实身份,具有很高的社会价值。

权利要求 :

1.一种数字货币交易信息分析方法,其特征在于,包括:获取多笔数字货币交易信息,所述交易信息至少包括交易地址;

将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇;

根据所述地址簇和所述交易信息生成地址簇交易信息。

2.根据权利要求1所述的方法,其特征在于,生成地址簇交易信息之后,还包括为所述地址簇标注身份信息。

3.根据权利要求1所述的方法,其特征在于,所述将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇之后,还包括为所述地址簇标注身份信息。

4.根据权利要求1-3任一项所述的方法,其特征在于,将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇的处理,包括:将每笔交易信息中的所有交易输入地址作为一个集合;

判断所述集合中是否存在相同的交易地址;

如果存在相同的交易地址,则将所述集合合并,直至所有的集合中任意两个集合都不存在相同的元素,剩余的每个集合作为一个地址簇。

5.根据权利要求4所述的方法,其特征在于,将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇的处理,还包括:将不包含在输入地址集合中的每个输出地址形成一个地址簇。

6.根据权利要求2或3所述的方法,其特征在于,为所述地址簇标注身份信息的处理,包括:获取每个地址簇中的部分或全部交易地址的实名信息;

将权重最高的实名信息作为该地址簇的实名信息。

7.根据权利要求6所述的方法,其特征在于,将权重最高的实名信息作为该地址簇的实名信息的处理,包括:将地址簇标成实名信息c的权重:Pc=(P1/P2)*(k/n),其中n为地址簇中交易地址的个数,k为已经标注实名信息的交易地址的个数,P1为地址被标成实名信息c的信息源权重之和,P2为k个地址的信息源权重之和;

取使Pc取值最大的实名信息c作为地址簇的实名信息。

8.根据权利要求1-3任一项所述的方法,其特征在于,根据所述地址簇和所述交易信息生成地址簇交易信息的处理,包括:获取存在交易的输入地址和输出地址,其中输入地址所在的地址簇为第一地址簇,输出地址所在的地址簇为第二地址簇;

建立一条从第一地址簇到第二地址簇的有向边;

遍历所有存在交易的输入地址和输出地址,绘制地址簇交易图。

9.一种目标地址的交易信息分析方法,其特征在于,包括:根据权利要求8所述的方法生成所有交易的地址簇交易图;

获取目标地址;

在所述地址簇交易图中确定以所述目标地址作为目标顶点,距离所述目标顶点的距离在第一预设距离内的所有源顶点及其路径;

在所述地址簇交易图中确定以所述目标地址作为源顶点,距离所述源顶点的距离在第二预设距离内的所有目标顶点及其路径;

根据所述源顶点及其路径和目标顶点及其路径建立所述目标地址的实名交易流图谱。

10.一种数字货币交易信息分析装置,其特征在于,包括:交易信息获取单元,用于获取多笔数字货币交易信息,所述交易信息至少包括交易地址;

地址簇合并单元,用于将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇;

地址簇交易信息生成单元,用于根据所述地址簇和所述交易信息生成地址簇交易信息。

11.一种服务器,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-8所述的数字货币交易信息分析方法或权利要求9所述的目标地址的交易信息分析方法。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-8所述的数字货币交易信息分析方法或权利要求9所述的目标地址的交易信息分析方法。

说明书 :

数字货币交易信息分析方法

技术领域

[0001] 本发明涉及互联网大数据处理领域,尤其是区块链领域,具体涉及数字货币交易信息分析方法。

背景技术

[0002] 区块链是一种按照时间顺序将数据区块以顺序相连的方式进行组合的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。比特币是一种以区块链作为底层技术的数字加密货币。比特币具备去中心化和匿名性的特点,去中心化指在分布式系统中实现基于去中心化信用的点对点交易,匿名性指买卖双方在进行交易时无法知晓对方身份。但是比特币的每一笔交易的详细信息都会被保存在区块链中,这些信息包括交易发生的时间、金额、输入、输出等。所有人都可以查询这些交易信息,并可往前追溯每个比特币的终极起源。
[0003] 比特币可全球流通且交易便捷,又具备匿名性的特点,因此利用比特币做为支付手段的案件也日益增多。比特币所有的交易都存储在全局账本中,任何人都可以下载和维护一个全局账本。由于交易及地址数据量巨大,通过原始交易信息,不能有效发现地址之间的关联关系。由于比特币的交易地址是匿名的,对于监管机构也无法获得比特币交易的用户信息,因此如何获取比特币的实名用户信息及其交易信息是需要解决的问题。
[0004] 在中国专利文献CN108009807A中公开了一种比特币交易身份识别方法,该方案中需要在比特币网络中部署连接尽可能多的节点的探针节点,通过探针节点确定该待监测节点的邻居节点,监听并获取比特币网络交易信息及交易传播路径,计算交易传播路径与待监测节点及其邻居节点的匹配值,通过阈值筛选出待监测节点及其邻居节点的匹配值,通过阈值筛选出待监测节点的匹配交易;输出该匹配交易并赋予其IP标签。该方案中,需要在比特币网络中部署探针节点,增加了复杂度,难于普及。

发明内容

[0005] 有鉴于此,本发明实施例提供了一种数字货币及其目标地址的交易信息分析方法,以解决现有技术中需要在比特币网络中部署探针节点,复杂度高的问题。
[0006] 根据第一方面,本发明实施例还提供一种数字货币交易信息分析方法,包括获取多笔数字货币交易信息,所述交易信息至少包括交易地址;将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇;根据所述地址簇和所述交易信息生成地址簇交易信息。
[0007] 该方案中,将交易地址合并为地址簇后,建立地址簇与交易信息的对应关系,通过将交易地址合并为地址簇,根据地址簇内地址的混合标注信息为地址簇标注,可以极大降低标注量,使得处理的交易地址信息的数量级大大降低,从而大大降低了海量数据分析的难度。
[0008] 结合第一方面,在第一方面的第一实施例中,生成地址簇交易信息之后,还包括为所述地址簇标注身份信息。该方案中,先生成地址簇交易信息,然后对地址簇进行实名标注,从而获得标注后的实名信息的交易信息。
[0009] 结合第一方面或第一方面的第一实施例,将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇的处理,包括:将每笔交易信息中的所有交易输入地址作为一个集合;判断所述集合中是否存在相同的交易地址;如果存在相同的交易地址,则将所述集合合并,直至所有的集合中任意两个集合都不存在相同的元素,剩余的每个集合作为一个地址簇。由于在交易信息中,一笔交易存在多个交易输入地址,这多个交易输入地址一般可以认为是一个用户地址或者是相关地址,如果两笔交易中存在相同的交易输入地址,则说明这两笔交易的交易地址存在关联例如用户相同,根据该性质将存在相同交易地址的集合合并,形成地址簇。通过合并使得需要分析的数据量大大降低,从而大大降低了海量数据分析的难度。合并地址簇的方式还可以过滤错误的标注信息,提高标注信息的准确性。
[0010] 结合第一方面的第二实施例,在将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇的处理中,在上述实施例的基础上,还可以进一步将不包含在输入地址集合中的每个输出地址形成一个地址簇,虽然输入地址集合中能包括绝大多数输出地址,但可能也存在少量不包含在输入地址中的输出地址,采用将不包含在输入地址集合中的每个输出地址形成一个地址簇的方式,便于后续在所有存在交易的输入地址簇和输出地址簇之间建立对应关系,从而生成实名交易流图谱。
[0011] 结合第一方面,或第一方面第一实施例,或第一方面第二实施例,为每个所述地址簇标注身份信息的处理,包括:获取每个地址簇中的部分或全部交易地址的实名信息;将权重最高的实名信息作为该地址簇的实名信息。由于每个地址簇中的交易地址有多个,每个地址可以通过网络抓取数据、交易所实名信息或通过算法进行标注或众包等方式获取实名信息,如果多种方式获得的实名信息不同,选择置信度最高的作为该交易地址的实名信息;同时每个地址簇中的多个交易地址,得到的实名信息也可能不同,将权重最高的作为该地址簇的交易信息,提高了地址簇实名信息的准确性。
[0012] 结合第一方面或第一方面的其他实施例,将权重最高的实名信息作为该地址簇的实名信息的处理,包括:将地址簇标成实名信息c的权重为Pc=(P1/P2)*(k/n),其中n为地址簇中交易地址的个数,k为已经标注实名信息的交易地址的个数,P1为地址被标成实名信息c的信息源权重之和,P2为k个地址的信息源权重之和;取使Pc取值最大的实名信息c作为地址簇的实名信息。该方案中,通过将信息源权重以及标注的实名信息的占比来更好的标识实名信息,使得地址簇的实名信息更加准确。
[0013] 结合第一方面或第一方面的其他实施例,根据所述地址簇和所述交易信息生成地址簇交易信息的处理,包括:获取交易的输入地址和输出地址,其中输入地址所在的地址簇为第一地址簇,输出地址所在的地址簇为第二地址簇;建立一条从第一地址簇到第二地址簇的有向边;遍历所有交易的输入地址和输出地址,绘制地址簇交易图。该方案通过有效地分析数字货币如比特币交易的关联信息,可以构建所有交易信息的交易图,表示出交易过程中的双方信息以及交易情况,结合实名信息,从而为政府提供交易者的真实身份,具有很高的社会价值,为个人和企业提供更加简便的交易流查询服务,具有很好的经济效益,为监管机构或相关企业或个人提供信息和依据。
[0014] 根据第二方面,本发明实施例中还提供一种目标地址的交易信息分析方法,包括:根据第一方面及其可选实施例中所述的数字货币交易信息分析方法生成所有交易的地址簇交易图;获取目标地址;在所述地址簇交易图中确定以所述目标地址作为目标顶点,距离所述目标顶点的距离在第一预设距离内的所有源顶点及其路径;在所述地址簇交易图中确定以所述目标地址作为源顶点,距离所述源顶点的距离在第二预设距离内的所有目标顶点及其路径;根据所述源顶点及其路径和目标顶点及其路径建立所述目标地址的实名交易流图谱。该方案结合比特币区块链上信息和链下信息,构造地址簇交易图,通过对交易簇进行标注,并在地址簇交易图上通过图算法生成实名交易流图谱,为目标地址提供全部的实名交易信息,为可疑地址的跟踪、排查、举证都提供了依据。
[0015] 根据第三方面,本发明实施例中还提供一种数字货币交易信息分析装置,包括:交易信息获取单元,用于获取多笔数字货币交易信息,所述交易信息至少包括交易地址;地址簇合并单元,用于将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇;地址簇交易信息生成单元,用于根据所述地址簇和所述交易信息生成地址簇交易信息。
[0016] 根据第四方面,本发明实施例中还提供一种服务器,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或其可选实施例中的数字货币交易信息分析方法或第二方面所述的目标地址的交易信息分析方法。
[0017] 根据第五方面,本发明实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面或其可选实施例中的数字货币交易信息分析方法或第二方面所述的目标地址的交易信息分析方法。
[0018] 根据第六方面,本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行第一方面或第二方面及其可选实施例中的数字货币交易信息分析方法或第三方面所述的目标地址的交易信息分析方法。

附图说明

[0019] 通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0020] 图1示出了实施例1中的数字货币交易信息分析方法的流程图;
[0021] 图2示出了实施例2中的数字货币交易信息分析方法的流程图;
[0022] 图3示出了实施例3中的目标地址的交易信息分析方法的流程图;
[0023] 图4示出了实施例4中的实名交易流图谱示意图。
[0024] 图5示出了实施例5中的服务器的结构图。

具体实施方式

[0025] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026] 实施例1
[0027] 本实施例中提供一种数字货币交易信息分析方法,用于对数字货币的交易信息进行分析,该方法适用于采用UTXO方式(Unspent Transaction Output,未消费交易输出)的数字加密货币,包括比特币以及比特币的各种分叉币。
[0028] 本实施例中的数字货币交易信息分析方法,以比特币为例进行说明,该方法包括以下步骤:
[0029] S11、获取多笔数字货币交易信息,所述交易信息至少包括交易输入地址。在其他替换的实施例中,也可以选择交易的输出地址作为后续处理的交易地址。
[0030] 比特币的交易信息是存在区块链中的,通过全局账本可以获得所有的交易信息。首先解析区块链数据,得到所有交易。通过解析得到链上的所有区块B={B1,B2,…,Bn},其中Bi为其中的一个区块,n为总区块数。对于每个区块Bi,获取该区块中的所有交易Ti={ti1,ti2,…,tim},其中tij为该区块内的一个交易,m为该区块内的总交易数。每个交易包括交易发生的时间、金额、输入地址、输出地址等。通过汇总所有交易得到T=UTi,其中i=1,2,…,n。
[0031] 混币(Coin Shuffle)是比特币交易中的一种交易方式,可以让用户快速高效地与其他用户的资金进行混合,在现有的用户账户和混币后的新账户之间创建随机的映射关系,从而实现完全匿名。作为本实施例中进一步优选的实施方案中,为了避免混币交易造成的后续分析的不准确性,本发明实施例中只考虑除混币交易外的交易信息,因此在上述所有交易信息中可以先删除混币交易。
[0032] 删除混币交易的一种方式为:定义输入地址数阈值hi和输出地址数阈值ho,当一个交易的输入地址数大于等于hi,且/或输出地址数大于等于ho,则判定为混币交易。在可选的实施方案中,输入地址数阈值hi可选为100,输出地址数阈值ho可选择为100,也可以根据当前数据的情况合理设置。
[0033] 删除混币交易的另一种方式为:使用混币交易和非混币交易数据训练分类器,例如SVM分类器,采用的特征包括交易的输入地址数,交易的输出地址数,交易的输入和输出地址数差值等;然后使用分类器判定混币交易。
[0034] 通过上述方法可以有效删除混币交易,保证了后续交易分析的准确性。
[0035] S12、将具有相同交易地址的多笔交易信息的交易地址合并成一个地址簇。本实施例中,交易地址选择为交易输入地址。在其他可选的实施例中,交易地址也可以选择为输出地址,或者输入地址和输出地址的集合。
[0036] 合成地址簇的过程为:
[0037] 第一步,将每笔交易信息中的所有输入地址作为一个集合。由于每笔交易信息中一般包括多个地址,将这些地址作为一个地址集合。
[0038] 对于每个交易tij∈T,得到该交易的输入地址集合Aij={aij1,aij2,…,aijs},其中aijk是交易tij中的一个输入地址,s为该交易内的总输入地址数(Aij中的地址可以根据地址哈希去重,也可以不去重)。所有的输入地址集合A=UAij,其中i=1,2,…,n,j=1,2,…,m。
[0039] 第二步,判断所述集合中是否存在相同的输入地址。
[0040] 在建立地址簇时,考虑的是存在相同输入地址的用户的相似性,因此任何两个Aij中的地址如果相交,则这两个Aij中的所有地址属于同一个地址簇;通过判断是否存在相同的输入地址,来得出地址簇。
[0041] 第三步,如果存在相同的输入地址,则将所述集合合并,直至所有的集合中任意两个集合都不存在相同的元素,剩余的每个集合作为一个地址簇。
[0042] 地址簇的具体计算方式可以有两种,第一种方式为:将每个Aij作为一个初始地址簇,然后查看两个地址簇是否有交集,如果有交集,则归并成一个地址簇,不断循环,直到不能归并。
[0043] 第二种方式为:当集合中有相同元素时,设置两个集合的距离d=0;当集合中不存在相同元素时,设置d=1。然后通过聚类算法,不断地将距离为0的集合聚成地址簇。
[0044] 通过上述方式,根据交易T形成地址簇CA={CA1,CA2,…,CAg},其中CAi为其中一个地址簇,g为地址簇个数。任何两个地址簇CAi中的地址不相交;任何两个Aij中的地址如果相交,则这两个Aij中的所有地址属于同一个地址簇;CA中的地址包含了交易T中的所有输入地址。
[0045] 由于在交易信息中,一笔交易存在多个输入地址,这多个输入地址一般可以认为是一个用户地址或者是相关地址,如果两笔交易中存在相同的输入地址,则说明这两笔交易的输入地址存在关联例如用户相同,根据该性质将存在相同输入地址的集合合并,形成地址簇,通过合并地址簇的方式,使得每个地址簇可以通过多个交易地址验证,从而可以过滤错误的标注信息,从而提高了实名标注的准确性。通过合并使得需要分析的数据量大大降低,从而大大降低了海量数据分析的难度。在其他的实施方式中,也可以通过输出地址来合并地址簇,或者同时使用输入地址和输出地址来合并地址簇。
[0046] S13、为每个所述地址簇标注身份信息。
[0047] 首先,获取每个地址簇中的部分或全部输入地址的实名信息;
[0048] 每个地址簇中有多个输入地址信息,通过这些输入地址信息来为地址簇进行实名标注。可以从链下获取地址的实名标注信息或者在已有的实名标注信息基础上通过算法继续进行标注。输入地址的实名信息的获取可以通过爬虫从互联网上抓取数据后清洗得到;也可以从交易所和矿池获取比特币地址对应的实名信息;还可以通过众包方式,让大家提供地址的实名信息;或者可以构造分类器通过分类算法进行标注,也可以利用启发式算法或专家系统进行标注,等等。
[0049] 对于地址簇CAi,其中的输入地址可能会被不同的信息源标上不同的实名信息。为不同的信息源设置权重,如果是官方认证或者多用户验证过的信息源权重较高,个人的信息源权重较低,此处的权重可以通过本领域技术人员对信息源的合理分析进行量化来得出。对于同一个输入地址,如果从不同的信息源获取的实名信息不一致,可以以权重最高的信息源获取的实名信息为该输入地址的实名信息。
[0050] 然后,将权重最高的实名信息作为该地址簇的实名信息。
[0051] 设CAi共包含n个地址,其中k个地址已经标注了实名信息,k≤n,确定地址簇CAi的实名信息,此处的权重最高可以有两种方式,方式一为:k个地址中权重最高的信息源标注的输入地址的实名信息作为地址簇CAi的实名信息;
[0052] 方式二为:将地址簇标成实名信息c的概率定义为Pc=(P1/P2)*(k/n),其中P1为地址被标成实名信息c的信息源权重之和,也就是有多个信息源将P1的地址标成c时,将这些信息源的权重相加;P2为k个地址的信息源权重之和,以Pc作为该实名信息c的权重,取使Pc取值最大的c作为地址簇CAi的实名信息。
[0053] 通过上述方法,可以对比特币交易中的所有交易信息的输入地址按照地址簇的方式进行实名标注,通过构建地址簇可以极大降低所需标注的数量,如目前的比特币交易中,可以将413695310个地址,合并为约198424095个地址簇,从而大大降低了海量数据分析的难度,为用户分析数据创造了条件。此外,根据地址簇内地址的混合标注信息为地址簇标注,使得每个地址簇可以通过多个交易地址验证,从而可以过滤错误的标注信息,从而提高了实名标注的准确性。这些实名标注数据也可以给监管部门或相关的企业作为参考依据,为分析用户的交易信息提供实名的基础信息。
[0054] S14、根据所述地址簇和所述交易信息生成地址簇交易信息,地址簇交易信息采用实名地址簇交易图的方式来展示,交易图中的每个顶点为地址簇,包括以下步骤:
[0055] 第一步,获取存在交易的输入地址和输出地址,其中输入地址所在的地址簇为第一地址簇,输出地址所在的地址簇为第二地址簇。
[0056] 由于本实施例中的地址簇是根据输入地址来构建的,因此地址簇中包含了交易中的全部的输入地址,其余未包含在输入地址中的每个输出地址单独构成一个地址簇,从而所有的输入地址和输出地址都可以分配到地址簇中,通过上述实施例中的实名标注方法就可以获得这些地址簇的实名信息。
[0057] 将输入地址形成的地址簇和未包含在输入地址中的输出地址的地址簇进行合并,然后也可以进行实名信息标注。
[0058] 对于一笔交易t,a为t的输入地址,b为t的输出地址,地址a∈CAi和地址b∈CAj,也就是两个地址簇CAi和CAj之间存在一条交易t∈T。
[0059] 第二步,建立一条从第一地址簇到第二地址簇的有向边。
[0060] 如果两个地址簇CAi和CAj之间的地址a∈CAi和地址b∈CAj存在一条交易t∈T,其中a为t的输入地址,b为t的输出地址,则在实名地址簇交易图中添加一条从CAi到CAj的有向边。在可选的实施方案中,将交易t的信息映射到该有向边时,可以将映射信息保存到数据库或索引文件系统中。
[0061] 第三步,遍历所有存在交易的输入地址和输出地址,绘制地址簇交易图。
[0062] 针对全局账本中的所有交易,进行遍历后就构建了所有交易的有向图谱,形成地址簇交易图。该方案通过有效地分析数字货币如比特币交易的关联信息,可以构建所有交易信息的交易图,表示出交易过程中的双方信息以及交易情况,结合实名信息,从而为政府提供交易者的真实身份,具有很高的社会价值,为个人和企业提供更加简便的交易流查询服务,具有很好的经济效益,为监管机构或相关企业或个人提供信息和依据。
[0063] 实施例2
[0064] 本实施例中提供一种数字货币交易信息分析方法,用于对数字货币的交易信息进行分析,该方法同样适用于采用UTXO方式(Unspent TransactionOutput,未消费交易输出)的数字加密货币,包括比特币以及比特币的各种分叉币。
[0065] 该方法包括:
[0066] S21、获取多笔数字货币交易信息,所述交易信息至少包括交易输入地址和/输出地址。与实施例1中的步骤S11具体处理方式相同,在此不再赘述。
[0067] S22、将具有相同交易输入地址的多笔交易信息的输入地址合并成一个地址簇。与实施例1中的步骤S12具体处理方式相同,在此不再赘述。
[0068] S23、根据所述地址簇和所述交易信息生成地址簇交易信息。
[0069] 本实施例中,与实施例1的区别在于,先根据地址簇与所述交易信息生成地址簇交易信息图,此时的地址簇并未进行实名标注,但是已经通过合并交易地址的方式生成了地址簇。该步骤的处理过程与实施例1中的S14相同,区别在于本步骤中的地址簇不具有实名信息。
[0070] S24、为所述地址簇标注身份信息。
[0071] 当生成地址簇交易信息图谱之后,可以再进行地址簇的身份信息标注。实名标注的具体方法参见实施例1中的S13,此时可以有针对性的标注交易量大或者处于关键节点的地址簇的信息,对于不关注的一些地址簇可以不进行实名标注,这样标注地址簇更加有针对性,可以标注更有价值的数据。当然,也可以进行所有的地址簇的标注。
[0072] 实施例3
[0073] 本实施例中提供一种目标地址的交易信息分析方法,用于对一些用户关注的目标地址或者一些存在可疑的地址进行分析,该方法包括以下步骤:
[0074] S31、首先根据实施例1或2所述的数字货币交易信息分析方法生成所有交易的地址簇交易图,在该地址簇交易图中存在所有的交易信息,包括交易的输入地址簇、输出地址簇以及交易信息,通过有向图谱的方式来表示。
[0075] S32、获取目标地址,该目标地址可以是用户根据需要输入的一个地址,也可以是通过某些策略发现的一些可疑地址,然后对该地址进行分析。
[0076] S33、在所述地址簇交易图中确定以所述目标地址所在地址簇作为目标顶点,距离所述目标顶点的距离在第一预设距离内的所有源顶点及其路径。
[0077] 根据目标地址,在地址簇交易图中得到该地址所在地址簇的顶点v1。可以通过深度优先或广度优先算法寻找顶点v1。以v1为目标顶点,得到v1的最短路径长度小于等于n1的所有标有实名信息的源顶点Vs及其路径Hs。作为可选的方案,n1可以选择的范围为3。
[0078] S34、在所述地址簇交易图中确定以所述目标地址所在地址簇作为源顶点,距离所述源顶点的距离在第二预设距离内的所有目标顶点及其路径。
[0079] 以v1为源顶点,得到最短路径长度小于等于n2的所有标有实名信息的目标顶点Vd及其路径Hd。作为可选的方案,n2可以选择的范围为3。
[0080] S35、根据所述源顶点及其路径和目标顶点及其路径建立所述目标地址的实名交易流图谱。
[0081] 将V1,Vs,Hs,Vd,Hd合并生成子图,即实名交易流图谱。可选地,可以根据该实名交易流图谱中的信息,结合第四步中保存的映射信息,从原始交易集T中找到对应的t和地址,恢复出原始交易流图谱。这样,针对给定的目标地址或可疑地址,就可以生成实名交易流图谱。
[0082] 本实施例中的目标地址的交易信息分析方法,可以有效地分析比特币交易的关联信息,结合实名信息,从而为政府提供交易者的真实身份,具有很高的社会价值,为个人和企业提供更加简便的交易流查询服务,具有很好的经济效益。
[0083] 实施例4
[0084] 本实施例中结合比特币的具体的交易信息,提供一种数字货币交易信息分析方法,包括以下步骤:
[0085] 第一步,解析区块链数据,得到所有交易。
[0086] 解析区块链数据,得到链上的所有区块B,以高度为503114、514128和520212的三个区块为例,区块503114中的交易数为2224个,以第1582个交易为例(以下记为交易a),区块514128中的交易数为1838个,以第530个交易为例(以下记为交易b),区块520212中的交易数为2575个,以第2246个交易为例(以下记为交易c),
[0087] 交易a的部分信息如下,
[0088] 交易哈希:
[0089] 4a9b78775e16068d1d19a2cc46c6dddfb2774dd8c62a0d4d4e71613a8bae9cba[0090] 所在区块哈希:
[0091] 000000000000000000501bb46c3b5d8264d362e788bc2709e70a960fe1fbc981[0092] 所在区块高度:
[0093] 503114
[0094] 时间:
[0095] 2018-01-08 12:24:25(GMT+8时区)
[0096] 总输入金额:
[0097] 0.10298867 BTC
[0098] 总输出金额:
[0099] 0.1006332 BTC
[0100] 交易费:
[0101] 0.00235547 BTC
[0102] 输入:
[0103] 1MCMgZqQZKYwH3gVicmD6JuxQq2zJfnJVv 0.00027582 BTC
[0104] 1ELQZ5SVDXB1F7BaKspan5KFwzAFEJ7J98 0.00271285 BTC
[0105] 1Psx7hGAnTkNsN573BaUfKqni9b94qwriw 0.1 BTC
[0106] 输出:
[0107] 3DyXmKCNxg6HLNTAFr68oCjTr5efKy471T 0.0561113 BTC
[0108] 1CZTKrk3Wm85KqJEZaB1ZW3qLBnoKLbyrS 0.0445219 BTC
[0109] 交易b的部分信息如下,
[0110] 交易哈希:
[0111] 89b1874f3451cd88a2bc2eb7c2e62924e8c3beb7624c86349b28e77511847286[0112] 所在区块哈希:
[0113] 0000000000000000003d75e0f3036e0dd1f703264daed3a9d2bf8888d889a554[0114] 所在区块高度:
[0115] 514128
[0116] 时间:
[0117] 2018-03-19 02:52:14(GMT+8时区)
[0118] 总输入金额:
[0119] 0.00122194 BTC
[0120] 总输出金额:
[0121] 0.00120406 BTC
[0122] 交易费:
[0123] 0.00001788 BTC
[0124] 输入:
[0125] 13HmTAYWv1EPKuaGMjhUrPkjja2M8tWZug 0.00090501 BTC
[0126] 1MCMgZqQZKYwH3gVicmD6JuxQq2zJfnJVv 0.00031693 BTC
[0127] 输出:
[0128] 13JSax4HiPcFGZbhApQqYK5suuApdoS8HU 0.00095 BTC
[0129] 14KcT8p78UixSpHCFXCHRPQtEEanjxhr5P 0.00025406 BTC
[0130] 交易c的部分信息如下,
[0131] 交易哈希:
[0132] 75d536ba7026754403445ffa885fbd960ac8b8ce22f84d36ad268ab5acd7a54f[0133] 所在区块哈希:
[0134] 0000000000000000000d94115537e9febb973a7576b862cb0eaa937037f081c2[0135] 所在区块高度:
[0136] 520212
[0137] 时间:
[0138] 2018-04-28 10:03:36(GMT+8时区)
[0139] 总输入金额:
[0140] 0.01213114 BTC
[0141] 总输出金额:
[0142] 0.01210766 BTC
[0143] 交易费:
[0144] 0.00002348 BTC
[0145] 输入:
[0146] 1Ps68FK3nKVJAesDyBTFB8yL1wwmC6vFTa 0.00149688 BTC
[0147] 3JRubkE6EKS94af6D7JnjNh6wa9Rtzbcpd 0.00093426 BTC
[0148] 17GdK34FooDJQCzfQ2aNgUd8Q6WiQVXxpH 0.0097 BTC
[0149] 输出:
[0150] 1BX3PXhiAUJs8JidA62K7bMMYTKc1haCw8 0.01060766 BTC
[0151] 1F4MRxARFZsnnPAft2Bcj8bVEVtvVXCnB2 0.0015 BTC
[0152] 本区块的所有的交易以及其他区块的所有交易构成交易集合T。
[0153] 第二步,根据交易T形成地址簇。
[0154] 对于交易a,其输入地址集合为:
[0155] {1MCMgZqQZKYwH3gVicmD6JuxQq2zJfnJVv,1ELQZ5SVDXB1F7BaKspan5KFwzAFEJ7J98,1Psx7hGAnTkNsN573BaUfKqni9b94qwriw}
[0156] 对于交易b,其输入地址集合为:
[0157] {13HmTAYWv1EPKuaGMjhUrPkjja2M8tWZug,1MCMgZqQZKYwH3gVicmD6JuxQq2zJfnJVv}
[0158] 对于交易c,其输入地址集合为:
[0159] {1Ps68FK3nKVJAesDyBTFB8yL1wwmC6vFTa,3JRubkE6EKS94af6D7JnjNh6wa9Rtzbcpd,17GdK34FooDJQCzfQ2aNgUd8Q6WiQVXxpH}
[0160] 形成两个地址簇CA1和CA2,其中CA1包含4个地址:
[0161] {1MCMgZqQZKYwH3gVicmD6JuxQq2zJfnJVv,1ELQZ5SVDXB1F7BaKspan5KFwzAFEJ7J98,1Psx7hGAnTkNsN573BaUfKqni9b94qwriw,13HmTAYWv1EPKuaGMjhUrPkjja2M8tWZug}[0162] CA2包含3个地址:
[0163] {1Ps68FK3nKVJAesDyBTFB8yL1wwmC6vFTa,3JRubkE6EKS94af6D7JnjNh6wa9Rtzbcpd,17GdK34FooDJQCzfQ2aNgUd8Q6WiQVXxpH}
[0164] 第三步,为地址簇标注实名信息。从链下获取地址的实名标注信息。实名信息的获取可以通过爬虫从互联网上抓取数据后清洗得到;可以从交易所和矿池获取比特币地址对应的实名信息;还可以通过众包方式,让大家提供地址的实名信息;可以利用算法构造分类器得到,等等。对于地址簇CAi,如果其中的k个地址已经标注了实名信息,则根据每个实名信息类别的加权权重决定该地址簇的实名信息。
[0165] 例如,对于CA1中的4个地址,获取的实名信息及其权重如下(None表示未知,A,D分别表示实名信息):
[0166]
[0167] 则CA1是实名D的概率为(0.5+0.1)/(0.5+0.1+0.8)*3/4=0.3214
[0168] CA1是实名A的概率为0.8/(0.5+0.1+0.8)*3/4=0.4286
[0169] 因此,确定CA1的实名信息为A
[0170] 对于CA2中的3个地址,获取的实名信息及其权重如下(None表示未知,C表示实名信息):
[0171] 1Ps68FK3nKVJAesDyBTFB8yL1wwmC6vFTa C 0.1
[0172] 3JRubkE6EKS94af6D7JnjNh6wa9Rtzbcpd None
[0173] 17GdK34FooDJQCzfQ2aNgUd8Q6WiQVXxpH None
[0174] 则CA2是实名C的概率为0.1/0.1*1/3=0.3333
[0175] 因此,确定CA2的实名信息为C
[0176] 第四步,构造实名地址簇交易图。交易图中的每个顶点为地址簇,如果两个地址簇CAi和CAj之间的地址a∈CAi和地址b∈CAj存在一条交易t∈T,其中a为t的输入地址,b为t的输出地址,则在实名地址簇交易图中添加一条从CAi到CAj的有向边。可选地,将t的信息映射到该有向边,可以将映射信息保存到数据库或索引文件系统中。
[0177] 在上述构建实名地址簇交易图的基础上,本实施例中还同一种目标地址的交易信息分析方法,对于给定的一个可疑地址,生成实名交易流图谱。根据可疑地址,在地址簇交易图中得到该地址所在的顶点v1。可以通过深度优先或广度优先算法寻找顶点v1。以v1为目标顶点,得到v1的最短路径长度小于等于2的所有标有实名信息的源顶点Vs及其路径Hs;以v1为源顶点,得到最短路径长度小于等于2的所有标有实名信息的目标顶点Vd及其路径Hd。将V1,Vs,Hs,Vd,Hd合并生成子图,即实名交易流图谱如图4所示,其中黑点为v1;A,C是第二步中确定的地址簇CA1和CA2(已在第二步中列出);B是另一个实名地址簇CA3。作为可选的方式,可以根据该实名交易流图谱中的信息,结合第四步中保存的映射信息,从原始交易集T中找到对应的t和地址,恢复出原始交易流图谱。
[0178] 实施例5
[0179] 一种服务器,用于进行数字货币交易信息的数据挖掘,其包括:存储器51和处理器52,所述存储器51和所述处理器52之间互相通信连接,其中处理器51和存储器52可以通过总线或者其他方式连接,图5中以通过总线连接为例。所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-9所述的数字货币交易信息分析方法或权利要求10所述的目标地址的交易信息分析方法。
[0180] 处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0181] 存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述实施例1或实施例2所述的数字货币交易信息分析方法或实施例3所述的目标地址的交易信息分析方法。
[0182] 存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0183] 所述一个或者多个模块存储在所述存储器52中,当被所述处理器51执行时,执行实施例1或实施例2所述的数字货币交易信息分析方法或实施例3所述的目标地址的交易信息分析方法。
[0184] 实施例6
[0185] 本实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于执行实施例1或实施例2所述的数字货币交易信息分析方法或实施例3所述的目标地址的交易信息分析方法。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
[0186] 虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。