Skip to main content
QUICK REVIEW

[论文解读] A general framework for blockchain analytics

Massimo Bartoletti, Andrea Bracciali|arXiv (Cornell University)|Jan 1, 2017
Blockchain Technology Applications and Security参考文献 17被引用 10
一句话总结

本文提出了一种通用的、开源的 Scala 库框架,用于区块链分析,能够将比特币和以太坊的数据与外部数据源统一整合到 SQL 或 NoSQL 数据库中,从而实现灵活、可重用且可扩展的分析。其主要贡献是一个模块化、可扩展的抽象层,支持多种使用场景,并在表达能力和可维护性方面优于临时开发的工具。

ABSTRACT

Modern cryptocurrencies exploit decentralised blockchains to record a public and unalterable history of transactions. Besides transactions, further information is stored for different, and often undisclosed, purposes, making the blockchains a rich and increasingly growing source of valuable information, in part of difficult interpretation. Many data analytics have been developed, mostly based on specifically designed and ad-hoc engineered approaches. We propose a general-purpose framework, seamlessly supporting data analytics on both Bitcoin and Ethereum - currently the two most prominent cryptocurrencies. Such a framework allows us to integrate relevant blockchain data with data from other sources, and to organise them in a database, either SQL or NoSQL. Our framework is released as an open-source Scala library. We illustrate the distinguishing features of our approach on a set of significant use cases, which allow us to empirically compare ours to other competing proposals, and evaluate the impact of the database choice on scalability.

研究动机与目标

  • 解决缺乏可重用的通用工具来整合内部区块链数据与外部数据的问题。
  • 克服临时开发、一次性使用的分析工具在功能重复和缺乏可扩展性方面的局限性。
  • 提供一个统一的、模块化的框架,同时支持比特币和以太坊,并具备灵活的数据库后端(SQL 和 NoSQL)。
  • 使研究人员能够使用标准查询语言和社区驱动的开发方式构建、验证和扩展分析功能。
  • 评估 SQL 与 NoSQL 数据库在区块链分析工作负载下的性能权衡。

提出的方法

  • 设计两步工作流:(1) 通过摄取原始区块链数据并补充外部数据(如汇率、地址标签、元数据)来构建统一的区块链视图;(2) 将该视图存储到 SQL 或 NoSQL 数据库中。
  • 实现一个领域特定的 Scala 库,抽象区块链数据解析和外部数据集成,支持比特币和以太坊。
  • 通过可插拔模块支持模式可扩展性和与外部源(如区块链浏览器、API、论坛)的动态数据关联。
  • 使用标准的 SQL 或 NoSQL 查询语言(如 MySQL、MongoDB)进行分析,无需低级编程即可执行复杂查询。
  • 通过使用基于磁盘的存储而非内存处理,优化在消费级硬件上的性能,提升可访问性。
  • 提供开源发布,并附带示例用例,以展示在不同数据库后端上的功能和性能表现。

实验结果

研究问题

  • RQ1一个通用的、可组合的框架是否能够统一目前依赖临时、不可重用工具的多样化区块链分析任务?
  • RQ2外部数据(如汇率、地址标签)的集成如何影响区块链分析的表达能力和可扩展性?
  • RQ3在存储和查询区块链分析视图时,SQL 与 NoSQL 数据库的性能特征有何差异?
  • RQ4该框架在灵活性、可维护性和可扩展性支持方面,与现有工具相比优势有多大?
  • RQ5该框架是否能够支持真实世界用例,如交易费用分析、元数据追踪和地址标签管理,并实现相当或更优的性能?

主要发现

  • 该框架支持构建的区块链视图规模超过原生比特币区块链的两倍,这是由于包含了文本脚本表示和外部数据。
  • 在执行时间方面,SQL 和 NoSQL 数据库的查询性能相当,但 SQL 的主要性能瓶颈来自复杂的连接操作。
  • NoSQL 方法由于其无模式特性,简化了 Scala 脚本,减少了样板代码,提升了开发敏捷性。
  • 该框架支持广泛的应用场景——元数据分析、汇率追踪、交易费用和地址标签——证明了其通用性和可重用性。
  • 与基于内存的工具(如 BlockSci 和 blockparser)不同,基于磁盘的处理方式使该框架可在消费级硬件上运行,显著提升了可访问性。
  • 该框架以宽松许可证开源发布,促进了社区验证、扩展和长期可维护性,解决了专有或单体工具的关键局限。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。