دابل اسپندینگ یا دوبار خرج کردن در ارز دیجیتال چیست؟
چکیده
دابل اسپندینگ (Double Spending) فرایندی است که در آن مبلغی مشخص برای دو یا چند پرداخت همزمان استفاده میشود؛ درحالیکه باید تنها در یکی از پرداختها مورداستفاده قرار میگرفته.
یکی از دلایلی که سالها است امنیت بلاک چین را با تهدید روبهرو کرده حفره امنیتی پرداخت های چندگانه بوده است؛ زیرا سیستمهای مالی غیرمتمرکز بیش از سیستمهای متمرکز با خطر انجام چنین پرداختهایی مواجهاند؛ گرچه، سازوکارهای امنیتی روزبهروز توسعه پیدا میکنند تا استفاده از چنین شیوههایی برای سوءاستفاده مالی ناممکن شود.
دابل اسپندینگ چگونه اتفاق می افتد؟
دابل اسپندینگ در لغت به معنای دو بار پرداختن است. جالب است بدانید که ویژگیهای خاص بلاک چین در کنار تمام مزایا امکان انجام چنین فرایندی را فراهم میکنند.
در سیستمهای مالی متمرکز، ناظرهای مرکزی انجام تراکنشها را تحتنظر قرار میدهند؛ به شکلی که پیش از انجام هر تراکنش، حساب کاربری شخص پرداختکننده مورد بررسی قرار میگیرد؛ پرداخت در صورتی انجام میشود که شخص موجودی کافی در حساب خود داشته باشد. از طرفی تضمین میشود که مبلغ پرداختی پس از برداشت، بهصورت یکطرفه بهحساب مقصد انتقال پیدا کند.
سیستمهای مالی غیرمتمرکز نمیتوانند از ناظر مرکزی استفاده کنند و همین، شرایط برای دو یا چند بار پرداخت را فراهم میکند. تأیید تراکنشها و ایجاد بلاک زمانبر است. درصورتیکه شخص متخلف از این زمان استفاده کرده و به نحوی پیش از تأیید تراکنش شبکه را دور بزند، میتواند شرایطی را فراهم کند که بهطور موقت بیش از یک پرداخت انجام شود.
البته در نهایت نودها متوجه این اختلال شده و آن را برطرف میکنند؛ اما درصورتیکه دریافتکننده ارز اقدامات امنیتی را انجام ندهد و از تأیید نهایی تراکنش اطمینان حاصل نکند ممکن است در نهایت هیچ مبلغی به دست نیاورد.
حملات دابل اسپندینگ
حملات دابل اسپندینگ به روشهای مختلف انجام میشوند. ازآنجاییکه یافتن حفره بلاک چین برای سوءاستفاده مالی دشوار است این روشها چندان زیاد نیستند و بسیار پیچیدهاند. بااینحال استفاده از آنها ناممکن نیست.
استفادهکنندگان از این شیوه میتوانند ارز حقیقی را به کیف پول خود یا به کیف پول یکی از سرویسدهندگان ارسال کنند. درصورتیکه مقصد اصلی و نهایی ارز، کیف پول خود شخص باشد در واقع بدون پرداخت هیچ هزینهای دسترسی به خدمات ممکن میشود. اگر مقصد نهایی ارز، کیف پول تنها یکی از سرویسدهندگان باشد در حقیقت متخلف هزینه واقعی را به یک کیف پول واریز و به کیف پول دیگر واریز نکرده است. در عین حال از سرویس یا محصول هردوی آنها نیز بهرهمند میشود.
در ادامه به انواع حملاتی که برای Double Spending استفاده میشوند خواهیم پرداخت.
حمله ۵۱ درصد (Fifty-One percent attack)
اعتبارسنجها و گرههای شبکه بلاک چینی آن را ایمن کرده و تراکنشها را معتبر میکنند. درواقع کنترل زنجیره اطلاعات با مجموع آنها است. شبکههای غیرمتمرکز با استفاده از همین نودها یا گرهها است که نسبت به شبکههای متمرکزی مانند بانکها برتری پیدا میکنند؛ اما این برتری در صورتی است که اکثریت نودها برای کنترل و دستکاری شبکه با یکدیگر همکاری نکنند.
زمانی که حداقل ۵۱ درصد نودها با یکدیگر تبانی کنند تا مسیری خاص در ایجاد و دستکاری بلاکها را در پیش بگیرند انواع کلاهبرداری و سوءاستفاده مالی ممکن میشود. دابل اسپندینگ نیز در این میان آسان خواهد شد.
اما شرایط بسیار خاص و بلاک چینی ضعیف نیاز است تا چنین حملهای عملی شود. ازیکطرف، حملات ۵۱ درصد دیریازود بلاک چین و ارزهای مبتنی بر آن را بیارزش میکنند. از طرفی بلاک چینهای قدرتمند با استفاده از سیاستهای مختلف و انواع قرارداد هوشمند از آن جلوگیری میکنند.
برای مثال کاربران حداقل باید ۳۲ اتر را در شبکه سپردهگذاری کنند تا بهعنوان نودهای آن امکان فعالیت داشته باشند. همچنین قراردادهای هوشمندی تنظیم شدهاند تا در صورت تخلف کاربران توکنهایشان را بسوزانند. در این صورت شرکت در حمله ۵۱ درصد برای هیچ یک از نودهای اتریوم منطقی و سودآور نیست.
حمله رقابتی (Race Attack)
در برخی شبکههای بلاک چینی مثل بیت کوین، تأیید تراکنشها نسبتاً طولانی است. این تأخیر در تأیید و نهایی کردن تراکنش فرصتی را به وجود میآورد تا امکان دابل اسپندینگ فراهم باشد؛ بهاینصورت که مجرم بهطور همزمان دو تراکنش انجام میدهد که تنها یکی از آنها به مقصد دریافتکننده است. درصورتیکه دریافتکننده ارز پیش از تأیید نهایی تراکنش و کسب اطمینان از انتقال دارایی محصول را به متخلف ارائه کند در نهایت ممکن است هیچ ارزی به دست نیاورد.
حمله فینی (Finney Attack)
حمله فینی نیاز به دانش و امکانات محاسباتی پیچیدهای دارد؛ اما انجام آن میتواند یکی از بینقصترین حملات دابل اسپندینگ را رقم بزند.
برای حمله فینی، یکی از نودها ابتدا بلاکی هماهنگ اما خارج از شبکه بلاک چینی تعریف میکند که در آن مقدار مشخصی دارایی از یک کیف پول ارز دیجیتال به ولتی دیگر منتقل میشود. هر دوی این کیف پولها باید در مالکیت خودش باشند. پس از آن تراکنشی دیگر ترتیب میدهد تا در آن مبلغی از کیف پول خود را به ولت شخص دیگری منتقل کند.
پس از آغاز تراکنش دوم، نود میتواند بلاک از پیش ایجاد شده را وارد زنجیره کند. در این صورت تراکنش دوم باطل شده و تراکنش اولیه ثبت میشود. با این کار نود بدون هیچ هزینهای به هدف خود میرسد.
حمله سیبیل (Sybil Attack)
حملات سیبیل یکی از تهدیدات سایبری اصلی برای شبکههای بلاک چینی هستند. سیبیل به این صورت انجام میشود که هکرها تعداد زیادی نود تقلبی به شبکه وارد میکنند. این نودهای تقلبی درصورتیکه بهقدر کافی زیاد باشند میتوانند تراکنشها را تحتتأثیر قرار دهند.
همچنین سیبیل میتواند شرایط را برای حملات ۵۱ درصد فراهم کند. درهرصورت سیبیل میتواند به دابل اسپندینگ کمک کنند.
شیوه های جلوگیری از دابل اسپندینگ
مانند بسیاری از تهدیدات دیگر در حوزههای مالی، میتوان از دابل اسپندینگ نیز جلوگیری کرد. شبکههای بلاک چینی قدرتمند و معتبر با بهرهمندی از شیوههایی میتوانند زنجیرههای اطلاعاتی خود را در برابر پرداختهای چندباره و بسیاری از دیگر حفرات امنیتی ایمن کنند.
الگوریتم اجماع
بلاک چینی با الگوریتم اجماع دقیق و اصولی نمیتواند بهراحتی هدف پرداختهای چندباره قرار گیرد. الگوریتمهای اجماع با ایمن کردن شبکه، نظارت دقیق بر تراکنشها و اطمینان از انجام صحیح آنها از انواع سوءاستفاده مالی جلوگیری میکنند.
استفاده از نانس (Nonce)
نانس یک مفهوم رمزنگاری شده و منحصربهفرد است. این کلمه درواقع شکلی کوتاه شده از عبارت Number Only Used Once و به معنای شمارهای است که تنها یکبار استفاده میشود. این شماره، خاص هر تراکنش بوده و تکرارپذیر نیست؛ بنابراین بلاک چینی که از آن استفاده کند تا حد زیادی در برابر دابل اسپندینگ ایمن میشود.
برچسب های زمانی
تراکنشهای موفق از برچسب زمانی استفاده میکنند. این برچسبها نشان میدهند که یک بلاک در چه زمانی به زنجیره اضافه شده است. بلاکی که برچسب زمانی دریافت میکند غیرقابلبازگشت میشود و ابطال یا دستکاری آن ممکن نیست. اگر این برچسبها بهخوبی در شبکه توسعه پیدا کرده و استفاده شوند Double Spending مشکل میشود.
وثیقه بالا برای نودها
یکی از راههایی که میتواند حفره بلاک چین برای حملات سیبیل و ۵۱ درصد را مسدود کند تعیین وثیقه بالا برای ماینر ها یا همان نودها است. در این صورت نمیتوان نودهای تقلبی را وارد شبکه کرد. از طرفی تسلط بر حداقل ۵۱ درصد آنها برای کنترل زنجیره تقریباً ناممکن میشود.
استفاده از سیستم های متمرکز
گرچه متمرکز کردن فرایندها در بلاک چین با ایده کلی عرضه و ایجاد آن مغایرت دارد؛ اما ایجاد یک ناظر مرکزی میتواند از دابل اسپندینگ جلوگیری کند. درحالتیکه زنجیره بسیار ضعیف باشد و نتواند از شیوههای دیگر ایمنسازی استفاده کند شاید متمرکزکردن نظارت بهترین گزینه پیش رو باشد.
بهبود پروتکل بلاک چین و قراردادهای هوشمند
از جمله عوامل اصلی که شرایط انواع حملات پرداخت چندباره را فراهم میکند ضعف در امنیت بلاک چین و قراردادهای هوشمند مربوط به آن است. با اصلاح آنها میتوان تا حد زیادی ازایندست حملات جلوگیری کرد.
مشارکت بالا در شبکه
یکی از بهترین عوامل برای قدرت دادن به هر شبکه بلاک چینی استفاده از نودهای زیاد است. هرچه نودها بیشتر باشند امنیت و سرعت شبکه بالاتر میرود.
گرهها پردازندههای غیرمتمرکزی هستند که ماهیت و صحت تراکنش ارز های دیجیتال وابسته به آنها است. گرهها با استفاده از قدرت پردازشی خود زنجیره را ایمن میکنند. از طرفی هرچه تعداد آنها بیشتر باشد، سرعت تراکنشها نیز بیشتر میشود. میدانیم که بسیاری از حملات دابل اسپندینگ صرفاً بهخاطر تأخیر در تأیید تراکنشها اتفاق میافتد؛ بنابراین سرعت بالا از این حملات جلوگیری میکند.
همچنین زیاد بودن تعداد نودها امکان حملات ۵۱ درصد و سیبیل را بسیار دشوار میکند؛ زیرا غالب شدن به تعداد بالایی از نودها مشکل است.
سیستم پاداش
تقریباً تمام شبکههای بلاک چینی وابسته به ماینرها، در ازای دریافت توان پردازشی به آنها پاداش میدهند. این سیستم کمک میکند که پردازندههای بیشتری به زنجیره وارد شده و به ایمن کردن آن کمک کند. هرچه این پاداش ارزشمندتر باشد ماینرهای بیشتری وارد شبکه میشوند. از طرفی درصورتیکه پاداش بهقدر کافی بالا باشد مشارکت در فعالیتهای مخرب برای اغلب آنها توجیه چندانی نخواهد داشت.
کاربران چگونه می توانند از دابل اسپندینگ در امان باشند؟
یکی از بهترین راههایی که کاربران را از حفره بلاک چین دابل اسپندینگ نجات میدهد کسب اطمینان از تأیید قطعی تراکنش است. در زنجیرههای بلاک چینی زمانی میتوان از انجام تراکنش اطمینان حاصل کرد که حداقل ۶ بلاک رمزنگاری شده باشند.
گرچه راه سادهتری نیز برای درامانماندن از این حملات وجود دارد. درصورتیکه کاربر از کیف پولهای حضانتی استفاده کند دیگر نیازی نیست از این بابت نگرانی داشته باشد. به همین منظور، صرافی ارز دیجیتال تبدیل کیف پولهایی حضانتی و اختصاصی در اختیار کاربران خود قرار میدهد. این کیف پولها با سیستمهای پیچیده صرافی مورد نظارت قرار میگیرند تا امکان حملاتی مانند دابل اسپندینگ به آنها وجود نداشته باشد.
جمع بندی
دابل اسپندینگ نوعی سوءاستفاده مالی است که از حفرههای امنیتی زنجیرههای بلاک چینی استفاده میکند. در این شیوه از کلاهبرداری فرد متخلف مقدار مشخصی ارزی دیجیتال را برای دریافت دو یا چند سرویس مجزا خرج میکند؛ درحالیکه یا هزینهای پرداخت نمیکند یا هزینه برخی از آنها را میپردازد.
پرداخت چندباره، بلاک چین را با چالشهایی مواجه میکند. البته توسعهدهندگان توانستهاند با بهبود فناوری در ابعاد مختلف آن را ایمن کنند؛ برای مثال پروژهای مانند اتریوم به شکلی نودها را متعهد میکند تا بهدرستی فعالیت کنند و با فراهمکردن سرعت بالای تراکنش از دورزدن ماینرها جلوگیری میکند.
برای پیشگیری از مورد سوءاستفاده قرارگرفتن با پرداختهای دو یا چندباره باید از تأیید نهایی تراکنش اطمینان حاصل کرد. ازآنجاییکه کسب اطمینان برای برخی مشکل است، تبدیل کیف پولهایی حضانتی در میان کاربران توزیع کرده است که با پروتکلهای امنیتی مختلف و قدرتمند از دارایی آنها حفاظت میکنند.
منابع:
دیدگاهها