主页 > imtoken苹果钱包 > 智能合约内部转账与洗钱案例分析

智能合约内部转账与洗钱案例分析

imtoken苹果钱包 2023-07-04 05:14:40

一、简介

说到ETH的转账方式以太坊转账备注,最常用的就是sendTransaction,但是有一种转账方式往往被人们所忽视。 这种转账方式不仅在大额转账时手续费较低,而且隐蔽性也比sendTransaction高。 这种转账方式常用于脚本批量转账,这种转账方式为以太坊合约内部转账。

2.特点

合约内转账有以下优点

手续费低

与普通的sendTransaction相比,需要的手续费至少是21000 GAS,而通过合约转账只需要2300 GAS。

隐蔽性强

普通sendTransaction的转账金额和目的地址在web3中可以通过getTransaction直接查询,但是合约内部的转账只能通过转账上的debug_traceTransaction进行分析,相比getTransaction直接获取结果更难自动化分析。

3.分析

富辰区块链威胁情报平台发现,目前以太坊上 6% 的 ETH 转账是通过对全网交易的自动分析,通过智能合约进行的。 虽然占比不大,但大部分用于大额ETH转账,其对于分析黑资产流向的重要性不言而喻。

近日,富臣区块链威胁情报平台发现以下地址涉嫌参与黑资产转移。

0x02CACEb4BFc2669156B2eb3b4d590E7aC10A4E73 

该合约已在ETHScan上开源其合约代码,代码如下:

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".

以太坊转账备注_sitebtc112.com 以太坊转账查询_以太坊转账一般多长时间

*/ contract Ownable {  address public owner;  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);  /**   * @dev The Ownable constructor sets the original `owner` of the contract to the sender   * account.   */  function Ownable() {    owner = msg.sender;  }

sitebtc112.com 以太坊转账查询_以太坊转账一般多长时间_以太坊转账备注

 /**   * @dev Throws if called by any account other than the owner.   */  modifier onlyOwner() {    require(msg.sender == owner);    _;  }  /**   * @dev Allows the current owner to transfer control of the contract to a newOwner.   * @param newOwner The address to transfer ownership to.   */  function transferOwnership(address newOwner) onlyOwner public {    require(newOwner != address(0));    OwnershipTransferred(owner, newOwner);    owner = newOwner;

以太坊转账备注_以太坊转账一般多长时间_sitebtc112.com 以太坊转账查询

 } } contract DistributeETH is Ownable {  function distribute(address[] _addrs, uint[] _bals) onlyOwner{    for(uint i = 0; i < _addrs.length; ++i){      if(!_addrs[i].send(_bals[i])) throw;    }  }  function () payable {} }

可以看出,合约代码其实很简单,主要功能只有一个,就是合约管理员通过一个数组来分配合约中的ETH。

在分析时以太坊转账备注,合约共向 1800 个地址发送了 204,979.07 ETH

sitebtc112.com 以太坊转账查询_以太坊转账备注_以太坊转账一般多长时间

这是其中一笔交易

以太坊转账一般多长时间_以太坊转账备注_sitebtc112.com 以太坊转账查询

可以看出,它只支付了0.004251912 ETH,就向25个地址发送了730.33678 ETH。 可见,如果利用这种转账方式来迷惑黑资金,将大大增加追踪难度。

进一步分析后发现,该地址最大的ETH来源是

0x6705120db9fb682dec120cdecc8220385d25fc50

该地址将 879 笔交易共计 181145.6 ETH 转移到 0x02CACEb4BFc2669156B2eb3b4d590E7aC10A4E73。

最大的资金来源是0x6705120db9fb682dec120cdecc8220385d25fc50的ETH,来自数千个钱包地址的连续转账,而这些钱包地址都是由脚本创建的,企图隐藏其资金来源。 然而,经过我们的追踪,我们发现这笔资金实际上来自以下几个钱包地址。

地址流出 ETH 总量 ETH 来源备注

0xb18cb7cda7779139b4c660275afa309a600b71bf

31,813.98 以太币

海妖交易所

0xEcB979D7294c82d8B07a279f942AAe0ec458b0EF

1,729.65 以太币

币安交易所

0x9ae63ee2e8ed29f4a4edb982f918a33c2caf3f98

11,370,000 以太币

波兰交易所

sitebtc112.com 以太坊转账查询_以太坊转账一般多长时间_以太坊转账备注

Bitfinex 交易所

海妖交易所

Bittrex 交易所

0xe4abc54f5a6288b60c18b361442a151fc4911da6

30,297.50ETH

波兰交易所

Bittrex 交易所

累计流出2615万个GNT币

累计流出25,055 REP币

累计流出48,730,000 ZRX币

共流出21,793.17枚MKR币

总流出107,140.00 NMR币

0xd9acba6f45c7bed110cf7e86406ba2d295e9cc3a

774.42 以太币

XRPC 和 ARB ICO

XRPC 和 ARB 的发行人

4。结论

可以看出,这个合约背后的所有者通过ICO和交易,通过制作小币种和发行数字货币的方式获得了大量的ETH,然后通过脚本或智能合约分散这些ETH,企图掩盖其被盗的痕迹。贸易。

因此,如果安全人员想要跟踪或分析以太坊上的黑金转账,不能只关注普通的转账流程,更应该关注合约内的转账,因为其天然的手续费低廉,隐蔽性强。 黑钱转移的温床。