[論文レビュー] Smart-Corpus: an Organized Repository of Ethereum Smart Contracts Source Code and Metrics
Smart-Corpus は、Ethereum スマートコントラクトのキュレート済みで最新のリポジトリであり、Solidity ソースコード、ABI、バイトコード、および内在的・外在的ソフトウェアメトリクスを統合しています。研究者が GraphQL インターフェースを通じて効率的に照会・分析できるようにし、EtherScan で検証済みのコントラクトから事前に計算されたメトリクスを提供することで、静的解析にかかる時間と作業を削減しています。30,000 件を超えるコントラクトがすでにインデックス化されており、1日あたり約 100 件のペースで増加しています。
Many empirical software engineering studies show that there is a great need for repositories where source code is acquired, filtered and classified. During the last few years, Ethereum block explorer services have emerged as a popular project to explore and search Ethereum blockchain data such as transactions, addresses, tokens, smart-contracts' source code, prices and other activities taking place on the Ethereum blockchain. Despite the availability of this kind of services, retrieving specific information useful to empirical software engineering studies, such as the study of smart-contracts' software metrics might require many sub-tasks, such as searching specific transactions in a block, parsing files in HTML format and filtering the smart-contracts to remove duplicated code or unused smart-contracts. In this paper we afford this problem creating Smart Corpus', a Corpus of Smart Contracts in an organized reasoned and up to date repository where Solidity source code and other metadata about Ethereum smart contracts can easily and systematically be retrieved. We present the Smart Corpus' design and its initial implementation and we show how the data-set of smart contracts' source code in a variety of programming languages can be queried and processed, get useful information on smart contracts and their software metrics. The Smart Corpus aims to create a smart-contracts' repository where smart contracts data (source code, ABI and byte-code) are freely and immediately available and also classified based on the main software metrics identified in the scientific literature. Smart-contracts source code has been validated by EtherScan and each contract comes with its own associated software metrics as computed by the freely available software PASO. Moreover, Smart Corpus can be easily extended, as the number of new smart-contracts increases day by day.
研究の動機と目的
- Ethereum スマートコントラクトのソースコードおよび関連ソフトウェアメトリクスの整理された、アクセス可能で構造化されたリポジトリの不足を解消すること。
- ブロックチェーン研究者が、事前に検証済みで事前処理済みのデータを提供することで、静的解析にかかる時間と計算コストを削減すること。
- 標準化され、最新の状態を保ったコロナスを提供することで、スマートコントラクトに関する再現可能な実証的ソフトウェア工学研究を支援すること。
- GUI および GraphQL インターフェースを用いた効率的なスマートコントラクトデータ照会を可能にし、特定の研究ニーズに応じたデータ取得を可能にすること。
- 内在的(例:関数数、イベント数)および外在的(例:取引数、残高)メトリクスを用いたスマートコントラクトデータの分類と拡張を実施すること。
提案手法
- Smart-Corpus システムは、主に EtherScan を用いてソースコードの検証とメタデータ抽出を実施する Ethereum ブロックチェーンエクスプローラーからスマートコントラクトデータを受信します。
- 各コントラクトについて、Solidity ソースコード、ABI、バイトコード、関連メタデータを中央集権的で整理されたリポジトリに抽出・保存します。
- 内在的メトリクス(例:関数数、イベント数、修飾子数、支払い可能関数の有無)は、オープンソースツール PASO を用いて計算します。
- 外在的メトリクス(例:取引数、イーサリアム残高)は、ブロックチェーン取引データおよびコントラクト相互作用ログから導出します。
- 研究者が構造化されたクエリを用いて特定のデータサブセットを照会できるように、GraphQL API を実装しています。これにより、効率的かつ的確なデータ取得が可能になります。
- コロナスは継続的に更新されており、1日あたり約 100 件の新規コントラクトが追加され、Ethereum スマートコントラクトエコシステムの最新状態を常にカバーしています。
実験結果
リサーチクエスチョン
- RQ1研究者が、ブロックチェーンの生データを手動で処理することなく、Ethereum スマートコントラクトのソースコードおよび関連ソフトウェアメトリクスを効率的に取得・分析する方法は何か?
- RQ2大規模かつ検証済みのコロナスから導出される実世界のスマートコントラクトにおける、一般的な構造的パターン(例:関数数、修飾子数)は何か?
- RQ3事前に計算された、キュレート済みのリポジトリが、スマートコントラクト研究における静的解析にかかる時間と計算コストをどの程度削減できるか?
- RQ4取引量やトークン残高といった外在的特性と、展開済みスマートコントラクトにおける内在的コード複雑性の間には、どのような相関関係があるか?
- RQ5標準化され、オープンで継続的に更新されるコロナスが、ブロックチェーンソフトウェア工学分野における再現可能な研究をどの程度支援できるか?
主な発見
- Smart-Corpus リポジトリには現在、約 30,000 件の Ethereum スマートコントラクトがホスティングされており、それぞれのソースコード、ABI、バイトコード、関連メトリクスが保存され、検証済みです。
- コロナスは毎日更新されており、1日あたり平均して約 100 件の新規コントラクトが追加されており、Ethereum スマートコントラクトエコシステムの最新状態を常にカバーしています。
- 関数数、イベント数、支払い可能関数の有無といった内在的メトリクスは、PASO ツールを用いて計算され、各コントラクトに保存されています。
- 合計取引数やイーサリアム残高といった外在的メトリクスは、ブロックチェーン取引データから抽出され、各コントラクトのアドレスに関連付けられています。
- GraphQL インターフェースにより、研究者が生データの手動フィルタリングやパースを一切行わずに、20 個以上の関数を持つコントラクトといった正確なデータサブセットを取得できます。
- システムにより、研究者が生ブロックチェーンデータを個別にダウンロード・検証・メトリクス計算する必要がなくなるため、効率的で再現可能な研究が可能になります。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。