چگونه Timeline تراکنش‌های رمزارزی را برای یک پرونده Blockchain Forensics بسازیم؟

۲۵ شهریور ۱۴۰۵

چگونه Timeline تراکنش‌های رمزارزی را برای یک پرونده Blockchain Forensics بسازیم؟

در بسیاری از پرونده‌های کلاهبرداری رمزارزی، اطلاعات زیادی وجود دارد اما مشکل اصلی جای دیگری است: رویدادها به ترتیب درست کنار یکدیگر قرار نگرفته‌اند. ممکن است پرونده شامل ده‌ها TXID، چند کیف پول، دو یا سه شبکه بلاکچینی، یک صرافی، یک DEX و تعداد زیادی آدرس واسط باشد. اگر این اطلاعات بدون ساختار ارائه شوند، حتی یک تحلیل فنی درست نیز می‌تواند برای مخاطب گیج‌کننده باشد. یکی از مؤثرترین روش‌ها برای حل این مشکل، ساخت Transaction Timeline است. Timeline به زبان ساده پاسخ می‌دهد: چه اتفاقی، در چه زمانی، برای چه مقدار دارایی و میان چه آدرس‌هایی رخ داده است؟

چگونه Timeline تراکنش‌های رمزارزی را برای یک پرونده Blockchain Forensics بسازیم؟

Transaction Timeline چیست؟

Timeline یک نمایش زمانی از رویدادهای مرتبط با پرونده است.

برای مثال:

09:14:22

Victim → Wallet A

50,000 USDT

09:17:05

Wallet A → Wallet B

49,950 USDT

09:23:41

Wallet B → DEX

09:25:08

USDT → USDC

09:32:17

Wallet C → Exchange

با همین ساختار ساده می‌توان مشاهده کرد که دارایی ظرف کمتر از ۲۰ دقیقه چند مرحله جابه‌جا شده است.

اما در یک بررسی حرفه‌ای، Timeline باید اطلاعات دقیق‌تری داشته باشد.

چرا Timeline در تحقیقات بلاکچین مهم است؟

Blockchain معمولاً اطلاعات تراکنش‌ها را به‌صورت دقیق و زمان‌بندی‌شده ثبت می‌کند.

بنابراین تحلیلگر می‌تواند رویدادها را براساس:

  1. Timestamp
  2. Block Number
  3. Transaction Hash
  4. Sender
  5. Receiver
  6. Token
  7. Amount
  8. Contract Interaction

مرتب کند.

این کار چند مزیت مهم دارد.

اول اینکه مسیر دارایی بهتر دیده می‌شود.

دوم اینکه انتقال‌های سریع و پشت سرهم مشخص می‌شوند.

سوم اینکه ارتباط احتمالی میان چند تراکنش راحت‌تر بررسی می‌شود.

مرحله اول: نقطه شروع پرونده را مشخص کنید

هر Timeline باید یک Starting Point داشته باشد.

در پرونده سرقت ممکن است نقطه شروع:

Victim Wallet

باشد.

اما در پرونده دیگری ممکن است نقطه شروع یک TXID خاص باشد.

مثلاً قربانی اعلام کرده است:

ساعت ۱۸:۴۲ مقدار 20,000 USDT بدون اجازه از کیف پول من خارج شده است.

در این حالت همان تراکنش تبدیل به نقطه شروع بررسی می‌شود.

اطلاعات اولیه‌ای که باید ثبت شوند

برای تراکنش اول حداقل این موارد را استخراج کنید:

اطلاعات

توضیح

TXID

شناسه تراکنش

Timestamp

زمان ثبت

Blockchain

شبکه

Sender

مبدأ

Receiver

مقصد

Token

دارایی

Amount

مقدار

Fee

کارمزد

Block

شماره بلاکblog image

مرحله دوم: زمان را استاندارد کنید

یکی از مشکلات رایج در گزارش‌های Blockchain Forensics اختلاف Timezone است.

یک Explorer ممکن است زمان را به UTC نشان دهد، در حالی که Screenshot کاربر براساس ساعت محلی باشد.

مثلاً:

Blockchain Explorer:

14:30 UTC

Local Time:

18:00

اگر این تفاوت در گزارش توضیح داده نشود، ممکن است تصور شود دو تراکنش با یکدیگر تطابق ندارند.

بهتر است در ابتدای Timeline مشخص شود:

تمامی زمان‌ها در این گزارش براساس UTC ثبت شده‌اند.

یا:

زمان‌های Blockchain به ساعت محلی تبدیل شده‌اند.

مرحله سوم: خروجی بعدی آدرس را بررسی کنید

فرض کنید:

Victim

↓

Wallet A

پیدا شده است.

تحلیل در این مرحله تمام نمی‌شود.

Wallet A باید بررسی شود تا مشخص گردد دارایی پس از دریافت چه سرنوشتی داشته است.

ممکن است:

Victim

↓

Wallet A

↓

Wallet B

↓

Wallet C

شکل بگیرد.

هر مرحله باید به Timeline اضافه شود.

مرحله چهارم: فاصله زمانی را اندازه‌گیری کنید

گاهی فاصله زمانی میان تراکنش‌ها اطلاعات ارزشمندی می‌دهد.

مثلاً:

10:01:15

100,000 USDT received

10:01:48

99,950 USDT transferred

دارایی فقط ۳۳ ثانیه در کیف پول باقی مانده است.

این رفتار می‌تواند نشان دهد Wallet مورد نظر احتمالاً نقش یک آدرس واسط دارد.

اما دقت کنید:

سرعت انتقال به‌تنهایی اثبات‌کننده فعالیت مجرمانه نیست.

صرافی‌ها، سیستم‌های پرداخت، Botها و قراردادهای هوشمند نیز می‌توانند انتقال‌های بسیار سریع داشته باشند.

مرحله پنجم: آدرس‌های واسط را شماره‌گذاری کنید

در پرونده‌های بزرگ استفاده مداوم از آدرس‌های طولانی باعث کاهش خوانایی می‌شود.

می‌توان آدرس‌ها را در گزارش چنین نام‌گذاری کرد:

Victim Wallet

Wallet A

Wallet B

Wallet C

Exchange Deposit Address

Bridge Contract

DEX Router

سپس در جدول جداگانه آدرس کامل هرکدام درج شود.

نمونه

Label

Address

Victim

T...abc

Wallet A

T...852

Wallet B

T...991

Wallet C

0x...55F

این روش مخصوصاً در نمودارهای Transaction Flow بسیار مفید است.

مرحله ششم: نوع هر رویداد را تعیین کنید

تمام رویدادها الزاماً Transfer ساده نیستند.

ممکن است با موارد زیر روبه‌رو شوید:

  1. Token Transfer
  2. Native Coin Transfer
  3. Swap
  4. Approval
  5. Bridge Deposit
  6. Bridge Withdrawal
  7. Contract Call
  8. Exchange Deposit
  9. NFT Transfer

برای مثال:

Wallet A

↓

DEX Router

USDT

↓

USDC

نباید این اتفاق را صرفاً:

Wallet A مقدار USDT به DEX فرستاد.

توصیف کرد.

بلکه باید مشخص شود که تراکنش بخشی از یک عملیات Swap بوده است.

مرحله هفتم: تغییر دارایی را وارد Timeline کنید

یکی از مهم‌ترین نقاط در تحقیقات مالی زمانی است که Asset تغییر می‌کند.

مثلاً:

100,000 USDT

↓

DEX

↓

99,700 USDC

اگر تحلیلگر فقط به دنبال USDT بگردد، ممکن است تصور کند مسیر تمام شده است.

در صورتی که ارزش اقتصادی همچنان ادامه دارد.

مرحله هشتم: تغییر شبکه را مشخص کنید

اگر دارایی وارد Bridge شود، Timeline باید تغییر شبکه را کاملاً واضح نشان دهد.

مثلاً:

14:20

Ethereum

Wallet A → Bridge

14:23

Arbitrum

Bridge → Wallet B

بهتر است میان دو رویداد یک علامت مشخص اضافه شود:

--- Cross-Chain Transition ---

مرحله نهم: Exchange Exposure را ثبت کنید

یکی از نقاط مهم در بسیاری از تحقیقات زمانی است که دارایی به یک سرویس متمرکز وارد می‌شود.

مثلاً:

Wallet D

↓

Exchange Deposit Address

در گزارش بهتر است نوشته شود:

آدرس مقصد براساس داده‌ها و شواهد موجود به زیرساخت مرتبط با صرافی X منتسب شده است.

نه اینکه بدون شواهد کافی گفته شود:

این حساب متعلق به شخص X است.

چون آدرس بلاکچینی و حساب کاربری دو مفهوم متفاوت هستند.blog image

یک نمونه Timeline کامل

فرض کنیم پرونده با سرقت 80,000 USDT آغاز شده است.

08:40:12

Victim

↓

Wallet A

80,000 USDT

08:44:51

Wallet A

↓

Wallet B

79,850 USDT

08:48:20

Wallet B

↓

DEX Router

08:48:28

USDT → USDC

08:55:02

Wallet B

↓

Bridge

08:57:34

Destination Chain

↓

Wallet C

09:04:45

Wallet C

↓

Wallet D

09:16:19

Wallet D

↓

Exchange Deposit Address

حالا حتی فردی که دانش فنی زیادی ندارد می‌تواند مسیر کلی را درک کند.

Timeline و Transaction Graph چه تفاوتی دارند؟

این دو مکمل یکدیگر هستند.

Timeline روی زمان تمرکز دارد.

Graph روی رابطه میان آدرس‌ها.

مثلاً Graph:

Victim

↓

Wallet A

↓

Wallet B

↙ ↘

C D

↓

Exchange

در حالی که Timeline می‌گوید هر مرحله دقیقاً چه زمانی اتفاق افتاده است.

یک گزارش حرفه‌ای بهتر است هر دو را داشته باشد.

چگونه تراکنش‌های غیرمرتبط را حذف کنیم؟

فرض کنید Wallet B صدها تراکنش دارد.

همه آن‌ها الزاماً به پرونده مربوط نیستند.

بهتر است معیارهای زیر بررسی شوند:

  1. زمان دریافت دارایی
  2. Asset موردنظر
  3. مقدار
  4. فاصله زمانی
  5. ارتباط با مسیر قبلی
  6. ارتباط با آدرس‌های شناخته‌شده

هدف این نیست که کل تاریخچه Wallet وارد گزارش شود.

هدف پیدا کردن Relevant Transaction Flow است.

اشتباه رایج: Amount Matching

گاهی تحلیلگر فقط مقدار را دنبال می‌کند.

مثلاً:

Incoming:

50,000 USDT

Outgoing:

50,000 USDT

و نتیجه می‌گیرد همان دارایی منتقل شده است.

اما باید موارد دیگری مانند:

  1. زمان
  2. Balance
  3. تراکنش‌های همزمان
  4. منابع دیگر موجودی

را نیز بررسی کرد.

دارایی‌ها در Blockchain معمولاً دارای شماره سریال جداگانه نیستند که بتوان هر واحد را مستقل دنبال کرد.

Timeline برای گزارش قضایی

در نسخه قضایی بهتر است Timeline ساده‌تر ارائه شود.

مثلاً:

زمان

رویداد

مبلغ

14:05

خروج از کیف پول قربانی

25,000 USDT

14:09

انتقال به آدرس واسط

24,950 USDT

14:16

تبدیل دارایی

24,900 USDC

14:31

انتقال به صرافی

24,850 USDC

جزئیات TXID و آدرس کامل می‌تواند در پیوست قرار گیرد.

نتیجه‌گیری

ساخت Timeline یکی از قدرتمندترین ابزارهای Blockchain Investigation است.

یک Timeline مناسب باعث می‌شود مجموعه‌ای از TXIDها و آدرس‌های پیچیده به یک روایت مالی قابل فهم تبدیل شوند:

دارایی از کجا شروع شد، چه زمانی حرکت کرد، از چه مسیرهایی عبور کرد و در نهایت به کجا رسید.

اما Timeline باید مبتنی بر داده باشد، نه حدس.

تفکیک میان:

Fact → Observation → Analysis → Attribution

باعث می‌شود گزارش نهایی از نظر فنی و قضایی قابل دفاع‌تر باشد.



بلاگ‌ها و مقالات

مشاهده همه‌
آموزش تحلیل Transaction Logs و Event Logs در بلاکچین؛

آموزش تحلیل Transaction Logs و Event Logs در بلاکچین؛

تصور کنید در حال بررسی یک پرونده سرقت رمزارز هستید. قربانی اعلام کرده که ۵۰ هزار USDT از کیف پولش خارج شده و شناسه تراکنش را نیز در اختیار شما قرار داده است. وقتی TXID را در یک Blockchain Explorer وارد می‌کنید، با اطلاعاتی مانند فرستنده، گیرنده، زمان، کارمزد و وضعیت تراکنش مواجه می‌شوید. اما یک نکته وجود دارد: آنچه در نمای اولیه Explorer دیده می‌شود، لزوماً تمام اتفاقات داخل تراکنش نیست. یک تراکنش ممکن است با چند قرارداد هوشمند تعامل کند، چندین Token Transfer ایجاد کند و عملیات پیچیده‌ای مانند Swap یا انتقال دارایی به آدرس ثالث انجام دهد. برای بازسازی این رویدادها، تحلیلگر باید از مشاهده سطحی تراکنش عبور کند و وارد بررسی Transaction Receipt، Event Logs و Execution Trace شود.

Peel Chain چیست؟

Peel Chain چیست؟

Peel Chain چیست؟ فرض کنید یک Wallet مقدار قابل توجهی Bitcoin در اختیار دارد و مالک آن نمی‌خواهد تمام موجودی را در یک تراکنش منتقل کند. در عوض چنین الگویی ایجاد می‌شود: Wallet A │ 10 BTC ↓ Wallet B ───→ 0.5 BTC │ 9.5 BTC ↓ Wallet C ───→ 0.7 BTC │ 8.8 BTC ↓ Wallet D ───→ 1 BTC │ 7.8 BTC ↓ Wallet E در هر مرحله مقدار کوچکی از موجودی جدا یا اصطلاحاً Peel می‌شود و بخش عمده به مرحله بعد می‌رود. به این ساختار Peel Chain گفته می‌شود.

چگونه تراکنش‌های DEX و Liquidity Pool را در تحقیقات Blockchain Forensics تحلیل کنیم؟

چگونه تراکنش‌های DEX و Liquidity Pool را در تحقیقات Blockchain Forensics تحلیل کنیم؟

در یک پرونده ساده Blockchain Forensics ممکن است مسیر دارایی چنین باشد: Victim ↓ Wallet A ↓ Wallet B ↓ Exchange در چنین شرایطی دنبال‌کردن مسیر نسبتاً ساده است. اما کافی است Wallet B با یک صرافی غیرمتمرکز یا DEX تعامل کند. مسیر ناگهان به چیزی شبیه این تبدیل می‌شود: Wallet B ↓ DEX Router ↓ Liquidity Pool ↓ USDT → ETH ↓ Wallet B در این مرحله یکی از اشتباهات رایج این است که تحلیلگر تصور کند وجوه به آدرس Smart Contract منتقل شده و مسیر به پایان رسیده است. در حالی که در بسیاری از موارد، دارایی فقط تبدیل شده است. پژوهش‌های جدید حوزه Blockchain Forensics نیز نشان می‌دهند که گسترش DeFi، Bridgeها و تراکنش‌های پیچیده Smart Contract، ردگیری وجوه را از یک مسئله ساده دنبال‌کردن آدرس‌ها به تحلیل چندلایه جریان ارزش تبدیل کرده است. Doi

چگونه تراکنش‌های Cross-Chain و Bridge را در بلاکچین ردیابی کنیم؟

چگونه تراکنش‌های Cross-Chain و Bridge را در بلاکچین ردیابی کنیم؟

در گذشته، ردیابی یک تراکنش رمزارزی معمولاً با دنبال‌کردن مسیر یک آدرس در یک شبکه مشخص انجام می‌شد. برای مثال، اگر وجوه روی شبکه TRON جابه‌جا می‌شد، تحلیلگر می‌توانست از یک Explorer مانند TRONSCAN شروع کند و انتقال‌های بعدی را بررسی کند. اما امروز بسیاری از فعالیت‌های رمزارزی محدود به یک بلاکچین نیستند. یک دارایی ممکن است ابتدا روی Ethereum قرار داشته باشد، سپس از طریق یک Bridge به شبکه دیگری منتقل شود و در نهایت از یک صرافی غیرمتمرکز، کیف پول شخصی یا صرافی متمرکز عبور کند. اینجاست که Cross-Chain Tracing اهمیت پیدا می‌کند. تحقیقات منتشرشده در سال ۲۰۲۶ نیز نشان می‌دهد که تحلیل تراکنش‌های Cross-Chain از تحلیل تک‌زنجیره‌ای دشوارتر است، زیرا اطلاعات مربوط به یک انتقال ممکن است میان زنجیره مبدأ، زنجیره مقصد و حتی سیستم‌های خارج از زنجیره توزیع شده باشد.

رمز عبور

جهت ورود به رمز عبور خود را وارد کنید.

ibcd logo