دوبار خرج کردن یا دابل اسپند نوعی ریسک است که یک ارز دیجیتال می تواند دوبار خرج شود. این یک مشکل بالقوه منحصر به فرد برای ارزهای دیجیتال است زیرا اطلاعات دیجیتال را می توان به راحتی توسط افراد باهوشی که شبکه بلاک چین و قدرت محاسباتی لازم برای دستکاری آن را درک می کنند، بازتولید کرد.
حمله دوبار خرج کردن چیست؟
ارزهای فیزیکی این مشکل را ندارند زیرا نمی توان آنها را به راحتی تکرار کرد و طرفین درگیر در یک معامله می توانند بلافاصله صحت و مالکیت قبلی ارز فیزیکی را تأیید کنند. با ارز دیجیتال، این ریسک وجود دارد که دارنده آن بتواند یک کپی از توکن دیجیتال تهیه کند و با حفظ اصل آن برای یک تریدر یا طرف دیگر ارسال کند.
این نگرانی در ابتدا برای بیت کوین، محبوبترین ارز دیجیتال بود، زیرا یک ارز غیرمتمرکز است که هیچ آژانس مرکزی برای تأیید اینکه فقط یک بار خرج شده است، وجود ندارد. با این حال، بیت کوین دارای مکانیزمی است که بر اساس لاگ تراکنش ها به نام بلاک چین شناخته می شود تا صحت هر تراکنش را تأیید کند و از شمارش مضاعف جلوگیری کند.
چگونه با حمله دابل اسپند مبارزه کنیم؟
جلوگیری از این حمله مستلزم فرآیند تأیید سختگیرانهتری است و تضمین میکند که ورودی یکسان نمیتواند در چندین تراکنش به اشتراک گذاشته شود. 2 راه اصلی برای مبارزه با Double spending attack وجود دارد:
طرف قرارداد تسویه حساب متمرکز
تمرکز به طور بالقوه می تواند حمله دوبار خرج کردن در معاملات ارز دیجیتال را کاهش دهد. این کار با پیاده سازی یک شخص ثالث مرکزی و قابل اعتماد برای تأیید تراکنش ها انجام می شود.
در امور مالی، طرفهای قرارداد مرکزی اغلب مؤسسات مالی هستند که ریسک اعتباری طرف مقابل را بین دو طرف بر عهده میگیرند و از انجام معامله اطمینان میدهند. این خدمات معمولاً برای تسهیل تجارت ابزارهای مشتقه مالی استفاده می شود.
بلاک چین
ارزهای دیجیتال غیرمتمرکز، مانند بیت کوین، از مکانیسم های اجماع استفاده می کنند که تراکنش ها را با قطعیت تأیید می کند. مکانیسم های اجماع به طور متناوب به عنوان اثبات کار شناخته می شوند. در عمل، مکانیسم تضمین می کند که هر گره شرکت کننده تراکنش را تأیید می کند. بنابراین، بیت کوین دارای یک دفتر کل تاریخی است که از طریق بلاک چین تسهیل می شود که تأیید تجربی حقوق مالکیت و انتقال را فراهم می کند.
برای اینکه یک شرکت کننده بازار به طور تقلبی هزینه های خود را دو برابر کند، باید از مقدار قابل توجهی از قدرت محاسباتی برای حذف بلوک های قبلی در زنجیره استفاده کند و عملاً تراکنش را دوبرابر خرج کند. علاوه بر این، با گذشت زمان، تأییدیه های بلوک به طور تصاعدی افزایش می یابد و از یکپارچگی تراکنش بیشتر محافظت می کند.
چالش های مبارزه با حمله دوبار خرج کردن
چالش های مرتبط با استفاده از یک مرجع متمرکز
یکی از چالش های قابل توجه اجرای یک مرجع متمرکز، هزینه های ایجاد و نگهداری است. تعیین یک بانک به عنوان یک مرجع متمرکز منجر به کاهش کمیسیون در تراکنش های ارز دیجیتال می شود. این می تواند گران باشد، به ویژه در مواردی که بیش از دو نماینده و/یا بانک در انتقال، پردازش، و احراز هویت وجوه در حال انتقال دخالت دارند.
استفاده از رویکرد غیرمتمرکز
حل و فصل حمله های دابل اسپند در سیستم های غیرمتمرکز چالش برانگیزتر است، زیرا مستلزم نگهداری تعداد قابل توجهی از سرورهایی است که کپی های یکسان و به روز از دفتر کل تراکنش های عمومی را ذخیره می کنند. با این حال، تراکنشهایی که پخش میشوند ممکن است در زمانهای مختلف به سرورها برسند. یکی از اجزای کلیدی رویکرد سیستم غیرمتمرکز این است که اعتبار به تراکنش اولیه ای که توسط هر یک از سرورها دریافت یا دریافت می شود، داده می شود.
از این رو، در مواردی که یک تراکنش تکراری است یا از همان رمز برای پرداخت استفاده می شود، تراکنش تکراری نامعتبر می شود، زیرا سرورها فقط تراکنش اول را تأیید می کنند. با این حال، هنگامی که سرورها ناهماهنگ می شوند، اعتبار سنجی موجودی واقعی تقریباً غیرممکن می شود. چنین اشکالی را می توان با استفاده از یک الگوریتم اجماع حل کرد که سرورهای مختلف را همگام سازی می کند. نمونههایی از این الگوریتمها شامل مکانیسمهای اجماع اثبات سهام و اثبات کار است.