主页 > imtoken钱包安装下载 > 交易所数据不透明?本文带你探索交易所地址挖矿全过程

交易所数据不透明?本文带你探索交易所地址挖矿全过程

imtoken钱包安装下载 2023-01-18 18:28:38

比特币冷钱包_知道钱包地址怎么查询有多少币_冷钱包怎么查询别人usdt地址

2018 年 12 月,区块链透明度研究所(BTI)发布的报告指出,CoinMarketCap 排名前 25 的交易所总交易量为 25 亿美元,而实际交易量仅为 3.24 亿美元,这是高于 CoinMarketCap。 网上公布的数据少了87%,美国领先的交易所Coinbase连CoinMarketCap的前25名都没有进入。 行业交易量的“潜规则”也引发了公众对交易数据的质疑。

如何解决信息不对称,了解交易所真实资产状况?

通过一个(或多个)交易所地址找到交易所所有地址的过程称为交易所地址挖掘。 本文将从交易所的地址分类和地址挖掘的技术原理入手,对交易所的地址进行详细的讲解。 挖掘的具体过程。

交易所地址分类

为了介绍交易所地址挖矿的原理,首先要了解交易所地址的分类。 一般来说,交易所的地址可以分为普通充币地址、热钱包和冷钱包三类,其流通方式大致如图所示。

比特币冷钱包_冷钱包怎么查询别人usdt地址_知道钱包地址怎么查询有多少币

(一)普通充币地址

此类地址占交易所总地址的99.9%以上,是每个用户的充币地址。 用户可以通过这些地址在交易所外将比特币存入交易所。 之后,这些地址中的钱将流向两个方向:导出(有人取款),或汇入热钱包。

(2) 热钱包

热钱包是属于交易所的联网钱包,主要功能是负责普通充值地址与冷钱包之间的资金流转和用户提币。 也就是说,普通充值地址和冷钱包无法直接进行资金流转,用户提现交易都是从热钱包中转。

与普通充币钱包相比,热钱包的占比很小,大约在10到30个之间,但是它的交易笔数(一个地址的交易笔数是指这个地址的所有交易笔数)用作输入地址或输出地址,下同)非常大,与普通充币地址和冷钱包的交易笔数相差一个数量级。 通过此功能可以很好地将热钱包与其他地址区分开来。

(3) 冷钱包

冷钱包是交易所的离线钱包,安全性高于热钱包。 因此,交易所会将大部分资产存放在冷钱包中。 冷钱包只与热钱包通信,单笔交易总额较大(比如100多BTC); 此外,冷钱包的另一个特点是该地址的交易总量小(比如小于1000),总收益大(比如大于10000BTC)。

交易结构介绍

比特币交易使用 UTXO(Unspent Transaction Output)模型。 UTXO 是未花费的交易输出。 每个 UTXO 都属于一个地址。 一个地址可以包含多个 UTXO。 每个 UTXO 都是不可分割的。 在交易过程中,发起交易的用户使用自己的UTXO作为交易输入,并构造一个新的UTXO作为交易输出。 交易发起方使用私钥解锁并花费自己的UTXO,使用其他地址的公钥将新建的UTXO锁定到本地址。 每个 UTXO 在被用作交易输入后从 UTXO 集合中移除。 除了特殊的 coinbase 交易外,普通交易包含一个或多个输入和一个或多个输出。

为了便于理解,我们以一个实际交易为例进行说明:

知道钱包地址怎么查询有多少币_冷钱包怎么查询别人usdt地址_比特币冷钱包

这是一笔普通交易,左边有一个输入地址1B3AHCVxKkRern499D5DXQdZ6R3qH6asY6(以下简称1B),右边有两个输出地址19TAUBkne9x3CrPVYDUtwCNuEDsZrY1ddu(以下简称19)和35hK24tcLEWcgNA4JxpvbkNkoAcDGqQ5(以下简称1B)。

我们假设地址1B的私钥属于某个用户U1,地址35的私钥属于另一个用户U2。 当U1想转0.005 BTC给另一个用户U2时,U1使用地址1B的一个数量为1 BTC的UTXO作为交易输入,并使用地址35的公钥锁定一个数量为0.005 BTC的UTXO来寻址35. 这样,用户U2多了一个0.005 BTC的UTXO,也就是说用户U2的余额增加了0.005 BTC,作为交易输入的UTXO已经花费掉了,不再属于这个UTXO set,表示用户U1的余额少了1个BTC。

这样的交易是不完整的。 交易输入金额为1BTC,交易输出金额仅为0.005BTC。 那么剩下的 0.995BTC 去了哪里呢? 如果不需要手续费,则0.995 BTC作为零钱返还到U1所属地址。 但实际上,交易发起方U1还是需要支付一定的交易手续费的,所以如图所示,19号地址锁定了一笔金额为0.9949853 BTC的UTXO,19号地址是找零地址,所以我们可以知道地址 19 也属于用户 U1。

这是一次完整的转账和找零交易。 图中左侧的地址为输入地址,地址后的金额为本次交易花费的属于输入地址的某个UTXO的金额; 图中右侧的地址为输出地址。 地址后的金额为锁定在输出地址中的新生成的UTXO金额。

如果用户U1向U2转了一大笔钱,而U1的单个UTXO不足以支付转账金额,U1可以用自己一个地址的多个UTXO或者多个地址的多个UTXO作为交易的输入来完成交易,这样就会导致下面提到的输入端有多个输入的情况,而这些输入都属于同一个主题或者同一个地址。

地址挖掘技术原理

为了理解交易所地址挖掘的原理,还需要了解比特币地址挖掘的技术原理。 比特币地址挖掘包括垂直挖掘、正向挖掘和反向挖掘。 垂直挖矿是将挖出的地址作为交易的输入地址,挖出其他同样作为输入的地址; 正向挖矿是将挖出的地址作为交易的输入地址时,在输出端挖出特征地址; 反向挖矿是将挖出的地址作为交易输入端特征地址进行挖矿的输出地址。

(1) 竖向开挖

定义:以挖出的地址为中心,挖出同一笔交易输入的其他地址。 根据第2节比特币交易的特点,一笔交易中出现在输入端的多个地址通常属于同一主体。 因此,如果挖出的地址在某笔交易中出现在输入端,则与其一起出现在输入端的其他地址可以认为属于同一主体。 垂直采矿的详细数学原理可以在参考文献[1]中找到。

例如:txid=25836a89ee24ce0b3ca7c62a525139fa59aebce0ffd222474b484bb73802c76f

冷钱包怎么查询别人usdt地址_知道钱包地址怎么查询有多少币_比特币冷钱包

红框内的地址为挖矿地址,黄框内的其他地址被视为同一所有者,因为他们与挖矿地址是同一笔交易的输入方。

(2) 正向挖掘

定义:要挖的地址必须出现在输入端,输入端的地址数不能为2,输出端的地址数必须为2。 其中,如果输出地址的比特币值有小数点后4位以上,则符合条件的地址与输入方属于同一主体。

例如:txid=20c0430466a876e84d75a8319cfe9dcf9a36b2f8773c7bbfb14489919bbb29c0

红框内的地址为待挖地址,出现在输入端,输入端地址数不为2。输出端地址数为2,1个比特币值输出地址小数点后4位以上,满足正向挖矿条件,则黄框地址和红框地址属于同一主体。

前向挖掘很容易理解。 其实这是一次普通的转账和找零交易。 小数点后4位以上的输出地址其实是找零地址(由于只有一个输入,交易手续费必须由输入方承担,交易手续费通常金额不大,所以扣除后的找零金额交易费用通常有4位以上的小数)。 找零地址和输入地址属于同一主体,可以挖掘出特征地址。

(3) 向后挖掘

定义:挖出的地址必须出现在输出端,输入端的地址个数为1,输出端的地址个数必须为2。 其中输出端挖出的地址为热钱包地址(后面会给出热钱包的挖矿方式),本次交易发送到热钱包地址的金额必须大于100BTC冷钱包怎么查询别人usdt地址,则合格交易的三个地址属于同一个主体,输入端的地址可能是冷钱包地址。

例如:txid=ade2be579a0c58d38a6a812ce85ed96980313c3aca59d762a1779233bd64ede4

冷钱包怎么查询别人usdt地址_知道钱包地址怎么查询有多少币_比特币冷钱包

红框是要挖的地址,是热钱包地址,出现在输出端,输入端地址个数为1(多次输入是同一个地址,因为是不同的UTXO)相同地址),输出侧地址数为2,转入红框地址的金额大于100 BTC。 通过逆向挖掘可知,黄色方框内的两个地址和红色方框内的地址属于同一主体,输入端的地址可能是冷钱包地址。

如何理解反向挖矿? 实际上,这笔交易是将钱从冷钱包转移到热钱包的过程。 在某些情况下,比如当用户想提币,但热钱包余额不足时,交易所会将冷钱包中的比特币转移到热钱包中。 此类交易数量较少,但通常金额都比较大(比如100BTC以上),利用这个特性可以挖出交易所的冷钱包。

采矿过程

有了前面的基础,我们就可以正式开始介绍比特币交易所的地址挖矿流程了。 大致可以分为三个过程:

(1) 挖取交易所所有常用充值地址和热钱包

交易所的充币地址很容易获取,我们以此地址作为地址挖矿的突破口。 利用垂直挖掘得到一个样本库,然后以这个样本库为蓝本继续垂直挖掘,样本库会进一步扩充。 重复此过程,直到样本池不再膨胀。 至此,基本可以认为本交易所所有的常用充值地址和热钱包都包含在这个样本库中了(我不确定冷钱包是否在这个库中,不过没关系,冷钱包将有新的采矿解决方案)。

(2) 筛选热钱包

样本库包含交易所所有常用的充值地址和热钱包(可能还有冷钱包)。 由于热钱包的交易数量极其庞大,所以采用了在样本库中寻找最大面积的方法,可以从样本库中过滤掉热钱包。

我们对火币交易所挖出的地址对应的地址和交易量数据进行如下处理:以每个地址编号为横轴,以该地址的交易数为纵轴冷钱包怎么查询别人usdt地址,画出地址和交易的分布情况卷,如下图所示:

知道钱包地址怎么查询有多少币_冷钱包怎么查询别人usdt地址_比特币冷钱包

从图中可以明显看出,橙色标记的地址是热钱包,因为他们的交易量比其他地址大很多(其他地址的交易量很小,有的甚至看不到)图)。

(3)挖出冷钱包

冷钱包挖矿的起点是热钱包。 首先,使用反向挖矿,即在一笔交易中,作为唯一的输入,已经将100多个BTC发送到热钱包。 这样的输入地址可以是冷钱包地址。 之后根据冷钱包的另一个特点:该地址的交易笔数较少(一般小于1000笔),总收益比较大(一般大于10000BTC)。 再次过滤后,可以找到冷钱包或者已经使用过的冷钱包(余额

通过以上步骤,我们可以通过一个交易所的共同充值地址找到交易所的所有地址,并从中挖出交易所的热钱包和冷钱包。

地址挖掘示例

了解了挖矿流程后,我们可以通过一个简单的例子来加深对交易所地址挖矿的理解。 本例通过火币的共同充币地址查找火币的热钱包和冷钱包。 具体过程如下:

(1) 通过普通充值地址找到热钱包

首先我们得到一个火币的普通充币地址:12V9PLbaaewZmwFogen1bighovFZvMW138,然后我们找到交易087e0449d86858ba15d4549235240e900c198bd030e2eb26a6418525135dbe4b

冷钱包怎么查询别人usdt地址_比特币冷钱包_知道钱包地址怎么查询有多少币

根据垂直挖矿的原理,这笔交易左侧的地址可以认为是火币交易所的地址。 在这些地址中,我们注意到黄色框内地址的交易笔数远高于其他地址,如图

知道钱包地址怎么查询有多少币_冷钱包怎么查询别人usdt地址_比特币冷钱包

由此我们可以判断地址1LANF8h3qMGx3TSwNUHVneBZUEpwE4gu3D是火币交易所的热钱包。

(2) 通过热钱包找冷钱包

在热钱包1LANF8h3qMGx3TSwNUHVneBZUEpwE4gu3D的基础上继续挖,找到交易ade2be579a0c58d38a6a812ce85ed96980313c3aca59d762a1779233bd64ede4

比特币冷钱包_冷钱包怎么查询别人usdt地址_知道钱包地址怎么查询有多少币

本次交易以地址3Cbq7aT1tY8kMxWLbitaG7yT6bPbKChq64作为唯一输入,向热钱包发送了100多个BTC。 根据反向挖矿的原理,可以知道这样的输入地址可能是冷钱包地址,所以地址3Cbq7aT1tY8kMxWLbitaG7yT6bPbKChq64可能是火币交易的冷钱包。

参考

[1] Ermilov D, Panov M, Yanovich Y. 自动比特币地址聚类[C]//2017 第 16 届 IEEE 机器学习与应用国际会议 (ICMLA)。 IEEE,2017:461-466。