Этот проект демонстрирует подход к анализу блокчейн-транзакций с использованием распределённых технологий, таких как PySpark и HDFS. В центре внимания — rule-based (правило-ориентированный) метод выявления подозрительных адресов (AntiFraud) на основе набора эвристик.
- Python — основной язык проекта
- PySpark — для распределённой обработки данных
- HDFS — для хранения данных в формате Parquet
- Apache Airflow — для организации DAG-пайплайна
- cryo — для загрузки блокчейн-данных с RPC узлов
.
├── block_analysis.ipynb # Jupyter-ноутбук с анализом данных
└── get_ethereum_transaction.py # DAG для Airflow
- Убедитесь, что у вас установлены:
- Python 3.8+
- Apache Spark (и PySpark)
- HDFS (локально или подключён кластер)
- Загрузите данные транзакций в HDFS (например, в формате Parquet).
- Откройте
block_analysis.ipynbи пошагово выполните ячейки.
Файл get_ethereum_transaction.py можно разместить в папке DAG'ов вашего Airflow и использовать для регулярной загрузки транзакций из блокчейна Ethereum. В качестве источника используется утилита cryo, доступ к которой осуществляется через RPC.
pysparkapache-airflow(для запуска DAG)cryo(для скачивания Ethereum-данных)matplotlibдля построения графиков
Этот проект будет полезен исследователям, дата-инженерам и блокчейн-аналитикам, заинтересованным в обработке и анализе больших объёмов данных из блокчейнов. Он показывает, как можно применять rule-based подходы к выявлению подозрительной активности, не прибегая к ML-моделям.
Анализ включает такие правила, как:
- Частые транзакции между двумя адресами ("пинг-понг")
- Высокие комиссии
- Аномальное поведение во времени
- Всплески значений транзакций
- Слабая активность при большом количестве контрактных взаимодействий