whoarephishers读书笔记

论文读书笔记

TSMC上的《Who Are the Phishers? Phishing Scam Detection on Ethereum via Network Embedding》这篇论文提出了一个以太坊上的钓鱼检测技术,下面是这篇论文的概述:

​随着区块链的发展,各种诈骗行为愈演愈烈,其中钓鱼诈骗占到了50%以上。但由于传统的钓鱼诈骗和以太坊上的钓鱼诈骗在通用货币,交易透明度,钓鱼方式等方面大相径庭,我们不能直接应用传统的钓鱼检测技术,因此我们提出了一种针对以太坊的钓鱼检测技术。

我们先从以太坊客户端中获得所有交易记录,以此构建一个交易图,节点表示以太坊账户,边表示账户之间的交易。接着我们从权威网站上获得被标记为钓鱼账户的信息。为了同时学习到图结构和交易信息的特征,我们提出了一种新的图嵌入算法trans2vec来进行特征提取。trans2vec算法由在交易金额和交易时间上有偏的随机游走来生成节点序列,再由skip-gram模型获得图嵌入特征。由于钓鱼账户占比过小,我们使用一类SVM来进行无监督异常检测,将前面学习到的特征作为一类SVM的输入进行钓鱼检测。

最后我们从不同采样偏差,不同图嵌入算法,不同的分类器,不同的参数和算法可扩展性等方面进行评估。

从这篇论文中我学习到了不少东西,比如说图嵌入和一类支持向量机。图嵌入将图结构映射到低维向量空间,将节点表示为向量形式,学习节点之间的关系,以便更好地捕捉节点之间的相似性和差异性。文中提到的deepwalk和node2vec就是两种常用的图嵌入算法。deepwalk通过随机游走生成节点序列,用这些节点序列来学习节点的向量形式,即节点嵌入。node2vec和deepwalk类似,在随机游走上略有不同,node2vec通过在dfs和bfs上有偏的随机游走来生成节点序列。一类SVM则是一种单分类器,通过学习正常样本的分布特征,来检测新样本是否属于正常类别。图嵌入算法为我们如何处理图的数据提供了一种思路,它可以将图中提取出具有结构信息和边点信息的特征;一类SVM则为我们如何处理有标签数据占比小的数据集提供了一种思路。

虽然学到了不少东西,但由于临近期末时间紧迫,还是有些东西没学明白的,比如skip-gram模型是怎么从序列中学习出词或者节点的嵌入的,一类SVM具体是怎么分类的等等。

至于论文的改进方案或后续的工作方向,其实文中在conclusion部分已经提到了,这里我再补一点我的想法:

  1. 会不会有更好的交易特征:设想现在有一个网站的交易金额和交易时间的数据,我们能判断该网站是否有钓鱼诈骗行为吗?以太坊上的钓鱼诈骗是和传统钓鱼诈骗有不同,但我感觉仅从交易金额和交易时间来进行钓鱼诈骗识别的话,只能识别出ICOs期间的钓鱼诈骗,总金额大,时间集中。要是未来以太坊上出现类似传统钓鱼网站的钓鱼诈骗,金额和时间散布大的,trans2vec是否还能提取出有效的特征?

  2. 钓鱼账户所有的交易都是关于钓鱼的吗:这个不是对论文内容的问题,这个是对数据集的问题。我在想这些被标记为钓鱼诈骗的账户有没有可能进行过正当交易,这些交易会不会影响提取出来的特征,比如说这些账户一开始就是普通账户,进行过许多正常交易,后来突然开始钓鱼诈骗,被权威网站标记为钓鱼账户等等。

参考资料

随机游走

skip-gram模型