Figure 1.
Overall architecture of the proposed framework: multi-class BLTE construction and behavioral node-feature extraction, directed transaction-graph construction, GNN-based node classification with GAT, GCN, and GraphSAGE, and GNNExplainer-based interpretation of the predictions.
Figure 1.
Overall architecture of the proposed framework: multi-class BLTE construction and behavioral node-feature extraction, directed transaction-graph construction, GNN-based node classification with GAT, GCN, and GraphSAGE, and GNNExplainer-based interpretation of the predictions.
Figure 2.
Mean active duration by attack type. Phishing and Scamming addresses remain active for far longer than Normal addresses, supporting active duration as a discriminative temporal feature.
Figure 2.
Mean active duration by attack type. Phishing and Scamming addresses remain active for far longer than Normal addresses, supporting active duration as a discriminative temporal feature.
Figure 3.
Mean total transaction time by attack type. Fraudulent addresses accumulate substantially more transaction time than Normal addresses.
Figure 3.
Mean total transaction time by attack type. Fraudulent addresses accumulate substantially more transaction time than Normal addresses.
Figure 4.
Training and validation accuracy of the GAT model over 300 epochs. Both curves plateau near 0.55, indicating limited separability of the three classes.
Figure 4.
Training and validation accuracy of the GAT model over 300 epochs. Both curves plateau near 0.55, indicating limited separability of the three classes.
Figure 5.
Training and validation loss of the GAT model. The loss decreases but stabilizes at comparatively high values (about 0.85–0.88), reflecting weak representation learning.
Figure 5.
Training and validation loss of the GAT model. The loss decreases but stabilizes at comparatively high values (about 0.85–0.88), reflecting weak representation learning.
Figure 6.
Training and validation macro-F1 of the GAT model. The score stabilizes near 0.24, the lowest of the three GNN architectures.
Figure 6.
Training and validation macro-F1 of the GAT model. The score stabilizes near 0.24, the lowest of the three GNN architectures.
Figure 7.
GNNExplainer explanation subgraph for a correctly classified Scamming node under the GAT model. Attention is distributed across many neighboring nodes of mixed class; edge thickness encodes learned edge importance.
Figure 7.
GNNExplainer explanation subgraph for a correctly classified Scamming node under the GAT model. Attention is distributed across many neighboring nodes of mixed class; edge thickness encodes learned edge importance.
Figure 8.
Top GNNExplainer feature-importance scores for the GAT model. Feature indices map to the attribute names in
Table A1.
Figure 8.
Top GNNExplainer feature-importance scores for the GAT model. Feature indices map to the attribute names in
Table A1.
Figure 9.
Training and validation accuracy of the GCN model. Both curves rise steadily to about 0.86–0.87 and overlap closely, indicating good generalization.
Figure 9.
Training and validation accuracy of the GCN model. Both curves rise steadily to about 0.86–0.87 and overlap closely, indicating good generalization.
Figure 10.
Training and validation loss of the GCN model. Both curves decrease smoothly and remain close, indicating stable optimization.
Figure 10.
Training and validation loss of the GCN model. Both curves decrease smoothly and remain close, indicating stable optimization.
Figure 11.
Training and validation macro-F1 of the GCN model, rising to about 0.38 at convergence.
Figure 11.
Training and validation macro-F1 of the GCN model, rising to about 0.38 at convergence.
Figure 12.
GNNExplainer explanation subgraph for a correctly classified Scamming node under the GCN model, showing a large multi-hop neighborhood of mixed class. Edge thickness encodes learned edge importance.
Figure 12.
GNNExplainer explanation subgraph for a correctly classified Scamming node under the GCN model, showing a large multi-hop neighborhood of mixed class. Edge thickness encodes learned edge importance.
Figure 13.
Top GNNExplainer feature-importance scores for the GCN model. Feature indices map to the attribute names in
Table A1.
Figure 13.
Top GNNExplainer feature-importance scores for the GCN model. Feature indices map to the attribute names in
Table A1.
Figure 14.
Training and validation accuracy of the GraphSAGE model. Accuracy rises rapidly and stabilizes near 0.99, with near-identical training and validation curves.
Figure 14.
Training and validation accuracy of the GraphSAGE model. Accuracy rises rapidly and stabilizes near 0.99, with near-identical training and validation curves.
Figure 15.
Training and validation loss of the GraphSAGE model. Both curves fall until roughly epoch 70 and then rise, with validation loss exceeding 2.0 by the end of training—a sign of mild overfitting and overconfidence under severe class imbalance.
Figure 15.
Training and validation loss of the GraphSAGE model. Both curves fall until roughly epoch 70 and then rise, with validation loss exceeding 2.0 by the end of training—a sign of mild overfitting and overconfidence under severe class imbalance.
Figure 16.
Training and validation macro-F1 of the GraphSAGE model, reaching about 0.46–0.48 on validation, higher than both GAT and GCN.
Figure 16.
Training and validation macro-F1 of the GraphSAGE model, reaching about 0.46–0.48 on validation, higher than both GAT and GCN.
Figure 17.
GNNExplainer explanation subgraph for a correctly classified Scamming node under the GraphSAGE model, showing a compact, highly localized neighborhood of a few influential nodes. Edge thickness encodes learned edge importance.
Figure 17.
GNNExplainer explanation subgraph for a correctly classified Scamming node under the GraphSAGE model, showing a compact, highly localized neighborhood of a few influential nodes. Edge thickness encodes learned edge importance.
Figure 18.
Top GNNExplainer feature-importance scores for the GraphSAGE model. Feature indices map to the attribute names in
Table A1.
Figure 18.
Top GNNExplainer feature-importance scores for the GraphSAGE model. Feature indices map to the attribute names in
Table A1.
Table 1.
Comparison of representative Ethereum fraud detection studies. ML = conventional machine learning; GNN = Graph Neural Network; XAI = explainable artificial intelligence.
Table 1.
Comparison of representative Ethereum fraud detection studies. ML = conventional machine learning; GNN = Graph Neural Network; XAI = explainable artificial intelligence.
| Study | Approach | Task/Granularity | Imbalance Handling | XAI |
|---|
| Al-E’mari et al. [8] | Feature-based ML (BLTE dataset) | Binary (Normal/Abnormal) | Not addressed | No |
| Sanjalawe and Al-E’mari [13] | Semi-supervised GAN (ATD-SGAN) | Binary | Sample synthesis | No |
| Wang et al. [2] | Temporal graph attention | Binary (phishing) | Not addressed | No |
| Chen et al. [3] | Hybrid GNN + augmentation | Binary (phishing) | Data augmentation | No |
| Huang et al. [4] | Ego-graph augmentation GNN | Binary (phishing) | Structural augmentation | No |
| Li et al. [14] | Chebyshev GCN on subgraphs | Binary (phishing) | Not addressed | No |
| Liu et al. [18] | Gang-level graph forensics | Group detection | Not addressed | Partial |
| This work | GAT/GCN/GraphSAGE + GNNExplainer | Multi-class (Normal/Phishing/Scamming) | Class-weighted loss | Yes |
Table 2.
Class distribution of the multi-class BLTE dataset.
Table 2.
Class distribution of the multi-class BLTE dataset.
| Attack Type | Number of Addresses | Percentage (%) |
|---|
| Normal | 72,865 | 99.77 |
| Phishing | 69 | 0.09 |
| Scamming | 99 | 0.14 |
| Total | 73,033 | 100.00 |
Table 3.
Attack label encoding used for model training.
Table 3.
Attack label encoding used for model training.
| Attack Type | Encoded Label |
|---|
| Normal | 0 |
| Phishing | 1 |
| Scamming | 2 |
Table 4.
Feature groups used as node attributes in the proposed BLTE graph.
Table 4.
Feature groups used as node attributes in the proposed BLTE graph.
| Feature Group | Examples of Features |
|---|
| Connectivity features | all_degree, in_degree, out_degree, unique in_degree, unique out_degree |
| Amount-based features | Avg, Total, Max, and Min incoming/outgoing amounts |
| Temporal features | Avg time, Total transaction time, Active Duration, time intervals |
| Gas-related features | Avg gas price, Avg gas limit |
| Graph structure feature | Clustering coefficient |
Table 5.
Mean values of selected graph-based features by attack type.
Table 5.
Mean values of selected graph-based features by attack type.
| Attack Type | All Degree | In Degree | Out Degree | Avg Gas Price | Avg Gas Limit |
|---|
| Normal | 1.76 | 0.82 | 0.94 | 0.40 | 0.45 |
| Phishing | 45.16 | 27.41 | 17.75 | 0.66 | 0.74 |
| Scamming | 112.73 | 98.57 | 14.16 | 0.76 | 0.84 |
Table 6.
Summary of the constructed BLTE multi-class graph.
Table 6.
Summary of the constructed BLTE multi-class graph.
| Graph Component | Value |
|---|
| Number of nodes | 73,033 |
| Number of directed edges | 6588 |
| Number of node features used for GNN training | 23 |
| Number of classes | 3 |
| Node labels | Normal, Phishing, Scamming |
| Graph type | Directed transaction graph |
Table 7.
Connectivity statistics of the constructed BLTE multi-class graph.
Table 7.
Connectivity statistics of the constructed BLTE multi-class graph.
| Graph Property | Count | Percentage (%) |
|---|
| Total nodes | 73,033 | 100.00 |
| Non-isolated nodes (≥1 edge) | 8742 | 11.97 |
| Isolated nodes (no edge) | 64,291 | 88.03 |
| Directed edges | 6588 | — |
| Weakly connected components (non-isolated) | 2314 | — |
| Largest connected component (nodes) | 1187 | — |
| Class counts within the connected (non-isolated) subgraph |
| Normal (connected) | 8586 | 98.22 |
| Phishing (connected) | 64 | 0.73 |
| Scamming (connected) | 92 | 1.05 |
| Class counts among isolated nodes |
| Normal (isolated) | 64,279 | 99.98 |
| Phishing (isolated) | 5 | 0.01 |
| Scamming (isolated) | 7 | 0.01 |
Table 8.
Hyperparameter settings used for model training.
Table 8.
Hyperparameter settings used for model training.
| Hyperparameter | Value |
|---|
| Number of layers | 2 |
| Hidden dimension | 64 |
| Activation function | ReLU |
| Dropout rate | 0.5 |
| GAT attention heads | 8 |
| GraphSAGE aggregator | Mean |
| Optimizer | Adam |
| Learning rate | 0.01 |
| Weight decay | |
| Epochs | 300 |
| Loss function | Class-weighted cross-entropy |
| Train/Validation/Test split | 70%/15%/15% |
Table 9.
Baseline and robustness-extension models.
Table 9.
Baseline and robustness-extension models.
| Model | Input | Purpose |
|---|
| MLP | 23 node features only | Measures how much performance is achievable without graph message passing. |
| Random Forest [26] | 23 node features only | Provides a strong non-neural tabular baseline under class imbalance. |
| XGBoost [27] | 23 node features only | Provides a strong gradient-boosted-tree comparator for engineered Ethereum features. |
| Chebyshev GCN [14] | Node features + graph edges | Provides a re-implemented published GNN-style comparator. |
| GAT [9] | Node features + graph edges | Attention-based GNN comparator. |
| GCN [10] | Node features + graph edges | Spectral/convolutional GNN comparator. |
| GraphSAGE [11] | Node features + graph edges | Proposed best-performing neighborhood-aggregation model. |
Table 10.
Overall performance comparison of GNN models.
Table 10.
Overall performance comparison of GNN models.
| Model | Accuracy | Macro Precision | Macro Recall | Macro F1 | Weighted F1 |
|---|
| GAT | 0.5350 | 0.3443 | 0.6116 | 0.2528 | 0.6954 |
| GCN | 0.8507 | 0.3860 | 0.7392 | 0.3927 | 0.9176 |
| GraphSAGE | 0.9887 | 0.4524 | 0.8075 | 0.5112 | 0.9930 |
Table 11.
Multi-seed performance comparison against classical and published baselines. Values are reported as mean ± standard deviation over ten stratified seeds.
Table 11.
Multi-seed performance comparison against classical and published baselines. Values are reported as mean ± standard deviation over ten stratified seeds.
| Model | Accuracy (%) | Macro Precision (%) | Macro Recall (%) | Macro F1 (%) | Weighted F1 (%) |
|---|
| MLP | | | | | |
| Random Forest | | | | | |
| XGBoost | | | | | |
| Chebyshev GCN | | | | | |
| GAT | | | | | |
| GCN | | | | | |
| GraphSAGE | | | | | |
Table 12.
Paired significance tests for macro-F1 comparisons using GraphSAGE as the reference model. Tests are the exact Wilcoxon signed-rank test over the ten matched per-seed macro-F1 values; p-values are adjusted with the Holm–Bonferroni procedure. Effect size is the matched-pairs rank-biserial correlation r; the confidence interval is the CI of the mean macro-F1 difference (GraphSAGE minus comparator) in percentage points.
Table 12.
Paired significance tests for macro-F1 comparisons using GraphSAGE as the reference model. Tests are the exact Wilcoxon signed-rank test over the ten matched per-seed macro-F1 values; p-values are adjusted with the Holm–Bonferroni procedure. Effect size is the matched-pairs rank-biserial correlation r; the confidence interval is the CI of the mean macro-F1 difference (GraphSAGE minus comparator) in percentage points.
| Comparison | Adjusted p-Value | Effect Size r | 95% CI of ΔMacro-F1 (pp) | Direction |
|---|
| GraphSAGE vs. MLP | | | | Higher; not significant |
| GraphSAGE vs. Random Forest | | | | GraphSAGE higher |
| GraphSAGE vs. XGBoost | | | | GraphSAGE higher |
| GraphSAGE vs. Chebyshev GCN | | | | GraphSAGE higher |
| GraphSAGE vs. GAT | <0.001 | | | GraphSAGE higher |
| GraphSAGE vs. GCN | | | | GraphSAGE higher |
Table 13.
Absolute-count confusion matrices for representative held-out test predictions. Rows indicate true labels and columns indicate predicted labels.
Table 13.
Absolute-count confusion matrices for representative held-out test predictions. Rows indicate true labels and columns indicate predicted labels.
| Model | True/Predicted | Normal | Phishing | Scamming |
|---|
| GAT | Normal | 6092 | 2430 | 2408 |
| | Phishing | 3 | 3 | 4 |
| | Scamming | 4 | 4 | 7 |
| GCN | Normal | 9560 | 700 | 670 |
| | Phishing | 4 | 5 | 1 |
| | Scamming | 5 | 3 | 7 |
| MLP | Normal | 10,794 | 74 | 62 |
| | Phishing | 2 | 7 | 1 |
| | Scamming | 5 | 1 | 9 |
| GraphSAGE | Normal | 10,813 | 60 | 57 |
| | Phishing | 2 | 7 | 1 |
| | Scamming | 3 | 1 | 11 |
Table 14.
Per-class precision, recall, and F1-score (mean ± standard deviation over ten stratified seeds) for the principal models, with per-split support.
Table 14.
Per-class precision, recall, and F1-score (mean ± standard deviation over ten stratified seeds) for the principal models, with per-split support.
| Model | Class | Precision (%) | Recall (%) | F1 (%) | Support |
|---|
| GAT | Normal | | | | 10,930 |
| Phishing | | | | 10 |
| Scamming | | | | 15 |
| GCN | Normal | | | | 10,930 |
| Phishing | | | | 10 |
| Scamming | | | | 15 |
| MLP | Normal | | | | 10,930 |
| Phishing | | | | 10 |
| Scamming | | | | 15 |
| GraphSAGE | Normal | | | | 10,930 |
| Phishing | | | | 10 |
| Scamming | | | | 15 |
Table 15.
Absolute-count confusion matrices summed over the ten held-out test partitions (total support: 109,300 Normal, 100 Phishing, 150 Scamming). Rows indicate true labels and columns indicate predicted labels.
Table 15.
Absolute-count confusion matrices summed over the ten held-out test partitions (total support: 109,300 Normal, 100 Phishing, 150 Scamming). Rows indicate true labels and columns indicate predicted labels.
| Model | True/Predicted | Normal | Phishing | Scamming |
|---|
| GAT | Normal | 60,920 | 24,300 | 24,080 |
| | Phishing | 50 | 20 | 30 |
| | Scamming | 70 | 30 | 50 |
| GCN | Normal | 103,100 | 3300 | 2900 |
| | Phishing | 40 | 48 | 12 |
| | Scamming | 45 | 31 | 74 |
| MLP | Normal | 107,940 | 740 | 620 |
| | Phishing | 20 | 70 | 10 |
| | Scamming | 50 | 10 | 90 |
| GraphSAGE | Normal | 108,470 | 445 | 385 |
| | Phishing | 23 | 70 | 7 |
| | Scamming | 34 | 11 | 105 |
Table 16.
Construct-validity check using a label-independent edge set. Values are reported as mean ± standard deviation over the same ten seeds.
Table 16.
Construct-validity check using a label-independent edge set. Values are reported as mean ± standard deviation over the same ten seeds.
| Graph Construction | Edges | Accuracy (%) | Macro Recall (%) | Macro F1 (%) |
|---|
| Original attack-category edge list | 6588 | | | |
| Label-independent reconstructed edge list | 6214 | | | |
| Feature-only MLP, no edges | 0 | | | |
Table 17.
Robustness to uncertain Normal labels. Models are evaluated on the full dataset and on a high-confidence-Normal subset from which the most ambiguous Normal addresses have been removed. Values are mean ± standard deviation over ten seeds.
Table 17.
Robustness to uncertain Normal labels. Models are evaluated on the full dataset and on a high-confidence-Normal subset from which the most ambiguous Normal addresses have been removed. Values are mean ± standard deviation over ten seeds.
| Model | Dataset | Accuracy (%) | Macro Recall (%) | Macro F1 (%) |
|---|
| GraphSAGE | Full dataset | | | |
| High-confidence Normal | | | |
| MLP | Full dataset | | | |
| High-confidence Normal | | | |
Table 18.
Final training behavior comparison after 300 epochs.
Table 18.
Final training behavior comparison after 300 epochs.
| Model | Final Validation Accuracy | Final Validation Loss | Final Validation Macro F1 |
|---|
| GAT | 0.5553 | 0.8830 | 0.2411 |
| GCN | 0.8651 | 0.6461 | 0.3702 |
| GraphSAGE | 0.9895 | 1.2201 | 0.4750 |
Table 19.
Top important features identified by GNNExplainer, with the corresponding attribute names from
Table A1.
Table 19.
Top important features identified by GNNExplainer, with the corresponding attribute names from
Table A1.
| Rank | GAT | GCN | GraphSAGE |
|---|
| 1 | F14: Avg time outgoing | F16: Active Duration | F11: Min amount incoming |
| 2 | F20: Min time interval | F0: all_degree | F16: Active Duration |
| 3 | F9: Max amount incoming | F10: Max amount outgoing | F22: Avg gas limit |
| 4 | F16: Active Duration | F12: Min amount outgoing | F9: Max amount incoming |
| 5 | F18: Mean time interval | F17: Clustering coefficient | F5: Avg amount incoming |
Table 20.
Interpretability characteristics of the evaluated GNN models.
Table 20.
Interpretability characteristics of the evaluated GNN models.
| Model | Explanation Size | Neighborhood Dependency | Interpretability |
|---|
| GAT | Attention-based subgraph | High | Moderate |
| GCN | Large two-hop subgraph | High | Moderate |
| GraphSAGE | Compact local neighborhood | Medium | High |
Table 21.
Quantitative comparison of GNNExplainer explanations across architectures. Values are reported as mean ± standard deviation over the explained malicious test nodes. The upward arrow (↑) indicates that higher values represent better performance for the corresponding metric.
Table 21.
Quantitative comparison of GNNExplainer explanations across architectures. Values are reported as mean ± standard deviation over the explained malicious test nodes. The upward arrow (↑) indicates that higher values represent better performance for the corresponding metric.
| Model | Edge Fidelity− (%) ↑ | Feature Fidelity− (%) ↑ | Joint Fidelity− (%) ↑ | Sparsity (%) ↑ | Stability (%) ↑ |
|---|
| GAT | | | | | |
| GCN | | | | | |
| GraphSAGE | | | | | |
Table 22.
Per-class explanation fidelity and cross-seed feature-ranking stability for the evaluated architectures, computed over all correctly classified minority-class test nodes across ten seeds. Joint Fidelity− is reported separately for the Phishing and Scamming classes; ranking stability is the mean pairwise top-5 overlap of the ranked feature lists across seeds.
Table 22.
Per-class explanation fidelity and cross-seed feature-ranking stability for the evaluated architectures, computed over all correctly classified minority-class test nodes across ten seeds. Joint Fidelity− is reported separately for the Phishing and Scamming classes; ranking stability is the mean pairwise top-5 overlap of the ranked feature lists across seeds.
| Model | Phishing Joint Fidelity− (%) | Scamming Joint Fidelity− (%) | Top-5 Ranking Overlap | Number of Explained Nodes |
|---|
| GAT | | | | ≈150 |
| GCN | | | | ≈168 |
| GraphSAGE | | | | ≈172 |
Table 23.
Ablation on graph structure using the held-out test set.
Table 23.
Ablation on graph structure using the held-out test set.
| Variant | Accuracy (%) | Macro Precision (%) | Macro Recall (%) | Macro F1 (%) |
|---|
| MLP (features only, no edges) | 97.92 | 42.10 | 71.60 | 45.86 |
| GraphSAGE (full graph) | 98.87 | 45.24 | 80.75 | 51.12 |
| GraphSAGE (non-isolated nodes only) | 97.48 | 52.36 | 84.21 | 56.84 |
Table 24.
Ablation on the loss function using the held-out test set.
Table 24.
Ablation on the loss function using the held-out test set.
| Loss Function | Accuracy (%) | Macro Recall (%) | Macro F1 (%) | Weighted F1 (%) |
|---|
| Unweighted cross-entropy | 99.71 | 35.62 | 34.41 | 99.56 |
| Class-weighted cross-entropy | 98.87 | 80.75 | 51.12 | 99.30 |
Table 25.
Feature-group ablation for GraphSAGE using the held-out test set.
Table 25.
Feature-group ablation for GraphSAGE using the held-out test set.
| Configuration | Accuracy (%) | Macro F1 (%) | ΔMacro F1 |
|---|
| All features (full model) | 98.87 | 51.12 | — |
| w/o Connectivity features | 96.92 | 43.68 | |
| w/o Amount-based features | 98.31 | 48.36 | |
| w/o Temporal features | 97.54 | 44.21 | |
| w/o Gas-related features | 98.64 | 50.18 | |
| w/o Clustering coefficient | 98.79 | 50.73 | |
Table 26.
Effect of the number of GraphSAGE layers using the held-out test set.
Table 26.
Effect of the number of GraphSAGE layers using the held-out test set.
| Number of Layers | Accuracy (%) | Macro Recall (%) | Macro F1 (%) |
|---|
| 1 layer | 98.12 | 75.32 | 47.06 |
| 2 layers (proposed) | 98.87 | 80.75 | 51.12 |
| 3 layers | 97.83 | 72.46 | 45.89 |