بلاک چین

دابل اسپندینگ (Double Spending) یا دوبار خرج کردن چیست؟ + شیوه های مقابله با دابل اسپندینگ

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

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

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

دابل اسپندینگ چیست؟

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

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

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

بررسی دابل اسپندینگ در بیت کوین

در تاریخ بلاکچین بیت کوین می‌توانید مشاهده کنید که بیت کوین تا به حال؛ 2 مرتبه با دابل اسپندینگ مقابله کرده است. مقابله بیت کوین با دابل اسپندینگ به شکلی هست که زمانبی که کاربران یک تراکنش ایجاد می‌کنند تا زمان معینی در یک بلاک منتظر می‌مانند تا راهی برای معکوس کردتن عملیات وجود نداشته باشد. به نقلی دیگر، بعد از ثبت کامل یک عملیات دیگر نمیتوان آن را لغو نمود.

خواندن این مقاله
دائو (DAO) یا سازمان غیرمتمرکز چیست؟ معرفی بهترین پروژه های غیرمتمرکز

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

انواع حملات دابل اسپندینگ

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

حمله 51 درصد (Attack 51%)

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

ریس اتک (Race Attack)

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

حمله فینی (Finny Attack)

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

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

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

روش متمرکز

بانک‌ها می‌توانند از توکن‌های به اصطلاح «کور» برای صدور دارایی‌های دیجیتالی مشابه پول نقد (که امکان ناشناس ماندن و نقل و انتقالات همتا به همتا را فراهم می‌کند) استفاده کنند. این امضا از دابل اسپندینگ جلوگیری می کند.

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

خواندن این مقاله
منظور از(ٍ ERC20 ) چیست؟ هرآنچه باید راجب توکن های ERC-20 بدانید!

حال با ارسال چنین اطلاعاتی به بانک، بانک فقط می‌داند که شخص درخواست برداشت ۱۰۰ دلار از حساب خود را دارد و به ازای آن مبلغ، ۵ اسکناس با همان «سریال های کور» به ارزش هر کدام ۲۰ دلار ارسال می‌شود. با امضاء و تأیید بانک به ایشان. پس از صدور صورتحساب، دارنده صورتحساب می تواند به رستوران یا هر مکان دیگری رفته و یک قبض را برای دوبار پرداخت مثلاً 40 دلار نشان دهد. به این ترتیب بانک می تواند از دابل اسپندینگ جلوگیری کند. در دنیای ارز های دیجیتال برای مقابله با دابل اسپندینگ به روش متمرکز از همین تکنیک استفاده میشود.

روش غیرمتمرکز

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

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

سخن پایانی

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

منبع: https://b2n.ir/h01002

امتیاز دهی به این مطلب

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا