آنچه در این مقاله می خوانیم

دابل اسپندینگ یکی از مشکلاتی است که عموما در حین حملات 51 درصدی اتفاق می افتد. در این مقاله درباره آن بیشتر بدانید.

دابل اسپندینگ در شبکه بیتکوین به چه معناست

دابل اسپندینگ در شبکه بیتکوین به چه معناست

زمان مطالعه: 6 دقیقه

27 تیر 1400

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

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

دابل اسپندینگ در دنیای واقعی

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

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

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

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

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

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

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

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

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

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

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

خرج دوباره مشکوک و پرحاشیه توسط بیتمکس (BitMEX) و در بلاک ۶۶۶,۸۳۳ گزارش شد. به‌گفته بیتمکس، بلاک کهنه یا بلاک یتیم (Orphaned Block)، حاوی یک تراکنش بود که در زنجیره معتبر هم وجود داشت. یعنی یک تراکنش حاوی بیت کوین‌هایی بود که هم در زنجیره معتبر و هم در زنجیره نامعتبر وجود داشت.

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

چه زمانی ممکن است دابل اسپندینگ در شبکه رخ دهد؟

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

دابل اسپندینگ یعنی چه؟

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

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

RBF تنها جابجا کردن و تغییر دادن میزان فی تراکنش است و در آن پولی دوبار خرج نمیشود.

به این مقاله امتیاز دهید.

امتیاز این مقاله:

نشانی ایمیل شما منتشر نخواهد شد.