حمله دوبار خرج کردن چیست؟ بررسی در بلاکچین و دنیای دیجیتال
آشنایی با حمله دوبار خرج کردن در بلاکچین
حمله دوبار خرج کردن چیست؟ حمله دوبار خرج کردن (Double Spending) مشکلی منحصر به ارزهای دیجیتال است که در آن یک کاربر میتواند دارایی دیجیتالی یکسانی را بیش از یک بار خرج کند. بله متاسفانه این موضوع حقیقت دارد! کاربران در نهایت میتوانند اطلاعات دیجیتالی را به راحتی بازتولید کنند.
بیت کوین با مشکل «حمله دوبار خرج کردن» با موفقیت مقابله کرده، اما همه ارزهای رمزنگاریشده از الگوریتم اجماع یکسانی استفاده نمیکنند.
البته فقط به این دلیل که بیت کوین کاربران را در برابر حملات دوبار خرج کردن محافظت میکند، بدان معنا نیست که همه تراکنشهای شما ایمن هستند. به همین دلیل، امروز در این مقاله همه چیزهایی که باید در مورد این حمله بدانید، عنوان میکنیم.
اما مشکل اساسی دوبار خرج کردن چیست؟ این حمله یک مشکل محاسباتی بزرگ است که باید توسط هر ارز رمزنگاریشده به صورت جداگانه حل شود. در غیر این صورت ارز رمزنگاریشده مورد نظر بیارزش خواهد بود زیرا هرکسی میتواند در هر زمانی یک معامله یکسان را با آن ارز، تکرار کند.
برای کسب اطلاعات بیشتر درباره این موضوع تا انتهای این مقاله با آکادمی کیوسک همراه باشید.
مطالعه بیشتر: اندازه بلاک
حمله دوبار خرج کردن چیست؟
دوبار خرج کردن ریسکی است که در آن یک رمز ارز میتواند دوبار مصرف شود. این یک مشکل بالقوه منحصر به ارزهای دیجیتال است، چون اطلاعات دیجیتالی میتوانند به راحتی توسط افراد باهوش که بر شبکه بلاکچین و قدرت محاسباتی لازم برای دستکاری آن تسلط دارند، خیلی راحت، دوباره تولید شود.
ارزهای فیزیکی این مشکل را ندارند زیرا نمیتوان آنها را به راحتی تولید و دوبار مصرف کرد. طرفین درگیر در یک معامله با ارز فیزیکی میتوانند بلافاصله اصالت و مالکیت اصلی ارز فیات را بررسی کنند. البته این موضوع شامل موارد مربوط به معاملات نقدی نمیشود. (لینک پیشنهادی: خرید ارز دیجیتال)
در مورد ارزهای دیجیتال، این خطر وجود دارد که دارنده بتواند یک کپی از رمزارز مورد نظر را تهیه کرده و در عین حفظ سکه اصلی، کپی آن را برای یک تاجر یا شخص دیگری ارسال کند.
اولین سکه آسیبدیده از حمله دوبار خرج کردن چیست؟ طبیعی است که اولین کریپتوکارنسی متولد شده، بیت کوین! بیت کوین، محبوبترین ارز دیجیتال، اولین طعمه «حمله دوبار خرج کردن» بود. زیرا این رمزارز غیرمتمرکز بود و هیچ مرکزی نمیتوانست تایید کند که سکههای مورد نظر تنها یکبار خرج شدهاند. با این حال، بیت کوین مکانیزمی مبتنی بر گزارشات تهیه شده از معاملات دارد که تحت عنوان بلاکچین شناخته میشود. شبکه بلاکچین (سیستمی برای ثبت اطلاعات) به تایید صحت هر تراکنش و جلوگیری از حمله دوبار خرج کردن، کمک زیادی کرد.
مطالعه بیشتر: بلاکچین چیست؟
حمله دوبار خرج کردن چگونه اتفاق میافتد؟
«حمله دوبار خرج کردن» زمانی اتفاق میافتد که یک شبکه بلاک چین مختل و سکه اصلی سرقت شود. در این حالت فرد کلاهبردار یک نسخه کپی از سکه را برای درست جلوه دادن معامله در جریان، ارائه میدهد. اگر چه این حمله خیلی متداول نیست، اما باید بدانید رخ میدهد.
- تصور کنید آلیس قصد انجام یک معامله را دارد. تمام بیت کوینهای مورد نظر آلیس برای معامله، بدون استثنا، در بلوک «a» بلاکچین قرار گرفتهاند. همانطور که میدانید هر بلوک با اطلاعات خاصی رمزگذاری شده است، این موضوع دستکاری بلاکچین را به شدت دشوار میکند.
- در یک حالت کتی که آن طرف معامله است، رمز ارزی دریافت نمیکند. در این وضعیت یکی از گزینههای احتمالی رخ دادن «حمله دوبار خرج کردن» است. در این شرایط تعداد سکه مشخص شده به دو نفر وعده داده شده است اما فقط به یک نفر تحویل داده میشود.
- در حالت دیگر جان که یکی از توسعه دهندگان بلاکچین است، تضمین میکند که سازوکار بلاکچین بینقص است و مالک واقعی سکهها تایید هویت شده است.
- در انتهای یک معامله موفق، روند تبادل توسط بلاک چین تایید شده است و باب سکهها را دریافت کرده است.
مطالعه بیشتر: الگوریتم اجماع
انواع حمله دوبار خرج کردن
با وجود اینکه همه ارزهای رمزنگاریشده از مکانیزم تایید و اجماع اثبات کار استفاده نمیکنند، اما اکثر آنها میتوانند با حمله دوبار خرج کردن مقابله کنند. به طور کلی حمله دوبار خرج کردن به سه روش رخ میدهد:
مطالعه بیشتر: محدویتهای بلاکچین
حمله ۵۱ درصد
وقتی یک فرد یا سازمان، بیش از نیمی از میزان هش شبکه را کنترل کند، میتواند در تراکنشهای انجام گرفته دخالت کند. به عبارتی میتواند معاملات را لغو یا اصلاح کند. احتمال وقوع چنین حملهای در بیت کوین خیلی کم است، ولی امکان رخ دادن این اتفاق در دیگر رمزارزها وجود دارد.
مطالعه بیشتر: ارتفاع بلاک در بلاکچین
حملات مسابقهای
در شرایطی که دو تراکنش متناقض با یک ورودی یکسان صورت گرفتهاند، باید فقط یکی از آنها تایید شود. هدف فرد مهاجم این است که معاملهای را مورد پذیرش شبکه قرار دهد که به سود اوست. این حملهها نیاز به گیرندهای دارد که تراکنشها را به عنوان پرداخت قبول کند.
مطالعه بیشتر: مورتورهای جستجوی مبتنی بر بلاکچین
حمله فینی
حمله فینی زمانی رخ میدهد که تاجر، فروشنده یا فرد دوم در تبادل منتظر تایید معامله نباشد. مهاجم یک تراکنش را در بلاک مورد نظر استخراج میکند و سپس همان سکهها را در معامله دیگری خرج میکند. بعد از تبادل، بلاک را در شبکه پخش میکند. این بلاک احتمالا دارای یک پرداخت نامعتبر است.
آیا در تراکنشهای بیت کوین از حمله دوبار خرج کردن در امانیم؟
تصور کنید که 1 بیت کوین دارید و سعی میکنید آن را دو بار در دو تراکنش جداگانه خرج کنید. میتوانید این کار را با ارسال آن یک عدد بیت کوین به دو آدرس کیف پول بیت کوین جداگانه انجام دهید.
مطالعه بیشتر: فورک در بلاچین چیست؟
هر دوی این معاملات وارد مجموعه معاملات تایید نشده میشوند. اولین تراکنش از طریق «مکانیسم تایید» تایید میشود. اما تراکنش دوم در فرایند تایید معتبر شناخته نمیشود و مورد تایید قرار نمیگیرد.
اگر هر دو تراکنش به طور همزمان وارد «مکانیسم تایید» شوند، معاملهای با بیشترین تعداد تایید در بلاک چین گنجانده میشود و تراکنش دیگر کنار گذاشته میشود. در حالی که این امر به طور موثر در برابر «حمله دوبار خرج کردن» مقابله میکند، بازهم بدون مشکل نیست.
قیمت تتر، قیمت بیت کوین امروز، قیمت اتریوم و سایر ارزهای دیجیتال را میتوانید در صرافی کیوسک ببینید.
بیت کوین چگونه از حمله دوبار خرج کردن جلوگیری میکند؟
معامله در شبکه بیت کوین مستلزم این است که همه تراکنشها، بدون استثنا در بلاکچین گنجانده شوند. این مکانیزم تضمین میکند، طرفی که بیت کوین را خرج میکند، واقعا مالک اصلی آن سکه است. بنابراین، این مسئله از حمله دوبار خرج کردن جلوگیری میکند. بلاکچین با افزودن تراکنشهای تاییدشده به شبکه، با گذشت زمان گسترش مییابد.
مطالعه بیشتر: اثبات دانش صفر
تایید تراکنشهای بیت کوین مدتی طول میکشد، زیرا این فرآیند شامل الگوریتمهای پیچیدهای است که قدرت محاسباتی زیادی را به خود اختصاص میدهند. بنابراین تکرار یا جعل بلاکچین به دلیل قدرت زیاد محاسباتی مورد نیاز، بسیار دشوار است.
مطالعه بیشتر: تفاوت دیتابیس و بلاکچین
برنامه بیت کوین برای مقابله با حمله دوبار خرج کردن چیست؟
بیت کوین پروتکلی را برای مقابله با «حمله دوبار خرج کردن» اجرا کرده است. بلاکچین یک مکانیزم است که از اولین معامله انجام شده در سال 2009، به صورت کاملا مرتب پردازش شده است.
فرض کنید یک کاربر دنیای دیجیتال قصد دارد از یک بیت کوین برای خریدهای متعدد از سایر افراد و تجار استفاده کند.
همه معاملات به مجموعهای میروند که باید منتظر تایید آنها باشید. اولین تراکنش تایید شده و در بلاک چین منتشر میشود. با افزودن هر بلوک جدید به دفتر کل توزیعشده معاملات بیشتری تایید میشوند.
معامله دوم در صورت استفاده از ورودی یکسان معتبر نخواهد بود زیرا ماینرها میتوانند حمله دوبار خرج کردن را بر اساس سوابق قبلی شناسایی کنند. در نتیجه معامله مورد نظر را تایید نمیکنند.
مطالعه بیشتر: پل بلاکچین
حالا اگر دو تراکنش با ورودی یکسان انجام شوند، چه اتفاقی میافتد؟ ماینرها تراکنشی را که تاییدیههای بیشتری دارد میپذیرند و این مورد تنها معاملهای خواهد بود که روی بلاکچین ثبت میشود.
تاجران و فروشندگانی که پرداخت با بیت کوین را قبول میکنند، باید قبل از ارسال کالا یا خدمات خود منتظر تایید بلاکچین باشند تا از کلاهبرداری در امان بمانند. به این ترتیب غیرقابل برگشت بودن معامله برای فروشندگان تضمین میشود.
برای خرید و فروش لایت کوین، خرید بیت کوین، خرید اتریوم و دیگر رمز ارزها میتوانید از خدمات کیوسک استفاده کنید. کیوسک کمترین میزان کارمزد را دریافت میکند.
جمعبندی
حمله دوبار خرج کردن برای کاربران ارزهای رمزنگاریشده بسیار خطرناک است. افراد زیادی در این شرایط مورد کلاهبرداری قرار میگیرند و اعتبار شبکه آسیب میبیند.
مطالعه بیشتر: کاربردهای بلاکچین
یک ارز رمزنگاریشده که نمیتواند با «حمله دوبار خرج کردن» مقابله کند، ابتدا باید با تورم و سپس با عدم اعتماد جامعه روبرو شود. این اتفاق به ناچار منجر به بیارزش شد آن رمز ارز میشود.
مطالعه بیشتر: دفتر توزیع شده در بلاکچین
سپاسگزاریم که تا انتهای این مقاله با ما همراه بودید. اگر تا کنون مورد حمله دوبار خرج کردن قرار گرفتهاید تجربه خود را با ما در میان بگذارید.