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

کلام اول؛ دابل اسپندینگ چیست؟

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

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

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

شبکه بلاکچین و آشنایی با حملات دابل اسپندینگ

آیا دابل اسپندینگ فقط مختص به شبکه بلاکچین است؟

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

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

انواع روش‌های دابل اسپندینگ؛ 3 روش برای ارتکاب حمله دو بار خرج کردن

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

1. حملات رقابتی (Race Attack)؛ اولین روش دابل اسپندینگ

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

سپس اگر طرف گیرنده ارز دیجیتال، یک تراکنش تایید‌نشده را در شبکه تایید کند، هکر بلوک تایید شده را حفظ کرده که منجر به دابل اسپندینگ می‌شود.

انجام روش های دابل اسپندینگ توسط هکرهای دنیای ارز دیجیتال

2. حملات فینی (Finney Attack)؛ دومین روش هکرها برای دو بار خرج کردن در شبکه

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

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

3. حملات 51 درصدی (51% Attack)

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

با این حال در نظر داشته باشید که حملات 51 درصدی، چندان هم ساده نیستند. برای مثال عظمت هش ریت شبکه بیت کوین تا حدی است که این وضعیت را غیر ممکن می‌کند.

هکرهای دنیای ارز دیجیتال و شبکه بلاکچین بیت کوین

نحوه مقابله با دابل اسپندینگ؛ 2 راه حل عملی برای متخصصان

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

بکارگیری رویکرد متمرکز در طرف‌حساب معامله

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

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

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

ارزهای دیجیتال غیرمتمرکز مانند بیت کوین، از مکانیسم‌های اجماع بهره می‌برند که تراکنش‌ها را با قطعیت تایید می‌کند. نحوه کار الگوریتم اثبات کار بیت کوین (PoW) به این صورت است که افراد فعال در شبکه که گره یا Node نامیده می‌شوند، خودشان بلاک‌های شبکه را ساخته و تراکنش‌ها را تایید می‌کنند.

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

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

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

نمودار نحوه کار الگوریتم اثبات کار در مقابله با حمله دابل اسپندینگ

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

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

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

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

سخن پایانی؛ حمله دابل اسپندینگ، یکی دیگر از روش‌های تقلب در بازارهای مالی

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

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