1、第 8 卷 第 4 期 信 息 安 全 学 报 Vol.8 No.4 2023 年 7 月 Journal of Cyber Security July 2023 通讯作者:张超,博士,副教授,Email:。本课题得到国家重点研发计划资助(No.2021YFB2701000);国家自然科学基金资助(No.61972224,No.U1736209)。收稿日期:2021-12-29;修改日期:2022-03-15;定稿日期:2023-04-18 BATscope:比特币恶意地址及混币交易识别 王大宇1,殷婷婷2,李 赟2,秦嗣量3,任 歆4,罗夏朴5,王浩宇6,尹 霞1,张 超2 1清华大学 计算
2、机科学与技术系 北京 中国 100084 2清华大学 网络科学与网络安全研究院 北京 中国 100084 3中国科学院大学 网络空间安全学院 北京 中国 100049 4厦门大学 软件工程系 厦门 中国 361005 5香港理工大学 计算系 香港 中国 6华中科技大学 网络空间安全学院 武汉 中国 430074 摘要 *比特币作为第一个也是最主流的基于区块链技术的数字货币,吸引了越来越多用户的关注和投资。因为匿名性和去中心化的特点,比特币也是不法分子常用的洗钱工具。据报道,最近几年比特币已被用于许多案件,包括黑客、暗网市场、资金走私、诈骗和勒索。为了打击此类恶意行为,准确识别比特币地址的类型和
3、比特币交易目的尤为重要。然而,现有的解决方案仅能部分地解决这个问题,并且在识别准确率上表现不佳。在本文中,我们提出了一种基于机器学习的解决方案 BATscope,可以准确地识别比特币地址的类型及一些交易的目的(例如,混币交易)。其核心是通过一些可靠的启发式方法和一种新颖的先导预测方法,可以自动化的迭代增加训练集中的比特币地址,从而不断反馈给模型再次训练,稳定提升机器学习模型的性能。评估结果表明,BATscope 可以在公开数据集中以 0.99 的精度识别基于混淆的混币交易,并在识别比特币地址的类型(例如,恶意地址)中达到 0.9621/0.9567 的 Micro/MacroF1 分数,远高于
4、现有的解决方案。此外,结果还表明我们的启发式方法可以有效地增强可靠的地址标签数据,先导预测也可以准确的进行纠错并进一步提升模型性能。我们利用 BATscope 进一步分析了混币交易,揭示了混币行为和恶意地址之间的关系。为了证明其鲁棒性和实用性,我们还使用 BATscope 来验证已知恶意地址,并帮助执法部门分析未知地址并提供线索。进一步证明在实际应用中,BATscope 的结果是可靠的。关键词 *比特币;地址分类;机器学习 中图法分类号 TP309.2 DOI 号 10.19363/J10-1380/tn.2023.07.01 BATscope:Demystifying Malicious A
5、ddresses and Mixing Transactions in Bitcoin WONG Taiyu1,YIN Tingting2,LI Yun2,QIN Siliang3,REN Xin4,LUO Xiapu5,WANG Haoyu6,YIN Xia1,ZHANG Chao2 1 Department of Computer Science,Tsinghua University,Beijing 100084,China 2 Institute for Network Science and Cyberspace,Tsinghua University,Beijing 100084,
6、China 3School of Cyber Science and Technology.University of Chinese Academy of Sciences,Beijing 100049,China,4Department of Software Engineering,Xiamen University,Xiamen 361005,China,5Department of Computing,The Hong Kong Polytechnic University,Hong Kong,China,6School of Computer Science,Beijing Uni
7、versity of Posts and Telecommunications Beijing 100876,China,Abstract *Bitcoin,the first and the most popular Blockchain-based cryptocurrency,has attracted more and more users and investment.Because of the anonymity and decentralization of the Bitcoin,it has become one of the most common ways for ma
8、licious entities to launder money.In recent years,it is reported that Bitcoin has been used as a medium in many illegal actions,including cyberspace hacking,darknet marketplaces,money smuggling,scams,and blackmails.To combat such malicious behaviors,it is crucial to identify the roles of Bitcoin add
9、resses and purposes of Bitcoin transac-tions of interest.However,existing solutions only partially addressed this problem and had poor performance in recogni-tion.In this paper,we propose a novel machine learning(ML)based solution BATscope to address this problem.BATS-cope can accurately identify th
10、e Bitcoin address type and the purpose of some transaction behaviors(e.g.,mixing transac-tions).At the core,it iteratively and automatically augments the training set of Bitcoin address labels with some reliable heuristics and a novel pilot prediction method,and thereby continuously promotes the ML
11、models performance.Evalua-2 Journal of Cyber Security 信息安全学报,2023 年 7 月,第 8 卷,第 4 期 tion results showed that BATscope can recognize obfuscating-based mixing transactions with a precision of 0.99 in the public dataset and recognize the type of Bitcoin addresses(e.g.,attackers)with a micro/macro-F1 sc
12、ore of 0.9621/0.9567,much higher than existing solutions.Besides,the result also proved that our reliable heuristics can augment valid address labels with high confidence and pilot prediction corrected mislabeled addresses to further promote models performance.We use BATscope to further analyze the
13、mixing transactions in Bitcoin,which revealed the relationship between malicious addresses and mixing transactions.To demonstrate its robustness and usefulness,we also used BATscope to verify known malicious addresses and help law enforcement authorities analyze unknown addresses and close cases.The
14、 case studies showed that the result of BATscope is reliable in practical application.Key words *bitcoin,address classification,machine learning 1 引言 比特币1 作为第一个也是最主流的基于区块链技术的数字货币,吸引了越来越多用户的关注和投资。在比特币生态系统中,每个用户或实体都可以拥有一个或多个比特币地址(类似于银行账号)。然而,与银行账号不同,比特币地址是通过密码学算法生成的,与用户的现实真实身份没有直接关系,因此提供了一定程度的匿名性。除了匿名
15、性外,比特币还以去中心化的方式运作,并拥有很高的价值,因此比特币也成为了犯罪分子洗钱和逃避政府部门监管的主要手段之一。据报道,比特币已被用作许多非法行为的工具,包括黑客、暗网市场、资金走私、诈骗和勒索。例如,2020 年 7 月,许多知名推特账户被黑客攻击,并利用比特币进行诈骗2,造成超过 110000 美元的损失。2021 年 5 月,Colonial Pipeline 被勒索软件勒索,支付了 75 个比特币(或 440 万美元)用于数据恢复3。2019 年,被中国警方破获的 PlusToken 庞氏骗局4造成的损失超过 42 亿美元。图 1 比特币洗钱简化过程 Figure 1 Illus
16、tration of a classic money laundering process in Bitcoin 圆形和矩形节点分别代表用户/地址和交易。Circle and rectangle nodes represent different types of users/addresses and transactions,respectively.为了打击此类违法行为,我们需要了解比特币地址的类型和比特币交易的目的来追踪非法资金(即比特币)的流动。这是个非常具有挑战性的任务。图 1 展示了比特币洗钱的简化流程。除了比特币的匿名性和去中心化外,恶意实体还利用分割、聚合、混币、剥离链(Pe
17、eling Chain)交易等技术来进一步增加追踪资金流的难度。因此,识别地址(例如攻击者、交易所、个人钱包等)和交易意图(例如混币交易等)在比特币监管中的作用至关重要,在流程中可以看到,攻击者,交易所,混币交易等都可以对分析起到关键的作用。然而,现有的解决方案仅能部分地解决这个问题,并且在很多情况下表现不佳。一般来说,目前有两种类型的解决方案,即基于启发式和基于机器学习(Machine Learning,ML)的。基于启发式的解决方案5-9利用某些启发式方法,例如比特币白皮书1 中提出的多输入启发式方法,可以对同一用户或者实体控制的地址进行聚类。在已知集群中某一个地址标签的情况下,可以将地址
18、将标签从已知地址扩展到集群剩余的未知地址。这种启发式方法通常具有误报,可能会被攻击者绕过,从而导致不准确的结果10。更不用说这样的解决方案只能将标签扩展到有限数量的地址,而无法识别其余地址(不属于同一集群)。基于 ML 的解决方案利用手动提取的特征(例如文献11-12)或图神经网络(例如文献13)来表征区块链地址和交易。此类解决方案受限于训练数据规模小,泛化性能较差。在本文中,我们提出了一种新的基于 ML 的解决方案 BATscope 来解决这个问题。BATscope 将启发式方法和机器学习相结合,它可以自动化地迭代增加 ML 模型的训练集,以不断提升模型的性能。具体来说,我们应用以下两条规则
19、来扩充训练数据。首先,它改进了现有的启发式方法,使用可靠的启发式方法将标签从已知地址扩展到未知地址。请注意,在对混币交易进行操作时,某些启发式方法可能会被破坏,例如,多输入启发式方法不适用于混币交易。因此,为了使启发式方案更可靠,BATscope 会利用交易的输出金额分布特征来识别混币交易并在应用启发式方法时跳过他们以避免误报。王大宇 等:BATscope:比特币恶意地址及混币交易识别 3 其次,BATscope 采用了一种新颖的先导预测方法来准确地标记未知地址的类型,从而进一步增加训练数据。它(1)首先使用当前的 ML 模型预测未知地址的类型,(2)然后使用一种纠错机制来纠正预测结果,并且(
20、3)使用新标记的未知地址来扩充训练数据。第二步可以阻止不准确的预测数据及其派生数据污染模型。上述数据增强过程可以重复执行以获取足够的训练数据并不断提高模型的性能。我们已经实现了 BATscope 的原型并将其应用于比特币区块链。评估结果表明,BATscope 能够以 0.99 的精度识别混币交易,远高于最先进的解决方案14。通过查询最先进的商业软件,我们确认 BATscope 使用的可靠启发式可以有效地扩展未知地址的标签,证明启发式算法确实可靠。此外,通过应用先导预测方法,BATscope 可以识别比特币地址(例如,攻击者等)的类型,其Micro/Macro F1 可以达到 0.9621/0.
21、9567,远高于现有的基于 ML 的解决方案11-12,15。最后,我们将 BATscope 应用于实际场景以验证其鲁棒性和实用性,并表明它可以(1)正确识别在最近的安全事件中使用的已知(但不在训练集中)恶意地址16 和(2)成功帮助执法部门识别未知地址。在本文中,我们做出以下贡献。我们提出了一种新颖的基于机器学习的解决方案 BATscope,能够识别混币交易并利用它来高精度地识别比特币地址的类型。我们从各种开源信息收集了一组包括 43k 比特币地址标签数据,据我们所知这是目前最大的数据集,并会在未来将其开源。我们提出利用输出金额分布来可靠地识别混币交易,并提出了基于它的可靠的启发式方案来扩展
22、地址标签。我们提出了一种新的先导预测方法,通过利用当前模型和特殊的纠错机制将标签扩展到未知地址。我们可以将标签地址从 43k 扩展到 1.6M 以上,并且因此大大提高了模型的性能。我们将 BATscope 应用于最近攻击事件中报告的一些已知恶意地址和执法部门查询的未知地址,并证明了其鲁棒性和实用性。2 背景 2.1 比特币 比特币是第一个也是目前最主流的加密数字货币之一,由中本聪于 2008 年提出1。比特币通过P2P 网络以及工作量证明(POW)的分布式共识协议解决了双花问题。每个比特币用户或实体控制的账户都由一个地址标识,并且一个用户可以有多个地址。每个地址都是通过对用户公钥进行一系列密码
23、学算法和不可逆的哈希计算得到的,这种算法的碰撞概率极低。此外,比特币社区鼓励用户为接收一笔交易生成新的地址,这使得交易几乎无法被追踪。因此,很难将用户的某一个地址关联到她/他的其他地址,也很难关联到她/他的真实身份。通过这种方式,比特币提供了一定程度的匿名性。比特币的支付是通过将比特币从(多个)输入地址转移到(多个)输出地址的交易进行的。一笔交易需要所有输入地址的私钥对交易进行数字签名才能成功执行。由于私钥只有输入地址的所有者知道,因此通常假设多输入交易中的输入地址都属于一个用户,但这在实践中很可能不正确的。矿工是比特币网络中的特殊节点,负责验证交易并将它们打包在一个区块中,这些区块将链接在一
24、起形成分布式账本。挖矿的过程是一种计算哈希值的过程,当矿工通过应用不同随机数计算出一个满足条件的区块哈希值的时候(如哈希值的前几位都为0),可以认为产出了一个可用的新区块,这个新区块将会被连接到当前区块链的末尾。矿工在生成区块时将获得奖励的比特币,除了挖矿的奖励还有用户交易时向矿工支付手续费用。通过这种方式,许多节点愿意充当矿工的角色,这使得比特币能够以公平和去中心化的方式运作。我们可以从奖励交易(Coinbase 交易)中精确推断出矿工的地址。近些年来,为了让挖矿的概率变得更高,许多矿工将算力集合起来,形成一个具有强大算力的新实体-矿池。矿池将每次挖矿的收益按照参与矿工的算力按比例进行分配。
25、2.2 混币交易 比特币使用 UTXO 模型,该模型要求交易的输入必须是先前交易的输出,每个 UTXO 上都包含一个地址信息(除OP_RETURN外),从而允许用户跟踪比特币的流动。在 UTXO 的模型下,由于任何一笔UTXO 的金额不能分割和合并,因此对于需要找零的情况,用户一般会生成一笔两个输出的交易,其中一个输出的目标地址是真实接受支付的地址,另一个地址是属于输入支付方控制的地址,用作接受多余的零钱,并形成一个新的 UTXO。通过 UTXO,交易和交易之间互相连接形成一个复杂的交易网络。此外,UTXO 还允许交易的输入端和输出端有多个地址相同的输入或输出,形成聚合交易或者分片交易,使得比
26、特币的交易方式更加灵活。4 Journal of Cyber Security 信息安全学报,2023 年 7 月,第 8 卷,第 4 期 混币交易使用户可以将自己的资金与其他用户的资金混合,以隐藏其资金的流动并保护交易参与者的隐私。目前有两种流行的混合技术14:基于交换和基于混淆的混币技术。基于交换的混币依赖于受信任的第 3 方来交换来自不同用户的输入和输出,以保持输入输出关系的匿名性并打破 UTXO 的可追溯性。基于混淆的混币通过将多个用户的交易合并为一个交易来混淆输入和输出之间的匹配关系,并可以用分布式的协议实现。一种常见的混淆解决方案是 CoinJoin17,它被现在主流的混币服务提供
27、商广泛使用,如 Wasabi 钱包18、JoinMarket 19和 Samourai 钱包20。为了进一步增强匿名性,这些混币服务应用匿名集(一组具有相等值的输出)使得多个输出不可区分,导致确定输入和输出之间的支付关系变得更加困难。图 2 展示了一笔标准的混币交易,它将两笔独立的交易合并为一笔,使得输入和输出地址的关联关系变得模糊复杂。此外,CoinJoin 还可以通过匿名集,使得两笔实际的支付输出金额变得相等,如图中右侧的 C 与D,在其输出金额相等的情况下我们是无法区分C和D的,因此CoinJoin可以打破UTXO的可追溯性,增强参与用户的隐私性。图 2 CoinJoin 交易示例 Fi
28、gure 2 Case of CoinJoin transaction 除了 CoinJoin 交易,还有一种类似的交易手段称为 Chip Generation,被 Chipmixer 用于混币服务。类似于 CoinJoin,它依旧是将多笔交易混合到一起,并且具有多组输出相等的金额,但是,其输出金额有独特的特点,金额一般为 2 的幂,如 0.02BTC,0.04BTC.8.192BTC。Samourai 服务采用的则是CoinJoin 模式的变体,通常来说,其混币交易往往为5 个输入和 5 个输出,并且输入端金额和输出端金额分布极为相似。图 3 展示了一笔 Samourai 采用的CoinJo
29、in 交易模式,其输入输出的金额基本相等,在输入端有几个输入会稍多一点以作为交易的手续费,如图中两个 0.101BTC 的输入。相比于其它 CoinJoin变体,Samourai 采用的 Whirlpool 模式,具有着极强的隐私性。图 3 Samourai 混币交易示例 Figure 3 Case of Samourai mixing transaction 在本文中,我们专注于基于混淆方案的混币交易,因为它们是现实世界中部署最为广泛的混币服务类型。3 识别混币交易 准确地识别混币交易,可以有助于执法部门和监管机构识别流向混币服务的资金并调查洗钱等非法活动。此外,它可以帮助我们过滤掉不可靠的
30、启发式方法并提升地址识别模型的性能,这将在下一节中讨论。许多以往的工作试图识别基于 CoinJoin 的混币交易。文献21假设具有超过五个输入和输出的交易可能与 CoinJoin 大致相关。文献22假设 CoinJoin交易中的输入数量必须至少是输出数量的一半。BlockSci23-24还提供了一种严格遵循 Greg Max-well17对 CoinJoin 原始定义的启发式方法来识别 CoinJoin。然而,所有这些启发式或模式并不适用于现在流行的混币服务,如Wasabi钱包18、JoinMarket 19和 Samourai 钱包20等,因为它们使用 CoinJoin 的变体来实现混币交易
31、。本节介绍了我们的识别方法,可以更通用的识别基于混淆机制的混币交易,包括一个基础算法和一个进阶算法。3.1 基础识别算法 CoinJoin 将多笔交易组合为一笔交易,因此很难追踪交易的输入和输出之间的关系。然而,输入和输出的金额仍然会泄漏足够的信息,并且可以使区块链研究人员根据输入端金额的组合与输出端进行比较,有很大可能将组合的交易进行拆分25,Coin-Join sudoku 曾经宣称其成功破解了 Shared Coin 服务的初始混币交易。因此,Maxwell17 建议有效的CoinJoin 应具有相同值的交易输出,为所有潜在的真实交易接收者形成一个匿名集合。基于这一观察,我们提出了一种评
32、估交易输出王大宇 等:BATscope:比特币恶意地址及混币交易识别 5 的多样性并量化其混淆程度的方法,如下所示:=Nu/Nt 其中,Nu 是唯一输出值(不同输出值)的数量,Nt是交易中的输出总数。越低,表明交易的匿名性越强。我们认为如果一笔交易的 低于一个阈值,那么这个交易就具有混淆资金流的作用,是一笔混币交易。这个阈值可以从最简单的混币交易里推断得出。在最简单的情况中,混币交易的最小输入数量是两个,输出的最小数量是四个,即两个实际支付的输出和两个找零的输出。为了进一步增强匿名性,一个有效的混币交易会有至少两个相同金额的输出(一般是两个实际支付的输出),形成一个匿名集合(Anonymous
33、 set)。因此,最简单的混币交易最多应该有三个唯一的输出值,其 应该小于 0.75(即 3/4)。因此,如果某笔交易至少有两个输入和四个输出,并且 的值低于 0.75,我们就会认为其为混币交易。为了排除与 Omni26和灰尘攻击(Dust attack)等第 2 层协议相关的交易带来的误报,我们在应用混币交易识别算法前需要对交易进行预处理。由于比特币的防尘机制和攻击成本,灰尘攻击和第二层协议的输出一般低于 10000 satoshi(比特币的最小单位),高于 247 satoshi。因此,我们从每笔交易中删除值低于 10000 satoshi 的输出,排除二层协议,灰尘攻击以及 OP_RET
34、URN(无价值输出),然后评估调整后交易的 以及输入和输出的数量。为了进一步排除同一个地址将多个比特币 UTXO 聚合到一个地址的聚合交易或拆分资金并向同一地址发送不同值的拆分交易(交易的多个输入或输出的的地址是相同的),我们认为混币交易至少有 2 个不同的的输入地址和 4 个不同的输出地址。3.2 进阶识别算法 通过分析最新的公开的混币交易数据集14,我们发现匿名集可以是具有相似(而不是相同)值,但具有细微差异的一组输出,这一点在以往的工作中鲜有论述。而这种模式进一步混淆了交易输出,且不能通过传统的 Coninjoin 检测算法轻易识别。事实上,我们确实发现了一些遵循这种模式的混币交易27。
35、为了处理输出的细微差异,我们设计了一种进阶算法来评估交易输出的方差而不是唯一性。具体来说,我们使用非参数估计方法,即核密度估计(KDE)28-29,来估计随机变量的概率密度函数(PDF)。KDE 可以估计交易的输出值分布。在概率密度函数中分布更接近的一组输出金额会形成一个有极大值的波峰,可以被看作一个潜在的匿名集合。因此,我们使用估计的 PDF 中局部极大值的数量作为 Nu,并相应地计算 以识别混币交易。我们使用的 KDE 算法设置如下。首先,我们选择具有两个以上输入和四个以上输出的交易作为候选,并从交易中删除低于 10000 satoshi 的输出值以避免误报。然后,我们为每笔交易找到最大的
36、输出值 V0max 和第二小的输出值 V1min。之后,我们这样选择KDE 的带宽:(1)在等比数列 10n 中找到项 P,其中 n 的范围从 到,s.t.P=V1min 10*P;(2)设置带宽为 bandwidth=P/10。例如,如果 V1min 为0.5,则 P 为 0.1,带宽为 0.01。最后,KDE 中使用的采样点数设置为 V0max/bandwith,核函数设置为高斯函数。这里取第二小的输出值是因为避免交易里的多个输出偏差过大,最小值相对其他输入太小以至于得到的 bandwith 过小,让本应该归为一组匿名集的输出没有归在一起导致算法漏报。通过应用这种 KDE 算法,我们可以计
37、算输出值的 PDF 中极大值的数量,并相应地计算 以识别具有不同输出值而不是相同输出值的混币交易。4 识别比特币地址类型 图 4 展示了 BATscope 识别比特币地址类型的整体流程。如图 4 所示,我们首先从开源数据中收集地址标签数据集,训练机器学习模型(如 LightGBM),然后按照如下方式扩充训练数据以不断改进模型。具体来说,我们分析地址的历史交易行为,将某些可靠的启发式方法应用于与已知地址相关的非混币交易,以将标签扩展到未知地址。为了增强模型的泛化能力,我们采用了一种新颖的先导预测方法来进一步标记未知地址。它首先使用当前模型来预测未知地址的类型,并使用特殊的纠错机制纠正潜在的预测错
38、误,然后用纠正后的地址标签数据来扩充训练集。BATscope 通过重复这个增强过程以获得足够的训练数据来不断完善模型。4.1 特征提取和机器学习模型 我们首先使用 BlockSci24从比特币地址的交易中提取本地和交易特征。本地特征包括地址本身的本地信息,例如其最终余额、发送和接收的比特币总数、涉及的输入/输出交易数量和交易频率等。交易特征描述了一个地址涉及的所有交易的行为抽象,仅与交易本身有关,如地址所有交易输出/输入端平均数,所有交易总金额平均数等,特征的具体细节如30。我们应用 LightGBM 来解决多分类问题并标记每个地址。LightGBM 具有出色的性能和较低开销,在以前的工作中被
39、广泛采用12,15。文献12表明 6 Journal of Cyber Security 信息安全学报,2023 年 7 月,第 8 卷,第 4 期 图 4 BATscope 设计 Figure 4 Overall design of BATscope LightGBM在地址分类方面的性能优于其他ML模型,包括 Logistic Regression、SVM、Random Forest、XGBoost 和神经网络。此外,LightGBM 在一定程度上还提供了可解释性,可以帮助我们分析哪些特征对地址分类有效。4.2 启发式数据增强 我们改进了现有的启发式方法,总结并提出了三种更可靠的启发式方法,
40、即适用于任何类型地址的通用启发式方法(General Heuristic)、适用于交易所和矿池地址的剥离链启发式方法(Peeling Chain Heu-ristic)以及适用于个人用户的普通用户启发式方法(Normal User Heuristic),来从已知地址扩展标签到未知地址。4.2.1 通用启发式方法通用启发式方法 该启发式源自经典的多输入启发式,这种启发式方法广泛用于聚类比特币地址。在多输入启发式中,同一交易的多个输入地址会分配相同的标签。尽管这种启发式方法在大多数情况下有效,但它仍然可能会失败,即多个输入地址的标签可能不同。例如,很多交易所与矿池有密切的合作,甚至很多交易所有自己
41、的矿池。矿池可能会在多输入交易中将奖励的比特币转移到交易所,在这种情况下,矿池和交易所会被错误地归入同一类(标签)。我们通过考虑每个输入的比特币金额来改进多输入启发式并提出以下通用启发式方法:如果两个或多个输入在同一笔交易中如果两个或多个输入在同一笔交易中,并且它们的比特币价值非常接近并且它们的比特币价值非常接近(即差异低于即差异低于 10%),那么我们认为这些输入地址属于同一类型。那么我们认为这些输入地址属于同一类型。上述启发式是可以用于任何类型地址的通用方法。同一个交易的输入首先确保它们被分配到同一个集群,即被同一个实体控制。它们的接近的金额表明它们在这个交易中具有相似的状态或功能,这意味
42、着地址可能属于同一类型。此外,交易中的输入必须来自之前交易的 UTXO,而这些 UTXO 接近的金额表明这些不同的地址由于相同的交易目的作为交易的输出地址收到了相似数量的比特币,证明了通用启发式方案的合理性。金额相似但不完全相同可能是由于比特币价格波动导致的(美元计价)。在恶意地址中的一个例子是攻击者通常以美元为攻击目标设置赎金,但受害者在不同的时间以比特币的形式发送赎金,导致每笔赎金交易中比特币价值的微小差异。在通用启发式中这个差异应小于 10%,这是根据自 2015 年比特币开始流行以来的平均每周波动计算得出的。在误报方面,我们认为其中大部分误报应来自输入混合技术(例如 CoinJoin)
43、的影响,这也打破了原始的多输入启发式方法。在 CoinJoin 的影响下,启发式方案会将不同类型的地址归为同一类。使用第三节中提出的混币识别算法,我们可以跳过对混币交易应用通用启发式,从而有效地减少误报。其他误报来自交易所地址的多重身份。当用户需要将自己的比特币存入中心化交易所时,交易所会将自己的地址分配给用户进行存币操作,一些不法分子可以直接使用他们的交易所的存款地址接收赎金。当交易所进行多对一交易将比特币聚合到交易所主钱包时,如果当攻击者的地址在多个输入地址中,通用启发式会导致我们将交易所的其他地址错误标记为恶意的地址,导致误报。因此,对于非交易所地址,当使用通用启发式算法时,我们排除了超
44、过 50 个输入的多对一交易。阈值(50)是我们在对王大宇 等:BATscope:比特币恶意地址及混币交易识别 7 主流交易所的聚合交易的分析中找到的聚合交易的最小输入数量,是 Bitzlato31交易所采用的聚合交易的模式。由于阈值越小,造成的误报越少,我们认为 50 是一个合适的阈值。4.2.2 剥离链启发式方法剥离链启发式方法 第二个启发式基于一种称为剥离链(Peeling Chain)交易的特殊交易模式。这种交易模式将输入金额进行分割,绝大部分的金额发回输入实体控制的另一个地址,其余的输出地址分配一小部分剩余的金额。获得输出金额最大的地址不断做同样的事情,从而形成一个交易链,逐渐将金额
45、剥离到其他地址。剥离交易通常是一对多的交易,输入地址和输出地址中价值最大的可以认为是同一种类型,甚至是同一个实体。这种模式广泛用于一些中心化的实体,如交易所和矿池。交易所使用剥离链进行用户的提现操作,矿池通过剥离链向每个矿工发送奖励,因此在这种情况下,输出值小的地址可能是矿工地址。图 5展示了矿池使用剥离链向矿工发送奖励的示例。图 5 剥离链交易模式分配矿工奖励 Figure 5 Sending rewards to miners with peeling chain pattern 我们可以利用剥离链模式来扩展更多的地址标签,可以概括为以下启发式方法:在剥链交易中在剥链交易中,如果输入是一个
46、交易所如果输入是一个交易所,那么最大的输出是一个交易所地址那么最大的输出是一个交易所地址;如果输入是矿池如果输入是矿池,那么最大的输出是一个矿池地址那么最大的输出是一个矿池地址,其他输出值小的地址是矿工地址。其他输出值小的地址是矿工地址。4.2.3 普通用户价启发式方法普通用户价启发式方法 对于使用不属于任何实体的比特币的个人,没有有效的方法来检测他们,但我们可以通过恶意地址来识别与其交易的普通用户的钱包。由于比特币用户将比特币发送到这些恶意地址,我们可以搜索这些地址为输出的交易,并分析输入地址是否为普通用户。据我们了解,个人用户的钱包默认只向单个地址发送比特币,这表明用户钱包产生的交易总是有
47、一个或两个输出(商家和找零地址)。文献32 中也提到了类似的启发式方法,称为消费者启发式方法(Consumer Heuristic),可用于主流的钱包,例如 Bitcoin Core、Electrum、MultiBit、Armory 和 Android 比特币钱包等。我们进一步改进消费者启发式,只分析输入数量为 1 的交易(多个输入地址可能属于交易所行为)。因此,我们可以使用以下启发式方法来确定普通用户的比特币地址。对于输出包含恶意地址的交易对于输出包含恶意地址的交易,如果它只有一个输入和两个或更少的输出如果它只有一个输入和两个或更少的输出,我们可以将输入地址标记为普通用户。我们可以将输入地址
48、标记为普通用户。4.3 先导预测数据增强 使用可靠的启发式方案扩充固定的标签数据集来提升模型的边际效应会随着地址的迭代次数而递减。因为从原始标签地址扩展而来的新地址是有限的并且容易同质化。在最极端的情况下,我们的启发式方法可能会退回到多输入启发式,并且无法推导出更多新地址的标签。因此,有必要对未知地址应用启发式算法,解决收益递减的问题,进一步增强模型的泛化能力。为了进一步将标签扩展到未知地址,我们设计了一种新颖的先导预测方法。对于标签未知的地址,我们首先使用当前模型预测一个类型作为它的标签。但是,标签可能是错误的,因为模型不能完全准确,用该地址标签以及从其派生出的新地址数据会对模型的迭代训练会
49、产生负面反馈。因此有必要进行纠错。在图像识别等其他机器学习任务中,如果不进行人工检查,很难判断输出的正确性。但是,在比特币场景中,可以通过地址之间的交易关系来评估模型的输出结果。为了纠正模型的潜在错误,我们使用了通用启发式方法,该方法可以从多输入交易中推断出与已知标签相同标签的地址。为方便起见,我们将要检查其标签的已知地址称为父地址,从父地址派生的地址称为子地址。如果模型输出对于父地址是正确的,那么大部分子地址也应该被模型归类为同一类型。因此,我们用模型对通用启发式派生出的子地址进行分类,并统计不同类型各自的数量。如果其中最主要的类型(数量最多)与当前模型标记的父地址的标签相同,可以认为父亲的
50、标签是正确的。如果没有一个主要的类型,或者主要类型与父地址标签不符,我们不会使用子地址来不断地重新训练当前模型以进行模型优化。5 实验评估 在本节中,我们进行了几个实验来评估我们的8 Journal of Cyber Security 信息安全学报,2023 年 7 月,第 8 卷,第 4 期 解决方案并回答以下问题:问题 1:BATscope 在识别混币交易方面是否有效?问题 2:我们的启发式方案从已知地址扩展到未知地址的标签是否可靠?问题 3:先导预测方法在提升模型性能方面是否有效?纠错机制是否表现良好?问题 4:我们的解决方案在实践中是否鲁棒且实用?5.1 混币交易识别评估 5.1.1