بلاکچین به زبان ساده؛ از بلاک تا اجماع

در بلاکچین و رمزارز
اشتراک گذاری
بلاکچین به زبان ساده؛ از بلاک تا اجماع

۱) مقدمه سناریومحور: از یک تراکنش ساده تا بلاکچین

تصور کنید علی می‌خواهد برای مریم مقدار ۰٫۰۲ بیت‌کوین ارسال کند. او اپلیکیشن کیف‌پولش را باز می‌کند، آدرس مریم را وارد می‌کند، عدد را می‌نویسد و روی «ارسال» کلیک می‌کند. برای علی همه‌چیز در همین‌جا تمام می‌شود؛ اما واقعیت پشت‌صحنه بسیار پیچیده‌تر و جذاب‌تر است.

در حقیقت، وقتی علی دکمه ارسال را می‌زند:

  • یک تراکنش رمزنگاری‌شده ساخته می‌شود که شامل ورودی‌ها، خروجی‌ها و امضای دیجیتال اوست.
  • این پیام تراکنش به شبکه‌ای جهانی از گره‌ها (Nodes) پخش می‌شود.
  • گره‌ها امضا را بررسی می‌کنند و تراکنش را در صفی به نام Mempool قرار می‌دهند.
  • ماینر یا ولیدیتور، از میان هزاران تراکنش در Mempool، این تراکنش را انتخاب کرده و در بلاکی جدید می‌گذارد.
  • این بلاک با الگوریتم اجماع (مثل PoW یا PoS) به زنجیره اضافه می‌شود و در نهایت مریم بیت‌کوین را دریافت می‌کند.
📌 مثال عملی

علی قبلاً از یک تراکنش دیگر ۰٫۰۲۵ BTC در اختیار دارد (UTXO). وقتی او ۰٫۰۲ BTC برای مریم می‌فرستد:

  • ۰٫۰۲۰ BTC ← برای مریم
  • ۰٫۰۰۴ BTC ← کارمزد شبکه (ماینرها)
  • ۰٫۰۰۱ BTC ← «Change» یا باقیمانده به کیف پول علی بازمی‌گردد

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

۲) ساختار یک تراکنش (Transaction Anatomy)

هر تراکنش در بلاکچین مثل یک سند مالی رمزنگاری‌شده است. این سند نشان می‌دهد که چه کسی مقدار مشخصی رمز‌ارز را از کجا گرفته و به کجا می‌فرستد. تراکنش بیت‌کوین (و اغلب بلاکچین‌ها) شامل اجزای زیر است:

  • ورودی‌ها (Inputs): اشاره به خروجی‌های خرج‌نشده قبلی (UTXOها) که قرار است مصرف شوند.
  • خروجی‌ها (Outputs): آدرس‌های مقصد و مقدار رمز‌ارزی که برای هرکدام ارسال می‌شود.
  • امضای دیجیتال: با کلید خصوصی فرستنده تولید می‌شود و با کلید عمومی او قابل اعتبارسنجی است.
  • کارمزد (Fee): اختلاف بین مجموع ورودی‌ها و مجموع خروجی‌ها که به ماینرها/ولیدیتورها تعلق می‌گیرد.

نمونه‌ای از یک تراکنش واقعی در قالب JSON:

{
  "inputs": [
    { 
      "txid": "7c3f9a...a12d", 
      "vout": 0, 
      "scriptSig": "sig(ali)", 
      "value": 0.025 
    }
  ],
  "outputs": [
    { 
      "address": "bc1q-maryam-xyz...", 
      "value": 0.020 
    },
    { 
      "address": "bc1q-ali-change...", 
      "value": 0.001 
    }
  ],
  "fee": 0.004
}
  
📌 مثال ساده

علی می‌خواهد ۰٫۰۲ BTC برای مریم بفرستد. ورودی او ۰٫۰۲۵ BTC است. بنابراین:

  • ۰٫۰۲۰ BTC ← برای مریم
  • ۰٫۰۰۴ BTC ← کارمزد ماینر
  • ۰٫۰۰۱ BTC ← بازگشت به آدرس علی (Change)

این مثال نشان می‌دهد که خروجی‌ها می‌توانند چندتایی باشند و همیشه مجموع‌شان به‌علاوه کارمزد با ورودی برابر است.

۳) از تراکنش تا بلاک (Mempool و Mining/Validation)

پس از ارسال تراکنش، اولین ایستگاه آن Mempool است؛ صفی توزیع‌شده از تراکنش‌های معتبر که هنوز وارد بلاک نشده‌اند. گره‌ها (Nodes) امضاها و قوانین اجماع را بررسی می‌کنند و در صورت صحت، تراکنش را در مم‌پول خود نگه می‌دارند تا ماینر/ولیدیتور آن را بردارد.

Mempool دقیقاً چه می‌کند؟

  • اعتبارسنجی اولیه: امضا، موجودی، فرمت، و تضاد نداشتن با تراکنش‌های دیگر.
  • اولویت‌بندی بر اساس کارمزد: در بیت‌کوین معمولاً با معیار sat/vB (ساتوشی بر بایت)؛ هرچه بالاتر، شانس انتخاب بیشتر.
  • پخش همتا‌به‌همتا: تراکنش معتبر میان گره‌ها منتشر می‌شود تا به دید همه برسد.

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

  1. انتخاب تراکنش‌ها: ماینر/ولیدیتور تراکنش‌های با کارمزد بهینه را برمی‌دارد تا اندازه بلاک و درآمد کارمزد را بهینه کند.
  2. ساختاردهی بلاک: تراکنش‌ها + تراکنش کوین‌بیس (پاداش بلاک) → محاسبه Merkle Root → تکمیل Block Header.
  3. انتشار بلاک: پس از تولید/اعتبارسنجی، بلاک به شبکه ارسال می‌شود و گره‌ها آن را می‌پذیرند و زنجیره به‌روزرسانی می‌شود.
هدر بلاک (نمونه فیلدها):
{
  "version": 0x20000000,
  "prev_block_hash": "0000000000...ab",
  "merkle_root": "3f9d...e72c",
  "timestamp": 1732451123,
  "nBits": "170fffff",
  "nonce": 3178945123
}
    

دو مسیر افزودن بلاک: PoW و PoS

🔨 Proof of Work (PoW) — ماینینگ

  • ماینر با تغییر nonce و گاهی ترتیب تراکنش‌ها یا extranonce در کوین‌بیس، سعی می‌کند هش هدر بلاک از هدف دشواری کمتر شود.
  • اگر موفق شود، بلاک «یافت» شده و به شبکه پخش می‌شود؛ گره‌ها آن را تأیید و به زنجیره اضافه می‌کنند.
  • پاداش: subsidy (پاداش ثابتِ هر دوره) + مجموع کارمزد تراکنش‌ها.

🗳️ Proof of Stake (PoS) — ولیدیشن

  • ولیدیتورها با قفل‌کردن مقدار مشخصی توکن، حقِ پیشنهاد بلاک را بر اساس وزن سهام/تصادف شبه‌تصادفی به‌دست می‌آورند.
  • بلاک پیشنهادی توسط دیگر ولیدیتورها attest می‌شود؛ در صورت رسیدن به آستانه اجماع، بلاک نهایی‌سازی (finalize) می‌شود.
  • پاداش: تورمی/کارمزدی؛ رفتار بد جریمه‌ی slashing دارد.

تأییدها (Confirmations) و فورک‌های موقت

  • Confirmation: هر بلاک جدید روی بلاک شما = یک تأیید. صرافی‌ها معمولاً برای بیت‌کوین ۳ تا ۶ تأیید می‌خواهند.
  • فورک موقت (Temporary Fork): ممکن است دو بلاک همزمان منتشر شوند؛ زنجیره عمیق‌تر (طولانی‌تر/سنگین‌تر) برنده می‌شود.
  • Orphan/Uncle: بلاک‌های کنارگذاشته‌شده؛ در اتریوم قدیم، uncleها پاداش جزئی داشتند.
🧪 تمرین کوتاه در اکسپلورر
  1. در یک بلاک‌اکسپلورر (BTC/ETH) آخرین بلاک را باز کنید.
  2. prev_block_hash، merkle_root، تعداد تراکنش‌ها، و زمان بلاک را پیدا کنید.
  3. یکی از تراکنش‌ها را باز و کارمزد مؤثر آن را محاسبه کنید (برای BTC: fee = sum(inputs) - sum(outputs) و نرخ sat/vB را بررسی کنید).
  4. ببینید چند تأیید دارد و اگر بلاک بعدی اضافه شود، این عدد چگونه تغییر می‌کند.

۴) اجماع (Consensus)؛ چرا PoW و PoS؟

در شبکه‌های همتابه‌همتا، هیچ «رئیس» واحدی وجود ندارد تا بگوید کدام بلاک معتبر است. الگوریتم اجماع همان سازوکاری است که به گره‌ها اجازه می‌دهد درباره ترتیب و اعتبار تراکنش‌ها به توافق برسند و جلوی دوبار خرج‌کردن (Double Spending) را بگیرند؛ آن هم در برابر حملات سیبیل، تأخیر شبکه، و انگیزه‌های اقتصادی مهاجمان.

مسائل کلیدی که اجماع حل می‌کند

  • ترتیب‌دهی تراکنش‌ها: کدام تراکنش‌ها اول قطعی شوند؟
  • نهایی‌سازی (Finality): چه زمانی «تقریباً قطعی» یا «قطعی اقتصادی» می‌شویم؟
  • مقاومت در برابر حمله: ۵۱٪، سیبیل، سانسور، و بازسازمان‌دهی زنجیره (Reorg).
  • انگیزه‌ها: چگونه با پاداش/جریمه رفتار درست را تشویق کنیم؟

Proof of Work (PoW) — «کار محاسباتی»

در PoW، ماینرها با انجام محاسبات سنگین سعی می‌کنند هش هدر بلاک را به مقداری کمتر از «هدف دشواری» برسانند. هر که زودتر به جواب برسد، بلاکش را منتشر می‌کند و شبکه در صورت اعتبار، آن را می‌پذیرد. این فرآیند پایه اجماع ناکاموتویی در بیت‌کوین است.

  • امنیت: حمله‌کننده باید قدرت محاسباتی عظیمی بخرد/اجاره کند تا زنجیره طولانی‌تری بسازد (هزینه بیرونی واقعی).
  • نهایی‌سازی احتمالاتی: با هر بلاک بعدی، احتمال برگشت کمتر می‌شود (مثلاً ۶ تأیید ~ بسیار امن).
  • هزینه و انرژی: مصرف انرژی بالاست اما یک سپر اقتصادی در برابر حمله ایجاد می‌کند.
  • ریسک‌ها: ۵۱٪، سانسور توسط استخرهای بزرگ، و حملات موقتی با اجاره هش‌ریت.
📌 مثال پویا

اگر مهاجم 40٪ هش‌ریت دارد، احتمال سبقت گرفتن دائمی از زنجیره صادق بسیار پایین است، اما اگر به 51٪ برسد، می‌تواند در بازه‌ای محدود تراکنش‌ها را بازنویسی کند (دو بار خرج‌کردن).

هدر بلاک در PoW (نمونه فیلدها):
{
  "version": 0x20000000,
  "prev_block_hash": "000000...ab",
  "merkle_root": "3f9d...e72c",
  "timestamp": 1732451123,
  "nBits": "170fffff",
  "nonce": 3178945123
}
    
ماینر با تغییر nonce/extranonce و چینش تراکنش‌ها، فضایی برای جست‌وجوی هش مناسب ایجاد می‌کند.

Proof of Stake (PoS) — «سهم اقتصادی قفل‌شده»

در PoS، ولیدیتورها توکن‌های خود را قفل می‌کنند (Stake) و به نسبت سهم و یک منبع تصادفی (RANDAO/VRF) برای پیشنهاد بلاک انتخاب می‌شوند. بلاک‌های پیشنهادی با رأی/گواهی (Attestation) سایر ولیدیتورها تأیید می‌شود و پس از رسیدن به آستانه، نهایی می‌گردد.

  • امنیت: مهاجم باید اکثریت سهام را بخرد (هزینه درون‌سیستمی). رفتار بد با Slashing جریمه می‌شود.
  • نهایی‌سازی سریع‌تر: در طراحی‌های مدرن (مانند BFT-Style Finality) قطعی اقتصادی سریع‌تری حاصل می‌شود.
  • بهره‌وری انرژی: بسیار کم‌مصرف‌تر از PoW.
  • ریسک‌ها: تمرکز سهام در صرافی‌ها/استخرها، سانسور، پیچیدگی اجرای پروتکل، و سناریوهای Long-Range Attack بدون چک‌پوینت.
📌 مثال تصمیم‌گیری

شبکه‌ای با میلیون‌ها کاربر و نیاز به قطعی سریع پرداخت‌های خرد، ممکن است PoS با finality قطعی را ترجیح دهد. شبکه‌ای با تأکید بر سادگی مدل امنیتی و مقاومت در برابر دولت-ملت‌ها، ممکن است PoW با هزینه بیرونی بالا را ترجیح بدهد.


مقایسه سریع PoW و PoS

معیار PoW PoS
منبع امنیت هزینه بیرونی (برق/سخت‌افزار) هزینه درون‌سیستمی (سهام قفل‌شده)
نهایی‌سازی احتمالاتی (تأییدهای بیشتر → اطمینان بیشتر) غالباً قطعی/اقتصادی سریع‌تر (BFT-style)
مصرف انرژی بالا بسیار کم
ریسک غالب ۵۱٪ هش‌ریت، سانسور استخرها تمرکز سهام، سانسور، حملات طولانی‌برد
پیچیدگی پروتکل ساده‌تر پیچیده‌تر (اسلشینگ، رأی‌گیری، تصادفی‌سازی)

پیوند به مباحث حقوقی/تنظیم‌گری

  • مسئولیت‌پذیری گره‌ها/استخرها: در سانسور یا همدستی با حمله چه مسئولیت‌هایی متصور است؟
  • استانداردهای افشا: برای پلتفرم‌های مالی غیرمتمرکز، شفاف‌سازی درباره نهایی‌سازی و ریسک بازسازمان‌دهی.
  • حاکمیت: تمرکز سهام یا هش‌ریت می‌تواند پیامدهای ضدانحصار/تنظیمی داشته باشد.
🧪 تمرین کوتاه
  1. در یک زنجیره PoW (مثل بیت‌کوین)، برای یک تراکنش بزرگ، حداقل چند تأیید را «سیاست داخلی» خود قرار می‌دهید؟ چرا؟
  2. در یک زنجیره PoS، شرایطی را توضیح دهید که slashing رخ می‌دهد و پیامد اقتصادی آن چیست.
  3. فرض کنید یک متولی پرداخت (PSP) روی PoS تسویه می‌کند: چه بندهای قراردادی درباره نهایی‌سازی و ریسک Reorg پیشنهاد می‌دهید؟

۵) مدل‌های حسابداری: UTXO vs Account‑based

بلاکچین‌ها برای نگهداری «وضعیت» دارایی از دو الگوی اصلی استفاده می‌کنند: UTXO (خروجی‌های خرج‌نشدهٔ تراکنش‌ها؛ مانند بیت‌کوین) و Account‑based (حساب‌محور؛ مانند اتریوم). درک تفاوتشان برای تحلیل تراکنش، حریم خصوصی، قراردادها و حتی دعاوی حقوقی ضروری است.

🔹 UTXO (مانند بیت‌کوین)

  • هر تراکنش ورودی‌هایی را می‌سوزاند (مصرف می‌کند) و خروجی‌های جدید می‌سازد.
  • هر خروجی تا زمانی که خرج نشده باشد، یک UTXO مستقل است.
  • مفهوم «باقیمانده» (Change) معمولاً به آدرس فرستنده برمی‌گردد.
  • حریم خصوصی نسبی بیشتر: می‌توان با آدرس‌های متعدد کار کرد (هرچند تحلیل خوشه‌ای ممکن است هویت را حدس بزند).
  • موازی‌سازی آسان‌تر: ورودی/خروجی‌ها مستقل‌اند و قابل اجرای موازی هستند.
📌 مثال UTXO
# Alice wants to pay Mary 0.020 BTC
# Alice has one UTXO worth 0.025 BTC

inputs:
  - utxo(txid=...a1, vout=0, value=0.025)

outputs:
  - to Mary:  0.020
  - to Alice (change): 0.0048
fee:
  - ~0.0002 (example)
        
مجموع ورودی‌ها = مجموع خروجی‌ها + کارمزد

🔹 Account‑based (مانند اتریوم)

  • هر آدرس یک موجودی دارد؛ تراکنش‌ها موجودی‌ها را کم‌وزیاد می‌کنند.
  • گس (Gas) برای اجرای محاسبات/ذخیره‌سازی پرداخت می‌شود؛ کارمزد از موجودی فرستنده کسر می‌شود.
  • قراردادهای هوشمند: حساب‌های «قرارداد» با کد اجرایی و storage خاص خود.
  • سادگی در مدل ذهنی پرداخت‌ها، اما حریم خصوصی کمتر (یک حساب ثابت اغلب استفاده می‌شود).
  • تعاملات پیچیده (DeFi/NFT/DAO) با یک تراکنش ترکیبی امکان‌پذیر است.
📌 مثال Account‑based
# Before:
#   Alice.balance = 2.5 ETH
#   Mary.balance  = 0.1 ETH

tx:
  from: Alice
  to:   Mary
  value: 0.2 ETH
  gas:   21,000
  gasPrice: 30 gwei

# After (assuming usedGas=21k):
#   Alice.balance = 2.5 - 0.2 - (21000 * 30 gwei)
#   Mary.balance  = 0.1 + 0.2
        
کارمزد (= gasUsed × gasPrice) از موجودی علی کم می‌شود، نه از مبلغ واریزی به مریم.

مقایسه خلاصه

معیار UTXO (BTC) Account‑based (ETH)
مفهوم پایه خروجی‌های خرج‌نشدهٔ تراکنش‌ها موجودی حساب‌ها
حریم خصوصی بالاتر (آدرس‌های متعدد) پایین‌تر (حساب ثابت)
قابلیت برنامه‌پذیری محدود (Script ساده) بالا (EVM/Contracts)
موازی‌سازی تراکنش آسان‌تر (استقلال UTXO) چالش‌برانگیزتر (به‌خاطر اشتراک حالت)
مدل کارمزد Fee = ΣInputs − ΣOutputs GasUsed × GasPrice (یا BaseFee+Tip)
🧪 تمرین روی اکسپلورر
  1. در یک اکسپلورر بیت‌کوین، یک تراکنش را باز کنید و UTXOهای ورودی/خروجی را لیست کنید. کارمزد را محاسبه کنید.
  2. در یک اکسپلورر اتریوم، تراکنشی را باز کنید و gasUsed، effectiveGasPrice و تغییر موجودی‌ها را بررسی کنید.
  3. برای یک پرونده فرضی رگولاتوری، توضیح دهید کدام مدل برای «ردیابی منشأ وجوه» ساده‌تر است و چرا.

۷) خروجی عملی: پوستر «آناتومی تراکنش» + واژه‌نامهٔ فنی–حقوقی

A) پوستر «آناتومی تراکنش» (نسخه تمرینی و چاپی A4/A3)

تم پیشنهاد‌ی: آبی تیره (#0B1020) برای پس‌زمینه‌ی نمودار + تیترهای فیروزه‌ای

هدف پوستر: نمایش مسیر یک تراکنش از لحظه ساخت تا قرارگیری در بلاک و دریافت تأییدها، با اجزای کلیدی: Inputs/Outputs، امضا، Fee، Mempool، Block Header، Confirmations.

  • اندازه چاپ: A4 (210×297mm) یا A3 (297×420mm)
  • حاشیه امن: 8–10mm، فضای لوگو/برند: 30×30mm گوشه بالا-چپ
  • فونت‌های خوانا: تیتر 22–26pt، متن 12–14pt، زیرنویس 10pt
نمودار سادهٔ مسیر تراکنش (برداری/قابل چاپ)
Wallet: ساخت تراکنش Inputs/Outputs + امضای دیجیتال P2P Network پخش به گره‌ها (Nodes) Mempool صف تراکنش‌های معتبر ماینر/ولیدیتور انتخاب با اولویت Fee Block Header: prev_block_hash | merkle_root | timestamp | nonce / validator + Transactions (شامل تراکنش ما) → انتشار بلاک در شبکه بلاک‌سازی/اعتبارسنجی Confirmations: 1 • 2 • 3 • 6

هدر اطلاعات

  • عنوان: «آناتومی یک تراکنش در بلاکچین»
  • زیرعنوان: «از امضا تا تأیید»
  • متاداده: نام دوره/لوگو/آدرس سایت

بلوک‌های مفهومی

  • Inputs / Outputs / Change
  • Digital Signature & Public Key
  • Fee & Priority (sat/vB یا Gas)
  • Mempool & Selection
  • Block Header & Merkle Root
  • Confirmations & Finality

نکات چاپ و دسترسی

  • کنتراست بالا برای خوانایی
  • alt-text برای نسخه وب پوستر
  • نسخه تیره/روشن برای ویدئو یا اسلاید
✅ چک‌لیست تحویل پوستر
  • نسخه PDF کیفیت چاپ (300dpi، فونت‌های Embed)
  • نسخه PNG/WebP سبک برای وب (حداکثر 1800px عرض)
  • متن جایگزین (alt) ۱۴۰–۱۸۰ کاراکتر برای SEO

B) واژه‌نامهٔ فنی–حقوقی (نسخه کارگاهی)

این جدول را پس از کار عملی روی اکسپلورر تکمیل کنید. ستون «کاربرد حقوقی» به‌طور مستقیم برای گزارش تخصصی/نظر کارشناسی استفاده می‌شود.

واژه تعریف فنی کوتاه کاربرد حقوقی/تنظیم‌گری منبع/یادداشت
Transaction پیام امضاشده شامل Inputs/Outputs/امضا/کارمزد دلیل الکترونیکی؛ بررسی اصالت امضا و مالکیت اکسپلورر/TxID
UTXO خروجی خرج‌نشدهٔ تراکنش‌های قبلی ردیابی منشأ وجوه/تحلیل AML BTC
Account-based مدل مبتنی بر موجودی حساب و گس تطبیق کارمزد/نهایی‌سازی در قراردادها ETH
Mempool صف تراکنش‌های معتبرِ در انتظار بلاک تحلیل تأخیر/سانسور احتمالی Node/Policy
Fee BTC: ΣIn−ΣOut | ETH: GasUsed×Price شفافیت هزینه‌ها/حقوق مصرف‌کننده Tx receipt
Consensus PoW/PoS برای توافق بر ترتیب/اعتبار نهایی‌سازی/ریسک Reorg در قراردادها Policy/Docs
🔎 معیار ارزیابی (۱۰ امتیاز):
  1. درستی فنی (۳) — تعاریف دقیق، مثال معتبر
  2. کاربرد حقوقی (۳) — پیوند روشن به دعاوی/سیاست
  3. شفافیت نگارشی (۲) — اختصار و خوانایی
  4. ارجاع و یادداشت (۲) — لینک/منبع قابل ردیابی

۸) تمرین و کارگاه: کار با بلاک‌اکسپلورر و استخراج اجزای کلیدی

در این کارگاه، یک تراکنش واقعی روی بلاک‌اکسپلورر انتخاب می‌کنید، اجزای آن را گام‌به‌گام تحلیل می‌کنید و خروجی‌تان را در قالب یک جدول و یک جمع‌بندی حقوقی کوتاه تحویل می‌دهید.

A) ابزارها و پیش‌نیازها (یکی را انتخاب کنید)

  • BTC: هر اکسپلورر عمومی بیت‌کوین (نمایش TxID، Inputs/Outputs، Fee، Block height، Confirmations)
  • ETH: هر اکسپلورر عمومی اتریوم (نمایش Tx hash، From/To، Value، GasUsed، EffectiveGasPrice، Logs/Events)
  • کیف‌پول تستی یا فقط مرورگر وب کافی است.

B) دستورالعمل گام‌به‌گام

  1. یک تراکنش انتخاب کنید: TxID/Hash را کپی کنید و زمان ثبت، وضعیت (Pending/Success) و تعداد تأییدها را یادداشت کنید.
  2. شناسه‌ها و متاداده: شبکه، بلاک شماره چندم، ارتفاع بلاک (Block height)، زمان بلاک (Timestamp).
  3. ارسال‌کننده/گیرنده: برای BTC: آدرس‌های ورودی/خروجی؛ برای ETH: from و to (در صورت قرارداد، نوع contract call را نیز ثبت کنید).
  4. مبالغ: BTC: مجموع ورودی‌ها و خروجی‌ها؛ ETH: مقدار انتقال (Value) به‌علاوه کارمزد مستقل.
  5. کارمزد:
    • BTC: fee = ΣInputs − ΣOutputs و نرخ تقریبی sat/vB (اگر نمایش داده می‌شود).
    • ETH: fee = gasUsed × effectiveGasPrice (در صورت EIP‑1559، BaseFee و Tip را هم بررسی کنید).
  6. ساختار بلاک: Merkle Root، Prev Block Hash (اگر نمایش داده می‌شود) و جایگاه تراکنش در لیست.
  7. جمع‌بندی حقوقی کوتاه: تراکنش را به زبان حقوقی ساده توصیف کنید (چه کسی ← چه مقدار ← برای چه کسی ← در چه تاریخی/بلاک/با چه کارمزدی) و ریسک‌های محتمل (تأخیر تأیید، برگشت‌پذیری احتمالاتی، خطای مقصد).

C) الگو برای BTC (UTXO)

فیلد مقدار نمونه/یادداشت
TxID
Block height / Time#… / YYYY‑MM‑DD HH:mm
Inputs (UTXO)txid:vout (value)
Outputsaddr1: value | addr2(change): value
ΣInputs / ΣOutputs… BTC / … BTC
Fee / Rate… BTC / … sat/vB
Confirmations… (هدف: ≥ ۳ یا ۶ بسته به سیاست)
📌 محاسبه نمونه (BTC)
# Given:
#   inputs: 0.02500000 BTC
#   outputs: 0.02000000 BTC (to receiver) + 0.00100000 BTC (change)
# Fee = 0.02500000 - 0.02100000 = 0.00400000 BTC
# sat/vB ≈ fee_sats / virtual_size_bytes
      

D) الگو برای ETH (Account‑based)

فیلد مقدار نمونه/یادداشت
Tx Hash
Block / Time#… / YYYY‑MM‑DD HH:mm
From → To0xAli… → 0xMary… (یا Contract: 0x…)
Value… ETH
Gas Used × EffectiveGasPrice… × … gwei = … ETH
Status / LogsSuccess/Failed + رویدادها (Transfer/Approval/...)
📌 محاسبه نمونه (ETH)
# Given:
#   value = 0.20 ETH
#   gasUsed = 21,000
#   effectiveGasPrice = 30 gwei = 30 × 10^-9 ETH
# Fee = 21,000 × 30 gwei = 0.00063 ETH
# Sender pays: total_outflow = value + fee = 0.20063 ETH
      

E) جمع‌بندی حقوقی (یک پاراگراف)

الگوی پیشنهادی: «در تاریخ [زمان بلاک] تراکنشی با شناسه [TxID/Hash] از نشانی [فرستنده] به [گیرنده] به مبلغ [Value] ثبت شده است. کارمزد پرداختی [Fee] بوده و تراکنش در بلاک شماره [Height] قرار گرفته و تاکنون [N] تأیید دریافت کرده است. با توجه به [PoW/PoS] و سیاست داخلی، سطح اطمینان/نهایی‌سازی کافی احراز می‌شود/نمی‌شود (توضیح کوتاه).»

F) اشتباهات رایج و ترفندها

  • اشتباه گرفتن value با fee (در ETH کارمزد از مبلغ جداست).
  • نادیده گرفتن Confirmations و ریسک فورک موقت در PoW.
  • تحلیل ناقص در تراکنش‌های قرارداد هوشمند (Logs/Events را حتماً بخوانید).
  • برای BTC: فراموشی «Change output» و اشتباه در محاسبه مقصد نهایی.

G) تحویل تمرین + معیار ارزیابی

  • یک فایل PDF یا HTML با جدول تکمیل‌شده + اسکرین‌شات صفحه تراکنش (شناسه‌ها واضح اما آدرس‌ها تا حد لازم ماسک شوند).
  • پیوست: محاسبات کارمزد و یک پاراگراف جمع‌بندی حقوقی.
Rubric (۱۰ امتیاز):
  1. صحت فنی (۴): اعداد/روندها درست، محاسبه Fee صحیح
  2. کامل بودن (۳): همه فیلدها و اسناد لازم
  3. جمع‌بندی حقوقی (۲): شفاف، قابل استناد
  4. ارائه (۱): نظم، خوانایی، نگارش

نظرات (0)

اشتراک گذاری

این پست را با دیگران به اشتراک بگذارید