دابل اسپند (Double Spend) یا دابل اسپندینگ (Double Spending) که به آن دو بار خرج کردن میگویند، یک حمله در بلاک چین است که اجازه دوبار خرج کردن یک ارز دیجیتال را به افراد میدهد. در این حالت، پیش از تأیید شدن تراکنش و با سوءاستفاده از تأخیر در پخش و اعتبارسنجی بلاکها، مهاجم میتواند یک مقدار ارز دیجیتال مشخص و یکسان را در چندین تراکنش ارسال کند. البته بلاک چینهایی مانند بیت کوین برای جلوگیری از وقوع حملات دابل اسپند، روشهای مختلفی را پیادهسازی کردهاند.
بد نیست بدانید که چند سال پیش، یک مهاجم توانست ۱.۶ میلیون دلار ارز اتریوم کلاسیک را از طریق دابل اسپندینگ خرج کند. این اتفاق، یکی از بزرگترین حملات در تاریخ دوبار خرج کردن است، اما تا کنون چنین اتفاقی برای شبکه بیت کوین نیفتاده است. ازآنجاکه این اتفاق برای شما نیز ممکن است رخ دهد، لازم است با انواع و روشهای جلوگیری از افتادن در دام دابل اسپند آشنا شوید.
دابل اسپند (Double Spend) یا دابل اسپندینگ (Double Spending) که در ترجمه فارسی به آن دوبار خرج کردن میگویند، یک حمله بالقوه در سیستمهای پولی دیجیتال است. در این روش، میتوان یک مقدار مشخص پول را بیش از یک بار و در تراکنشهای مختلف خرج کرد. این نوع حمله در شبکههای بلاک چینی و ارز دیجیتال نیز دیده شده است، اما اکثر بلاک چینها مانند بیت کوین با پیادهسازی روشهای مختلف، از وقوع آن جلوگیری کردهاند.
برای درک بهتر، مقدار پول مورد نظر برای ارسال را مشابه یک فایل موسیقی درنظر بگیرید. شما بهراحتی میتوانید این فایل دیجیتال را کپی کرده و برای دیگران ارسال کنید. بنابراین، هر فرد یک کپی از فایل شما را در اختیار دارد و دیگر مشخص نیست کدام نسخه، «نسخه اصلی» است.
همین ویژگی برای ارزهای دیجیتال نیز صادق است. اگر راهی برای ردیابی توکنهای خرجشده و تأیید آنها در یک بلاک چین وجود نداشته باشد، بهراحتی میتوان یک مقدار ارز دیجیتال یکسان را بهطور همزمان برای چندین نفر ارسال کرد.
برای درک بهتر نحوه اجرای حمله دابل اسپندینگ در بلاک چین، مثال ساده زیر را در نظر بگیرید:
بااینکه نهایتاً یکی از تراکنشهای ارسالی سارا در بلاک چین تأیید میشود، اما او از تأخیر بلاک چین و فرصت ایجادشده هنگام «در انتظار تأیید بودن» تراکنش اول استفاده و میتواند ادعا کند که تراکنش را برای پریسا نیز ارسال کرده است. حال درصورتیکه پریسا منتظر تأییدشدن تراکنش ارسالی به خود نماند، سارا میتواند محصول یا خدمت مورد نظرش را دریافت کند.
مشخصاً، سرقت ارزهای دیجیتال عمدهترین دلیل مهاجمان برای اجرای حملات دو بار خرج کردن است. اما این تنها علت نیست و ممکن است این افراد با مقاصد دیگری نیز به انجام این کار اقدام کنند. در ادامه، این اهداف را بررسی میکنیم.
فرد سارق با انگیزه سرقت، دو تراکنش یکسان را بهصورت همزمان به دو بخش مختلف شبکه ارسال میکند؛ یکی از این تراکنشها برای فروشنده و دیگری با کارمزد بالاتر و بهامید زودتر تأییدشدن، به آدرس مورد نظر خود سارق ارسال میشود. در صورت موفقیت، فرد سارق ارزهای دیجیتال را در آدرس مورد نظر خود گرفته و فروشنده نگون بخت، با یک تراکنش نامعتبر مواجه میشود.
هکرها و مجرمان سایبری ممکن است برای بازگردانی تراکنشها از این نوع حمله استفاده کنند. با دو بار خرج شدن یک ارز دیجیتال در تراکنشهای مجزا، احتمال از دست رفتن داراییهای یک کاربر عادی وجود دارد.
هدف برخی از افراد از دابل اسپند کردن ارزهای دیجیتال، از بین بردن اعتبار بلاک چینهاست. این افراد برای نشان دادن قدرتشان در دستکاری تراکنشهای مالی، اقدام به انجام چنین حملهای میکنند. این کار برای برخی از افراد، جنبه خودنمایی دارد.
برخی از افراد ممکن است انگیزه شخصی برای استخراج و تأیید تراکنشهای نامعتبر در بلاک چین داشته باشند. در این حالت، ممکن است فردی دیگر به یک ماینر مخرب رشوه داده و او را به قرار دادن یک تراکنش نامعتبر در بلاک بلاک چین ترغیب کند. در ادامه، نودهای شبکه با مشاهده دو تراکنش یکسان، یکی از آنها را تأیید و دیگری را رد میکنند.
۳ حمله شامل فینی، رقابتی و ۵۱ درصد از عمدهترین روشهای دابل اسپند کردن ارزهای دیجیتال هستند. اما این حمله انواع دیگری نیز دارد از جمله:
بیشتر بخوانید: همه راههای هک و حمله به بلاک چین
یکی از رایجترین روشهای اجرای دابل اسپندینگ، ریس اتک (Race Attack) یا حمله رقابتی است که برای مختل کردن روند عادی بلاکچین بهکار میرود. در این روش، فرد مهاجم بهسرعت دو تراکنش را ایجاد و با استفاده از یکی از تراکنشهای تأییدنشده (که البته احتمال تأیید شدن آن نیز پایین است)، محصول یا خدمتی را خریداری میکند. حالا اگر فروشنده به هر دلیلی این تراکنش تأییدنشده را بپذیرد، مهاجم موفق به دو بار خرج کردن یک واحد پولی یکسان میشود.
در حمله رقابتی، عدم قطعیت و تأخیر در اعتبارسنجی تراکنشها و رسیدن به اجماع توسط نودها، از مهمترین عوامل تأثیرگذار بر دو بار خرج کردن هستند.
هال فینی (Hal Finney) بهعنوان یکی از اولین دریافتکنندگان بیت کوین در سال ۲۰۰۹ و کسی که در رفع نقایص پروتکل این ارز دیجیتال نقش زیادی داشت، ایدهای را درخصوص حمله به بلاک چینها مطرح کرد که به اسم او نامگذاری شد. مشابه حمله رقابتی، فینی اتک (Finney Attack) نیز تنها در صورتی ممکن است که فروشنده، تراکنش تأییدنشده را بپذیرد.
در این روش، مهاجم که خود یک ماینر است، دو کیف پول آ و ب شخصی دارد. این فرد ابتدا تراکنشی که از کیف پول آ به ب خود انجام داده است را در یک بلاک قرار داده و پس از استخراج، آن را در شبکه پخش میکند. در همین حین، این فرد هزینه خرید یک محصول از یک فروشنده را با همان ارزهای دیجیتال قبلی انجام داده و به آدرس کیف پول فروشنده میفرستد. پس از چند دقیقه انتظار، فروشنده فرض میکند تراکنش او در ممپول قرار دارد. بنابراین خرید ماینر را تأیید و محصول را برای او ارسال میکند.
اکنون چون تراکنش از والت آ به ب زودتر انجام شده است و احتمالاً کارمزد بیشتری هم دارد، بر تراکنش ثانویه غلبه کرده و فروشنده هیچگاه هزینه محصول را در کیف پول خود دریافت نمیکند.
بیشتر بخوانید: هال فینی کیست؟
در ۵۱٪ اتک یا حمله ۵۱ درصد، مهاجم کنترل بیش از ۵۰ درصد از توان پردازشی (هش ریت) شبکه را بهدست میگیرد. این کنترل اکثریتی به مهاجم اجازه میدهد تا بلاکچین را دوباره سازماندهی، تراکنشها را باطل و ارزهای دیجیتال را دو بار خرج کند. بنابراین، با دستکاری تاریخچه تراکنشهای بلاک چین، فرصت دابل اسپندینگ ارزهای دیجیتال برای مهاجم یا مهاجمان فراهم میشود.
اجرای این حمله در شبکههای دارای هش ریت پایین سادهتر است، اما در شبکههای بزرگی مانند بیت کوین، هزینه هر ساعت اجرای آن بهخاطر نیاز به خرید به صدها هزار تجهیزات تخصصی ایسیک ماینر (ASIC Miner) جهت تسلط بر بیش از ۵۱ درصد از قدرت هش شبکه، به میلیونها دلار میرسد که عملاً اجرای آن را غیرممکن میکند.
بیشتر بخوانید: حمله ۵۱ درصد چیست؟
همانطور که میدانید، طولانیترین زنجیره در یک شبکه، زنجیره معتبر محسوب میشود و بلاکهای ساختهشده در زنجیرههای دیگر همگی رد و تراکنشهای داخل آنها بازگردانی میشوند.
هدف سلفیش ماینینگ (Selfish Mining)، دستکاری بلاک چین از طریق استخراج خصوصی و سپس انتشار زنجیره طولانیتر حاوی بلاکهای بیشتر برای بیاعتبار کردن تراکنشهای قبلی در بلاکهای عمومی است. برای این کار، یک ماینر یا گروهی از ماینرهای قدرتمند، بلاکهای تازه استخراجشده را از شبکه پنهان کرده و پیش خودشان نگه میدارند. این کار به آنها اجازه میدهد یک زنجیره خصوصی در شبکه داشته باشند.
حالا پس از مدتی که این ماینرها تصمیم به انتشار بلاکهایشان در زنجیره جدید بگیرند، درصورتی که تعداد بلاکهای آن نیز بیشتر از زنجیره اصلی باشد، نودها زنجیره اصلی و عمومی را از همان مطقعی که تراکنشهای زنجیره خصوصی به آن اضافه شده است، کنار گذاشته و تراکنشهای زنجیره جدید را تأیید میکنند. این کار فرصت دوبار خرج کردن تراکنشها را برای ماینرهای مخرب فراهم میکند.
در سیبیل اتک (Sybil Attack)، مهاجم چندین نود جعلی در شبکه ایجاد میکند تا نفوذ و کنترل بیشتری بر فرایند اجماع بلاکچین بهدست آورد. با داشتن تعداد کافی از نودهای جعلی، مهاجم میتواند با دستکاری تأیید تراکنشها، اقدام به دو بار خرج کردن ارزهای دیجیتال کند. هدف این حمله، غلبه بر شبکه و مختل کردن فرایند اعتبارسنجی عادی تراکنشهاست تا امکان دابل اسپند کردن رمز ارزها افزایش یابد.
به گفته ساتوشی ناکاموتو، خالق ناشناس بیت کوین، اقداماتی مانند مهر زمانی و همچنین زنجیر کردن تراکنشها به یکدیگر با استفاده از تکنیکهای رمزنگاری، از مهمترین روشهای جلوگیری از وقوع دابل اسپندینگ هستند. بااینحال، برای جلوگیری از دوبار خرج کرن، تکنیکهای دیگری نیز در بلاک چینها پیادهسازی شدهاند که در ادامه آنها بررسی میکنیم.
در بلاکچینهایی که از مکانیزم اجماع قوی برخوردارند، دابل اسپندینگ امکانپذیر نیست. مکانیزمهای اثبات کار (PoW) و اثبات سهام (PoS) از رایجترین الگوهای رسیدن به اجماع در بلاک چینها هستند.
در اثبات کار، ماینرها با حل مسائل ریاضی پیچیده، بلاکهای حاوی تراکنشها را پیدا کرده و درصورت تأیید توسط تمام نودها، بلاک به شبکه اضافه میشود. در اثبات سهام، افراد با قفل کردن یا اصطلاحاً استیک کردن مقدار مشخصی از ارز دیجیتال بومی بلاک چین، بهعنوان اعتبارسنج عمل کرده و تراکنشها را اعتبارسنجی میکنند. طراحی ایمن این سیستمها بهطور پیشفرض از بروز تقلب جلوگیری میکند.
بیشتر بخوانید: الگوریتم اجماع چیست و چه کاربردی در بلاک چین دارد؟
یکی از مؤثرترین روشهای جلوگیری از دابل اسپند شدن ارزهای دیجیتال، تصدیق تراکنشهاست. همانطور که احتمالاً میدانید، دو نوع نود شامل فول نود (Full Node) و لایت نود (Light Node) در بلاک چینها وجود دارد:
حالا ماینرها میتوانند هم فول نود و هم لایت نود باشند. اگر ماینری صرفاً یک لایت نود باشد، بهخاطر اعتبارسنجی نکردن تراکنشها بهصورت شخصی برای تشخیص معتبر بودن آنها، در معرض خطر قرار دادن تراکنش نامعتبر در بلاک استخراجی خودش قرار میگیرد. در این صورت، نودها با مشاهده تراکنش نامعتبر، بلاک او را رد کرده و ماینر نیز پاداش بلاک را از دست میدهد و تراکنشهای داخل آن برگشت میخورند.
در مقابل، اگر ماینر بهصورت فول نود باشد و خودش پیش از انتخاب تراکنشها برای قرار دادن در بلاک و استخراج آن، تراکنشهای را اعتبارسنجی کند، دیگر امکان دابل اسپند شدن و برگشت خوردن تراکنشهای داخل بلاک وجود ندارد.
بیشتر بخوانید: نود چیست؟
تراکنشها در قالب بلاکها دستهبندی شده و بهصورت زنجیرهوار و بهترتیب به یکدیگر متصل میشوند. پس از اضافه شدن یک تراکنش به بلاک چین، آن تراکنش در یک بلاک ذخیره میشود که به بلاکهای قبلی از طریق رمزنگاری متصل است. این ویژگی، تغییر یا دستکاری دادهها را دشوار میسازد و خطر دو بار خرج کردن را کاهش میدهد.
تأییدیه تراکنشها معیار مهم دیگر برای حصول اطمینان از اعتبار آنهاست. همانطور که احتمالاً حین کار با صرافیها دیدهاید، حتی اگر تراکنش شما در بلاک چینی در عرض چند ثانیه هم بهحالت «Successful» و «موفق» درآید، صرافی مدتی را منتظر میماند و سپس انجام آن را تأیید میکند.
در بلاک چین مفهومی بهنام بلاک کانفرمیشن یا تأییدیه بلاک روجود دارد. بر این اساس، هر تراکنش باید چندین تأییدیه دریافت کند تا قرار گرفتن آن در بلاک تضمین شود. این معیار را در اکسپلوررهای بلاک چین نیز مشاهده کردهاید. حال هرچه تعداد تأییدیههای یک تراکنش بیشتر باشد، امنیت آن در برابر دابل اسپند شدن نیز افزایش مییابد.
تعداد تأییدیههای مورد نیاز برای هر بلاک چین متفاوت است. برای مثال، این تعداد برای بیت کوین ۶ تأییدیه و برای اتریوم، ۳۰ تأییدیه است. باتوجه به بلاک تایم (متوسط زمان استخراج بلاک) ۱۰ دقیقهای بیت کوین، پس از ساخت ۶ بلاک جدید و گذشت تقریباً ۶۰ دقیقه، تراکنش شما تأییدیه نهایی را میگیرد.
برخی از سیستمهای بلاکچینی دارای مکانیزمهایی هستند که گنجاندهشدن یک تراکنش در یک بلاک آن هم فقط یکبار را تضمین میکنند. این ویژگی باعث میشود تراکنشها نهایی شده و برگشتناپذیر باشند که میتواند به جلوگیری از مشکل دابل اسپندینگ کمک کند. به این ویژگی، بلاک فاینالیتی یا نهایی شدن بلاک میگویند.
نانس یک مقدار رمزنگاری پیچیده است که باید پیش از استخراج یک بلاک، هش شود. مقدار نانس فقط یکبار قابل استفاده است و بههمینخاطر، به جلوگیری از حملات بازپخش (Replay Attacks) کمک میکند و باعث حفظ یکپارچگی بلاکها میشود.
هر تراکنش موفق در بلاکچین دارای تایم استمپ یا مهر زمانی است که نشان میدهد بلاک مربوطه در چه زمانی به زنجیره اضافه شده است. هنگامی که یک بلاک مهر زمانی میگیرد، تغییر آن غیرممکن میشود. در نتیجه، هرگونه تراکنش متناقض که قصد دو بار خرج کردن داشته باشد، بهخاطر این سازوکار رد خواهد شد.
مهمترین عامل موفقیت اجرای حملات دابل اسپند، کنترل و تسلط مهاجم بر یک یا چند نود شبکه است. برای مثال، در حمله ۵۱ درصد، هکر باید بیش از نیمی از نودهای شبکه را تحت سلطه خود درآورد. یکی از راههای کاهش خطر این حمله، افزایش هزینههای اجرای نود است. مثال شبکه بیت کوین را در بخش قبلی بررسی کردیم.
در سیستمهای بانکی سنتی که نهادهای واسط بر تراکنشها نظارت دارند، دوبار خرج کردن بهندرت اتفاق میافتد. بلاکچینها نیز میتوانند چنین سیستمهایی را برای امنیت بیشتر بهکار گیرند. بااینحال، تناقض این روش با مفهوم غیرمتمرکز بودن بلاک چین، باعث خودداری بسیاری از پروژهها از پیادهسازی چنین تکنیکی شده است.
خروجی خرجنشده تراکنش (Unspent Transaction Output) یا UTXO، حاوی اطلاعات مربوط به تاریخچه و وضعیت فعلی تراکنشهاست. هر تراکنش در بلاک چین یک خروجی دارد که میتواند ورودی یک تراکنش جدید باشد. حالا ورودی جدید تنها زمانی بهعنوان UTXO شناخته خواهد شد که کاربر آن را خرج کرده باشد. بنابراین، با بررسی اینکه یک UTXO قبلاً خرج شده است یا خیر، میتوان از دابل اسپندینگ جلوگیری کرد.
بیشتر بخوانید: UTXO چیست؟
مشکل دو بار خرج کردن گاهی بهدلیل نقصهای امنیتی در پروتکل بلاکچینی یا قراردادهای هوشمند رخ میدهد. بهترین راه برای کشف و رفع این آسیبپذیریها، انجام یک ممیزی امنیتی حرفهای است.
بهعنوان یک کاربر عادی، اگر تراکنشی را از غریبهای دریافت کردهاید، بهتر است پیش از اقدام به ادامه کار مانند ارسال محصول برای او یا واریز مبلغ فیاتی، ابتدا تأییدیههای آن را بررسی کنید. از دیگر روشهای جلوگیری از افتادن در دام هکرها با تراکنشهای دوبار خرج، میتوان موارد زیر را نام برد:
استفاده از ابزارهای نظارت لحظهای میتواند فعالیتهای مشکوک مانند تراکنشهای متناقض را شناسایی کرده و از حملات احتمالی دو بار خرج کردن جلوگیری کند.
نودها قادر به شناسایی و رد تراکنشهای متناقض هستند. اگر فردی درصدد خرج کردن وجوهی باشد که قبلاً در تراکنش دیگر استفاده شده است، آن تراکنش علامتگذاری و نامعتبر خواهد شد. درصورت داشتن دانش فنی کافی، میتوانید یک نود را برای بلاک چین مورد نظر اجرا کرده و خودتان شخصاً اعتبار تراکنشها را بررسی نمایید.
بهعنوان یک فروشنده برای کاهش خطر پذیرش وجوه دوبار خرج شده، باید قبل از نهایی در نظر گرفتن تراکنشها بهویژه تراکنشهای بزرگ، منتظر چندین تأییدیه باشید. اگر تراکنشی دارای تأییده صفر بود، از پذیرفتن آن پرهیز کنید.
برای این کار از اکسپلورر بلاک چین مورد نظر استفاده کنید. اتر اسکن (EtherScan)، بیاسسی اسکن (BSCScan) و ترون اسکن (TronScan) بهترتیب اکسپلورر بلاکچینهای اتریوم، بایننس اسمارت چین و ترون هستند.
استفاده از سگویت
فناوریهایی مانند سگویت (SegWit) با تغییر نحوه ذخیره و اعتبارسنجی دادههای تراکنش، خطر دابل اسپند شدن ارزهای دیجیتال را کاهش داده و کارآیی و امنیت شبکه را بهبود میبخشند.
راهکارهایی مانند شبکه لایتنینگ بیت کوین امکان انجام تراکنش خارج از زنجیره اصلی را فراهم میکنند که سریعتر و کارآمدتر هستند و درعینحال، باعث افزایش امنیت تراکنشهای درونزنجیرهای میشوند.
ارائه آموزشها و منابع به کاربران و توسعهدهندگان درباره بهترین شیوههای جلوگیری از حملات دوبار خرج کردن، به تقویت امنیت کلی سیستمهای ارز دیجیتال کمک میکند.
پاسخ کوتاه خیر است. ساتوشی ناکاموتو تمام تکنیکهایی که در این مطلب برای جلوگیری از حمله دابل اسپندینگ ذکر کردیم را بهکار گرفته است. در این قسمت بهصورت جزئیتر احتمال این کار را بررسی میکنیم.
همانطور که در بخش قبل گفتیم، مهمترین تکنیک برای اجرای دوبار خرج کردن، تسلط بر تعداد کافی نود در شبکه است. این هدف نیز با اجرای حمله ۵۱ درصدی قابل دستیابی است. به استناد وبسایت BitIfoCharts، درحالحاضر در زمان نگارش این مطلب در اسفند ۱۴۰۳، هش ریت شبکه بیت کوین حدود ۸۹۰ اگزاهش بر ثانیه (Ehash/s) است. ۵۱ درصد این مقدار نیز با ۴۵۴ اگزاهش بر ثانیه (۴۵۴,۰۰۰,۰۰۰ تراهش بر ثانیه) برابر خواهد بود.
حال اگر قدرت هش خالص تولیدی یک ایسیک ماینر بهروز و قدرتمند ساخت شرکت بیتمین (Bitmain)، برای مثال دستگاه S۲۱ XP Hyd، را برابر ۴۷۳ تراهش بر ثانیه (Thash/s) در نظر بگیریم، به حدود ۱ میلیون واحد از این دستگاه برای رسیدن به قدرت هش ۴۵۴ میلیون تراهش/ثانیه که معادل ۵۱ درصد از قدرت هش فعلی بیت کوین است، نیاز داریم. قیمت هر واحد از این دستگاه نیز حدود ۱۴,۵۰۰ دلار است.
با توجه به اعداد و ارقام بهدست آمده، چنین حملهای به شبکه بیت کوین میلیونها دلار هزینه داشته و صرفه اقتصادی ندارد.
اگر فرض را بر این بگیریم که چندین ماینر، مثلاً در یک استخر استخراج، برای گرفتن قدرت هش تبانی کرده و حمله ۵۱ درصدی را برای دابل اسپند کردن تراکنشها انجام دهند، باز هم این کار صرفه اقتصادی ندارد و صرفاً باعث نابودی بیت کوین میشود.
به محض حمله ۵۱ درصدی به بیت کوین، بهخاطر عمومی بودن بلاک چین این ارز دیجیتال، همه افراد از این اتفاق باخبر شده و برای فروش ارزهای دیجیتالشان هجوم میآورند. در این صورت، به احتمال زیاد دیگر کاربری در شبکه وجود نخواهد داشت که ماینرها بخواهند تراکنش او را بازگردانی کرده یا خودشان اقدام به دابل اسپند کنند. بنابراین، احتمال رخداد این فرضیه نیز تقریباً صفر است.
دوبار خرج کردن زمانی اتفاق میافتد که یک ارز دیجیتال بیش از یکبار خرج شود. در این روش، هکرها و مجرمان سایبری یک مقدار مشخص و یکسان ارز دیجیتال را در دو تراکنش مجزا ارسال کرده و از تأخیر بلاک چین در اعتبارسنجی تراکنشها، سوءاستفاده میکنند.
بلاک چینها با استفاده از سازوکارهایی مانند اثبات کار (PoW) و اثبات سهام (PoS)، تأیید چندگانه تراکنشها و ایجاد زنجیرهای از بلوکها، از ثبت تراکنشهای متناقض جلوگیری میکنند.
در شرایط عادی، خیر. اما اگر مهاجمی کنترل بیش از ۵۱ درصد قدرت هش شبکه را در اختیار بگیرد یا از حملاتی مانند فینی (Finney Attack) و رقابتی (Race Attack) استفاده کند، امکان وقوع آن وجود دارد.
در شبکههای بزرگی مانند بیت کوین که هش ریت بالایی دارند، برای تسلط بر بیش از ۵۱ درصد از قدرت هش شبکه، به خرید صدها هزار دستگاه ایسیک ماینر تخصصی نیاز است که امروزه هزینه این کار به میلیونها دلار میرسد.
دوبار خرج کردن یا دابل اسپندینگ (Double Spending) یکی از مشکلات بالقوه در سیستمهای دیجیتال است که در آن یک دارایی دیجیتال بیش از یکبار خرج میشود. در بلاک چین، این مشکل با استفاده از مکانیزمهای اجماع مانند اثبات کار (PoW) و اثبات سهام (PoS)، تأییدیههای چندگانه تراکنشها و ساختار زنجیرهای بلوکها قابل برطرف شدن است. روشهایی مانند نظارت بر شبکه، سگویت، راهکارهای لایه ۲ و بررسی UTXOها نیز میتوانند به کاهش این ریسک برای کاربران عادی کمک کنند. رعایت این تدابیر امنیتی از پذیرش تراکنشهای نامعتبر و حملات مرتبط با دابل اسپند کردن جلوگیری میکند.