دابل اسپند خطری است که ارزهای دیجیتال را تهدید میکند. اگر در بازار کریپتو و ارزهای دیجیتال فعالیت داشته باشید، احتمالاً با این اصطلاح آشنا هستید. اگر میخواهید در دام دابل اسپند گرفتار نشوید و ارزهای دیجیتال خود را از دست ندهید، این مقاله را تا انتها بخوانید.
یک ارز دیجیتال میتواند دوبار یا بیشتر مورد استفاده قرار بگیرد. در صورت رعایت شرایط خاص، اطلاعات تراکنش در یک بلاکچین قابلتغییر است. شرایط به بلوکهای اصلاحشده اجازه میدهد تا وارد بلاکچین شوند. اگر این اتفاق بیفتد، شخصی که تغییر را آغاز کرده است میتواند ارزهای دیجیتال خرج شده را پس بگیرد و دوباره از آنها استفاده کند.
دابل اسپند چیست؟
دابل اسپند (دو بار خرج کردن) به زمانی اشاره دارد که بیت کوین یا هر ارز دیجیتالی که قبلاً استفاده شده دوباره استفاده میشود. در تراکنشهای بیت کوین، این ارز دیجیتال تنها با امضای شخصی که کلید خصوصی را در اختیار دارد قابلاستفاده است. این موضوع از استفاده غیرمجاز آن جلوگیری میکند. بااینحال، این موضوع مانع از آن نمیشود که فرد دارای کلید خصوصی از یک ارز در دو تراکنش استفاده نکند. با استفاده از بلاکچین و اثبات کار (PoW) بیت کوین میتواند از دابل اسپند جلوگیری کند.
دابل اسپند در واقع فرآیندی است که طی آن یک ارز خرج شده دوباره در یک تراکنش خرج میشود؛ یعنی با یک واحد از ارز دیجیتال دو پرداخت مختلف صورت میگیرد. حتی اگر هیچ هدف مخربی برای دابل اسپند وجود نداشته باشد و دابل اسپند خودبهخود رخ دهد، تراکنشهای عادی ممکن است به دلیل حمله رقابتی دابل اسپند مشمول هزینههای مضاعف شوند.
دابل اسپند بیشتر به این دلیل رخ میدهد که هیچ نهادی بر روی بازار ارزهای دیجیتال نظارت ندارد. در بانکها نظارت وجود دارد، بنابراین چنین اتفاقی رخ نمیدهد. این امکان برای برنامه نویسان کلاهبردار وجود دارد که بهطور عمدی تعداد بیت کوین را دو برابر کنند. بنابراین، برای اپراتورها مهم است که ابزاری برای جلوگیری از دابل اسپند داشته باشند.
درک خطرها و احتمالات دابل اسپندینگ
برای درک دابل اسپند ابتدا باید نحوه عملکرد بلاکچین را بررسی کنیم. هنگامیکه یک بلوک ایجاد میشود، یک عدد هش یا رمزگذاری شده دریافت میکند که شامل بازه زمانی، اطلاعات بلوک قبلی و دادههای تراکنش است. این اطلاعات با استفاده از یک پروتکل امنیتی مانند الگوریتم SHA-256 مورداستفاده توسط بیت کوین رمزگذاری میشوند. هنگامیکه اطلاعات آن بلوک توسط ماینرها در پروتکل اجماع اثبات کار تأیید شد، آن بلوک بسته میشود و یک مورد جدید با بازه زمانی، اطلاعات تراکنش و هش بلوک قبلی ایجاد میشود. بنابراین بیت کوین به ماینری تعلق میگیرد که دستگاه او هش را تایید کرده است.
برای اینکه کسی دو برابر ارز دیجیتال تولید کند یا بهاصطلاح دابل اسپند کند، باید یک بلوک مخفی استخراج شود که از بلاکچین مخفی بماند. سپس باید آن بلوک قبل از رسیدن به شبکه به آن شبکه معرفی شود. اگر این اتفاق بیفتد، شبکه آن بلوک را بهعنوان آخرین مجموعه بلوکها تشخیص داده و به زنجیره اضافه میکند. شخصی که این کار را انجام میدهد میتواند هر ارز رمز پایهای را که خرج کرده بود پس بگیرد و دوباره از آن استفاده کند.
دابل اسپند یک خطر در بازار ارزهای دیجیتال است. بااینحال، این خطر توسط بلاکچین به حداقل میرسد. احتمال درج یک بلوک مخفی در بلاکچین بسیار اندک است، زیرا باید توسط شبکه ماینرها پذیرفته و تأیید شود. تنها شانسی که یک ماینر با هدف غیرقانونی برای وارد کردن یک بلوک تغییریافته دارد این است که بتواند کاربری را فریب دهد تا با استفاده از بلوک مخفی و ارز دیجیتال خود تراکنش را بپذیرد. حتی در این صورت احتمال پذیرش بلوک اصلاحشده بسیار اندک است.
فناوری بلاکچین و سازوکار اجماع آنقدر سریع حرکت میکنند که بلوک اصلاحشده قبل از پذیرفته شدن منسوخ میشود. حتی اگر پذیرفته شود، شبکه همچنان اطلاعات موجود در بلوک را ارسال کرده و آن را رد میکند. در واقع هیچ نمونه ثبتشدهای از دابل اسپند وجود ندارد. جامعه ارزهای دیجیتال بر این باورند که همه دابل اسپندها خنثی شدهاند. بااینحال، حملاتی که برای دابل اسپند استفاده میشوند، بیشتر برای مقاصد دیگر هستند.
مبارزه با دبل اسپند
بررسی تراکنشهای ارزهای دیجیتال مدتی طول میکشد، زیرا این فرآیند شامل انتخاب تصادفی اعداد برای حل هش پیچیده است. این فرآیند همچنین به قدرت محاسباتی زیادی نیاز دارد. بنابراین، کپی کردن یا جعل بلاکچین بسیار دشوار است، زیرا قدرت محاسباتی بسیار زیادی برای پیشی گرفتن از سایر ماینرهای شبکه موردنیاز است. جلوگیری از دابل اسپند مستلزم فرآیند تأیید سختگیرانهتری است و تضمین میکند که ورودی یکسان نمیتواند در چندین تراکنش به اشتراک گذاشته شود. دو راه اصلی برای مبارزه با دابل اسپند وجود دارد:
تسویهحساب متمرکز
تمرکز بهطور قابلتوجهی میتواند خطر دابل اسپند در معاملات ارز دیجیتال را کاهش دهد. این کار با پیادهسازی یک شخص ثالث مرکزی و قابلاعتماد برای تأیید تراکنشها انجام میشود. نهاد اضافهشده عملکردی معادل تسویهحساب طرف مقابل مرکزی را انجام خواهد داد. در امور مالی، طرفهای قرارداد مرکزی اغلب موسسات مالی هستند که ریسک اعتباری بین دو طرف را بر عهده میگیرند و در انجام معامله به آنها اطمینان میدهند. این خدمات معمولاً برای تسهیل تجارت ابزارهای مشتقه مالی استفاده میشوند.
بلاکچین
ارزهای دیجیتال غیرمتمرکز مانند ارز بیت کوین از سازوکار اجماع استفاده میکنند که تراکنشها را با قطعیت تأیید میکند. سازوکار اجماع بهعنوان اثبات کار (PoW) نیز شناخته میشود. در عمل این سازوکار تضمین میکند که هر گره شرکتکننده تراکنش را تأیید میکند. بنابراین، ارزهای دیجیتال دارای یک دفتر کل یا همان بلاکچین هستند که مالکیت و انتقال آنها را تأیید میکند.
برای اینکه یک کلاهبردار در بازار بتواند بهطور تقلبی تراکنشهای خود را دو برابر کند، باید از قدرت محاسباتی زیادی برای حذف بلوکهای قبلی در زنجیره استفاده کند و عملاً تراکنش را دابل اسپند کند. علاوه بر این، با گذشت زمان تأییدیههای بلوک بهطور تصاعدی افزایش مییابند و از یکپارچگی تراکنش بیشتر محافظت میکنند.
انواع حملات دابل اسپند
دابل اسپند حملات متفاوتی دارد که ۳ حملهی مهم آن شامل موارد زیر میشود.
- حمله رقابتی (Race attack)
- حمله فینی (Finney attack)
- حمله 51 درصدی (51% attack)
حمله رقابتی (Race attack)
حمله رقابتی زمانی امکانپذیر میشود که سرمایهگذاران قبل از دریافت تأییدیههای بلوک در تراکنش پرداختها را بپذیرند. یک کاربر کلاهبردار تقریباً بهطور همزمان دو تراکنش را ارسال میکند، یکی برای سرمایهگذار و دیگری به یک کیف پول دیگر. در این مورد، ماینرها میتوانند عملیات را به سمت کیف پول تأیید کنند؛ یعنی سرمایهگذار ارزهای دیجیتال را دریافت نمیکند.
حمله فینی (Finney attack)
حمله فینی زمانی رخ میدهد که سرمایهگذار منتظر تأیید تراکنش نمیماند. در این مورد، یک ماینر ارز دیجیتال را از یک کیف پول به کیف دیگر منتقل میکند، اما بلافاصله بلوک را تأیید نمیکند. سپس او از کیف پول منبع برای خرید ارز دیجیتال استفاده میکند. پس از تنظیم تراکنش دوم، ماینر بلوک استخراجشده قبلی را پخش میکند که شامل تراکنش اول نیز میشود.
حمله 51 درصدی (51% attack)
حمله 51 درصدی حمله اکثریت نامیده میشود، زیرا مهاجم باید بیش از نیمی از نرخ هش شبکه را کنترل کند. اگر یک ماینر یا گروهی از ماینرها بتوانند بلوکها را سریعتر از بقیه کاربران شبکه ایجاد کنند، حمله 51 درصدی ممکن میشود. همه الگوریتمهای اجماع برای از بین بردن خطرات حمله 51 درصدی ساخته شدهاند.
مهمترین خطر برای بلاکچینها بهصورت حمله 51 درصدی است که اگر ماینر بیش از 50 درصد از قدرت محاسباتی را برای تأیید تراکنش استفاده کند، بلوکهای جدید و ارزهای دو برابر ایجاد میشوند. اگر این کاربر یا کاربران اکثر هشها را در بلاکچین کنترل کنند، میتوانند با کنترل اجماع تراکنشها ارزها را دو برابر کنند. در رمز ارزهای محبوبتر مانند بیت کوین، به دلیل تعداد ماینرها و مشکل هش این امر بسیار بعید است.
بااینحال، ارزهای دیجیتال جدید یا فورک شده با شبکههای کوچکتر در معرض این حمله هستند. معمولاً از حمله تراکنش تأیید نشده برای فریب دادن کاربران ارزهای دیجیتال استفاده میشود. اگر یکی از این تراکنشها را مشاهده کردید، نباید آن را بپذیرید، زیرا میتواند باعث دابل اسپند شود.