[論文レビュー] Towards Effective Detection of Ponzi schemes on Ethereum with Contract Runtime Behavior Graph
本稿では、スマートコントラクトの実行時動作を、契約実行時動作グラフ(CRBG)としてモデル化し、グラフニューラルネットワーク(GNN)を用いたグラフ分類により、イーサリアム上におけるポンジスキームを検出する新規手法PonziGuardを提案する。本手法は、正例データセットで96.9%の精度、98.2%の再現率、97.5%のF1スコアを達成し、イーサリアムメインネット上に805件の実世界のポンジスキームコントラクトを同定した。このうち0日目スキームも含まれる。
Ponzi schemes, a form of scam, have been discovered in Ethereum smart contracts in recent years, causing massive financial losses. Existing detection methods primarily focus on rule-based approaches and machine learning techniques that utilize static information as features. However, these methods have significant limitations. Rule-based approaches rely on pre-defined rules with limited capabilities and domain knowledge dependency. Using static information like opcodes for machine learning fails to effectively characterize Ponzi contracts, resulting in poor reliability and interpretability. Moreover, relying on static information like transactions for machine learning requires a certain number of transactions to achieve detection, which limits the scalability of detection and hinders the identification of 0-day Ponzi schemes. In this paper, we propose PonziGuard, an efficient Ponzi scheme detection approach based on contract runtime behavior. Inspired by the observation that a contract's runtime behavior is more effective in disguising Ponzi contracts from the innocent contracts, PonziGuard establishes a comprehensive graph representation called contract runtime behavior graph (CRBG), to accurately depict the behavior of Ponzi contracts. Furthermore, it formulates the detection process as a graph classification task on CRBG, enhancing its overall effectiveness. The experiment results show that PonziGuard surpasses the current state-of-the-art approaches in the ground-truth dataset. We applied PonziGuard to Ethereum Mainnet and demonstrated its effectiveness in real-world scenarios. Using PonziGuard, we identified 805 Ponzi contracts on Ethereum Mainnet, which have resulted in an estimated economic loss of 281,700 Ether or approximately $500 million USD. We also found 0-day Ponzi schemes in the recently deployed 10,000 smart contracts.
研究の動機と目的
- 静的解析やルールベース手法の限界を是正する。これらは、識別力が低く解釈性に欠けるため、ポンジコントラクトを信頼性高く検出できない。
- 取引履歴が存在しない0日目ポンジスキームを同定できないという、取引ベース検出手法のスケーラビリティの問題を克服する。
- 動的データフローと実行トレースといった、実行時動作を、良性コントラクトと区別するためのより効果的な信号として活用する。
- ポンジコントラクトに特徴的な動作パターンを捉える、契約実行時動作グラフ(CRBG)というグラフ表現を構築する。
- GNNを用いたグラフ分類としてポンジ検出を定式化し、精度と解釈性の両方を向上させる。
提案手法
- ポンジロジックの可能性を特定するための静的解析を実施し、典型的な投資行動を模倣する合成取引シーケンスを生成する。
- これらの合成取引を用いて実行中に動的タウンティング解析を実行し、実行時におけるデータフローと制御フローの詳細なデータを収集する。
- タウンティング解析の結果から、プログラム要素をノード、実行時に観察されたデータ/制御依存関係をエッジとする契約実行時動作グラフ(CRBG)を構築する。
- グラフニューラルネットワーク(GNN)を用いてCRBGの表現を学習し、ポンジまたは非ポンジコントラクトに分類する。
- 実行時動作パターンからのエンドツーエンド学習を可能とするために、検出タスクをグラフ分類問題として定式化する。
- コントラクトファズィングを用いてコントラクトを起動し、実行時情報を収集することで、実取引が発生する前にも0日目ポンジスキームを検出可能にする。

実験結果
リサーチクエスチョン
- RQ1静的特徴(オペコードや取引パターンなど)と比較して、実行時動作はポンジコントラクト検出においてより識別力の高い信号を提供できるか?
- RQ2静的解析と比較して、動的タウンティング解析と実行時データの活用は、検出精度と解釈性をどの程度向上させるか?
- RQ3コントラクト実行動作の構造的パターンを効果的にモデル化できるか、グラフ表現(CRBG)としての契約実行時動作グラフ(CRBG)は有効か?
- RQ4提案手法のGNNベース分類は、既知のポンジスキームおよび0日目ポンジスキームの両方をどの程度効果的に検出できるか?
- RQ5本手法はイーサリアムメインネットへの実世界展開にスケーラブルであり、以前に発見されていなかった悪意あるコントラクトを同定できるか?
主な発見
- PonziGuardは、正例データセットで96.9%の精度、98.2%の再現率、97.5%のF1スコアを達成し、最先端手法を上回る性能を示した。
- 本手法は、説明可能な検出を実現するため実行時動作グラフを活用することで、既存ツールの中で最高の解釈性を実現した。
- PonziGuardはイーサリアムメインネット上に805件のポンジコントラクトを同定し、推定経済的損失が281,700エーサー(約5億米ドル)に達した。
- 最近デプロイされた10,000件のスマートコントラクトにおいて、0日目ポンジスキームを検出できた。これは、実取引が発生する前にも悪意あるコントラクトを検出可能な能力を裏付けている。
- 研究では、オペコードレベルの特徴にポンジコントラクトと非ポンジコントラクトの間に顕著な差がないことが確認された。これは、動的動作モデリングの必要性を裏付けた。
- 静的解析ツールは、過剰近似のため『squareRootPonzi』コントラクトのような誤検出を引き起こすが、これは実行時ベース検出の優位性を示している。

より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。