عناوینی که در این مقاله می خوانید
- 1 “انواع دوبار خرج کردن یا دابل اسپند” چیست؟
- 1.1 “حمله فینی و حمله رقابتی به عنوان دو زیرمجموعه حمله تراکنش تأییدنشده”
- 1.2 “حمله رقابتی: رقابت بین دو تراکنش در زمان یکسان”
- 1.3 “حمله دابل اسپندی و خرج دوباره بیت کوین”
- 1.4 “موفقیت حملات دابل اسپندی و تأییدنشدن تراکنشها”
- 1.5 “مبنای ارزهای دیجیتالی و نیاز به اعتبارسنجی”
- 1.6 “راهکار ایمنی در استفاده از بیت کوین”
- 1.7 “بررسی وضعیت تأیید تراکنش بیت کوین”
- 1.8 حمله فینی در بیت کوین
- 1.9 حمله فینی
- 1.10 توضیحات درباره حمله فینی
- 1.11 حمله ۵۱ درصدی در بیت کوین
- 1.12 عدم بروز حمله ۵۱ درصدی در بیت کوین
- 1.13 قدرت هش بالای بیت کوین و امنیت شبکه
- 1.14 بروز حملات ۵۱ درصدی در برخی ارزهای دیجیتال
- 1.15 علت امکانپذیر بودن حملات ۵۱ درصدی در برخی ارزهای دیجیتال
- 1.16 حملات ۵۱ درصدی به شبکههای ارزهای دیجیتال
- 1.17 توصیههایی برای پیشگیری از حملات به شبکههای ارزهای دیجیتال
- 1.18 درباره حملات ۵۱ درصدی و پیشگیری از آن
- 1.19 “توجه به ذخیره سازی ارز دیجیتال در صرافیها”
دابل اسپند (double-spend) یا دوبار خرج کردن داراییها، به حالتی گفته میشود که یک واحد یکسان از داراییهای دیجیتال، با روشهای کلاهبردارانه بیش از یک بار خرج شود.
در واقع این نگرانی در دنیای دیجیتال امری طبیعی است؛ چرا که فایلهای دیجیتالی را بهراحتی میتوان کپی و تکثیر کرد. البته ارزهای دیجیتال دقیقاً با هدف رفع این چالش ایجاد شده و از سازوکاری استفاده میکنند که عملاً «کپیکردن» آنها را غیرممکن میکند؛ اما انواع خاصی از حملات هک وجود دارد که کلاهبرداران از طریق آنها میتوانند تراکنشهای ارزهای دیجیتال را «معکوس کنند» و یا پیش از تأیید و نهاییشدن یک تراکنش آن را «به شخص دیگری ارسال کنند».
یکی از بزرگترین مسائل در دنیای داراییهای دیجیتال، مشکل دوبار خرج کردن داراییها است. ایدهی ارزهای دیجیتال پیش از بیت کوین وجود داشت و شاید برای شما جالب باشد که بدانید در گذشته تلاشهای بیثمری برای ابداع ارزهای دیجیتال انجام شده بود. یکی از علل اصلی شکست توسعهدهندگان آنها، ناموفقیت در حل مشکل دابل اسپند بود.
اگرچه با استفاده از فناوری بلاک چین، بیت کوین توانست مشکل دوبار خرج کردن را تا حد زیادی برطرف کند، اما هنوز احتمال وقوع چنین حملاتی در بلاک چین بیت کوین و ارزهای دیجیتال جدیدتر وجود دارد. در این مقاله، با استفاده از یک مقاله از دانشنامه وبسایت Gemini، قصد داریم به شرح جامعی بر مسئله دوبار خرج کردن داراییها در دنیای ارزهای دیجیتال بپردازیم و انواع این حملات را بررسی کنیم.
“انواع دوبار خرج کردن یا دابل اسپند” چیست؟
حمله دوبار خرج کردن، به معنای بیش از یک بار خرج کردن یک واحد مشخص از یک ارز دیجیتال با کلاهبرداری است. اگرچه کپی کردن فیلمها، موسیقیها و عکسهای دیجیتال به راحتی امکانپذیر است، اما بهدلیل طراحی هوشمندانه ارزهای دیجیتال، کپی کردن آنها امکانپذیر نیست.
با این حال، انواع خاصی از حملات دوبار خرج کردن وجود دارند که کلاهبرداران و هکرها میتوانند با استفاده از آنها، تراکنشهای ارزهای دیجیتال را معکوس کنند. حمله فینی، حمله رقابتی و حمله ۵۱ درصدی از جمله انواع حملات دوبار خرج کردن هستند.
“حمله فینی و حمله رقابتی به عنوان دو زیرمجموعه حمله تراکنش تأییدنشده”
دو حمله فینی و حمله رقابتی که در بالا به آنها اشاره شد، هر دو زیرمجموعه حمله تراکنش تأییدنشده هستند. اگر یک تراکنش تأییدنشده را به آدرس کیف پول خود بپذیرید، در برابر هر دو حمله آسیبپذیر خواهید بود.
برای بهتر درک مسئله دوبار خرج کردن، هر سه نوع حمله را به صورت جداگانه بررسی خواهیم کرد. همچنین، میتوانید مطالب مرتبط با کارکرد بیت کوین و تراکنشهای آن را نیز مطالعه کنید.
“حمله رقابتی: رقابت بین دو تراکنش در زمان یکسان”
حمله رقابتی به زبان ساده به معنای رقابت بین دو تراکنش است که تقریباً در زمان یکسان منتشر شدهاند. این حمله به این صورت انجام میشود که یک شخص دو تراکنش را به صورت همزمان منتشر میکند؛ بهطوری که در تراکنش اول، آدرس کیف پول مخاطب موردنظر و در تراکنش دوم، آدرس دیگر خودش را ثبت میکند. سپس پیش از ثبت تراکنش اول روی بلاک چین، آن را با تراکنش دوم جایگزین کرده و وجوه را به آدرس خودش بازگردانده، در نتیجه آدرس مقصد تراکنش اول از دست میرود و تراکنش دوم به عنوان تراکنش معتبر شناخته میشود.
“استفاده از ویژگی جایگزینی کارمزد در بیت کوین برای خرج دوباره”
در دسامبر سال ۲۰۱۹، ویدیویی منتشر شد که باعث بروز سروصدا شد. این ویدیو نشان میداد که برخی از فروشگاهها بیت کوین را به عنوان ابزار پرداخت میپذیرفتند و امکان خرج دوباره بیت کوین در آنها وجود داشت.
برای انجام این کار، از ویژگی جایگزینی کارمزد (Replace-By-Fee) در برخی از کیف پولهای بیت کوین استفاده میشد. جایگزینی کارمزد یا بهاختصار RBF یک ارتقای نسبتاً جنجالی است که در پروتکل بیت کوین اعمال شده است. میتوانید همچنین درباره مسئله تأیید تراکنش و کارمزد بیت کوین بیشتر بدانید.
“حمله دابل اسپندی و خرج دوباره بیت کوین”
در حمله دابل اسپندی که در ویدیوی مذکور نشان داده شده بود، ابتدا یک تراکنش به فروشنده ارسال میشد و بلافاصله پس از آن، تراکنش دوم با کارمزد بیشتر و این بار به آدرس خود فرستنده ارسال میشد. با توجه به اینکه کارمزد بالاتر به معنای در اولویت قرارگرفتن تراکنش (برای ماینرهای شبکه) است، تراکنش اول لغو میشد و امکان خرج دوباره بیت کوین فراهم میشد.
“موفقیت حملات دابل اسپندی و تأییدنشدن تراکنشها”
در واقع، علت موفقیت حملات دابل اسپندی، پذیرش فروشندگان تراکنشهای تأیید نشده بود. در یک حادثه مشابه در اوایل همان سال، برخی از دارندگان بیت کوین در کانادا، بیت کوینهای خود را به نقد تبدیل کردند، بدون اینکه واقعاً آنها را خرج کنند یا از دست بدهند. به نظر میرسد که آنها بیت کوین را به دستگاههای خودپرداز بیت کوین ارسال میکردند و پس از دریافت پول نقد از خودپرداز، تراکنش موردنظر را (که هنوز در شبکه تأیید نشده بود) لغو میکردند.
البته که این مورد ناشی از باگ دستگاههای خودپرداز بود، اما بهعنوان یک نتیجهگیری کلی از چنین اتفاقاتی، باید در نظر داشت که هر تراکنشی که در شبکه بیت کوین ارسال میشود، لزوماً قطعی نیست و ممکن است به دلایل مشخصی لغو شود.
“مبنای ارزهای دیجیتالی و نیاز به اعتبارسنجی”
ارزهای دیجیتالی مانند بیت کوین، بر پایه بلاک چین ساخته شدهاند و برای نهاییشدن تراکنشهای آنها، نیاز به اعتبارسنجی و تأیید نودهای شبکه دارند.
“راهکار ایمنی در استفاده از بیت کوین”
بنابراین، برای ایمنی در استفاده از بیت کوین، هرگز تراکنشهای تأییدنشده را نپذیرید. همانطور که در صورت انتقال پول از طریق اینترنتبانک، به رسید واریز اعتماد نمیکنید و صبر میکنید تا پیامک واریز به کارت خود را دریافت کنید، در اینجا هم نباید به رسید اولیه ارسال تراکنش اعتماد کنید. بلکه باید صبر کنید تا رسید تراکنش (TxID) را در کیف پول خود دریافت کنید و از نهاییشدن تراکنش در بلاکچین مطمئن شوید.
“بررسی وضعیت تأیید تراکنش بیت کوین”
وقتی تراکنش ارسالشده به آدرس شما، در شبکه بلاک چین تأیید شود، هش یا شناسه تراکنش (TXID) در کیف پول شما نمایش داده میشود. بهترین کار این است که این شناسه را در اکسپلوررهای بلاک چین مانند blockchair.com جستجو کنید و وضعیت تأییدهای آن را بررسی کنید.
برای تراکنشهای بیت کوینی که مبالغ بالایی دارند، پیشنهاد میکنیم حداقل ۶ تأیید را منتظر بمانید و تراکنشهایی که تعداد تأییدهای کمتری دارند را نهایی تلقی نکنید.
حمله فینی در بیت کوین
حمله فینی (Finney attack)، در بیت کوین یک نوع حمله نسبتاً فنی و دشوار است که فقط ماینرها میتوانند آن را انجام دهند. در این حمله، ماینر یک تراکنش انتقال از یک کیف پول به کیف پول دیگر را در یک بلاک، از پیش استخراج میکند. سپس، از کیف پول اول برای انجام تراکنش دوم استفاده میکند و بلاک از پیش استخراجشده را که شامل تراکنش اول است، در شبکه منتشر میکند. به این ترتیب، ماینر میتواند تراکنش دوم را در زمانی که بلاک با تراکنش اول در شبکه منتشر شده است، انجام دهد و تأیید آن را در بلاک بعدی قرار دهد. این باعث میشود تراکنش دوم، به شکلی سریع و بدون نیاز به تأیید توسط شبکه، انجام شود.
حمله فینی
برای انجام حمله فینی، نیاز به یک توالی خاص از تراکنشها است که این کار بسیار خاص و دشوار است و در حال حاضر هیچ مدرکی وجود ندارد که ثابت کند چنین حملهای در گذشته روی داده باشد. نام این نوع حمله، از نام کاشف آن، «هال فینی» (Hal Finney) گرفته شده است. هال فینی، کسی است که برای اولین بار در تاریخ، اولین بیت کوینها را از ساتوشی ناکاموتو (Satoshi Nakamoto) دریافت کرد.
توضیحات درباره حمله فینی
برای انجام حمله فینی، نیاز به یک توالی خاص از تراکنشها است که این کار بسیار خاص و دشوار است و در حال حاضر هیچ مدرکی وجود ندارد که ثابت کند چنین حملهای در گذشته روی داده باشد. نام این نوع حمله، از نام کاشف آن، «هال فینی» (Hal Finney) گرفته شده است. هال فینی، کسی است که برای اولین بار در تاریخ، اولین بیت کوینها را از ساتوشی ناکاموتو (Satoshi Nakamoto) دریافت کرد.
حمله ۵۱ درصدی در بیت کوین
حمله ۵۱ درصدی، بهعنوان یکی از نگرانکنندهترین حملات در فضای ارزهای دیجیتال شناخته میشود. در این حمله، اگر گروهی بتواند کنترل بیش از ۵۰ درصد از قدرت هش شبکه بیت کوین را به دست بگیرد، میتواند تا زمانی که این قدرت را در اختیار دارد، بلاک چین بیت کوین را آنگونه که دوست دارد سازماندهی کند.
در صورتی که این گروه بلاک چین را از نو سازماندهی کند، میتواند هر مقداری از بیت کوینها را که میخواهد، دوباره خرج کند. اما باید توجه داشت که حمله ۵۱ درصدی بهمعنای دسترسی به تمام بیت کوینهای شبکه نیست؛ در این حمله، فرد خرابکار فقط میتواند بیت کوینهای خرجشده خود را دوباره خرج کند.
عدم بروز حمله ۵۱ درصدی در بیت کوین
تا کنون، هیچ مدرکی مبنی بر بروز حمله ۵۱ درصدی در شبکه بیت کوین مشاهده نشده است. علت این امر این است که هشریت (قدرت هش) شبکه بیت کوین بسیار بالاست. به عبارت دیگر، هزینه و هماهنگیهایی که برای بهدستگرفتن کنترل بیش از ۵۰ درصد از قدرت هش لازم است، چنان گزاف است که در نهایت هیچ انگیزه مالی برای انجام این کار باقی نمیگذارد. به همین دلیل، حمله ۵۱ درصدی در شبکه بیت کوین تاکنون رخ نداده است.
قدرت هش بالای بیت کوین و امنیت شبکه
قدرت هش بسیار بالای بیت کوین، باعث میشود که شبکه بیت کوین با فاصله زیاد، امنترین پروتکل غیرمتمرکز جهان باشد. بر اساس محاسبات ریاضی و قوانین احتمال، به نظر میرسد که پس از دو تأیید اولیهای که هر بلاک دریافت میکند، استخراج بلاکهای بعدی خیلی بیشتر بهصرفه است تا تلاش برای انجام حمله ۵۱ درصدی.
همچنین حتی اگر شخصی هیچیک از این ملاحظات اقتصادی را در نظر نگیرد و بخواهد به هر قیمتی شبکه بیت کوین را با حمله ۵۱ درصدی از بین ببرد، بهدلیل منابع بسیار عظیمی که برای این کار نیاز است، عملاً قادر به انجام آن نخواهد بود. به همین دلیل، شبکه بیت کوین بهعنوان یکی از امنترین پروتکلهای غیرمتمرکز جهان شناخته میشود.
بروز حملات ۵۱ درصدی در برخی ارزهای دیجیتال
اگرچه تاکنون هیچ حمله ۵۱ درصدی موفقیتآمیزی بر روی بیت کوین و اتریوم رخ نداده، اما چندین ارز دیجیتال دیگر قربانی این نوع حملات شدهاند که فورکهای بیت کوین و اتریوم جزو آنها هستند.
به عنوان مثال، اتریوم کلاسیک در سالهای ۲۰۱۹ و ۲۰۲۰ هدف حمله ۵۱ درصد قرار گرفت؛ بیت کوین گلد هم در سالهای ۲۰۱۸ و ۲۰۲۰ مورد حمله واقع شد. در سال ۲۰۲۱ هم بالاخره در شبکه بیت کوین ساتوشی ویژن حمله ۵۱٪ اتفاق افتاد.
علت امکانپذیر بودن حملات ۵۱ درصدی در برخی ارزهای دیجیتال
علت امکانپذیر بودن حملات ۵۱ درصدی در برخی ارزهای دیجیتال، این است که این فورکها معمولاً به همان شکل بیت کوین و اتریوم استخراج میشوند؛ اما قدرت هش شبکه آنها بسیار پایینتر است. به همین دلیل، یک ماینر بزرگ و مخرب میتواند بهصورت ناگهانی و مخفیانه تنظیمات دستگاههای استخراج خود را از بیت کوین یا اتریوم به ارز دیجیتال دیگری که قدرت هش بسیار کمتری دارد، تغییر داده و اقدام به حمله ۵۱ درصد کند.
حملات ۵۱ درصدی به شبکههای ارزهای دیجیتال
برای اینکه حملات ۵۱ درصدی سودآوری بیشتری داشته باشند، مهاجمان صرافیها را به عنوان هدف خود قرار میدهند. برای این کار، آنها ابتدا مقدار زیادی ارز دیجیتال را به صرافی میفرستند؛ سپس آن ارزها را با ارز دیجیتال دیگری مبادله کرده و ارز جدید را به آدرسی خارج از صرافی که متعلق به خودشان است، منتقل میکنند.
وقتی این فرایند تکمیل شد، آنها با استفاده از حمله ۵۱ درصدی، بلاکچین را دوباره سازماندهی میکنند و بلاک حاوی تراکنش اول خود که حالا به یک بلاک «یتیم (orphan)» تبدیل شده است، پاک میکنند. با این کار، هم ارزهای دیجیتالی که از ابتدا به صرافی فرستاده بودند برایشان باقی میماند و هم ارزهای جدیدی که دریافت کردهاند. در برخی موارد، این حملات بر روی بلاکچینهایی که قدرت هششان پایین است، مانند شبکه بیت کوین ساتوشی ویژن، موفقیتآمیز هستند.
توصیههایی برای پیشگیری از حملات به شبکههای ارزهای دیجیتال
برای پیشگیری از حملات به شبکههای ارزهای دیجیتال، بهتر است تراکنشهای تأیید نشده را قبول نکرده و همیشه از صرافیهای معتبر استفاده کنید. حملات دوبار خرج کردن ممکن است همیشه وجود داشته باشند؛ اما هر حملهای که به شبکه بیت کوین یا سایر ارزهای دیجیتال وارد میشود، مقاومت آنها را در برابر خطرات اینچنینی بیشتر میکند.
بهطور کلی، اگر مراقب تراکنشهای دریافتی خود باشید و تا زمانی که مبالغ را در کیف پول خود دریافت نکردهاید تراکنشی را نپذیرید، میتوانید اطمینان داشته باشید که هرگز هدف حمله فینی یا رقابتی قرار نخواهید گرفت. همچنین، بهتر است از صرافیهای معتبر و با سابقه استفاده کنید و از ارسال ارزهای دیجیتال به آدرسهای ناشناس و نامشخص خودداری کنید.
درباره حملات ۵۱ درصدی و پیشگیری از آن
برخی کارشناسان برای پیشگیری از حملات ۵۱ درصدی، توصیه میکنند که فقط از ارزهای دیجیتالی استفاده کنید که قدرت شبکه آنها کاملاً غیرمتمرکز و توزیعشده است. به عنوان مثال، شبکههای مبتنی بر اثبات کار، هر چقدر که هشریت شبکه بیشتر باشد، امنیت آن هم بیشتر است. همچنین برای شبکههای مبتنی بر اثبات سهام، هر چقدر حجم بازار ارزها بیشتر باشد، امنیت آن در برابر حملات ۵۱ درصدی بیشتر خواهد بود.
هرچند، بسیاری از کارشناسان معتقدند که تا زمانی که حجم سرمایهتان بسیار بالا و در حد میلیون دلاری نیست، میتوانید از هر ارز دیجیتالی استفاده کنید؛ چراکه در این حملات فقط آدرسها و صرافیهای بزرگ هدف قرار میگیرند.
در کل، برای پیشگیری از حملات ۵۱ درصدی، بهتر است از صرافیهای معتبر و با سابقه استفاده کنید و همیشه تراکنشهای تأیید شده را قبول کنید. همچنین، بهتر است از ارسال ارزهای دیجیتال به آدرسهای ناشناس و نامشخص خودداری کنید.
“توجه به ذخیره سازی ارز دیجیتال در صرافیها”
همانطور که چندین بار توضیح داده شده است، صرافی فقط برای مبادله ارز دیجیتال استفاده میشود و برای ذخیره داراییها مناسب نیست. با این حال، اگر واقعاً قصد دارید مقدار قابلتوجهی ارز دیجیتال را در صرافی ذخیره کنید، باید از صرافیهای معتبر و قابلاعتماد استفاده کنید و ترجیحاً از صرافیهایی استفاده کنید که در برابر خسارتهای اینچنینی بیمه شده باشند.
در کل، بهتر است همیشه ارزهای دیجیتال خود را در کیف پولهای شخصی و امن ذخیره کرده و فقط برای مبادله از صرافیها استفاده کنید. به این ترتیب، میتوانید از احتمال دسترسی غیرمجاز به داراییهای خود در صرافیها جلوگیری کنید.
نظرات کاربران