《TRacer: Scalable Graph-Based Transaction Tracing for Account-Based Blockchain Trading Systems 》阅读

TRAcer:基于账户的区块链交易系统的可扩展的基于图的交易跟踪

摘要

诈骗和黑客攻击等安全事件成为区块链生态系统的主要威胁,每年给用户造成数十亿美元的损失。为了揭示匿名区块链账户背后的的真实世界实体,学术界和工业界最近投入了大量精力来追踪区块链中的非法资金流动。

本文将区块链交易建模为交易图,并将区块链交易跟踪处理为图搜索任务。为了在交易图上实现高效和有效的资金转移跟踪,本文提出了一个可扩展的交易跟踪工具TRAcer。通过子图搜索方法来处理交易跟踪任务,该方法采用一种新的排名方法来推断多关系区块链交易图中的图搜索过程中帐户之间的相关性。

2021年期间,加密货币相关业务中非法交易活动造成的损失已超过140亿美元。特别是,大多数这些非法交易活动和恶意攻击都是在基于账户的区块链交易系统中进行的,如以太坊和币安智能链(BSC)

相关研究

随着可公开访问的区块链交易数据,已经开发了各种技术来打击区块链交易系统中的金融犯罪[4],[5],[6],这些技术可以分为两类,即主动(交易前)风险预警补救(交易后)资金追踪

  • 主动风险预警通常是根据相关账户的历史行为和已有的标签信息,对新交易的风险进行评估。基于数据的异常或非法行为检测技术,如网络钓鱼诈骗[7],[8],价格操纵[9]和洗钱[10],可以归类于此范围。然而,如图1a所示,尽管主动预警可以在交易发生之前对风险交易进行预警,但由于区块链系统的匿名性和分布式特性,它无法阻止已经获得资金的犯罪分子通过交易所洗钱和兑现不义之财。因此,大量的努力已经投入到对不义之财的补救性金钱追踪[11],[12],[13],旨在使相关的金钱流动去匿名化,并帮助受害者挽回损失。

  • 图1示出了补救性金钱追踪的玩具示例。一般来说,交易跟踪过程从源头开始,跟踪资金流向目标。在这里,源表示跟踪对象,例如欺诈者携带大量不义之财的区块链账户,目标表示用于收集等待兑现的“干净”资金的账户。虽然账户的身份信息在区块链系统中是未知的,但一旦我们找到通常执行了解客户(KYC)流程的交易所的目标存款地址,就可以根据交易所提供的KYC信息识别并捕获相关犯罪分子[14]。

基于账户的区块链的交易跟踪有下面三个挑战

  • 假名账户:传统的交易模式可以利用用户的个人信息关联多个账户,从而更好的找到核心追溯路径,但由于区块链交易的匿名性,关联到账户的身份特征比较稀缺,因此账户之间的关系只能从交易记录中挖掘

  • 多样化的交易意图:与传统的金融市场不同,交易只是在转移资金。由于智能合约的参与,基于账户的区块链上的交易有多中意图,例如资金转移、批准操作等等

  • 海量的数据。庞大的交易量使得事务分析变得非常困难。

本文工作

本文提出了一个基于账户的区块链交易系统的智能交易跟踪工具,成为TRAcer,它采用了一种可扩展的排名算法来估计账户之间的相关性,并能够以低成本处理复杂的DeFi操作以及大量的交易记录。

  • TRAcer首先将区块链交易系统中的复杂Defi建模为有向、加权的时间和多关系图

  • 在此基础上设计了一种基于排序引导的图扩展方法,在风险源周围找到一个子图,揭示风险源与其他账户之间的资金流,提出了一种新的排序方法,具有可扩展性和有效性的优点。

  • 最后,我们进行局部社区检测的一个子图周围的风险种子图扩展

准备知识

比特币中的交易是由UTXO组成的

以太坊和BSC等基于账户的区块链系统具有与传统银行账户类似的账户概念。

账户是交易的发起者,记录了包括账户余额在内的一些动态信息。在基于账户的区块链中有两种账户:外部拥有的账户(EOA)和智能合约账户。

智能合约账户与一段可执行的字节码相关联,交易操作由代码定义

由EOA触发的交易被称为外部交易,由智能合约触发的交易是内部交易。外部交易由其交易哈希值唯一标志,该哈希由一组数字和字母组成。外部交易会触发很多内部交易。内部交易与外部交易共享相同的哈希。

问题定义

交易跟踪任务:从给定的源账户到目标账户的资金流,这些目标账户收集等待兑现的资金,为审计人员指出优先的资金流,以进行人工进一步验证。将交易跟踪问题公式化为子图搜索问题,

:给定的跟踪对象,例如区块链欺诈者的账户

目标:来源资金最终停留的匿名账户。一旦定位了实施KYC过程的交易所的目标存款账户,就可以揭示目标的真实身份及对应来源

给定一个交易图 G 中的源节点 s,目标是搜索一个连接的资金转移子图 Gs,从 s 到其资金流目标位于 s 的邻域中。 Gs 应该包含尽可能多的目标节点,子图大小尽可能,以便使进一步的手动验证更加容易。

我们假设事务跟踪面向最坏情况,即,只有一个相关联的帐户是已知的。

方法设计

事务跟踪任务被建模为事务图中的子图搜索问题,并且通过有偏图搜索方法来解决该问题。

  • 局部搜索优于聚类:局部搜索从给定的账户触发,可以在探索资金流向的同时调整搜索方向,绕过不同角色的账户

  • 实用性方面有利于有偏搜索:对于这里考虑的事务跟踪任务,由于以下两个原因,最好使用有偏搜索方法来引导搜索到正确的方向。一方面,交易信息(例如,金额和时间戳)来评估搜索偏差,有利于恢复真实的资金流向,保证交易追踪的有效性。另一方面,搜索偏置引导事务跟踪,避免不相关的事务,从而减少事务数据访问,提高执行效率。

  • 个性化排名提高搜索质量:有偏搜索需要迭代查询具有最高相关性的邻居节点,因此需要一种排名技术来对不同节点的相关性进行排名。节点排序技术可以分为:全局排序和个性化排序。

    • 我们可以观察到,全球排名在两个方面有局限性:i)排名是根据全球交易信息计算的,这使得很难关注与风险账户相关的特定资金流,从而可能误导搜索方向。ii)全局排名需要获取和处理整个交易图,这使得确保执行效率变得具有挑战性。

    • 个性化排名仅对源的邻居进行排名,这导致搜索方法更多地集中在与风险源密切相关的账户和交易上。因此,对于事务跟踪任务,个性化排名比全局排名更直观和有效。

TRAcer结构

由于基于账户的区块链交易系统中存在多种类型的代币,我们将账户之间的资金转移关系表示为有向、加权、时态和多关系图G =(V,E),其中V是代表账户的节点集,E是代表代币转移关系的边集。边e =(u,v,w,t,B,h)表示账户u在时间戳t以交易散列h向账户v转移w个单位令牌B。我们定义映射函数fsrc、ftgt、famt、fts和fsym,分别将每条边映射到其源、目标、数量、时间戳和令牌类型。存在多种类型的边,其指示不同令牌的转移关系。

图构建

如上图DeFi动作分为两种

  • Xfer:通过交易发送或接受令牌

    • transfer:一个账户向另一个账户发送一定数量的token

    • minting:一个token合约向两一个账户铸造一定数量的token

    • burning:一个账户燃烧一定数量的token

  • Swap:通过交易将令牌交换为另一个令牌

    • 增加流动性:账户将一定量的令牌存入Defi应用程序,并接收一定量的流动性提供者令牌

    • 移除流动性:账户将一定量的LP令牌发送到defi应用程序以进行销毁并获得一定量的其他令牌

    • 交易:账户在Defi应用程序中出售一定量的令牌A以换取一定量的令牌B

    我们将具有相同交易散列并涉及发送和接受令牌的转移关系标识为Swap,否则是Xfer

图扩展

图扩展通过四个操作从给定源扩展相关的子图

  • Expand:收集与给定节点相关的所有边

  • Push:将收集到的边合并到子图中国

  • Rank:计算子图中节点与源的相关性

  • Pop:选择一个节点进行扩展

  1. push 和 rank:push在每次迭代中将扩展的边合并到子图。rank操作评估子图中节点与源的相关性。为了评估相关性,我们提出了一种新的个性化排名方法:TTR(事物跟踪等级),它可以在探索资金流的同时进行排名,分解为rank和pop

    1. rank:通过本地推送过程递增更新排名

    2. pop:确定下一个扩展节点

      为了结合交易信息,TTR 设计了四种策略:追踪趋势、加权污染、时序推理和代币重定向

rs(u,t,b)表示节点u在时间戳t时从标记b得到的残差。是一个用于衡量节点与可疑账户关联程度的指标,其值会随着追踪的进行而动态变化。残差越大,节点越重要。

局部社区检测

从扩展子图中提取源节点的本地社区,其中节点与源的相关性高于社区外的节点。

追踪趋势

在大多数情况下,追踪特定来源的资金流的目的地需要更多地关注出度邻居。因此,我们定义一个注意力系数0 ≤ β ≤ 1。在残差传播过程中,当β > 0.5时,事务关系中的度外邻居可以获得更高的残差,当β < 0.5时,度内邻居可以获得更高的残差。

加权污染

在交易图中,资金转移交易图与交易金额加权。对于每个节点,与目标节点交易更大金额的邻居被认为与该节点更相关。具有更大权重的边关联的u的邻居可以在传播过程中获得更多的残差

时间推理

区块链上的交易按照时间顺序记录在区块中,每个区块都分配有特定的时间戳。利用时间戳信息,对货币流的源的跟踪通常遵循具有增加的时间戳的路径,对源的跟踪遵循具有减少的时间戳的路径。

令牌重定向

该策略基于Xfer和Swap的交易模式,努力揭示有趣的令牌流。如图6(d)所示,来自具有hash 1的Xfer边缘中的USDC令牌的节点u的残差应该被推过具有hash 3和hash 4的边缘,而不是具有hash 2的USDC传出边缘。因为带有hash 2的边处于Swap模式,并将USDC令牌交换为ETH。 针对于Xfer而不是Swap。

2、pop和expand

pop操作从子图中选择一个节点用于下一轮扩展迭代,expand操作通过手机该节点的所有相关边来扩展该节点。当子图中所有节点的残差低于阈值时,图扩展终止。没有节点和源节点有较高的关联性了

pop选择的是具有最高残差的节点。

本地社区检测

提取操作采用局部社区监测来从扩展图构建小规模局部社区。对于特定的风险源节点,本地社区节点的重要性等级明显高于外部节点,这使得进一步的专家审计变得从容。

电导是一种广泛考虑的局部社区检测的度量

问题

1、查找资金流的过程 get

  • 将交易建模为一个有向加权、时间相关且包含多重关系的图

  • 根据排序引导的图扩展方法寻找围绕风险源的子图,揭示源头与其他账户之间的资金流向。图扩展是根据排序方法完成的。(从给定的风险账户开始找到子图)

  • 对找到的子图进行局部社区检测(使用局部社区检测方法从找到的子图中发现更小规模的局部社区供专家检测),该子图足够简洁,便于专家进行后续审计。

    • 局部社区检测:局部社区检测(Local Community Detection)是一种网络分析方法,旨在识别网络中具有紧密联系的节点群组,这些群组内部的节点之间联系紧密,而与群组外部的节点联系较少。局部社区检测与传统的全局社区检测方法不同,后者旨在识别整个网络中的所有社区。

2、四种个性化排序方式 get

3、残差和召回率分别是什么?在本文中有什么作用?get

残差这里指的是和源节点的相关程度

召回率是经过本文算法找到的节点中是ground-truth中真正的犯罪链上节点的比例。比例越高表明算法效果越好。

4、算法1和算法2 get

image-20240606203018928

image-20240606203038930

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值