Skip to content

dyscarnate/blockchain-spark-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

17 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Distributed Blockchain Data Analysis

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ дСмонстрируСт ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½-Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ с использованиСм распрСдСлённых Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ PySpark ΠΈ HDFS. Π’ Ρ†Π΅Π½Ρ‚Ρ€Π΅ внимания β€” rule-based (ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ) ΠΌΠ΅Ρ‚ΠΎΠ΄ выявлСния ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… адрСсов (AntiFraud) Π½Π° основС Π½Π°Π±ΠΎΡ€Π° эвристик.

πŸ”§ Π‘Ρ‚Π΅ΠΊ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

  • Python β€” основной язык ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
  • PySpark β€” для распрСдСлённой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…
  • HDFS β€” для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Parquet
  • Apache Airflow β€” для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ DAG-ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°
  • cryo β€” для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½-Π΄Π°Π½Π½Ρ‹Ρ… с RPC ΡƒΠ·Π»ΠΎΠ²

πŸ“ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

.
β”œβ”€β”€ block_analysis.ipynb         # Jupyter-Π½ΠΎΡƒΡ‚Π±ΡƒΠΊ с Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…
└── get_ethereum_transaction.py  # DAG для Airflow

πŸš€ Как ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ

Анализ в Jupyter Notebook

  1. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСны:
    • Python 3.8+
    • Apache Spark (ΠΈ PySpark)
    • HDFS (локально ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ кластСр)
  2. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² HDFS (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Parquet).
  3. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ block_analysis.ipynb ΠΈ пошагово Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ячСйки.

DAG для Airflow

Π€Π°ΠΉΠ» get_ethereum_transaction.py ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ DAG'ΠΎΠ² вашСго Airflow ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для рСгулярной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈΠ· Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π° Ethereum. Π’ качСствС источника ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° cryo, доступ ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· RPC.

πŸ“¦ Зависимости

  • pyspark
  • apache-airflow (для запуска DAG)
  • cryo (для скачивания Ethereum-Π΄Π°Π½Π½Ρ‹Ρ…)
  • matplotlib для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ²

πŸ‘¨β€πŸ”¬ ΠšΠΎΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½ исслСдоватСлям, Π΄Π°Ρ‚Π°-ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ ΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°ΠΌ, заинтСрСсованным Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ΠΎΠ². Он ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ rule-based ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Π²Ρ‹ΡΠ²Π»Π΅Π½ΠΈΡŽ ΠΏΠΎΠ΄ΠΎΠ·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ активности, Π½Π΅ прибСгая ΠΊ ML-модСлям.

πŸ“Ž ΠŸΡ€ΠΈΠΌΠ΅Ρ€ эвристик

Анализ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠ°ΠΊ:

  • ЧастыС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя адрСсами ("ΠΏΠΈΠ½Π³-ΠΏΠΎΠ½Π³")
  • ВысокиС комиссии
  • АномальноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
  • ВсплСски Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ
  • Блабая Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ большом количСствС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹Ρ… взаимодСйствий

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published