بررسی حمله دوبار خرج کردن : گذشته، حال و آینده
دوبار خرج کردن (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%، برخی معتقدند که بهتر است از ارزهایی استفاده کنید که هرگز به طور کامل درگیر این حملات نشدهاند. برخی دیگر معتقد هستند استفاده از این ارزها در حالی که سرمایه خیلی بالایی نداشته باشید خطری ندارد. چون این آدرسها و تراکنشها اهداف جذابی برای افراد سودجو نیستند. با این اوصاف، اگر مبلغ قابل توجهی را در صرافی نگهداری میکنید؛ مطمئن شوید که این صرافی قابل اعتماد باشد.
دوبار خرج کردن یا Double Spending، به معنای دو بار خرج کردن یک ارز است که در سیستمهای بلاک چینی ارز دیجیتال رخ میدهد.
در حمله فینی، یک مهاجم دو تراکنش را یکی به آدرسی خودش و دیگری را به آدرسی متعلق به شخصی دیگر ارسال میکند. در این حمله، شخص بدون اطلاع به شبکه، تراکنشی را در یک بلاک استخراج شده قرار میدهد. بعد از آن، تراکنش دیگری را با همان مبلغ انجام میدهد و سپس بلاک استخراج شده قبلی را به شبکه مخابره میکند.
فکت کوینز مرجع خبر،تحلیل،آموزش رمز ارز
برای دیدن آموزش های رایگان بیشتر،عضو شوید