Techniques and Applications for Crawling, Ingesting and Analyzing Blockchain Data 中文翻译

Brinckman E, Kuehlkamp A, Nabrzyski J, et al. Techniques and Applications for Crawling, Ingesting and Analyzing Blockchain Data[C]//ICTC. 2019: 717-722.


原文获取:https://arxiv.org/pdf/1909.09925.pdf

摘要

随着公共以太坊网络的交易量超过五亿次,并且企业区块链系统变得能够满足全球部署的需求,生产区块链应用程序在各种业务和科学领域迅速普及。在本文中,我们反思了我们最近围绕区块链数据的摄取,检索和分析开展的工作。我们通过将智能合约接口与链上数据交叉引用,以保留每个交易的原始元数据的方式,描述了在提取区块链数据时的扩展性和语义挑战。然后,我们通过描述我们如何以通用方式从任务和依赖项中收集数据来讨论科学工作流程领域中的科学用例。然后,我们讨论如何使用两种无监督的机器学习算法来分析已爬网的公共区块链数据,这些算法旨在识别系统中的异常账户或智能合约。我们比较和对比了两种机器学习方法,并与公共网站进行了互相关,以说明这种方法的有效性。

关键词

区块链,分析,科学工作流程,异常检测,以太坊

I 引言

在撰写本文时,自2015年7月以来,公共以太坊网络已经运行了大约1450天,并且根据[1],迄今为止,该网络已经处理了近5.06亿笔交易。自成立以来,平均每日交易量为350,000,最近在2019年6月,[2]指出,自2018年5月加密货币热潮结束以来,交易量首次再次超过100万。对于企业部署,公司倾向于为了部署其私有区块链分类帐和组织,例如企业级以太坊联盟[3],有250个成员公司正在积极追求私有区块链部署。其他基于以太坊的企业开源区块链平台(例如Quorum)是专为企业使用而设计的,将公共以太坊社区的创新与增强功能相结合,以支持企业需求。 Quorum的愿景是提供解决方案,使公司可以与其他合作伙伴安全地共享其区块链业务流程和数据,并因此包括基于节点的授权来定义哪些公司可以访问哪些内容。为此,Quorum已与Microsoft合作,于今年早些时候提供Quorum作为一种弹性的Azure区块链服务[4]。这种灵活的私有部署导致了多个创新业务应用程序的产生,而这些业务应用程序又将导致大量的区块链数据,其中包含有价值的业务交易历史记录,可以在其中收集见解,并将其馈入可以继续持续发展的新业务模型中。推动创新。
同样,在研究中,人们对区块链有着广泛的兴趣,从低级机制(包括新颖的共识算法)到在多个领域的应用研究,在这些领域中,区块链已成为研究课题,旨在了解影响此类影响的定性和定量收益部门。

在本文中,我们描述了我们最近针对区块链数据的提取,检索和分析进行的三项研究。该研究始于对如何提取以太坊区块链上记录的数据的调查,以更好地了解以太坊交易,所使用的编码以及如何完整检索交易的原始元数据。以太坊区块链的状态通过交易,合约和挖矿等活动不断变化。以太坊数据结构非常复杂,它使用trie数据结构来管理已确认交易余额和智能合约数据之间的关系。我们将在第三部分中对此进行详细讨论。
我们考虑的第二个用例是在可执行科学实验的背景下,使用计算工作流将数据吸收到区块链中。工作流提供了一种结构化的方法,用于描述复杂的功能执行,数据和逻辑管道。它们通过以详细且可重复的方式公开基础科学过程,从而实现了实验和结果的可重复性。科学和业务流程可以建模为一组独立的任务,可以针对不同的配置独立开发,验证,完善和组成[5],并且可以通过指定对数据依赖关系和执行逻辑的控制,工作流能够对整个科学过程进行建模。在过去的几年中,工作流的使用量有所增加,并且系统已经变得非常复杂,旨在满足众多应用程序域中广泛的分布式计算和数据依赖需求。
工作流是区块链提取的一个很好的用例,因为它们是支持多种科学研究的通用平台。整合后,就可以将见解记录在区块链上,然后进行爬网和分析,以验证和验证用于进行此类研究的流程和网络基础设施。为此,我们将区块链跟踪组件集成到了Pegasus工作流系统中[6]。 Pegasus是基于DAG的工作流系统,可与多种数据管理和计算基础架构进行交互,并已在多种环境中使用,包括最近的LIGO引力波发现。第四节对此进行了描述。
我们考虑的第三个用例是用于区块链数据的分析。在这个用例中,我们使用机器学习从公共以太坊区块链中提取潜在可疑账户。为此,我们使用两种机器学习算法来尝试通过学习对异常交易进行聚类来检测异常值,从而区分正常和不良的以太坊账户。在这项研究中,我们使用支持向量机(SVM)和K-means聚类来检测此类离群值,这些离群值可能是骗局或可疑的,原因是其他原因。第五部分介绍的结果表明,我们提取的异常值与那些被Etherscan标记为可疑的帐户之间具有相关性。
本文的其余部分安排如下:第二节概述了类似的工作;我们的研究在第III,IV和V节中进行了说明;最后,我们在第六节中介绍我们的结论。

II 相关工作

从区块链中提取信息并不是一个新主意:人们意识到区块链结构性质带来的困难后,便开始了努力。这些早期工具中的几个不再可用。也许最早的努力之一就是为比特币网络提供取证工具的库,名为BitIodine [7]。这些工具能够解析区块链以收集和可视化相关信息,还具有执行地址聚类,分类和标记的能力。从区块链中提取信息后,将其存储在关系数据库中。作者分析了涉及黑市网站Silk Road的已知案件以及CryptoLocker勒索软件的受害者,他们仅使用区块链上公开的信息,确定了Silk Road及其创始人之间的特定联系。
为了扩展和推广从区块链中提取有用信息的想法,[8]提出了BlockSci,这是一种用于区块链分析的平台,支持多种不同的区块链。他们使用内存数据库,并声称与其他方法相比,速度提高了15到600倍。但是,它不为以太坊等智能合约平台提供支持。在随后的类似工作中,[9]提出了一个框架来支持比特币和以太坊上的数据分析,并重组SQL或NoSQL数据库中的区块链数据。他们试图解决将区块链数据与外部信息(例如用户,市场和犯罪相关数据)相结合的需求。
与专注于比特币网络的其他努力相对应,[10]提出了以太坊查询语言(EQL),以使用类似SQL的语言直接查询以太坊区块链。作者提出了一个问题,即难以通过顺序访问或索引哈希以外的任何其他方式访问区块链数据。它们通过二进制搜索树实现索引,但是,这带来了很高的存储要求。尽管是为以太坊网络构想的,但作者承认EQL在处理合同方面有局限性。
在一个稍有不同的类别的工作中,Block- Bench [11]提出了一个在数据处理能力方面进行私有区块链比较的框架。但是,它并没有直接进行数据提取,而是突显了区块链作为数据分析直接来源的局限性。主要结论之一是,这些区块链不适用于大规模数据处理。

多项工作提出将区块链交易吸收到基于图形的数据库中,作为促进数据分析的一种手段。其中[12]建立了一张图表,显示了直到2013年5月为止比特币网络中的所有交易和地址。他们试图了解用户个人资料及其余额,如何保存,移动或交换比特币资产。他们发现,尽管大量交易仅交换小部分金额,但数百笔交易转移了超过50,000个比特币。
[13]也使用从区块链交易中构造的图,研究了比特币网络中的匿名性。在其他值得注意的活动中,应用PageRank算法将与FBI相关联的帐户(以及从著名的丝路夺取的资金转移到该帐户)分类为非常重要的活动。同样,[14]能够跟踪从Gatecoin黑客非法获取的资产,这些资产被重定向到与已知加密货币交易所关联的帐户,并建议对区块链数据的图形解释可能更适合此类应用程序。
在另一种方法中,[15]提出了BlockChainVis,该工具用于对比特币交易流进行可视化分析,以识别非法活动,并将整个比特币交易历史记录到其数据库中。标记为一组的将近16,000笔交易仅对应于两个地址之间的值交换,但是无法确认这些交易与非法活动有关。为了尝试从视觉上识别交易中的异常模式,并通过通货膨胀和流通速度等指标以经验方式验证经济指标,[16]使用400个核心簇将大约8年的比特币交易数据提取到图形数据库中。作者估计生成的图形的总大小约为600GB。
为了寻找可以与重要事件相关的局部模式,例如资产价格波动,[17]将网络主题和graphlet的概念扩展到了区块链图,也就是所谓的chainlet。作者测试了小链变化及其对比特币价格的影响之间的统计格兰杰因果关系,得出结论,某些类型的小链可用于预测比特币价格。
在专注于从区块链中提取或处理数据的作品中,也有一个明显的趋势,许多作品专门针对欺诈检测设定了目标。 [18]研究了匿名服务在比特币网络中的影响,因为其中许多可用于洗钱活动。他们的结果表明,这些服务为大多数犯罪调查人员增加了有效的难度。
在该领域内的另一个方向上,[19]试图识别比特币中称为庞氏骗局的金融欺诈行为。作者创建了一组从交易中提取的功能,并将其输入到Random Forest和XGBoost中,以获得表明潜在欺诈活动的分类结果。使用这种方法,他们报告的真实阳性率约为83%,而错误阳性率低于4.4%。

着眼于以太坊网络,[9]提出了一种方法来识别和收集有关实施庞氏骗局的智能合约的信息并调查其性质。作者能够识别出涉及此类欺诈的数量惊人的智能合约,但幸运的是,其影响仍然很小。最近,[20]转向比特币网络来检测与此类计划相关的活动。作者手动收集了一个数据集,该数据集由与庞氏骗局相关的地址相关的交易图以及与此类活动无关的图样本组成。他们使用监督式机器学习算法来执行庞氏相关活动的检测。最好的模型是随机森林分类器,其准确性接近99%,但是尚不清楚他们是否利用交叉验证来防止训练集过拟合。
尽管该领域的工作数量在增加,当前区块链中可用的数据量也很大,但仍然缺乏以明确定义的目标构建并在研究社区之间共享的适当的机器学习数据集。大多数作品都从区块链的子集中创建自己的数据集。在每个文档中,作者似乎只是使用他们认为适当的标准。引起进一步调查的另一点是,过去的大多数工作要么是:a)专注于比特币网络,该网络不提供对智能合约的内置支持;或b)放弃以太坊全面的智能合约机制作为提取和分析数据的来源。

III 爬取区块链数据的经验

顾名思义,区块链本质上是一种顺序数据结构。像以太坊这样的区块链由交易的集合组成,打包成块,以不可变的方式顺序地链接在一起。数据的完整性通过使用加密哈希函数来确保:输入数据中的任何更改都将导致哈希函数生成不同的值,表明数据已被修改。这确保了块序列及其所有内容的不变性。
另外,使用Merkle树[21]结构可以允许对整个区块链进行极其快速的完整性验证。默克尔树是一种层次结构,其中每个元素都通过其散列与子级关联,直到其叶子(对应于每个块(或事务)的散列)为止。这使网络中的对等节点几乎可以立即检测到数据被篡改:可以验证整个区块链的两个副本是否完全相同
比较它们的Merkle树的根哈希,而不管树的大小如何。
这些特性使区块链成为一个同时不可更改和分布式的数据存储,因为其验证机制消除了对等方彼此信任的需要。但是,这种架构也将区块链塑造为顺序结构,并限制了其灵活性。例如,以太坊节点API仅允许按块的序号或哈希值检索块。假设必须检索在特定日期写入的块:除非事先知道块哈希,否则唯一的选择是依次搜索块(使用其编号),并验证其日期,直到找到所需的日期为止。
搜索不是唯一受到区块链结构阻碍的操作。聚合和联接查询在传统的数据库管理系统中是微不足道的,但由于其实现和计算成本的复杂性,因此在区块链中是禁止的。这就是为什么该领域几乎所有以前的工作都执行某种类型的数据提取和转换作为分析的预处理步骤的原因。

A.智能合约信息

智能合约以一种简单的方式是存储在区块链中的分布式程序,本质上为存储的内容提供了数据接口,并可以嵌入进一步的逻辑。以太坊中的数据接口使用函数来定义数据事务有效负载,以及定义写入内容和格式的类型化参数。所有网络节点都可以访问相同的可执行代码,并且以太坊体系结构可确保该程序的结果对于执行该程序的任何节点都是相同的。如果结果不同,则无法在节点之间达成共识,并且必须丢弃其中之一。这也意味着任何人都可以通过使用相同的输入执行智能合约的输出来验证它。

以太坊通过其执行模型(称为以太坊虚拟机(EVM))实现智能合约。在EVM中,智能合约是一种特殊的帐户,可以访问两种类型的持久性内存存储。第一种是帐户存储,实际上是授予每个帐户的无限存储。但是,将数据存储在帐户存储中非常昂贵。第二种类型是通过事件日志:在执行期间,合同可以触发将事件记录在日志中的事件。同样,调用事务存储了作为参数传递给调用合同的数据。
提取存储在合同帐户存储中的信息是可能的,但并非易事,尤其是对于非基本数据类型。存储结构在智能合约的源代码中定义,但并非始终可用。合同调用中传递的信息也经过编码,并且要访问它,必须具有合同应用程序二进制接口(ABI)或源代码本身。
大多数区块链工具仅限于提取和存储未经修改的二进制交易信息,但是在与智能合约进行交互的情况下,这也限制了对数据语义的理解的能力。这些事务的二进制有效负载包含有关哪些合同方法被调用以及在这些调用中传递的参数的编码信息。因此,无论何时只要合同的源代码或ABI可用,数据提取工具就能够从这些交互中语义地重建信息就显得尤为重要。

B.数据摄取

遵循第二部分中描述的趋势,并旨在创建一个更灵活的数据组织,我们为以太坊网络开发了一种区块链提取工具,该工具能够抓取区块并将其内容提取到关系数据库中。但是,像以太坊这样的公共区块链的规模本身就是一个问题:目前,以太坊网络包含超过7,000万个不同的地址[22],超过800万个区块的超过5亿笔交易[1],并且强劲增长趋势。我们建立了一个完全同步的本地以太坊节点,并且为了提高效率,我们构建了可以运行多个线程的工具,这有可能使摄入率乘以并发线程数。另一方面,运行多线程搜寻器会对以太坊节点和数据库服务器造成额外的压力,以至于I / O开始成为瓶颈。
在消费者级计算机中有效地存储和操纵整个公共以太坊历史正变得越来越困难。去年,谷歌宣布在其云计算平台上公开发布了整个以太坊历史(以及其他区块链)[23]。该图像每天递增。他们的平台允许使用传统的SQL语言在BigData基础架构上查询区块链数据。从数据分析的角度来看,从Google BigQuery平台查询以太坊数据非常方便:遵循“按需付费”业务模型,在分布式环境中以出色的性能处理复杂的查询,而成本却相当低。但是,在某些情况下,BigQuery的公共数据集可能不够用,包括以下示例:1)私有区块链,以及2)与智能合约的探索/互动。在第一种情况下,出于本节开头所讨论的原因,有必要提取和转换区块链数据以对其进行分析。

IV 科学中的数据摄取:为科学的工作流程提供审核轨迹

工作流提供了一种通用的方法,可以指定一组作业以及控制或数据相关性,这些作业可以分布在大量分布式资源中。因此,提供记录工作流不可否认的痕迹的能力,可以使人们深入了解特定工作流在不同网络基础设施上的性能,并可以为研究人员和财团提供有用的工具来跟踪已进行的科学实验以及每种情况下使用的数据集。例如,多个工作流程实例的完成时间
可以通过分析来更好地凭经验理解哪种分布式体系结构更适合该计算流水线。或者,可以使用此类信息来验证和验证数据:记录每个工作流中使用的数据的哈希码,并验证是否将正确的数据集用于一组实验。此外,如果数据集包含异常,则可以搜索和检索处理该数据集的所有工作流程,以便快速了解需要重新运行哪些实验以纠正结果。
为此,为了演示使用以太坊区块链存储工作流执行事件的可行性,我们开发了一种概念证明系统,该系统使用了开源且众所周知的工作流管理系统Pegasus1。我们为Pegasus创建了一个附加组件,该附加组件被配置为在容器内运行,并与本地HTCondor2池一起作为执行环境。然后,与软件捆绑在一起的测试工作流程将通过Pegasus运行,同时监视被写入区块链的交易。目的是验证工作流程处理的每个阶段均已正确登录到区块链上。

A.实现

我们修改了Pegasus,在其日志子系统中添加了将流执行事件写入私有以太坊网络的功能。使用名为Aladdin的中间件,我们使Pegasus能够将日志事件发送到编写的Smart Contract中,以记录此类事件。 Aladdin是研究计算中心开发的应用程序编程接口(API),用于通过HTTP与以太坊网络上的智能合约进行交互。

在这里插入图片描述
当工作流提交给Pegasus时,它会分解为以图表形式组织的较小任务,因此可以跟踪它们的依赖性,并且可以在整个执行环境中分布这些任务。这样的子任务之一是将数据暂存到要执行的计算节点中(图1中的工作流执行图中的第二个框)。在将输入文件传输到执行节点之前,Pegasus会对每个文件生成一个SHA-256哈希值,以验证复制是否成功且没有错误。我们在此过程中增加了一个额外的步骤,即将文件传输与哈希码一起注册到以太坊中,从而使该信息立即共享且不可否认。这样,其他研究人员可以验证其哈希码并轻松检测数据中的错误。
像在数据分级中一样,其他执行任务也被记录到区块链中。日志的合并有可能促进将来对工作流执行的分析,例如:查找更有效的执行环境或计算节点,比较执行时间或检测执行环境中可能出现的异常。一旦完成每个子任务,来自Pegasus日志子系统的信息将以JSON格式编码并写入到区块链中。我们已经在https://bit.ly/2Mx3zO3上发布了区块链记录的格式化结果,可以在其中验证作业详细信息以及有关记录它们的交易信息。

V 使用机器学习识别区块链交易行为中的异常

初始代币发行(ICO)和安全代币发行(STO)最近正在改变整个市场为小型企业和初创企业提供资金的格局。 STO和ICO均使用智能合约(SC)构建,该合约在区块链上运行,并在满足某些要求时自动执行。这可以将此类应用程序与传统业务区分开来,因为可以跟踪SC标识符以公开其交易。因此,这种方法可以清晰地显示围绕特定业务的交易以及其交易方式和交易对象。监管实体(例如SEC)可以在开始运营时利用数据分析来更好地监控ICO和STO。这种透明度和内省性不仅将促进对此类公司的更轻松的监管和监督,还将随着空间的发展为个人带来更多可信赖的投资机会。
鉴于这种日益增长的采用区块链技术的现代方案带来的此类需求,我们提出了一个问题,即是否有可能自动识别区块链中的可疑活动。为此,我们建议使用聚类技术和SVM通过自动识别区分特征来识别异常值,从而将异常值与以太坊账户和智能合约之间的更常规交易区分开来。 A.实验
我们将外围帐户定义为交易活动与绝大多数其他帐户有所不同的帐户。具有类似交易活动的最大帐户组被认为具有正常的交易资料。
我们的方法比较了不同的无监督机器学习算法,将时间轴上的平均账户交易分为两类:离群值账户和普通账户。然后,使用来自机器学习算法的结果,我们使用识别恶意帐户的公共网站Etherscan 3和CryptoScamDB4(以前称为EtherscamDB)搜索异常值。我们发现,该方法实际上确实发现了流氓帐户,这与公众对这些帐户的评论一致。
使用公开可用的交易,构建帐户功能,以汇总交易信息和每个帐户的使用期限。这些帐户功能已放入包含约700万个帐户的数据集中。然后将这些用于训练机器学习算法以进行离群值检测。用于此目的的第一个机器学习算法是用于新颖性检测的SVM。

一类SVM或OCSVM [24]是一种无监督的机器学习算法,通过学习包含大部分样本的空间边界来检测异常。如果样本位于这些边界之外,则认为是新颖的。在帐户特征上培训OCSVM会产生标记为异常值的帐户。这些异常值中有许多在Etherscan中都有评论,表明它们是欺诈帐户。
作为第二种OCSVM结果的方法,对同一数据使用了另一种机器学习算法,即K-均值聚类。 K均值聚类是另一种无监督算法,可将观察结果划分为预定义的(k)个簇,每个观察结果均以最近的簇均值进行聚类。与OCSVM相比,K-Means产生的异常账户数量更少,但OCSVM也将K-Means产生的离岸账户中的85%标记为离群值。 Etherscan的公开评论确认该可疑帐户是骗局。利用来自K-Means的数据,可以实施另一台机器监督的学习算法,以检查OCSVM和K-Means的一致性。
在另一个实验中,来自K均值的标记聚类随后用作SVM的训练标签,用于对数据进行分类。与OCSVM相似,SVM是一种受监督的机器学习算法,它试图在给定的数据中找到最佳的分隔边距,将其分成几类。当数据的其余测试子集通过SVM运行时,预测类与K-均值创建的分组匹配约86%,如表I所示的混淆矩阵所示。
不管它们的工作方式如何,这三种算法都相互重叠。这些重叠是标记为异常值的帐户。 OCSVM将数量最多的帐户标记为异常值。 K均值使用四个中心对以太坊账户数据进行分组(在图2中显示为Xs),OCSVM就这些离群值达成了一致。 SVM根据来自K均值的结果对数据进行分类,在该结果中得出的结果类似于K均值。
在这里插入图片描述
在这里插入图片描述

VI 结论

在本文中,我们描述了围绕区块链数据的摄取,检索和分析的三个工作领域。我们描述了我们开发的系统,该系统能够对区块链进行爬网以提取数据,并将智能合约接口与代码进行交叉关联,以正确地重建元数据。我们讨论了从可扩展性变得颇具挑战性的公共区块链的这项工作中获得的经验教训,但我们坚持认为,可以使用云的弹性来满足此类需求,使用这种解决方案从私有区块链中检索数据。然后,我们通过增强Pegasus工作流系统并以通用方式从任务和依赖项中收集数据,描述了一种用于收集有关执行和科学工作流中使用的数据的实现。最后,我们讨论了如何应用多种机器学习技术来识别以太坊公共账户中的异常活动。目前,我们可以处理整个以太坊数据集,并且展示了如何成功识别出需要进一步调查的异常账户。我们还在收集和组织外部信息,这些信息将使我们能够对这些方法进行更可靠的评估。

REFERENCES

[1] “Ethereum Transaction History.” [Online]. Available: https://etherscan. io/chart/tx
[2] “Daily Ethereum Transactions Exceed One Million, a First Since May 2018.” [Online]. Available: https://cointelegraph.com/news/ daily- ethereum- transactions- exceed- one- million- a- first- since- may- 2018
[3] “Enterprise Ethereum Alliance.” [Online]. Available: https: //entethalliance.org
[4] “AzureBlockchainService.”[Online].Available:https://azure.microsoft. com/en- us/services/blockchain- service/
[5] E. Deelman, D. Gannon, M. Shields, and I. Taylor, “Workflows and e-Science: An overview of workflow system features and capabilities,” Future Generation Computer Systems, vol. 25, no. 5, pp. 528–540, 2009. [Online]. Available: http://linkinghub.elsevier.com/retrieve/pii/ S0167739X08000861
[6] E. Deelman, G. Singh, M.-H. Su, J. Blythe, Y. Gil, C. Kesselman, G. Mehta, K. Vahi, G. B. Berriman, J. Good, A. Laity, J. C. Jacob, and D. Katz, “Pegasus: a Framework for Mapping Complex Scientific Workflows onto Distributed Systems,” Scientific Programming Journal, vol. 13, no. 3, pp. 219–237, 2005.
[7] M. Spagnuolo, F. Maggi, and S. Zanero, “BitIodine: Extracting In- telligence from the Bitcoin Network,” in Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), ser. Lecture Notes in Computer Science, N. Christin and R. Safavi-Naini, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2014, vol. 8437, pp. 457–468.
[8] H. Kalodner, S. Goldfeder, A. Chator, M. Mo ̈ser, and A. Narayanan, “BlockSci: Design and applications of a blockchain analysis platform,” 2017. [Online]. Available: http://arxiv.org/abs/1709.02489
[9] M. Bartoletti, S. Lande, L. Pompianu, and A. Bracciali, “A general framework for blockchain analytics,” in Proceedings of the 1st Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers - SERIAL ’17. New York, New York, USA: ACM Press, 2017, pp. 1–6.
[10] S. Bragagnolo, H. Rocha, M. Denker, and S. Ducasse, “Ethereum query language,” 2018 IEEE/ACM 1st International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB), pp. 1–8, 2018.
[11] T. T. A. Dinh, J. Wang, G. Chen, R. Liu, B. C. Ooi, and K.-L. Tan, “BLOCKBENCH: A framework for analyzing private blockchains,” in Proceedings of the 2017 ACM International Conference on Management ofData-SIGMOD’17. NewYork,NewYork,USA:ACMPress,2017, pp. 1085–1100.
[12] D.RonandA.Shamir,“QuantitativeAnalysisoftheFullBitcoinTrans- action Graph,” in International Conference on Financial Cryptography and Data Security, 2013, vol. Financial, pp. 6–24.
[13] M. Fleder, M. S. Kester, and S. Pillai, “Bitcoin Transaction Graph Analysis,” pp. 1–8, feb 2015. [Online]. Available: http: //arxiv.org/abs/1502.01657
[14] W. Chan and A. Olmsted, “Ethereum transaction graph analysis,” in
2017 12th International Conference for Internet Technology and Secured
Transactions (ICITST). IEEE, dec 2017, pp. 498–500.
[15] S. Bistarelli and F. Santini, “Go with the -Bitcoin- Flow, with Visual Analytics,” in Proceedings of the 12th International Conference on Availability, Reliability and Security - ARES ’17. New York, New
York, USA: ACM Press, 2017, pp. 1–6.
[16] D. McGinn, D. McIlwraith, and Y. Guo, “Towards open data blockchain
analytics: A bitcoin perspective,” Royal Society Open Science, vol. 5,
no. 8, 2018.
[17] C. G. Akcora, A. K. Dey, Y. R. Gel, and M. Kantarcioglu, “Forecasting
Bitcoin Price with Graph Chainlets,” in PAKDD 2018: Advances in Knowledge Discovery and Data Mining, ser. Lecture Notes in Computer Science, H. Dai, R. Srikant, and C. Zhang, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2018, vol. 3056, pp. 765–776.
[18] M. Moser, R. Bohme, and D. Breuker, “An inquiry into money launder- ing tools in the Bitcoin ecosystem,” in 2013 APWG eCrime Researchers Summit. IEEE, sep 2013, pp. 1–14.
[19] K. Toyoda, T. Ohtsuki, and P. T. Mathiopoulos, “Identification of High Yielding Investment Programs in Bitcoin via Transactions Pattern Analysis,” in GLOBECOM 2017 - 2017 IEEE Global Communications Conference, vol. 2018-Janua. IEEE, dec 2017, pp. 1–6.
[20] M. Bartoletti, B. Pes, and S. Serusi, “Data mining for detecting bitcoin ponzi schemes,” Proceedings - 2018 Crypto Valley Conference on Blockchain Technology, CVCBT 2018, pp. 75–84, 2018.
[21] G. Wood, “Ethereum: A secure decentralised generalised transaction ledger - e94ebda,” 2018. [Online]. Available: https://github.com/ ethereum/yellowpaper
[22] “Ethereum Unique Address Growth Rate.” [Online]. Available: https://etherscan.io/chart/address
[23] “Ethereum
for smart
able:
ethereum- bigquery- public- dataset- smart- contract- analytics
[24] B. Scho ̈lkopf, J. C. Platt, J. Shawe-Taylor, A. J. Smola, and R. C. Williamson, “Estimating the support of a high-dimensional distribution,”
Neural Computation, vol. 13, pp. 1443–1471, 2001.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值