پس از اعلام اخبار اخیر در خصوص آنکه شبکه بیت کوین، یک بیت کوین را در دو تراکنش پردازش کرده است، علاقه و توجهات به “دوبار خرج کردن” مجددا افزایش یافت. شرایط پیشآمده، سناریوی دوبار خرج کردن است که طراحی شبکه بیت کوین به گونهای است تا از وقوع آن اجتناب شود. منتها نکتهای که وجود دارد این است که هیچگونه دوبار خرج کردنی رخ نداده است، حداقل نه به صورت سنتی.
جیسون لاو (Jason Lau) مدیر ارشد اجرایی صرافی OKCoin در این خصوص گفته است:
خبر دوبار خرج کردن بیت کوین باعث ایجاد ترس در میان سرمایهگذاران شده است، اما این موضوع، یک سوءتفاهم و درک نادرست از نحوه عملکرد شبکه بیت کوین است. در این مورد، سازماندهی مجدد یک بلاک رخ داده است که اتفاقی رایج به حساب میآید.
به عبارت دیگر، هیچ بیت کوینی دوبار خرج نشده است، زیرا هیچ کوین جدیدی به موجودی بیت کوین اضافه نشده است. در عوض، طی جداسازی معمول بلاک چین بیت کوین کوینهای یکسان از کیف پول یکسان در دو بلاک مختلف ثبت شدهاند.
این موضوع به آن دلیل به عنوان دوبار خرج کردن دستهبندی نمیشود که فقط یکی از این تراکنشها توسط شبکه به عنوان تراکنش معتبر در نظر گرفته شده است، در حالی که بیت کوین تراکنش دیگر قابل خرج کردن نیست زیرا شبکه، آن را معتبر نمیداند.
سازماندهی مجدد بلاک بیت کوین چیست؟
به دلیل ماهیت توزیعشده و به شدت رقابتی ماینینگ بیت کوین، گاهی اوقات استخرهای ماینینگ به طور همزمان یک بلاک را استخراج میکنند و منجر به تفکیک و جداسازی سابقه بلاک چین میشوند. در چنین شرایطی، هر دو بلاک باقی خواهند ماند تا یکی از آنها ادامه یابد و در واقع پیروز شود.
برای مثال، فرض کنید استخر ماینینگ A و استخر ماینینگ B همزمان یک بلاک را استخراج کنند و منجر به ایجاد دو سابقه بلاک چین متفاوت شوند. در ادامه، سایر ماینرها باید تصمیم بگیرند که کدام نسخه از زنجیره را برای ادامه کار انتخاب کنند. فرض کنید ماینری تصمیم میگیرد که نسخه A را ادامه دهد، اما دو یا سه یا چند ماینر بعدی تصمیم میگیرند که نسخه B را ادامه دهند. در آخر، نسخه B برنده میشود زیرا ماینرهای بیشتری تصمیم گرفتهاند آن را ادامه دهند.
سابقه دیگر که ادامه نیافته است، از شبکه حذف میشود و بلاکهایی که بر روی آن استخراج شدهاند به بلاکهای بلااستفاده تبدیل میشوند.
این شرایطی است که برای بلاک ۶۶۶,۸۳۳ رخ داده است و طی آن، دو بلاک توسط استخرهای ماینینگ متفاوت به وجود آمد و سپس سازماندهی مجدد بلاک رخ داد. شرایط فوق همان دلیلی است که ساتوشی ناکاموتو در وایت پیپر گفته است یک تراکنش فقط در صورتی باید نهاییشده و پایانیافته در نظر گرفته شود که دارای ۶ تاییدیه باشد.
دوبار خرج کردن رخ نداده است
اخبار مربوط به دوبار خرج کردن اخیر ابتدا در روز گذشته و پس از آن منتشر شد که بیتمکس شرایط غیرعادی را در بلاک ۶۶۶,۸۳۳ گزارش داد. موضوعی که بیتمکس آن را شرایط مشابه با دوبار خرج کردن خوانده بود، اکنون مشابه با سازماندهی مجدد و تراکنش جایگزینی با کارمزد (RBF) است. تراکنش RBF هنگامی رخ میدهد که به کیف پول خود بگویید بیت کوین یکسانی را مجددا و این بار با کارمزد بیشتر ارسال کند. هدف از این کار، تایید زودتر تراکنش نسبت به تراکنش با کارمزد کمتر است.
واقعیت چه بود؟
شرایط به این صورت بود: فردی ۰.۰۰۰۶۲۰۶۳ بیت کوین به یک آدرس ارسال کرده بود اما مقدار کارمزد را در کمترین حالت خود یعنی یک ساتوشی در هر بایت قرار داده بود.
از آنجایی که مقدار کارمزد بسیار کم بود، تراکنش مدتی طول کشید تا تایید شود، بنابراین ارسالکننده تلاش کرد تا با ارسال تراکنش RBF، سرعت انجام این تراکنش را افزایش دهد.
به جای آنکه تراکنش RBF جایگزین تراکنش قبلی شود، تراکنش اول به هر ترتیب تایید و وارد بلاک زنجیره طولانیتر شد.
در این بین، تراکنش دوم به بلاک بلااستفاده هدایت شد. نتیجه این بود که ۰.۰۰۰۶۲۰۶۳ بیت کوین در سابقه تراکنش نامعتبر و ۰.۰۰۰۱۴۴۹۹ بیت کوین در سابقه تراکنش معتبر ثبت شد.
اهمیت ۶ تاییدیه
از نظر فنی، در این سناریو یک بیت کوین دوبار خرج شد. اما یک تراکنش دوبار خرج کردن به حساب آمد و شبکه بیت کوین آن را معتبر در نظر نگرفت.
بن کارمن (Ben Carman) یکی از اعضای بیت کوین کور و از توسعهدهندگان Suredbits در این خصوص گفت:
این موضوع به نوعی دوبار خرج کردن بود، اما نه به طور کامل. معمولا دوبار خرج کردن هنگامی رخ میدهد که تراکنشی که به فرد دیگری ارسال کردهاید با تراکنش به کیف پول خود جایگزین میشود.
وکاس نوتزی (Lucas Nuzzi) تحلیلگر کوین متریکس در این خصوص گفت: در این مورد، نکته مهم این است که علیرغم وجود دو نسخه از یک تراکنش، فقط یک مورد قابل قبول خواهد بود.
دوبار خرج کردن معمولا بدان معنا است که ارسالکننده به جای ارسال تراکنش به دریافتکننده، او را فریب میدهد و تراکنش را به خودش ارسال میکند. به همین دلیل، بهترین اقدام این است که قبل از آنکه پرداخت را پایانیافته در نظر بگیریم، منتظر ۶ تاییدیه بمانیم. این نکته قابل ذکر است که در این مورد، هیچگونه گزارش کلاهبرداری منتشر نشد زیرا احتمالا ارسالکننده و دریافتکننده یک نفر بودند.
طبق گفته نیک کارتر (Nic Carter) همبنیانگذار کوین متریکس، به دلیل عدم وجود مدرکی در خصوص کلاهبرداری، احتمال وقوع دوبار خرج کردن از بین میرود.