وقتی کیف پولتان میگوید «ارسال شد»، لزوماً هنوز پول در امان نیست. این مقاله تفاوت گنجانده شدن، تأیید شدن و نهایی شدن تراکنش را توضیح میدهد، اینکه هر زنجیره چگونه با آن برخورد میکند و پیش از اتکا به یک پرداخت چقدر باید صبر کرد.
سه مرحله یک تراکنش
این واژهها کمی متفاوت به کار میروند، اما ایده یکی است.
- گنجاندهشده (included): تراکنش در یک بلوک است. در اکسپلورر دیده میشود. این بلوک هنوز میتواند جایگزین شود.
- تأییدشده (confirmed): بلوکهای بیشتری روی آن اضافه شدهاند، پس جایگزین کردنش سختتر است. هر بلوک جدید یک تأییدیه (confirmation) دیگر است.
- نهاییشده (finalized): شبکه تضمین میکند که بلوک برگردانده نخواهد شد، مگر اینکه بخش بزرگی از سیستم از کار بیفتد. هر زنجیره نقطه قطعیت صریح ندارد.
آن را مثل چک بانکی تصور کنید. دادن چک یک چیز است. دیدن پول در حسابتان چیز دیگر است. دانستن اینکه دیگر برگشت نمیخورد آخرین گام است.
ریورگ: چرا صبر کردن کمک میکند
بلاکچینها را نودهای زیادی اداره میکنند و گاهی دو بلوک معتبر تقریباً همزمان ساخته میشوند. بخشهای مختلف شبکه برای مدتی کوتاه بلوکهای متفاوتی میبینند. بهزودی یک شاخه بلندتر میشود یا رأی بیشتری میگیرد و دیگری کنار گذاشته میشود. این سازماندهی مجدد (reorganization) یا ریورگ (reorg) است.
وقتی بلوک شما کنار گذاشته شود، تراکنش شما به استخر انتظار برمیگردد و معمولاً در بلوک بعدی دوباره گنجانده میشود. اما پرداختی که فکر میکردید انجام شده ممکن است لحظهای ناپدید شود. در موارد نادر و افراطی، کسی میتواند عمداً بخش بلندتری از زنجیره را بازنویسی کند. هرچه بلوکهای بیشتری روی بلوک شما باشد، مهاجم به کار یا استیک بیشتری نیاز دارد. به همین دلیل صبر کردن برای تأییدیههای بیشتر پرداخت را امنتر میکند.
بیتکوین
بیتکوین قطعیت احتمالاتی (probabilistic finality) دارد. لحظه واحدی نیست که پرداخت قطعی شود. هر تأییدیه احتمال برگشت را کمتر میکند.
قاعده سرانگشتی رایج 6 تأییدیه است، حدود یک ساعت، چون بلوکها بهطور میانگین حدود هر 10 دقیقه میآیند. پرداختهای کوچک اغلب با 1 تا 3 تأییدیه پذیرفته میشوند. مبالغ بزرگتر اغلب 6 یا بیشتر صبر میکنند. میتوانید رسیدن بلوکها را در صفحه بیتکوین تماشا کنید. توضیح بیشتر درباره کارمزد و زمانبندی در ممپول و کارمزدهای بیتکوین است.
اتریوم
اتریوم هر بلوک را در یک اسلات (slot) 12 ثانیهای تولید میکند. 32 اسلات یک اپوک (epoch) میسازد. اعتبارسنجها به بلوکها رأی میدهند و شبکه میتواند بلوکی را توجیهشده (justified) و سپس نهاییشده (finalized) علامت بزند.
قطعیت حدود دو اپوک طول میکشد، یعنی حدود 13 دقیقه. پس از آن، لغو بلوک نیازمند نابود کردن مقدار زیادی ETH استیکشده است، پس برگشت بسیار بعید است. پیش از آن، تراکنشی که در بلوک گنجانده شده برای پرداختهای معمولی معمولاً امن است، اما ریورگ یک بلوک اخیر ممکن است. اتریوم را ببینید.
سولانا
سولانا از سطوح تعهد (commitment levels) استفاده میکند که هنگام خواندن داده میتوانید درخواست کنید:
- Processed: نود تراکنش را در یک بلوک دیده است. هنوز میتواند کنار گذاشته شود.
- Confirmed: اکثریت بزرگی از استیک به بلوک رأی داده است. بهندرت برگردانده میشود.
- Finalized: بلوک ریشهدار (rooted) شده، یعنی بلوکهای بسیار دیگری روی آن ساخته شدهاند و دیگر قابل لغو نیست.
اسلاتهای سولانا حدود 400 میلیثانیهاند، پس confirmed در چند ثانیه میرسد و finalized محسوساً بیشتر طول میکشد، اما هر دو در مقایسه با بیتکوین سریعاند. اکسپلوررها و کیف پولها معمولاً وضعیت confirmed یا finalized را نشان میدهند. سولانا را ببینید.
شبکههای لایه 2
در رولاپهایی مثل آربیتروم، بیس و اپتیمیزم چند سطح وجود دارد.
- تأیید نرم توسط سکوئنسر. L2 مؤلفهای دارد که تراکنشها را مرتب میکند و سکوئنسر (sequencer) نام دارد. وقتی تراکنش شما را بپذیرد، ظرف یکی دو ثانیه میبینید گنجانده شده است. سریع است، اما به قول سکوئنسر تکیه دارد.
- ارسال به اتریوم (L1). دستههای سکوئنسر به اتریوم فرستاده میشوند. وقتی دسته در بلوک اتریوم قرار گیرد، داده عمومی است و هر کس میتواند وضعیت L2 را بازسازی کند.
- قطعی پس از قطعیت L1. وقتی بلوک اتریومی که دسته را دارد نهایی شود، تراکنش L2 به اندازه خود اتریوم قطعی است.
پنجره 7 روزه درباره برداشت است
رولاپهای خوشبینانه پنجره چالشی حدود 7 روز دارند. اغلب با قطعیت اشتباه گرفته میشود، اما چیز دیگری است. وقتی با پل رسمی دارایی را از L2 به اتریوم برداشت میکنید اعمال میشود. سیستم صبر میکند تا هر کس بتواند ادعای نامعتبر را به چالش بکشد. استفاده عادی از L2، مثل ارسال و سواپ، 7 روز صبر نمیکند. پلهای سریع و صرافیها میتوانند انتظار را برای شما کوتاه کنند، با هزینه و ریسکهای خودشان. رولاپها: خوشبینانه و دانشصفر و پلها و ریسکهایشان را ببینید.
چرا صرافیها برای تأییدیه صبر میکنند
وقتی رمزارز به صرافی واریز میکنید، ممکن است بگوید به تعدادی تأییدیه نیاز دارد. صرافی میخواهد پولی را که ممکن است در یک ریورگ ناپدید شود و سپس خرج یا برداشت شود اعتبار ندهد. تعداد موردنیاز به زنجیره، ریسک و مبلغ بستگی دارد. این تعداد معمولاً در زنجیرههای با قطعیت احتمالاتی مثل بیتکوین بیشتر از زنجیرههای با قطعیت صریح سریع است.
اگر منتظر یک واریز هستید، میتوانید تعداد تأییدیهها را خودتان دنبال کنید. هش تراکنش را در جستجوی بالای ChainMonitor بیابید و بلوک و وضعیت را ببینید. چگونه یک تراکنش را بخوانیم را ببینید.
راهنمای عملی
| زنجیره | انتظار معقول برای پرداخت عادی |
|---|---|
| بیتکوین | 1 تا 3 تأییدیه برای مبالغ کوچک؛ 6 برای مبالغ بزرگتر |
| اتریوم و لایه 2های آن | چند بلوک برای مبالغ کوچک؛ نهاییشده (حدود 13 دقیقه) برای مبالغ بزرگ |
| سولانا | Confirmed برای مبالغ کوچک؛ finalized برای مبالغ بزرگ |
اینها رهنمود هستند، نه قانون. انتظار درست با مبلغ در معرض خطر بیشتر میشود. در صورت تردید، منتظر قطعیت بمانید.
پرسشهای متداول
چند تأییدیه برای بیتکوین کافی است؟
شش قاعده سرانگشتی رایج برای پرداختهای بزرگتر است که حدود یک ساعت طول میکشد. پرداختهای کوچک اغلب با تعداد کمتر پذیرفته میشوند.
تا قطعی شدن تراکنش اتریوم چقدر باید صبر کرد؟
قطعیت حدود دو اپوک، یعنی حدود 13 دقیقه، طول میکشد. تراکنش برای پرداختهای کوچک معمولاً خیلی زودتر امن است.
آیا تراکنش در بیس بلافاصله قطعی است؟
سکوئنسر ظرف چند ثانیه آن را میپذیرد، که برای بیشتر استفادههای روزمره کافی است. پس از ارسال دسته آن به اتریوم و نهایی شدن آن بلوک، به اندازه اتریوم قطعی میشود.
ریورگ بلاکچین چیست؟
ریورگ وقتی رخ میدهد که شبکه برخی بلوکهای اخیر را کنار میگذارد و به شاخه معتبر دیگری میرود. تراکنشهای بلوکهای کنار گذاشتهشده به استخر انتظار برمیگردند و معمولاً دوباره گنجانده میشوند.
آیا انتظار 7 روزه برای هر تراکنش L2 اعمال میشود؟
خیر. برای برداشت از رولاپهای خوشبینانه به اتریوم از طریق پل رسمی اعمال میشود. انتقالهای عادی L2 اینقدر صبر نمیکنند.