Simple Science

La science de pointe expliquée simplement

# Informatique# Génie logiciel# Intelligence artificielle

Nouvelle méthode pour détecter les systèmes Ponzi sur Ethereum

SourceP améliore la détection des systèmes de Ponzi dans les contrats intelligents grâce à l'analyse du code source.

― 10 min lire


Détecter les systèmes deDétecter les systèmes dePonzi avec SourcePcontrats intelligents.grâce à l'analyse du code source desSourceP identifie les systèmes de Ponzi
Table des matières

Avec la montée en popularité de la technologie blockchain, un type d'escroquerie financière connu sous le nom de système de Ponzi a commencé à apparaître sur la plateforme Ethereum. Ces Systèmes de Ponzi sont gérés à l'aide de Contrats intelligents et peuvent entraîner des pertes importantes et des effets négatifs pour les investisseurs. Les méthodes actuelles pour détecter ces systèmes de Ponzi intelligents se basent principalement sur des détails techniques comme le bytecode et le comportement des comptes, mais ces méthodes échouent souvent à identifier avec précision ces escroqueries.

Conscients du besoin de meilleures méthodes de détection, on vous présente SourceP, une nouvelle technique pour repérer les systèmes de Ponzi sur Ethereum. Cette approche utilise le code source des contrats intelligents, ce qui facilite la collecte de données et l'analyse des caractéristiques. SourceP transforme le code du contrat intelligent en un graphique visuel qui montre comment les données circulent dans le code, et utilise un modèle entraîné pour classer si le contrat est un système de Ponzi.

Nos tests montrent que SourceP a un taux de rappel de 87,2 % et un score F de 90,7 %, ce qui signifie qu'il identifie efficacement les systèmes de Ponzi tout en maintenant un faible taux de fausses alarmes. Cette performance est meilleure que celle de nombreuses méthodes existantes et prouve que l'utilisation du code source et du flux de données peut grandement aider à détecter ces systèmes.

Qu'est-ce que la Blockchain et Ethereum ?

La blockchain est une technologie qui garde des traces des transactions dans un réseau décentralisé où aucune entité unique ne la contrôle. Elle permet aux pairs du réseau de vérifier les transactions sans avoir à se faire confiance, ce qui est crucial pour sa sécurité et sa fiabilité. La blockchain a de nombreuses applications, y compris dans des domaines comme l'Internet des objets, le vote, la santé, et même des applications financières comme la finance décentralisée (DeFi) et les tokens non fongibles (NFT).

Ethereum est une plateforme blockchain populaire qui supporte les contrats intelligents, qui sont des contrats auto-exécutables avec les conditions directement écrites dans le code. Quand certaines conditions sont remplies, ces contrats exécutent automatiquement les actions convenues, éliminant ainsi le besoin d'intermédiaires. Cette technologie a ouvert des portes pour des applications décentralisées (DApps), mais a aussi donné aux escrocs un moyen de créer des systèmes de Ponzi.

Comprendre les systèmes de Ponzi

Les systèmes de Ponzi sont un type de fraude qui promet des rendements élevés avec peu de risque. Ils fonctionnent en utilisant l'argent de nouveaux investisseurs pour payer des rendements aux investisseurs plus anciens. Le système repose sur l'attraction continue de nouveaux investisseurs, et lorsque ce flux s'arrête, l'ensemble de l'opération s'effondre, laissant les retardataires avec des pertes.

Ces systèmes existent depuis plus d'un siècle et ont maintenant trouvé leur place dans l'espace blockchain. L'anonymat offert par les contrats intelligents permet aux escrocs d'opérer sans révéler leur identité, rendant la traque des fraudes difficile. Selon des recherches, des milliards de dollars ont été perdus à cause de systèmes de Ponzi dans le domaine des cryptomonnaies, soulignant le besoin de méthodes de détection efficaces.

Défis de la détection

Les méthodes traditionnelles pour détecter les systèmes de Ponzi sur Ethereum ont leurs limites. Elles s'appuient souvent sur l'analyse du bytecode ou des comportements de transaction, qui peuvent être manipulés facilement. De plus, collecter des données précises sur les comptes utilisateurs et les schémas de transaction peut être difficile en raison de l'anonymat inhérent à la blockchain.

Alors que les contrats intelligents évoluent sans cesse, les méthodes de détection existantes voient leur efficacité diminuer. Cela appelle à une nouvelle approche qui peut s'adapter à ces changements et identifier avec précision les systèmes de Ponzi à l'aide de données plus fiables.

Présentation de SourceP

SourceP vise à améliorer la détection des systèmes de Ponzi intelligents en se concentrant uniquement sur le code source des contrats intelligents. Cette méthode commence par convertir le code du contrat en un graphique de flux de données (DFG), qui illustre comment les variables dans le code interagissent. Le DFG fournit des informations cruciales sur le comportement du code, permettant une analyse plus efficace.

En utilisant un modèle pré-entraîné, SourceP apprend à partir du DFG pour reconnaître les motifs qui indiquent un système de Ponzi. Cette approche offre plusieurs avantages, comme réduire la difficulté de collecte de données et d'extraction de caractéristiques tout en maintenant une haute précision de détection.

Aperçu de la méthode

La méthode SourceP se compose de deux phases principales :

  1. Normalisation des entrées : Cette phase consiste à convertir le code source des contrats intelligents en arbres syntaxiques abstraits (AST) et en graphiques de flux de données (DFG). L'AST fournit des informations structurées sur le code, tandis que le DFG met en évidence comment les données et les variables interagissent dans le code.

  2. Détection des systèmes de Ponzi intelligents : Les données transformées sont ensuite alimentées dans un modèle pré-entraîné. Ce modèle analyse le DFG et le code source pour classer si le contrat est un système de Ponzi.

Ce processus en deux étapes aide à identifier efficacement les contrats frauduleux tout en réduisant le besoin d'une analyse manuelle extensive.

Génération de graphiques de flux de données

Dans la première étape, le code source est converti en un arbre syntaxique abstrait (AST). Des outils comme tree-sitter aident à construire l'AST, qui capture la syntaxe et la structure du code. Cependant, comme Solidity, le langage utilisé pour les contrats intelligents Ethereum, n'a pas de support officiel dans tree-sitter, une version spécialisée appelée tree-sitter-solidity est utilisée.

Ensuite, l'AST est transformé en un graphique de flux de données (DFG). Dans ce graphique, chaque variable devient un nœud, et des arêtes orientées illustrent comment les valeurs sont transmises entre les variables. Cette représentation permet à SourceP de comprendre efficacement les dépendances et le flux de données dans le code du contrat.

Structure du modèle

La structure du modèle SourceP suit principalement l'architecture d'un modèle pré-entraîné bien connu appelé GraphCodeBERT. Ce modèle utilise un transformateur bidirectionnel à plusieurs couches qui aide à comprendre les relations entre les tokens dans les données d'entrée.

Le DFG est utilisé comme entrée pour le modèle, lui permettant de contextualiser les variables et leurs dépendances. Chaque variable a des embeddings spéciaux pour indiquer son rôle dans le flux de données, ce qui aide encore au processus de détection.

Le modèle traite l'entrée à travers plusieurs couches, appliquant des mécanismes d'attention pour capturer les relations importantes. À la fin des couches, le modèle produit une étiquette prédite indiquant si le contrat intelligent est un système de Ponzi.

Tâches du modèle pré-entraîné

SourceP utilise des tâches pré-entraînées spécifiques pour améliorer sa précision :

  1. Modélisation de langage masqué (MLM) : Cette tâche masque aléatoirement des tokens dans les données d'entrée. Le modèle apprend à prédire les tokens originaux en fonction du contexte, améliorant ainsi sa compréhension du code source.

  2. Prédiction des arêtes de flux de données : Cela implique de masquer certaines connexions dans le DFG et d'entraîner le modèle à prédire si ces connexions existent. Ce faisant, le modèle devient plus conscient des relations de données dans le code.

  3. Alignement des nœuds : Cette tâche aligne la représentation du code source et du flux de données, garantissant que le modèle puisse connecter avec précision les tokens de code à leurs variables correspondantes dans le DFG.

Ces tâches renforcent collectivement la capacité de SourceP à détecter efficacement les systèmes de Ponzi intelligents.

Paramètres de l'expérience

Pour évaluer SourceP, un ensemble de données composé de 6 498 contrats intelligents a été utilisé. Parmi ceux-ci, 318 contrats étaient étiquetés comme systèmes de Ponzi, tandis que les autres étaient marqués comme contrats non-Ponzi. Les contrats ont été analysés pour garantir un étiquetage précis, fournissant une base solide pour tester l'efficacité du modèle.

La performance du modèle a été mesurée à l'aide de métriques courantes telles que la précision, le rappel et le score F. Ces métriques aident à comprendre à quel point SourceP identifie les systèmes de Ponzi tout en minimisant les faux positifs.

Résultats et discussion

Comparaison des performances

En comparant SourceP aux méthodes existantes à la pointe de la technologie, il a montré des améliorations significatives dans diverses métriques. En particulier, il a obtenu de meilleurs taux de rappel, ce qui signifie qu'il pouvait identifier correctement un pourcentage plus élevé de réels systèmes de Ponzi sans compromettre la précision.

Cette performance indique que SourceP constitue un outil fiable pour détecter les systèmes de Ponzi, surtout à mesure que de nouveaux systèmes émergent et évoluent.

Durabilité

La durabilité est cruciale pour toute méthode de détection. À mesure que de nouveaux systèmes de Ponzi sont déployés, ils peuvent différer significativement des plus anciens. SourceP a été testé contre des ensembles de données classés par la hauteur de bloc des contrats intelligents. Les résultats ont montré qu'il maintenait une haute performance même lors de la détection de nouveaux systèmes de Ponzi, prouvant sa viabilité à long terme.

Contributions des tâches pré-entraînées

Des études d'ablation ont été menées pour déterminer l'impact des tâches pré-entraînées et du DFG sur les résultats de détection. Les résultats ont indiqué des baisses substantielles de performance lorsque ces éléments étaient supprimés, soulignant leur importance dans l'efficacité de SourceP.

Capacité de généralisation

Pour évaluer la généralisation, l'ensemble de données a été divisé au hasard en ensembles d'entraînement, de validation et de test. SourceP a démontré de bonnes performances dans l'identification des systèmes de Ponzi à travers ces différentes répartitions, confirmant sa robustesse.

Conclusion

En résumé, SourceP représente une avancée significative dans la détection des systèmes de Ponzi intelligents sur la plateforme Ethereum. En se concentrant uniquement sur le code source et en utilisant une approche de flux de données, il offre une solution innovante à un problème pressant dans l'espace blockchain.

Les travaux futurs se concentreront sur l'expansion de l'ensemble de données, l'exploration de la façon dont SourceP peut s'adapter pour détecter de nouveaux types de systèmes de Ponzi, et l'évaluation de ses applications potentielles dans d'autres domaines de la sécurité blockchain. L'objectif ultime est d'améliorer la détection et la prévention de la fraude financière au sein des écosystèmes blockchain, protégeant ainsi les utilisateurs et favorisant une communauté blockchain plus saine.

Source originale

Titre: SourceP: Detecting Ponzi Schemes on Ethereum with Source Code

Résumé: As blockchain technology becomes more and more popular, a typical financial scam, the Ponzi scheme, has also emerged in the blockchain platform Ethereum. This Ponzi scheme deployed through smart contracts, also known as the smart Ponzi scheme, has caused a lot of economic losses and negative impacts. Existing methods for detecting smart Ponzi schemes on Ethereum mainly rely on bytecode features, opcode features, account features, and transaction behavior features of smart contracts, which are unable to truly characterize the behavioral features of Ponzi schemes, and thus generally perform poorly in terms of detection accuracy and false alarm rates. In this paper, we propose SourceP, a method to detect smart Ponzi schemes on the Ethereum platform using pre-trained models and data flow, which only requires using the source code of smart contracts as features. SourceP reduces the difficulty of data acquisition and feature extraction of existing detection methods. Specifically, we first convert the source code of a smart contract into a data flow graph and then introduce a pre-trained model based on learning code representations to build a classification model to identify Ponzi schemes in smart contracts. The experimental results show that SourceP achieves 87.2% recall and 90.7% F-score for detecting smart Ponzi schemes within Ethereum's smart contract dataset, outperforming state-of-the-art methods in terms of performance and sustainability. We also demonstrate through additional experiments that pre-trained models and data flow play an important contribution to SourceP, as well as proving that SourceP has a good generalization ability.

Auteurs: Pengcheng Lu, Liang Cai, Keting Yin

Dernière mise à jour: 2024-02-29 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2306.01665

Source PDF: https://arxiv.org/pdf/2306.01665

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires