ایران‌فی
ورود
خبر

شاخص‌یاب

جست‌وجوی نام یا نماد یک دارایی

تحلیل بنیادین · پیش‌بینی بازارها · تحلیل تکنیکال

دوبار خرج کردن چیست؟

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

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

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

نکات کلیدی

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

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

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

جلوگیری از دوبار خرج کردن

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

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

حملات دوبار خرج کردن

بزرگترین خطر دوبار خرج کردن برای بلاک‌چین‌ها، حمله ۵۱٪ است که می‌تواند زمانی رخ دهد که یک نهاد بیش از ۵۰٪ از قدرت هشینگ یا مکانیزم‌های اعتبارسنجی شبکه را کنترل کند.

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

اتریوم از مکانیزم استیکینگ استفاده می‌کند، جایی که فقط کاربران که مقادیر زیادی اتر را در قراردادهای هوشمند قفل کرده‌اند می‌توانند اعتبارسنجی کنند و بلوک‌ها را پیشنهاد دهند. برای تلاش برای این حمله، یک گروه یا نهاد باید بیش از ۵۰٪ از اترهای استیک‌شده در شبکه را کنترل کند—یک تلاش بسیار پرهزینه زیرا برای راه‌اندازی یک گره، به ۳۲ اتر (حدود ۹۵،۲۰۰ دلار در قیمت ۱۵ مه ۲۰۲۴) نیاز است و همچنین یک مکانیزم وجود دارد که توکن‌های اعتبارسنجی‌های نادرست را از بین می‌برد.

حمله مسابقه‌ای

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

حمله فینی

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

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

حمله سیبیل

حمله سیبیل زمانی است که چندین گره ایجاد می‌شود تا تأثیرگذاری بر شبکه به دست آید. این شبیه به حمله ۵۱٪ است، اما در مقیاس کوچکتر. حملات سیبیل را می‌توان به عنوان پیش‌زمینه‌ای برای حملات ۵۱٪ در نظر گرفت.

آیا دوبار خرج کردن غیرقانونی است؟

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

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

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

دوبار خرج کردن به چه معناست؟

دوبار خرج کردن به معنای استفاده از همان ارز دیجیتال یا توکن بیش از یک بار است.

مثالی از مشکل دوبار خرج کردن چیست؟

دوبار خرج کردن به تغییر یک تراکنش در بلاک‌چین یا دفتر توزیع‌شده اشاره دارد به طوری که یک توکن خرج‌شده دوباره مصرف شود.

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

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

خط پایان

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

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