بررسی حمله دوبار خرج کردن: گذشته، حال و آینده
دوبار خرج کردن (double-spend)
دوبار خرج کردن (double-spend) وقتی اتفاق میافتد که مقدار مشخصی از یک ارز دیجیتال با کلاهبرداری بیشتر از یکبار استفاده شود. از آنجایی که میتوان به سادگی فایلهای دیجیتال را کپی کرد، این اتفاق زیاد رخ میدهد. البته امکان کپی کردن ارزهای دیجیتال وجود ندارد. انواع خاصی از حملات وجود دارد. که به افراد سود جو اجازه میدهد تراکنشهای ارز دیجیتال را “معکوس” کرده و یک کوین را دو بار خرج کنند.
حمله معاملات تایید نشده (Unconfirmed Transaction)
تنها در صورتی که شما معاملات تایید نشده را بپذیرید؛ در برابر حمله مسابقهای یا حمله فینی (Finney attack) آسیب پذیر هستید. حملات مسابقهای در واقع یک مسابقه بین دو تراکنش است که در زمانهای تقریباً یکسانی منتشر شدهاند. در این حالت قبل از اینکه معامله اول در بلاک چین نوشته شود؛ با معامله دیگری که وجه را به کیف پول تحت کنترل شما باز میگرداند جایگزین میشود.
در دسامبر 2019، در ویدئوی وایرال شده در لوکیشنهایی که بیت کوین دریافت میکرد، از این ارز دوبار برای پرداخت استفاده شده بود. این حملات با استفاده از پروتوکل Replace by Fee (RBF) ممکن شده بود. این پروتوکل آپدیتی بسیار بحث برانگیز بود. در این پروتکل تراکنش اول برای افراد و در پی آن تراکنش دوم با کارمزد بالاتر ضمیمه میشود. در نتیجه تراکنش RBF معامله اول را نادیده میگرفت، زیرا کارمزد بالاتر به معنای ترجیح پردازش آن است و همین پروسه باعث دوبار خرج کردن میشد. این حملات به این دلیل اتفاق میافتاد که افراد تراکنشهای تایید نشده را قبول میکردند.
در حادثه مشابهی در همان سال، برخی از دارندگان کانادایی بیت کوین و سایر ارزهای دیجیتال توانستند بدون نقدینگی لازم بیت کوین، پرداخت انجام دهند. آنها بیت کوین را به دستگاه پرداخت (که قابلیت برداشت پول داشت) فرستاده بودند. از آنجایی که این تراکنشها هنوز تایید نشده بودند، بعد از دریافت پول تراکنش را متوقف کردند. نکته اصلی این است که هرگز ارزهای دیجیتال، پول نقد یا هر چیز دیگری را برای معاملات تأیید نشده استفاده نکنید.

حملات فینی (Finney attack)
حملات فینی فقط توسط ماینرها قابل اجرا است. بنابراین نسبتاً فنی و مبهم است. ماینر قبل از استخراج تراکنش را در یک بلاک از یک کیف پول دیگر قرار میدهند. سپس، از کیف پول اول برای انجام تراکنش اول استفاده کرده و بلاک قبلی که شامل تراکنش اول بود را به آن میفرستند. این حمله به توالی خاصی نیاز دارد و هیچ مدرکی از انجام آن به جای نمیماند. این نوع حملات به نام کاشف آن، هال فینی (Hal Finney)، که اولین بیت کوین را از ساتوشی ناکاموتو دریافت کرده بود نامگذاری شد.
مطلب مفید: ماینینگ ارزهای دیجیتال چیست؟ +ویدئو
حمله 51%: مشکلات دوباره خرج کردن
این نوع حمله، از جمله حملات دوباره خرج کردن است که به نظر بسیاری از افراد بیشترین نگرانی را در فضای ارزهای دیجیتال دارد. اگر گروهی قادر به کنترل 51٪ یا بیشتر قدرت هش شبکه باشد، میتواند بلاک چین را مجددا سازماندهی کند تا زمانی که بیشترین قدرت هش را در اختیار داشته باشد. اگر بتوانند بلاک چین را مجددا سازماندهی کنند، میتوانند حمله دوبار خرج کردن را اجرا کند.
تا به امروز مدرکی وجود ندارد که حمله 51% روی بیت کوین به علت وجود وسعت هش در شبکه اجرا شده باشد. از آنجایی که برای کنترل هش کردن، هزینه و هماهنگی زیادی لازم است. در نهایت هرگونه انگیزه مالی برای اینکار از بین میرود. مقدار زیاد قدرت هش بیت کوین باعث میشود که با یک مارجین بزرگ، امن ترین پروتکل غیر متمرکز باشد. به نظر میرسد بعد از اینکه دو بلاک تایید شدند، ماین کردن آن سودآوری بیشتری نسبت به این حمله دارد.
آیا حمله 51% به صورت موفقیت آمیز اتفاق میافتد؟
اگرچه اتریوم و بیت کوین تا به حال درگیر این حمله نشدند. اما این حمله چندین ارز دیجیتال را درگیر کرده است. این حمله شامل فورکهای بیت کوین و اتریوم نیز میشود. اتریوم کلاسیک در 2019 و 2020 نیز درگیر این حمله شد. همچنین بیت کوین گولد نیز در سال 2018 و 2020 دچار حمله 51% شد.
مطلب مفید: مقایسه هارد فورک (Hard fork) با سافت فورک (Soft fork)
از آنجایی که این فورکها به همان روال بیت کوین و اتریوم ماین میشوند، حملات خرج کردن دوباره امکان پذیر است؛ اما قدرت هش بسیار کمتری در شبکه آنها وجود دارد. یک ماینر بزرگ و مخرب میتواند از استخراج بیت کوین و اتریوم به استخراج ناگهانی و مخفیانه چیزی در شبکه با قدرت هش بسیار کمتر تبدیل شده و سپس حمله را انجام دهد. برای پیشگیری از این اتفاق، برخی پلتفرمها تعداد تاییدهای مورد نیاز برای انجام تراکنش را افزایش دادند. این امر اجرای حمله 51% را دشوارتر میکند.
حمله 51% چطور عمل میکند؟
برای اینکه این حملات سودآور باشد، افراد سود جو تمایل دارند تراکنشها را هدف قرار دهند. در وهله اول، مقدار زیادی ارز دیجیتال را به یک صرافی میفرستند. سپس، آن را به ارز دیجیتال دیگری تبدیل کرده و وجوه معامله شده را از صرافی به آدرسی که متعلق به خودشان است منتقل میکنند. وقتی این فرایند تکمیل شد، آنها بلاک چین را با استفاده از بردار حمله اولین تراکنش تشکیل میدهند. با اینکار دو چیز باقی میماند. یکی داراییهایی که تراکنش با آن انجام شده و دیگری داراییهایی که تراکنش برای آنها انجام شده است.
معاملات تأیید نشده را قبول نکنید و همیشه از صرافی معتبر استفاده کنید
ممکن است حمله دوبار خرج کردن، هیچوقت به صورت کامل از بین نرود. اما وقتی بیت کوین و اتریوم درگیر این حملات میشوند، مقاومت آنها بیشتر میشود. اگر معاملات تایید نشده را قبول نکنید، میتوانید مطمئن باشید که درگیر حمله مسابقهای یا حمله فینی نخواهید شد.
وقتی صحبت از حملات 51% باشد، برخی معتقد هستند بهتر است از ارزهایی استفاده کنید که هرگز به طور کامل درگیر این حملات نشدهاند. برخی دیگر معتقد هستند استفاده از این ارزها در حالی که سرمایه خیلی بالایی نداشته باشید خطری ندارد. چون این آدرسها و تراکنشها اهداف جذابی برای افراد سودجو نیستند. با این اوصاف، اگر مبلغ قابل توجهی را در صرافی نگهداری میکنید؛ مطمئن شوید که این صرافی قابل اعتماد باشد.