دابل اسپندینگ (Double Spending)
مرداد 4, 1403
دو بار خرج کردن (Double Spending) در ارزهای دیجیتال به چه معنی است؟
عبارت “دو بار خرج کردن” یا “Double Spending” در زمینهی ارزهای دیجیتالی و بیت کوین به مفهوم انجام یک تراکنش مالی با یک واحد ارز دیجیتال و دوباره استفاده از همان واحد بدون اینکه تراکنش اول لغو شود یا تغییر کند، اشاره دارد. این امر باعث میشود که یک فرد بتواند به صورت غیرمجاز یک ارز دیجیتال را دوباره استفاده کند و در اصطلاح دوباره آن را خرج کند.
بیتکوین و سایر ارزهای دیجیتال از تکنولوژی بلاکچین استفاده میکنند تا تراکنشهای مالی را ثبت و تأیید کنند. در این شبکهها، ماینر ها با انجام محاسبات پیچیده به تأیید تراکنشها میپردازند و بلاکهای جدید به زنجیره اضافه میکنند. این فرآیند باعث ایجاد امنیت در شبکه میشود، زیرا برای تغییر یک تراکنش باید ماینر ها تمام بلاکهای بعدی را تغییر دهند که این کار بسیار پرهزینه و غیرممکن است.
_ حمله دوبار خرج کردن چطور اتفاق میافتد؟
حمله دوبار خرج کردن (Double Spending) در شبکههای ارزهای دیجیتالی مانند بیتکوین به وقوع میپیوندد و به این معناست که یک فرد یا ماینر تلاش میکند یک واحد ارز دیجیتالی را دوبارمصرف کند و همچنین تراکنش مالی را تغییر دهد تا از آن بهره ببرد. این حمله ممکن است در شرایطی اتفاق بیافتد که شخصی توانایی کنترل تا 50% از قدرت محاسباتی کل شبکه را دارد.
در یک حمله دوبار خرج کردن ، مراحل زیر انجام میشوند:
1 . ارسال تراکنش اولیه : فرض کنید فرد A یک تراکنش ارسال میکند که به عنوان پرداختی برای یک کالا یا خدمت به فرد B است. این تراکنش به شبکه ارسال میشود و منتظر تأییدات معدنکاران برای ورود به زنجیره بلاکچین است.
2 . انجام تراکنش دوباره : در همین زمان یا کمی بعد از ارسال تراکنش اولیه، فرد A یک تراکنش دیگر با همان واحد ارز دیجیتالی به فرد C ارسال میکند، اما این بار تراکنش را به معدنکاران نمیفرستد و به جای آن خودش تراکنش را امضا میکند.
3 . کنترل قدرت محاسباتی : اگر فرد A توانایی کنترل بیش از ۵۰٪ از قدرت محاسباتی کل شبکه را داشته باشد، میتواند تغییراتی در زنجیره ایجاد کند. او از قدرت محاسباتی خود برای ایجاد یک زنجیره جدید برای تراکنش دوم ( ارسالی به فرد C )استفاده میکند.
4 . تغییر زنجیره : با استفاده از قدرت محاسباتی خود، فرد A زنجیره بلاکها را تغییر میدهد تا تراکنش ارسالی به فرد B را لغو کند و به جای آن تراکنش خود به فرد C را اضافه کند.
5 . تأییدات جدید : حالا که زنجیره تغییر یافته توسط فرد A ایجاد شده است، او میتواند تراکنش ارسالی به فرد C را در این زنجیره وارد کند. این باعث میشود تراکنش ارسالی به فرد B به طور غیرمعتبر در نظر گرفته شده و لغو شود.
چگونه با پدیده دوباره خرج کردن مقابله میشود؟
برای مقابله با حمله دوبار خرج کردن (Double Spending) در شبکههای ارزهای دیجیتالی، بهبود امنیت و اطمینان از صحت تراکنشها مورد نیاز است. برخی از روشهای مقابله با این حمله عبارتاند از:
1 . اثبات کار (Proof of Work) : در این مدل، معدنکاران باید محاسبات پیچیدهای انجام دهند تا بلاکهای تراکنشها را به زنجیره اضافه کنند. این محاسبات پرهزینه و زمانبر هستند و تا یکی از ماینر ها بیشترین توان محاسباتی را داشته باشد، تغییرات در زنجیره ایجاد نمیشود. بنابراین، حمله دوبار خرج کردن بسیار پرهزینه و غیرعملی است.
2 . اثبات سهام (Proof of Stake) : در این مدل، به جای استفاده از توان محاسباتی، اشتراک ارز دیجیتالی فعلی در شبکه (سهم) برای تأیید تراکنشها استفاده میشود. افراد با سهام بیشتر، احتمال انجام دادن چنین حملاتی را دارند اما این مدل نیز از انجام تراکنشات دوباره خرج کردن جلوگیری میکند زیرا تغییرات در زنجیره نیاز به کسب تعداد زیادی سهم دارد.
3 . تایید تراکنشها توسط شبکه (Consensus Protocols) : در این روشها، تراکنشها توسط تمام شبکه تأیید میشوند و تراکنشهای تکراری یا نامعتبر به سرعت شناسایی شده و رد میشوند.
4 . زمان انتظار (Waiting Time) : در ارزهای دیجیتالی، تراکنشها بر اساس زمانی که برای تأیید آنها لازم است، تأیید میشوند. اگر یک تراکنش تأیید نشده باشد و در حالت انتظار باشد، احتمال حمله دوبار خرج کردن کاهش مییابد.
5 . کنترل اکثریت (Majority Control) : اطمینان از اینکه هیچ فرد یا گروهی توانایی کنترل اکثریت قدرت محاسباتی یا سهام شبکه را ندارد، میتواند از حملات دوبار خرج کردن جلوگیری کند.
6 . تراکنشهای تأیید شده (Confirmed Transactions) : تراکنشهایی که توسط چندین بلاک تأیید شدهاند، احتمال دوباره خرج کردن کمتری دارند زیرا تغییر زنجیره برای لغو تراکنشات بسیار سختتر و هزینهبرتر میشود.
7 . شناسایی الگوهای مشکوک : از الگوریتمها و مکانیزمهای شناسایی الگوهای مشکوک برای تشخیص حملات دوبار خرج کردن استفاده میشود. این الگوریتمها میتوانند تراکنشات غیرمعمول و تکراری را تشخیص داده و جلوی آنها را بگیرند.
ترکیبی از این روشها و مکانیزمها ، بهبود امنیت در شبکههای ارزهای دیجیتالی ایجاد میکند و از حملات دوبار خرج کردن جلوگیری میکند. همچنین، تکنولوژیها به طور مداوم بهبود یافته و روشهای جدیدی برای مقابله با این نوع حملات پیدا میکنند.
_ مثال های از حملات Double Spending :
در گذشته، تعدادی از حملات دوبار خرج کردن در ارزهای دیجیتالی وجود داشته است که باعث تأثیرات جدی بر روی اعتماد به شبکههای ارزهای دیجیتالی شدهاند. در زیر چند مثال از این حملات را ذکر میکنم:
1 . حمله به شبکه بیتکوین گلد (Bitcoin Gold) در سال 2018 : در این حمله، حملهکننده با کنترل قدرت محاسباتی زیاد، تراکنشهایی را در شبکه بیتکوین Gold تأیید کرد و سپس زنجیره را تغییر داد تا تراکنشهای خود را بازگرداند و دوباره مصرف کند. این حمله باعث افت قیمت بیتکوین Gold شد.
2 . حمله به شبکه Verge در سال 2018 : در این حمله، حملهکننده توانایی کنترل قدرت محاسباتی شبکه Verge را به دست آورد و تراکنشهای متعددی را دوباره مصرف کرد. این حمله به طور عمده باعث افت قیمت Verge شد.
3 . حمله به شبکه Ethereum Classic در سال 2019 : در این حمله، حملهکننده توانایی کنترل قدرت محاسباتی شبکه Ethereum Classic را داشت و برخی از تراکنشهایش را تغییر داد تا دوباره از آنها استفاده کند. این حمله باعث نارضایتی در جامعه Ethereum Classic شد.
4 . حمله به شبکه Verge در سال 2021 : شبکه Verge مجددا با حملات دوبار خرج کردن مواجه شد. حملهکننده توانایی کنترل قدرت محاسباتی را داشت و تراکنشهایی را دوباره استفاده کرد. این حمله باز هم به اعتماد به Verge آسیب زد.
حملات دوبار خرج کردن (Double Spending) یکی از چالشهای امنیتی مهم در شبکههای ارزهای دیجیتالی مانند بیتکوین بوده و به تعدادی از شبکههای دیگر نیز تأثیر گذاشته است. این حملات امکان ایجاد تراکنشهای معتبر را به صورت غیرمجاز دوباره فراهم میکنند و به اعتماد به امنیت و قابلیت اطمینان از تراکنشها آسیب میزنند. به وجود آمدن این نوع حملات، اهمیت انجام تحقیقات جامع در زمینههای امنیتی و مقابله با این تهدیدات را افزایش داده است.
برای مقابله با حملات دوبار خرج کردن، از روشها و مکانیزمهای متعددی استفاده میشود. مدلهای اثبات کار و اثبات سهام، تایید تراکنشها توسط شبکه، زمان انتظار، شناسایی الگوهای مشکوک و کنترل اکثریت از جمله راهکارهایی هستند که به ترکیب با یکدیگر امنیت بیشتری را در شبکههای ارزهای دیجیتالی ایجاد میکنند.
با توجه به تجربیات گذشته و بهبود تکنولوژیها، انتظار میرود که راهکارهای مقابله با حملات دوبار خرج کردن بهبود یابد و امنیت در ارزهای دیجیتالی به سطحی بالاتر ارتقاء یابد. این تحولات نه تنها به اطمینان از تراکنشهای مالی در دنیای دیجیتال کمک میکند، بلکه باعث افزایش اعتماد عمومی به ارزهای دیجیتالی و فعالیتهای مبتنی بر آنها میشود.
موفق باشید
saman