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

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