توسعه دهنده: اسماعیل زاده، رحیم زاده

اخبار ارزهای دیجیتال

اخبار و خرید و فروش بیت کوین و آلت کوین ها

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

نویسنده : ف.ساقی

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

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

دوبار خرج کردن

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

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

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

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

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

بیت کوین از سیستمی استفاده کرد تا بتواند تراکنش‌ها را در آن ثبت کرد. در این سیستم تراکنش‌ها باید حتما به صورت زنجیروار و در یک دفتر کل توزیع شده ثبت شوند. ( این همان بلاک چین است که می توانید برای مطالعه کامل به اینجا مراجعه کنید.) این سیستم یک دفتر ثبت دیجیتال است که مانند سیستم‌های سنتی رکورد تمام تراکنش‌ها را در خود ذخیره می‌کند.

برای مثال برای بیت کوین از سال ۲۰۰۹ تا بحال تمام تراکنش‌ها موجود است. اطلاعات داخل بلوک ها قرار می‌گیرد. هر ۱۰ دقیقه یک بلوک به دفترکل اضافه می‌شود و همه گره‌ها در شبکه بیت کوین یک کپی از این دفتر جهانی دارند.

اما چگونه این موضوع از دوبار خرج کردن جلوگیری می‌کند؟

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

اگر دو ماینر هم زمان دو تراکنش شما را تایید کنند. در این شرایط چه اتفاقی می‌افتد؟

در اینصورت تراکنشی که حداکثر تعداد تاییدیه‌های شبکه را دریافت کند قبول خواهد شد و داخل بلوک قرار می‌گیرد و دیگری دور ریخته خواهد شد. حالا شاید تراکنش اول که شما برای خرید استفاده کرده بودید و تراکنش درست بوده مورد تایید شبکه قرار نگیرد و این به ضرر شخص دوم خواهد بود.

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

چطور حمله‌ی «دو بار خرج کردن» به وقوع می‌پیوندد؟

۱- حمله‌ی ۵۱ درصدی

اگر یک نفر، ۵۱ درصد از «قدرت هش» شبکه را در دست بگیرد می‌تواند منجر به «دو بار خرج کردن» شود.

تا کنون چنین حمله‌ای در بیت کوین رخ نداده است؛ زیرا کنترل ۵۱ درصد از شبکه قدرت سخت افزاری بسیار بالایی نیاز دارد. این قدرت بستگی به سختی شبکه (Difficulty), مصرف برق و سخت افزار دارد که انجام چنین کاری را غیرممکن می‌کند.

۲- حمله‌ی رقابتی

وقتی شما سریع و همزمان یک بیت‌ کوین را به دو آدرس می‌فرستید مسلماً یکی از آن تائید نمی‌شود. حال شما به عنوان یک فروشنده که منتظر دریافت بیت‌ کوین می‌باشید اگر منتظر ۶ تائید نباشید، احتمال (ناچیزی) وجود دارد که بیت‌ کوین به آدرس کیف پول شما وارد نشود. برای همین است که به فروشنده‌ها توصیه می‌شود حداقل برای ۶ تائید صبر کنند.

در تاریخ ۹ ساله‌ی بیت‌ کوین چنین حملاتی ناموفق بوده است. مکانیسم بیت‌ کوین برای نگهداری یک مبادله معامله جهانی براساس تائیدیه هنوز مورد فریب قرار نگرفته است.

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

صفحه اصلی

خرید و فروش ارزدیجیتال

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

  • bitcoinBitcoin (BTC) $ 61,195.00
  • ethereumEthereum (ETH) $ 3,892.52
  • tetherTether (USDT) $ 1.00
  • dogecoinDogecoin (DOGE) $ 0.238022