سرعت بالا در تأیید تراکنشهای رمزارزی بسیار حائز اهمیت است؛ با این وجود در برخی مواقع، یک تراکنش بیت کوین در حالت تایید نشده باقی میماند. حال سوال اینجاست که آیا راهی برای لغو تراکنش تایید نشده بیت کوین وجود دارد؟!
ما در این مقاله از بلاگ کیف پول من در پی پاسخ به این سوال هستیم و تلاش میکنیم تا با معرفی راهکارهایی مثل RBF بیت کوین به شما کمک کنیم تا کنترل هوشمندانه و بهتری بر تراکنشهای بیت کوینی داشته باشید. اگر به دنبال راهی موثر برای لغو تراکنش تایید نشده بیت کوین میگردید، مطالعه این مقاله میتواند راهنمای خوبی برای شما باشد.
چرا تراکنشهای بیت کوین گاهی تأیید نمیشوند؟!
در شبکه بلاکچین بیت کوین، ثبت دائمی و نهایی شدن یک تراکنش به تایید تراکنش از سوی ماینرها نیاز دارد. البته در برخی مواقع تراکنش کاربر برای مدت زمانی طولانی در شبکه تایید نمیشود که این موضوع میتواند بنا به دلایل مختلفی پیش آید. در قدم اول و پیش از ورود به بحث لغو تراکنش تایید نشده بیت کوین، بیایید نگاهی به عللی که باعث تایید نشدن این تراکنشها میشوند، داشته باشیم تا با رعایت برخی نکات با چنین وضعیتی مواجه نشوید:
تراکنشهای درحال پردازش (Processing Transactions)
این نوع از تراکنشها به شکلی ناقص در شبکه در جریان هستند؛ اما در یک بلاک گنجانده نشدهاند. دلایلی که میتواند موجب تأخیر در تأیید چنین تراکنشهایی شود، عبارتند از:
- کارمزد پایین: رایجترین دلیل برای تأیید نشدن تراکنشها به کارمزد پایین تراکنش ارتباط دارد. وقتی که کاربر هنگام ارسال تراکنش، کارمزد حداقلی و بسیار پایین برای آن در نظر میگیرد، ماینرها تمایلی به پردازش تراکنش موردنظر نخواهند داشت؛ چراکه این کار صرفه اقتصادی برای آنها ندارد.
- اندازه بزرگ تراکنش باتوجه به محدودیت بلاک: اگر حجم اطلاعات یک تراکنش از حداکثر اندازه مجاز برای یک بلاک بیشتر باشد، امکان ثبت آن تراکنش در بلاک وجود نخواهد داشت و تایید آن نیز به تاخیر میافتد.
- استفاده از پروتکلهای قدیمی: استفاده از نسخههای قدیمی ولتها یا نودهای شبکه میتواند موجب ایجاد اختلال در تراکنش شود (بویژه اگر با ویژگیهای جدید مثل شبکه لایتنینگ یا سگویت (SegWit) سازگاری نداشته باشد).
- موجودی ناکافی: در صورتی که تراکنش به درستی تامین مالی نشود و مثلا موجودی کافی برای پرداخت کارمزد وجود نداشته باشد، تراکنش موردنظر تایید نخواهد شد.
- شلوغی شبکه: در زمانی که تعداد زیادی از تراکنشها به شبکه بلاکچین ارسال میشود (مثلاً در بازهای که بازار با نوسانات شدید قیمتی مواجه شده)، ازدحام در شبکه افزایش پیدا میکند و فقط تراکنشهایی که کارمزد بالاتری دارند، در اولویت پردازش ماینرها قرار میگیرند.
تراکنشهای ناقص (Incomplete Transactions)
این دسته خاص از تراکنشها بنا به دلایل فنی یا خطا در ارسال، به طور کامل در شبکه بلاکچین پخش نشدهاند یا در مراحل ابتدایی با خطا مواجه شدهاند:
- تراکنشهای رد شده: زمانی که تعداد زیادی از تراکنشها از سوی گرهها رد میشوند، شبکه بلاکچین با وضعیت شلوغی و آشفتگی مواجه میشود. در نتیجه این ازدحام ایجاد شده، این احتمال وجود دارد که برخی از تراکنشها به طور کامل از ممپول و صف انتظار حذف یا برای مدت زمان طولانی، تایید نشوند. علت رد شدن تراکنشها نیز میتواند دلایلی مثل ساختار نامعتبر، امضای نادرست و مواردی از این دست باشد.
- اشکال در اتصال به اینترنت: در حالتی که اینترنت کاربر با مشکلی مواجه شود، تراکنش ایجاد شده اصلاً به شبکه بیت کوین ارسال نخواهد شد. این موضوع به این معنی است که تراکنش در سطح محلی ایجاد شده ولی به دلیل ضعف اتصال یا قطعی اینترنت، در شبکه پخش نشده و هیچ نودی از این تراکنش مطلع نمیشود. اگر اتصال برقرار است ولی تراکنش در شبکه دیده نمیشود، در این حالت باید بررسی کرد که فایروال یا آنتیویروس سیستم مانع از عملکرد نشده باشد.
- عدم همگامسازی ولت: در برخی از موارد، به نظر میرسد که تراکنش در حال تایید شدن از سوی چندین نود و گره است؛ اما همچنان وضعیت آن به شکل تایید نشده باقی مانده است که این موضوع میتواند به دلیل عدم همگامسازی کیف پول ارز دیجیتال با شبکه بلاکچین باشد.
روشهای لغو تراکنش تایید نشده بیت کوین
به طور میانگین یک تراکنش بیت کوین ظرف چند دقیقه تا 48 ساعت، در شبکه پردازش و تایید میشود. حال اگر مدت زمان بسیار زیادی از ثبت تراکنش گذشته و همچنان در وضعیت تایید نشده باقی مانده باشد، باید چه کاری انجام دهیم؟ در این صورت باید به سراغ استفاده از روشهای لغو تراکنش تایید نشده بیت کوین بروید.
به طور کلی، روشهای لغو تراکنش تایید نشده بیت کوین به شرح زیر هستند:
استفاده از شتابدهنده تراکنش بیت کوین
شتابدهندههای تراکنش، سرویسها و ابزارهایی هستند که به کاربر این امکان را میدهند تا در ازای پرداخت کارمزدی کوچک، تراکنش تایید نشده بیت کوین را به ماینرها معرفی کرده و در نهایت، روند قرار گرفتن تراکنش را در بلاک سرعت یابد. این سرویسها عموماً از سوی استخرهای استخراج یا شرکتهای شخص ثالث ارائه میشوند. در استفاده از این سرویسها، کاربر باید شناسه تراکنش (TXID) را در اختیار آنها قرار دهد.
استفاده از این روش لغو تراکنش تایید نشده بیت کوین برای آن دسته از تراکنشهایی مناسب است که دارای کارمزد پایینی بوده؛ اما همچنان در mempool حضور دارند. این شیوه نیاز به دانش فنی خاصی ندارد؛ اما باید توجه داشت که تضمینی نیز برای تایید تراکنش در این روش وجود نخواهد داشت.
جایگزینی با کارمزد بالاتر (RBF)
از دیگر روشهای لغو تراکنش تایید نشده بیت کوین میتوان به استفاده از RBF بیت کوین اشاره کرد. RBF قابلیتی در پروتکل بیت کوین بوده که به فرستنده تراکنش این امکان را میدهد تا تراکنش تایید نشده قبلی را با یک تراکنش جدید و با کارمزد بالاتر، جایگزین کند. این روش را باید متداولترین و رسمیترین روش لغو تراکنش تایید نشده بیت کوین به شمار آورد.
برای استفاده از این روش لغو تراکنش تایید نشده بیت کوین باید قبل از ارسال تراکنش اولیه، گزینه RBF را در ولت خود فعال کنید؛ فعالسازی این گزینه معمولاً به شکل یک چکباکس در کیف پولهای حرفهای مثل Electrum یا Bitcoin Core در نظر گرفته شده است. توجه داشته باشید که این روش تنها در صورتی قابل استفاده خواهد بود که گزینه RBF به هنگام ارسال تراکنش اولیه فعال باشد وگرنه امکان استفاده از آن وجود نخواهد داشت.
نحوه عملکرد قابلیت RBF بیت کوین به این صورت است که کاربر تراکنشی مشابه تراکنش اول ساخته (با همان ورودی و همان گیرنده) و فقط کارمزد آن را افزایش میدهد. تراکنش جدید جایگزین تراکنش قبلی شده و ماینرها تراکنش را تایید میکنند.
استفاده از روش CPFP
روش CPFP در لغو تراکنش تایید نشده بیت کوین توسط گیرنده تراکنش مورد استفاده قرار میگیرد و ارتباطی با فرستنده تراکنش ندارد. اگر فرستنده تراکنشی با کارمزد پایین ارسال و گیرنده منتظر تایید باشد، میتواند خود با ساختن یک تراکنش جدید، کاری کند که ماینرها تراکنش اول را هم تایید نمایند. روش کار به این صورت است که گیرنده یک تراکنش جدید (تراکنش فرزند) میسازد تا بیت کوین دریافتی از تراکنش اول (تراکنش والد) را خرج کند.
تراکنش جدید کارمزد بالاتری نسبت به تراکنش اول دارد و ماینرها برای دریافت کارمزد تراکنش فرزند، مجبور میشوند، تراکنش والد را نیز تایید کنند و هر دو را به شکل همزمان در بلاک قرار میدهند. این شیوه عموماً زمانی به کار گرفته میشود که فرستنده تراکنش به گزینه RBF دسترسی نداشته یا کلاً آن را فعال نکرده است. البته استفاده از این شیوه نیز نیازمند ولتی است که از قابلیت CPFP پشتیبانی کند.
استفاده از روش دابل اسپندینگ
در شیوه دوبار خرج کردن از شیوههای لغو تراکنش تایید نشده بیت کوین، کاربر همان تراکنش اول را مجدداً با کارمزدی بیشتر از ولت یا کلاینت دیگر ارسال میکند. این تراکنش جدید به نوعی رقیب تراکنش اول محسوب شده و اگر زودتر از آن تایید شود، تراکنش اول لغو خواهد شد. توجه داشته باشید که برای استفاده از این روش باید از یک ولت دیگر استفاده کنید (نه همان کیف پول اول). در این شیوه کلیه ورودیها و مقادیر را مثل تراکنش اول وارد میکنید و فقط کارمزد آن را افزایش میدهید.
ماینرها تراکنش دوم که کارمزد بیشتری دارد را تایید میکنند و تراکنش اول به دلیل دابل اسپندینگ رد خواهد شد. به یاد داشته باشید که اگر تراکنش اول در بلاک قرار بگیرد، استفاده از این روش دیگر امکانپذیر نخواهد بود و استفاده از آن نیز نیاز به دانش فنی بیشتر و ولت دوم دارد. به این شیوه، جایگزینی دستی تراکنش نیز گفته میشود و برای آن دسته از افرادی مناسب است که کیف پول رمزارزی آنها از قابلیت RBF یا CPFP پشتیبانی نمیکند.
صبر برای حذف خودکار تراکنش از Mempool
اگر هیچ یک از روشهای گفته شده در بالا برای لغو تراکنش تایید نشده بیت کوین امکانپذیر یا مؤثر نبود، راهی جز صبر برای حذف خودکار تراکنش تایید نشده از حافظه نودها (mempool) نخواهید داشت. هر گره در شبکه بلاکچین بیت کوین، عموماً تراکنشهای تایید نشده را برای مدت زمان معینی (به طور میانگین 72 ساعت) نگه میدارد و اگر در این مدت تراکنش تایید نشود یا کارمزد آن بسیار پایین باشد، این تراکنشها به صورت خودکار از حافظه نودها حذف میشوند.
پس از حذف خودکار تراکنش، کاربر قادر خواهد بود بیت کوین را مجدداً از ولت خود ارسال کرده و تراکنش جدیدی ایجاد کند. مهمترین عیب این روش به مسئله عدم قطعیت در مدت زمان حذف خودکار تراکنش مربوط میشود و عموماً شیوهای زمانبر است.
مدیریت هوشمند لغو تراکنش تایید نشده بیت کوین
برای لغو تراکنش تایید نشده بیت کوین میتوان از روشهای مختلفی همچون RBF برای جایگزینی تراکنش با کارمزد بالاتر، CPFP برای سرعت بخشیدن به تایید تراکنش از طریق پرداخت کارمزد بیشتر از سوی گیرنده، استفاده از ابزارهای شتابدهنده تراکنش و شیوههایی از این دست استفاده که در مطالب فوق معرفی شدند، استفاده کرد.
چنانچه هیچ یک از این روشها کارساز و مؤثر نبود، راهی جز انتظار برای حذف خودکار تراکنش از mempool باقی نمیماند. توجه داشته باشید که پیگیری مداوم وضعیت تراکنش و همچنین انتخاب یک استراتژی مناسب برای کارمزد آن، میتواند به شما کمک کند تا با وضعیت تراکنش تایید نشده در بیت کوین مواجه نشوید.
حال به نظر شما کدام شیوه از روشهای گفته شده تاثیر بیشتری در لغو تراکنش تایید نشده بیت کوین دارد؟ نظرات خود را برای ما بنویسید.