در اتفاقی عجیب بامداد امروز یک کاربر برای انجام یک تراکنش بیت کوین، نزدیک به ۰.۷۵ واحد از این ارز دیجیتال معادل حدود ۶۰ هزار دلار را به عنوان کارمزد پرداخت کرد! این اتفاق در جریان استفاده از قابلیتی به نام «جایگزینی با کارمزد» یا RBF رخ داد که به کاربران اجازه میدهد تراکنشهای خود را با پرداخت کارمزد بالاتر تغییر دهند.
به گزارش میهن بلاکچین، تراکنش مذکور در ساعات اولیه روز ۸ آپریل انجام شد اما تلاش کاربر برای افزایش مقدار کارمزد آن جهت تایید شدن در شبکه باعث شد تا حدود ۶۰ هزار دلار به یغما برود.
به گفته آنمول جین (Anmol Jain)، معاون بخش تحقیقات شرکت تحلیل بلاکچین اِیاِماِلبات (AMLBot)، ظاهرا کاربر یک تراکنش اولیه با یک کارمزد «پیشفرض یا محافظهکارانه» در شبکه ثبت کرده اما پس از عدم تایید در شبکه، تصمیم میگیرد با استفاده از قابلیت RBF، نسخه جدیدی از همان تراکنش را با کارمزد بیشتر ارسال کند تا ماینرها را به پردازش آن ترغیب کند.
نکته اینجاست که کاربر نه یک بار، بلکه دو بار اقدام به جایگزینی تراکنش خود کرده. در تلاش دوم، آدرس مقصد نیز تغییر داده شده بود. اما در نهایت، در سومین نسخهی تراکنش که کارمزد آن به شکل عجیبی بالا در نظر گرفته شده بود (۰.۷۵ بیت کوین، معادل تقریباً ۶۰ هزار دلار در آن زمان)، شبکه این نسخه را پردازش کرد و دو نسخهی قبلی برای همیشه کنار گذاشته شدند.
در واقع، به نظر میرسد کاربر با هدف بالا بردن شانس تایید شدن تراکنش، به اشتباه کارمزدی بسیار فراتر از حد معمول انتخاب کرده و این اشتباه فاحش منجر به از دست رفتن مبلغ قابل توجهی شده است.
زمانی که عجله کار دست آدم میدهد!
همه نشانهها حاکی از آن است که این اشتباه ناشی از وحشت و عجله کاربر بوده است. احتمالا این کاربر با عجله و بدون دقت کافی سعی داشته تا با ارسال یک تراکنش جدید، جلوی تایید تراکنش قبلی را بگیرد. آنمول چین چندین احتمال را در این باره مطرح کرده است. وی در این باره میگوید:
شاید کاربر قصد داشته تا مقدار ۳۰.۵۶۹۲ ساتوشی را بهعنوان کارمزد وارد کند، اما بهدلیل عجله یا اشتباه دست، عدد ۳۰۵٬۶۹۲ ساتوشی را وارد کرده است.
در تراکنش دوم RBF، ورودی جدیدی هم اضافه شده که مربوط به یک خروجی خرجنشده (UTXO) حاوی حدود ۰.۷۵ بیت کوین بوده است. متأسفانه کاربر بدون اینکه آدرس بازگشت (change address) را بهدرستی تنظیم کند، باعث شده این مقدار بهطور کامل بهعنوان کارمزد در نظر گرفته شود.
احتمال دیگر این است که کاربر در درک مفهوم «نوع کارمزد» دچار اشتباه شده باشد و تفاوت بین کارمزد ثابت (به ساتوشی) و کارمزد بر اساس حجم تراکنش (ساتوشی به ازای هر بایت مجازی» متوجه نشده باشد. شاید هم اسکریپت خودکار ارسال تراکنش دارای باگ بوده باشد. جین در این باره میگوید:
احتمالا سیستم کارمزد وارد شده را ۳۰ ساتوشی تفسیر کرده که بسیار پایین است؛ بنابراین کاربر ۳۰۵,۰۰۰ را تایپ میکند و فکر میکند منظور ۳۰.۵ ساتوشی به ازای هر بایت مجازی است، اما کیفپول در واقع ۳۰۵,۰۰۰ ساتوشی به ازای هر بایت مجازی اعمال میکند که رقم دیوانهواری است.
ویژگی RBF؛ قابلیتی مفید اما جنجالی
قابلیت Replace-by-Fee یا بهاختصار RBF، یکی از امکانات بحثبرانگیز شبکه بیتکوین است که همیشه با جنجال زیادی همراه بوده است. در بلاکچین بیت کوین، تا زمانی که تراکنشها در یک بلاک قرار نگیرند، «نهایی» محسوب نمیشوند. بنابراین اگر کاربری تراکنشی ارسال کند که هنوز تایید نشده، میتواند با ارسال مجدد همان تراکنش اما با کارمزدی بالاتر سعی کند آن را جایگزین کند.
تا زمانی که تراکنشها در ممپول یا حافظه موقت شبکه هستند، سرنوشت آنها در دستان ماینرهاست که معمولا بر اساس انگیزه مالی تصمیمگیری کرده و تراکنشهایی با کارمزد بالاتر را انتخاب میکنند. توسعهدهندگان بیت کوین از همان ابتدا پیشبینی کرده بودند که وقتی چند تراکنش متضاد در شبکه وجود داشته باشد، انگیزه مالی ماینرها آنها را به انتخاب تراکنشی سوق میدهد که کارمزد بیشتری ارائه میدهد.
از آنجا که در یک شبکه غیرمتمرکز مثل بیت کوین تشخیص اینکه «کدام تراکنش زودتر ارسال شده» کار آسانی نیست، و از طرفی جلوگیری از درج یک تراکنش صرفاً بهخاطر اینکه نسخهی دیگری از آن وجود دارد هم ساده نیست، توسعهدهندگان تصمیم گرفتند این رفتار طبیعی شبکه را بهصورت یک قابلیت رسمی درآورند: RBF به کاربران اجازه میدهد تا تراکنشهای تاییدنشده را با ارسال نسخهای جدید با کارمزد بالاتر جایگزین کنند.
با این حال این ویژگی بحثهای زیادی در گذشته ایجاد کرده است. به عنوان مثال، در سال ۲۰۱۹، هایدن اتو (Hayden Otto) یکی از طرفداران بیت کوین کش (Bitcoin Cash)، مدعی شد که RBF به «دو بار خرج کردن» در شبکه بیت کوین منجر میشود. به همین دلیل، بیت کوین کش این قابلیت را بهطور کامل حذف کرد و ادعا کرد که تراکنشهای تاییدنشده در شبکه آن نهایی و قابل اعتماد هستند.
با این حال، حتی در شبکه بیت کوین کش نیز در مواردی دیده شده که تراکنشهایی مشابه RBF رخ دادهاند. دلیل آن این است که RBF در واقع تنها یک ویژگی رسمی است برای رفتاری که بهشکل ضمنی و طبیعی در مکانیزم اجماع شبکههایی مشابه بیت کوین وجود دارد.