تراکنش
۱۴۰۵/۱/۲۷
تراکنش در یک بلاکچین یک دستور امضا شده است که وضعیت شبکه را تغییر میدهد — معمولاً وجوه را از یک آدرس به آدرس دیگر منتقل میکند، یک قرارداد هوشمند را فراخوانی میکند یا یک توکن ایجاد میکند. هر تراکنش توسط یک امضای رمزنگاری از کلید خصوصی فرستنده مجاز میشود.
اجزای اصلی
- ورودیها / فرستنده — کسی که تراکنش را مجاز میکند
- خروجیها / گیرنده — جایی که ارزش به آن میرود
- مقدار — چقدر منتقل میشود
- کارمزد — پرداخت به ماینرها/اعتبارسنجها برای گنجاندن
- امضا — اثبات رمزنگاری که فرستنده آن را مجاز کرده است
- نانس — یک شمارنده که از حملات تکرار جلوگیری میکند
دو مدل تراکنش
UTXO (بیتکوین، لایتکوین، تاری، کاردانو)
دفتر کل مجموعهای از خروجیهای تراکنش خرج نشده (UTXOs) است — تکههای سکه غیرقابل تقسیم، که هر کدام به یک اسکریپت قفل متصل هستند (معمولاً نیاز به یک امضای خاص دارند). یک تراکنش یک یا چند UTXO را به عنوان ورودی مصرف میکند و UTXOهای جدیدی به عنوان خروجی ایجاد میکند. اگر ورودیها از مقدار ارسال + کارمزد بیشتر باشند، تفاوت به عنوان "تغییر" برمیگردد.
مبتنی بر حساب (اتریوم، سولانا، زنجیره BNB)
دفتر کل مجموعهای از حسابها است، که هر کدام دارای یک موجودی جاری هستند. یک تراکنش مستقیماً حساب فرستنده را بدهکار و حساب گیرنده را بستانکار میکند. سادهتر برای درک اما نیاز به یک شمارنده نانس برای جلوگیری از دوباره خرج کردن دارد.
از امضا تا تایید
- فرستنده یک تراکنش را با کلید خصوصی خود میسازد و امضا میکند
- تراکنش به نودها پخش میشود و وارد ممپول میشود — یک استخر از تراکنشهای در انتظار
- یک ماینر یا اعتبارسنج آن را برای گنجاندن در یک بلوک انتخاب میکند
- هنگامی که بلوک استخراج شد، تراکنش 1 تاییدیه دارد
- هر بلوک اضافی بر روی آن یک تاییدیه دیگر اضافه میکند
هرچه تاییدیهها بیشتر باشد، بازگرداندن تراکنش سختتر میشود. صرافیهای بیتکوین معمولاً منتظر 3–6 تاییدیه میمانند؛ اتریوم تحت اثبات سهام نهاییسازی را متفاوت در نظر میگیرد.
ممپول
ممپول (استخر حافظه) تراکنشهای معتبر تایید نشده را نگه میدارد. ماینرها معمولاً تراکنشهایی با بالاترین کارمزد به ازای هر بایت را ابتدا انتخاب میکنند. وقتی شبکه شلوغ است، تراکنشهای با کارمزد پایین ممکن است ساعتها یا روزها منتظر بمانند — یا به طور کامل حذف شوند.
