دو بار خرج‌کردن

دو بار خرج‌کردن (Double-Spending) چیست؟

مقدمه

دو بار خرج‌کردن یکی از مشکلات معمول در شبکه‌های ارز دیجیتال است. اگرچه بیت کوین به واسطه ویژگی‌های خود مانند استفاده از تکنولوژی‌های بلاک چین و مکانیزم اثبات کار، تا حد زیادی موفق به غلبه بر این مشکل‌شده، اما تاکنون بارها در مورد ارز های دیجیتال با قدرت شبکه پایین‌تر، شاهد بروز مشکل دو بار خرج‌کردن از طریق “حمله ۵۱ درصدی” بوده‌ایم. اما دو بار خرج‌کردن چگونه انجام می‌شود و راه‌کار مقابله با آن چیست؟ در این مقاله از زرد نیوز به دنبال پاسخ به این سوال هستیم، پس تا انتها با ما همراه‌ باشید.

مطالب مرتبط :مکانیزم اثبات سهام (Proof Of Stake) چیست؟ / مکانیزم اثبات زمان سپری‌شده (PoET) چیست؟

دو بار خرج‌کردن چیست؟

دوبار خرج‌کردن یک نوع مشکل در شبکه ارز دیجیتال است که یک رمز ارز می‌تواند دو بار یا بیشتر مورد استفاده قرار گیرد. در صورت ایجاد شرایطی خاص، اطلاعات تراکنش در یک بلاک چین قابل تغییر است. این شرایط به بلاک‌های دستکاری‌شده اجازه می‌ دهند تا وارد بلاک چین شوند. اگر این اتفاق بیفتد، شخصی که تغییر را آغاز کرده است می‌ تواند سکه‌های مصرف‌شده را پس بگیرد.

نکات مهم

  • دوبار خرج‌کردن زمانی اتفاق می‌افتد که شخصی یک شبکه بلاک چین را تغییر می‌دهد و شبکه خاصی را وارد می‌کند که به او امکان می‌دهد دوباره یک ارز دیجیتال را به دست آورند.
  • دو بار خرج‌کردن ممکن است اتفاق بیفتد، اما به احتمال زیاد یک ارز دیجیتال از کیف پولی که به اندازه کافی محافظت و ایمن نشده است به سرقت می‌رود.
  • انواع مختلفی از حملات می‌تواند برای انجام دو بار خرج‌کردن مورد استفاده قرار بگیرد، “حمله ۵۱ درصدی”  یکی از رایج ترین حملات است. با این حال حمله “تراکنش تایید‌ نشده” بیشتر دیده می‌شود.

آشنایی با دو بار خرج‌کردن

برای درک دو بار خرج‌کردن، بررسی نحوه عملکرد بلاک چین می‌تواند کمک کند. هنگامی که یک بلاک ایجاد می‌شود، یک عدد هش (hash number) یا رمزگذاری‌شده دریافت می‌ کند. این عدد هش شامل مهر زمانی (time stamp)، اطلاعات بلاک قبلی و داده‌های تراکنش است. این اطلاعات با استفاده از یک پروتکل امنیتی مانند الگوریتم SHA-256 که شبکه بیت کوین از آن بهره می‌برد، رمزگذاری می‌شود.

هنگامی که اطلاعات آن بلاک را ماینرها (با استفاده از مکانیزم اثبات کار) تایید کردند، تکمیل می‌شود و یک بلاک جدید با مهر زمانی، اطلاعات تراکنش و هش بلاک قبلی ایجاد می‌شود. یک بیت کوین به ماینری تعلق می‌گیرد که دستگاه او هش را تأیید کرده است.

برای اینکه کسی حمله دو بار خرج‌کردن را انجام دهد، باید یک بلاک را مخفیانه استخراج  کند و در ایجاد آن از بلاک چین واقعی پیشی بگیرد. سپس باید آن زنجیره را قبل از اینکه شبکه متوجه شود، وارد شبکه بلاک چین کند. اگر این اتفاق بیفتد، شبکه آن را به عنوان آخرین مجموعه بلاک‌‌ها تشخیص می‌دهد و آن  بلاک را به زنجیره اضافه می‌کند. شخصی که این کار را انجام می‌دهد می‌تواند هر ارز رمزپایه‌ای را که خرج کرده بود پس بگیرد و دوباره از آن استفاده کند.

جلوگیری از دو بار خرج‌کردن

دو بار خرج‌کردن همچنان یک خطر است. با این حال، با بلاک چین می‌توان آن را به حداقل رساند. احتمال ایجاد یک بلاک مخفی در بلاک چین بسیار اندک است زیرا شبکه ماینرها آن را پذیرش و تایید کنند.

تنها فرصتی که یک ماینر با اهداف غیرمجاز برای وارد کردن یک بلوک دستکاری شده دارد، تلاش برای وادار کردن یک کاربر دیگر برای پذیرش تراکنش با استفاده از بلاک مخفی و ارز دیجیتال اوست. حتی در این صورت، احتمال پذیرش بلاک دستکاری شده بسیار اندک است. بلاک چین و مکانیزم اجماع آنقدر سریع حرکت می‌کنند که بلاک دستکاری‌ شده قبل از پذیرفته شدن، قدیمی می‌شود. حتی اگر پذیرفته می‌شد، شبکه همچنان اطلاعات موجود در بلاک را ارسال می‌کرد و آن را رد می‌کرد.

بررسی تراکنش‌های ارزهای دیجیتال مدتی طول می‌کشد، زیرا این فرآیند شامل انتخاب تصادفی اعداد برای حل معادله هش می‌شود. همچنین این فرآیند قدرت محاسباتی زیادی را می‌گیرد. بنابراین، کپی برداری یا جعل بلاک چین بسیار دشوار است. زیرا قدرت محاسباتی بسیار زیادی برای پیشی گرفتن از سایر ماینرهای شبکه مورد نیاز است.

نکته

در واقع هیچ نمونه ثبت شده‌ای از دو بار خرج‌کردن وجود ندارد. جامعه ارزهای دیجیتال بر این باور است که همه حملات دو بار خرج‌کردن خنثی شده‌اند. با این حال، حملاتی که برای ایجاد دو بار خرج‌کردن به کار می‌روند، بیشتر برای مقاصد دیگر استفاده می‌شوند.

حملات دو بار خرج‌کردن

مهم‌ترین خطر برای بلاک‌ چین‌ها، حمله ۵۱ درصدی می‌باشد. این نوع حمله زمانی رخ می‌دهد که یک ماینر بیش از ۵۰ درصد از قدرت محاسباتی که برای تایید تراکنش‌ها، ایجاد بلاک‌ها و ارسال پاداش به کار می‌رود را کنترل کند.

اگر این کاربر یا کاربران اکثر هش‌ها را در بلاک چین کنترل کنند، می‌توانند اجماع تراکنش‌ها را دیکته کنند و اعطای ارز را کنترل نمایند. در رمز ارزهای محبوب تر مانند بیت کوین، این نوع حمله بسیار بعید است. زیرا تعداد ماینرها و معادله هش که به آن دست یافته است، بسیار زیاد می‌باشد. با این حال، ارزهای دیجیتال جدید یا فورک‌شده که شبکه های کوچکتری دارند، در معرض این نوع حمله هستند.

معمولاً از حمله “تراکنش تاییدنشده” برای فریب کاربران ارزهای دیجیتال استفاده می‌شود. اگر یکی از این تراکنش‌ها را مشاهده کردید، نباید آن را بپذیرید زیرا می‌تواند باعث حمله دوبار خرج‌کردن شود.

آیا حمله دو بار خرج‌کردن تا به حال رخ داده است؟

مواردی وجود داشته است که تلاش‌هایی برای حمله دو بار خرج‌کردن گزارش شده‌اند اما متوقف شده‌اند. حملاتی که ممکن است اتفاق بیفتد، عموماً منجر به دزدی می‌شود تا دو بار خرج‌کردن.

آیا می‌توانید یک بیت کوین را کپی کنید؟

شما نمی‌توانید یک بیت کوین را کپی کنید زیرا بلاک چین و مکانیزم اجماع آن را نمی‌پذیرد.

نمونه‌هایی از حملات دو بار خرج‌کردن کدام‌اند

چندین نوع از حملات می‌تواند به ماینرهایی که هدفی منفی دارند اجازه دهند تا دو بار یک ارز دیجیتال را خرج کنند. این حملات شامل حمله Finney، حمله مسابقه (race attack)، حمله ۵۱ درصدی، حمله شغلی (career attack)، و حملات تراکنش تایید‌نشده (unconfirmed transaction attacks) است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.