از نظر تئوری تمام شبکهها یک یا چند راه نفوذ دارند و بلاک چین هم از این قاعده مستثنی نیست. در این مقاله تمام راههای حمله و نفوذ به شبکههای بلاک چینی و مرتبط با آن را توضیح میدهیم.
بلاک چینهای بزرگی مثل بیت کوین و اتریوم از نظر امنیت در مقابل حملات امتحان خود را پس دادهاند اما حمله به این شبکهها حداقل روی کاغذ غیرممکن نیست. قبل از پرداختن به شیوه مقابله با تهدیدات هکرها، بیایید نگاهی اجمالی به ۵ ویژگی بلاک چین که اغلب هدف مجرمان سایبری قرار میگیرد، بیندازیم:
شبکه بلاک چینکیف پول کاربرقراردادهای هوشمندمکانیزم تایید تراکنشاستخرهای استخراجاین مقاله ما را به درک روشنی از اینکه بلاک چین واقعا به همان اندازه که ما فکر میکنیم و دوست داریم امن نیست، میرساند.
شبکه بلاک چین شامل نوهایی است که تراکنشها را ایجاد و اجرا میکنند و خدمات دیگری را ارائه میدهند. به عنوان مثال شبکه بیت کوین شامل نودهایی است که تراکنشها را ارسال و دریافت میکنند و استخراجکنندگان تراکنشهای تایید شده را به بلاکها اضافه میکنند. مجرمان سایبری در کمین آسیبپذیری شبکه و سوءاستفاده از آن برای حمله به شبکههای بلاک چین هستند.
حمله دیداس یا منع سرویس توزیعشده (DDoS)اجرای حمله دیداس (Distributed Denial of Service) بر روی یک شبکه مبتنی بر بلاک چین سخت است. اما با این حال فناوری بلاک چین نسبت به حملات دیداس آسیبپذیر است و این حملات در واقع معمولترین نوع حمله به شبکههای بلاک چین محسوب میشوند.
زمانی که حمله به شبکه بلاک چین اتفاق میافتد، هکرها قصد دارند تا با درخواستهای متعدد و مصرف همه منابع پردازش آن، سیستم را از دسترس خارج کنند. مهاجمان دیداس میخواهند ارتباط استخرهای استخراج، کیف پولهای الکترونیکی، صرافیهای ارز دیجیتال و دیگر سرویسهای ارائهدهنده خدمات مالی را با شبکه قطع کنند.
اگر هکرها از باتنت استفاده کنند، بلاک چین هم میتواند مانند لایه برنامههایش هک شود. در میان سایر شبکههای بلاک چین، بیت کوین اقداماتی را برای محافظت در برابر حملههای دیداس لحاظ میکند.
حمله شکلپذیری تراکنشحمله شکلپذیری تراکنش (Transaction malleability) با هدف فریفتن قربانی به اینکه دو بار پرداخت را انجام دهد اتفاق میافتد. در شبکه بیت کوین هر تراکنش یک هش دارد که در واقع ID تراکنش محسوب میشود.
اگر هکرها موفق به تغییر ID تراکنش شوند، آنها میتوانند سعی کنند که یک تراکنش با هش تغییریافته را در شبکه دادهپراکنی کنند و پیش از تراکنش اصلی، آن را تایید کنند.
ارسالکننده گمان میکند که تراکنش اولیه آنها ناموفق شده است، در حالیکه وجوه همچنان از حساب آنها برداشت خواهد شد؛ و اگر ارسالکننده بار دیگر تراکنش را تکرار کند، همان مقدار دوباره از حساب او کسر خواهد شد.
این هک زمانی موفقیتآمیز است که هر دو تراکنش توسط استخراجکنندگان تایید شود. صرافی امتیگاکس (MtGox)، در اثر یک حمله شکلپذیری در سال ۲۰۱۴ ورشکست شد.
زمانرباییتایمجکینگ یا زمانربایی (Timejacking) از یک آسیبپذیری نظری در مدیریت زمانبندی بیت کوین استفاده میکند. در طی یک حمله زمانی، هکر شمارنده زمان شبکه را برای نود تغییر میدهد و نود را واردار به پذیرش یک بلاک چین جایگزین میکند.
این حمله زمانی میتواند اتفاق بیفتد که یک کاربر مخرب، چندین همتای (Peers) تقلبی را با برچسب زمانی (Timestamp) نادرست به شبکه اضافه کند. با این حال، میتوان با محدود کردن پذیرش محدوده زمانی و یا استفاده از زمان سیستم نود، از وقوع این حمله جلوگیری کرد.
حمله مسیریابیحمله مسیریابی (Routing) میتواند هم بر هر نود به صورت جداگانه و هم بر کل شبکه تاثیر بگذارد. ایده این هک، مداخله در تراکنشها پیش از رساندن آن به همتایان است. تقریبا غیرممکن است که دیگر نودها بتوانند این دستکاری را تشخیص دهند؛ چرا که هکرها شبکه را به چند بخش تقسیمبندی میکنند که این بخشها قادر به برقراری ارتباط با یکدیگر نیستند.
حملات مسیریابی در واقع شامل دو حمله جداگانه هستند:
حمله بخشبندی، که نودهای شبکه را به گروههای جداگانه تقسیم میکند.حمله تاخیری، که با انتشار پیامها و فرستادن آنها به شبکه، دستکاری و مداخله انجام میدهد.حمله سیبیلیک حمله سیبیل (Sybil)، با تخصیص چند شناسه به یک نود ترتیب داده میشود. شبکههای بلاک چین هیچ نود قابل اعتمادی ندارند و هر درخواست به تعدادی از نودها فرستاده میشود.
یک هکر، در طی یک حمله سیبیل، کنترل چند نود در شبکه را در دست میگیرد. سپس قربانی با چند نود جعلی که تمام تراکنشهای او را میبندد، محاصره شده است. در نهایت قربانی در معرض حمله دو بار خرج کردن (Double-Spending) قرار میگیرد.
شناسایی و پیشگیری از یک حمله سیبیل بسیار دشوار است، اما معیارهای زیر میتوانند موثر باشند: افزایش هزینه ساخت یک هویت جدید، نیاز به نوعی اعتماد برای پیوستن به شبکه و یا درنظر گرفتن قدرت کاربر بر اساس اعتبار.
حمله خسوفحمله خسوف (Eclipse) نیازمند این است که هکر تعداد زیادی آدرس IP را کنترل کند و یا اینکه باتنت توزیع شده داشته باشد. سپس مهاجم آدرسها را روی نودهای قربانی بازنویسی میکند و تا راهاندازی دوباره نودهای قربانی منتظر میماند. پس از راهاندازی مجدد، تمام اتصالات خروجی از نود قربانی به آدرسهای IP تحت کنترل فرد مهاجم هدایت میشوند.
این حمله قربانی را از دستیابی به تراکنشهایی که به آنها علاقه دارد، محروم میکند. پژوهشگران دانشگاه بوستون حمله خسوفی را به شبکه اتریوم آغاز کردندو توانستند با استفاده از یک یا دو دستگاه این کار را انجام دهند.
همیشه نام بلاک چین و امنیت سایبری مانند نمک و فلفل کنار یکدیگر میآیند. شاید عجیب به نظر برسد، اما کاربران بلاک چین خود بزرگترین تهدید برای آن به شمار میروند. مردم تمایل دارند که امنیت بلاک چین را دست بالا بگیرند و احتمال حملات بالقوه را نیز نادیده بگیرند.
در اختیار گرفتن اطلاعات و اسناد هویتی کیف پول کاربران هدف اصلی مجرمان سایبری است. هکرها سعی دارند از هم از روشهای سنتی مانند فیشینگ و لغتنامه (Dictionary) و هم از روشهای مدرن و جدیدی مثل یافتن نقطه ضعف در الگوریتمهای رمزنگاری، استفاده کنند. در زیر به مرور رایجترین حملات به کیف پول کاربران خواهیم پرداخت.
فیشینگحمله فیشینگ (Phishing)، تلاشی مجرمانه برای بدست آوردن دادههای حساس مانند اطلاعات کاربری شخصی و بانکی است که طی آن یک مهاجم خود را به عنوان نهادی قابل اعتماد جا میزند و برای کاربر یک ایمیل یا پیام حاوی لینک مخرب ارسال میکند. با کلیک بر روی این لینک، در صفحه ورودی از کاربر خواسته میشود تا اطلاعات شخصی یا هر چیز دیگری که مورد نظر هکر باشد را وارد کند.
حمله به کیف پولهای شبکه آیوتا با راهاندازی iotaseed.io که تولیدکننده سید آنلاین بود، آغاز شد. هکرها یک کمپین فیشینگ با این سرویس تشکیل دادند و با سیدهای مخفی اطلاعات را جمعآوری کردند. در نهایت، در ژانویه ۲۰۱۸ هکرها از کیف پول قربانیان مقداری آیوتا به ارزش بیش از ۴ میلیون دلار سرقت کردند.
حمله لغت نامهدر طی حمله لغتنامه (Dictionary)، هکرها تلاش میکنند تا هش قربانیان را بشکنند و در آن دست ببرند. آنها مقادیر هشی از گذرواژههای معمولی و آسان مانند password1 انتخاب میکنند.
در این نوع حملات فرد مهاجم لیستی از واژهها، عبارات و حتی ترکیب حروف، ارقام و نمادها را مورد استفاده قرار میدهد که از احتمال بیشتری برای انتخاب شدن به عنوان رمز برخوردار هستند. سپس با ترجمه کلمه عبور از متن به هش رمزنگاری شده، میتوانند به اطلاعات شخصی کیف پولها دست یابند.
امضاهای آسیبپذیرامضای دیجیتال فرآیندی است که در آن صحت و اعتبار یک پیام دیجیتالی تایید میگردد. یک امضای دیجیتال معتبر، به گیرنده اطمینان میدهد که پیام توسط فرستندهی اصلی ارسال شده و فرستنده نیز نمیتواند پیامی که ارسال کرده را انکار نماید. علاوه بر این، خود پیام نیز از تغییر و دستکاری مصون میماند.
شبکههای بلاک چین از الگوریتمهای رمزنگاری مختلفی برای ساختن امضای کاربر استفاده میکنند؛ اما این فناوریها ممکن است آسیبپذیریها و نقاط ضعفی نیز داشته باشند. برای مثال، بیت کوین از الگوریتم رمزنگاری ECDSA برای تولید خودکار کلیدهای خصوصی منحصر به فرد استفاده میکند. با این حال به نظر میرسد که ECDSA از انتروپی کافی برخوردار نیست و ممکن است منجر به انتخاب یک مقدار تصادفی در بیش از یک امضا شود.
ایجاد کلید ناقصبا سوءاستفاده از آسیبپذیری در تولید کلید، هکری به نام Johoe در دسامبر سال ۲۰۱۴ به سرویس ارائهدهنده کلیدهای خصوصی Blockchain.info دسترسی پیدا کرد. این حمله در نتیجه یک اشتباه که در طی بهروز رسانی یک کد اتفاق افتاد، رخ داد و منجر به ضعف تصادفی بودن ورودیها در ساختن کلیدهای عمومی کاربران شد. اگرچه این این مشکل و ضعف به سرعت مرتفع شد، اما هنوز این نقص در الگوریتم ECDSA وجود دارد.
حمله به کیف پول سردکیف پول سرد دستگاه های فوق العاده کوچکی هستند که ارزهای دیجیتال را به صورت آفلاین و با امنیت فوق العاده بالا ذخیره میکنند و میتوانید از آنها برای انجام تراکنشها استفاده کنید. لازم به ذکر است که برای انجام تراکنش به صورت خیلی امن به اینترنت متصل می شوند.
کیف پولهای سختافزاری و یا همان کیف پولهای سرد نیز میتوانند هک شوند. به عنوان مثال، پژوهشگران با بهکارگیری باگهای کیف پول نانو اس لجر (Nano S Ledger) حملهای با نام Evil Maid را طراحی و آغاز کردند. در نتیجه این هک پژوهشگران به کلیدهای خصوصی، پینها (PIN)، سیدهای بازیابی و گذرواژههای قربانیان دست یافتند.
حمله به کیف پول داغخدمات کیف پول داغ توسط شرکتهای خدمات کیف پول شخص ثالث در سرویس های ابری ارائه میشود. دسترسی به این کیف پول، تنها از طریق اتصال به اینترنت امکان پذیر است و برای ذخیره کلیدهای عمومی رمزنگاری مورد استفاده قرار میگیرند.
اگرچه صاحبان صرافیهای ارز دیجیتال ادعا میکنند که آنها اطلاعات کاربران خود را در کیف پولهایی که به اینترنت متصل نیست نگه میدارند، حمله اخیر ۵۰۰ میلیون دلاری به صرافی کوینچک (Coincheck) خلاف این مدعا را ثابت کرده است.
یک قرارداد هوشمند، یک پروتکل ویژه است که برای مشارکت، تأیید یا اجرای مفاد یک قرارداد خاص، فعال میشود. قراردادهای هوشمند معاملات و فرایند ها را به صورت کاملا تضمینی و بدون اشخاص ثالث انجام می دهند.
فعالیت و ثبتهای قرارداد هوشمند قابل پیگیری و غیرقابل برگشت هستند. قراردادهای هوشمند شامل تمام اطلاعات مربوط به شرایط قرارداد و اجرای تمام اقدامات هدفگذاری شده به طور خودکار میشوند.
اصلیترین مسائل و مشکلات امنیتی بلاک چین مربوط به قراردادهای هوشمند، به اشکالات احتمالی در سورس کد و یا همان کد منبع، ماشین مجازی شبکه، محیط زماناجرای (Runtime) قراردادهای هوشمند و خود بلاک چین مرتبط میشوند. بیایید نگاهی جزییتر به هر کدام از این موارد بیندازیم.
آسیبپذیری در کد منبع قرارداداگر در کد منبع یک قرارداد هوشمند اشکال و یا آسیبپذیریای وجود داشته باشد، این برای هر دو طرف قرارداد که آن را امضا میکنند به نوعی خطر محسوب میشود. برای مثال باگ و یا اشکال شناسایی شده در قرارداد اتریوم در سال ۲۰۱۶ برای صاحبانش هزینهای ۸۰ میلیون دلاری در بر داشت.
یکی از آسیبپذیریهای رایج در زبان برنامهنویسی سالیدیتی (Solidity)، امکان کنترل توابع غیر قابل اعتماد از دیگر قراردادهای هوشمند با نام حمله بازدخولی (Reentrancy) را فراهم میکند.
آسیبپذیری در ماشین مجازیماشین مجازی اتریوم (EVM)، یک کامپیوتر پشتهای (Stack) توزیعشده است که تمام قراردادهای هوشمند مبتنی بر بلاک چین اتریوم روی آن اجرا میشوند. شایعترین آسیبپذیریهای EVM موارد زیر هستند:
۱- نقصهای تغییرناپذیر: ماهیت بلاکهای بلاک چین تغییرناپذیر است و این به این معناست که زمانی که یک قرارداد هوشمند ایجاد میشود، دیگر نمیتواند تغییر کند. اما این همیشه یک ویژگی مثبت نیست، چرا که اگر در کد یک قرارداد هوشمند اشکال و باگی وجود داشته باشد، باز هم برطرف کردن آن غیرممکن است. این احتمال خطر وجود دارد که مجرمان سایبری بتوانند آسیبپذیری کد را کشف کنند و از آن برای دزدیدن اتر و یا ایجاد یک فورک جدید، همانطور که در حمله DAO اتفاق افتاد، سوءاستفاده کنند.
۲- ارز دیجیتال از دست رفته در انتقال: اگر اتر به آدرسی که هیچ صاحب و یا هیچ قراردادی ندارد ارسال شود، ارز دیجیتال در فرآیند انتقال از بین میرود.
۳- باگ در کنترل دسترسی: یک باگ اصلاحکننده در قراردادهای هوشمند اتریوم وجود دارد که به هکر اجازه میدهد به عملکردها و قابلیتهای حساس در قرارداد دسترسی داشته باشند.
۴- حمله آدرس کوتاه: احتمال این حمله به دلیل اینکه EVM میتواند شناسه و مدارک نادرست را بپذیرد، وجود دارد. هکرها میتوانند با فرستادن آدرسهای ساختگی به قربانیان بالقوه از این ویژگی سوءاستفاده کنند. به عنوان مثال، در طی حمله موفق به عرضه اولیه کویندش (Coindash) در سال ۲۰۱۷، تغیری در آدرس اتریوم کویندش، سبب شد که قربانیان اتر خود را به آدرس هکرها منتقل کنند.
به طور کلی قراردادهای هوشمند یک هدف حمله جدید به بلاک چین هستند که هکرها میتوانند آن را با اجرای روشهای دیگر به خطر انداختن فناوری بلاک چین از جمله حمله خسوف، دیداس و … که معمول هستند، تطبیق دهند.
بلاک چینهای جدیدتر مثل کاردانو و زیلیکا از ماشینهای مجازی مختلفی از جمله IELE، KEVM و … استفاده میکنند. این بلاک چینهای جدید ادعا میکنند که میتوانند امنیت قرارداد هوشمند را در پروتکلهای خود تضمین کنند.
برخلاف موسسات مالی، بلاک چین تنها پس از اینکه تمام نودهای درون شبکه به توافق رسیدند، تراکنش را تایید میکند. تا زمانی که یک بلاک با یک تراکنش تایید شود، به عنوان تراکنش تاییدنشده طبقهبندی میشود. فرآیند تایید تراکنش نیازمند زمان مشخصی است و این فاصله یک فرصت مناسب را برای حمله سایبری فراهم میکند. به عنوان مثال این زمان برای بیت کوین ۱۰ دقیقه است.
دو بار خرج کردن (Double Spending) یکی از معمولترین حملاتی که با سوءاستفاده از مکانیسم تایید تراکنش اتفاق میافتد. تمام تراکنشهای روی بستر یک بلاک چین باید توسط کاربران دیگر تایید شوند تا به عنوان یک تراکنش معتبر و تاییدشده شناخته شود و طبیعتا این پروسه به اندکی زمان نیاز دارد، مهاجمان میتوانند از این زمان به نفع خود استفاده و سیستم را فریب دهند تا از همین سکهها و توکنها را در تراکنشهای دیگر نیز استفاده کنند.
در اینجا انواع متداول حملاتی که بر اساس سوءاستفاده از زمان بین شروع تراکنش و تایید آن صورت میپذیرد را بیان خواهیم کرد.
حمله فینییک حمله فینی (Finney) زمانی امکانپذیر است که یک تراکنش در یک بلاک از پیش استخراج شده باشد و یک تراکنش مشابه، قبل از اینکه بلاک از پیش استخراج شده در شبکه منتشر شود، ایجاد میشود و بدین ترتیب تراکنش دوم مشابه را غیرفعال و نامعتبر میکند.
حمله رقابتییک حمله رقابتی (Race) زمانی اجرا میشود که یک مهاجم دو تراکنش متضاد ایجاد میکند. اولین تراکنش به قربانی فرستاده میشود که او پرداخت را قبول میکند و محصول را بدون اینکه منتظر تایید اولیه بماند، ارسال میکند. در همین حال، یک تراکنش متضاد که همان مقدار ارز دیجیتال را به مهاجم باز میگرداند در شبکه پخش میشود و در نهایت تراکنش اول را معتبر میسازد.
وکتور۷۶وکتور۷۶ (Vector76)، ترکیبی از دو حمله پیشین است. در این حالت، یک استخراجکننده بد و مخرب ۲ نود ایجاد میکند که یکی از آنها را تنها به نود صرافی و دیگری را به همتایان متصل به هم در شبکه بلاک چین، متصل میکند.
پس از آن، استخراجکننده دو تراکنش ایجاد میکند یکی با ارزش بالا و دیگری با ارزش کم. سپس، مهاجم بلاک با ارزش بالا را پیشاستخراج میکند اما از فرستادن آن به صرافی خودداری میکند. پس از اینکه بلاک جدید اعلام شد، او بلافاصله بلاک از پیش استخراج شده را به سیستم صرافی میفرستد.
در این میان برخی از استخراجکنندگان این بلاک از پیش استخراج شده را به عنوان زنجیره اصلی در نظر میگیرند و این تراکنش را تایید میکنند. بنابراین این حمله از این واقعیت که بخشی از شبکه تراکنشی را که مهاجم بلاک آن را هدف قرار داد را میبینند در حالیکه بخشی دیگر این تراکنش را مشاهده نمیکنند، سوءاستفاده میکند.
پس از اینکه سرویس صرافی تراکنش با ارزش بالا را تایید کرد، مهاجم تراکنش با ارزش کم را به شبکه اصلی میفرستد و در نهایت تراکنش با ارزش بالا را رد میکند. در نتیجه تراکنش با ارزش بالا در حساب مهاجم سپرده میشود. اگرچه شانس بسیار بالایی برای موفقیت در این حمله وجود دارد، اما خیلی رایج و متداول نیست؛ چرا که نیاز دارد که یک کیف پول الکترونیک میزبان پس از تایید تراکنش، پرداخت را بپذیرد.
حمله تاریخ جایگزینحمله تاریخ جایگزین (Alternative history) ممکن است حتی در مورد تایید چندین تراکنش نیز رخ دهد، اما به مقدار زیادی توان محاسباتی نیاز دارد.
در این حالت، کاربر مخرب تراکنشی را به فروشنده ارسال میکند و در همان زمان فورکی جایگزین را با تراکنش دیگری که ارزهای مشابهی را بازمیگرداند، استخراج میکند. حتی اگر فروشنده محصول خود را پس از تاییدها ارسال کند، اگر مهاجم زنجیره بلندتری را منتشر کند و سکههای آنها را پس بگیرد، ممکن است پول خود را از دست دهد.
حمله ۵۱ درصدیحمله ۵۱ درصدی زمانی امکانپذیر است که یک هکر کنترل ۵۱ درصد از نرخ هش شبکه را در دست بگیرد و یک فورک جایگزین ایجاد کند که نسبت به پروژههای موجود در اولویت قرار گیرد. این حمله در ابتدا تنها آسیبپذیری شناختهی بیت کوین بود و در گذشتهای نه چندان دور غیرواقعی به نظر میآمد.
با این حال ۵ ارز دیجیتال ورج، زنکش، موناکوین، بیت کوین گلد و لایت کوین کش از حملات ۵۱ درصد آسیب دیدند. در هر یک از این موارد، مجرمان سایبری به اندازهای قدرت هش شبکه را دست گرفتند که آن را به خطر بیاندازند و میلیونها دلار به جیب بزنند.
متاسفانه همه ارزهای دیجیتال کوچک و نوپا هنوز هم در معرض خطر هستند. چرا آنها استخراجکنندگان کمتری را جذب میکنند و مهاجمان میتوانند برای ایجاد سهم عمده در شبکه توان محاسباتی لازم را اجاره کنند.
اقدامات لازم برای پیشگیری از حملات دو بار خرج کردن شامل نظارت بر تراکنشهای دریافت شده، ارسال مبادرتها و تلاشهای دو بار خرج کردن، وارد کردن نودهای دیگر برای مشاهده تراکنش و رد اتصالات مستقیم ورودی میشود.
علاوه بر این، یک فناوری جدید و نوآورانهای با نام شبکه لایتنینگ وجود دارد که با هدف حل مشکلات سوءاستفاده از نقاط ضعف مکانیزم تایید تراکنشها طراحی شده است. این شبکه به کاربران اجازه میدهد که از طریق شبکهای از کانالهای پرداخت دو سویه بدون تفویض اختیار وجوه، فورا تراکنشها را تایید کنند. با این حال، هنوز در معرض حمله دیداس قرار دارد که یکی از آنها در مارس ۲۰۱۸ اتفاق افتاد.
استخراجکنندگان غالبا منابع (توان محاسباتی و پردازشی) خود را با یکدیگر متحد میکنند و یک استخر استخراج (Mining pool) میسازند. با انجام این کار، آنها را میتوانند بلاکهای بیشتری را ماین کنند و در نتیجه پاداش استخراج را با یکدیگر شریک شوند.
برای ارزهای دیجیتالی همانند بیت کوین، رسیدن به سود برای ماینرهایی که بخواهند به صورت جداگانه کار کنند غیر ممکن است. در حال حاضر بزرگترین استخرهای استخراج بیت کوین BTC.com، AntPool.com و ViaBTC هستند.
بر اساس گزارش وبسایت Blickchain.com، این سه با یکدیگر بیش از ۵۲ درصد از نرخ هش (Hash rate) کل شبکه را به دست میآورند.
استخرهای استخراج هدف چرب و نرمی برای مهاجمان به نظر میرسند. استخراجکننده مخرب تلاش میکند با سوءاستفاده از آسیبپذیریهای مکانیسم اجماع بلاک چین، کنترل داخلی و خارجی استخرهای استخراج را در دست بگیرد.
در اینجا نگاهی اجمالی به برخی از رایجترین حملات استخرهای استخراج خواهیم داشت.
استخراج خودخواهانهاستخراج خودخواهانه (Selfish mining) به تلاشهای یک ماینر مخرب برای افزایش سهمش از پاداش استخراج اشاره دارد. فرد مهاجم با پخش بلاکهای استخراجشده در شبکه برای مدت زمانی و سپس آزاد کردن چند بلاک بلافاصله، باعث میشود که استخراجکنندگان دیگر بلاکهای خود را از دست دهند.
از جمله اقداماتی که ممکن است برای جلوگیری از این نوع حمله موثر واقع شود، میتوان به انتصاب تصادفی استخراجکنندگان به شاخههای مختلف استخر، ارحج شمردن بلاک با برچسب زمانی تازهتر و یا تولید بلاکها در زمان قابل قبول، اشاره کرد. این نوع حمله، همیشه به عنوان مضایقه بلاک شناخته میشود.
در نتیجه یک حمله خودخواهانه به استخر الیگیوس (Eligius) در سال ۲۰۱۴، ماینرها ۳۰۰ بیت کوین از دست دادند. احتمال موفقیت آمیز بودن این نوع از استخراج خودخواهانه بسیار زیاد است و ممکن است برای همه ارزهای دیجیتال اتفاق بیفتد.
ثبتنام تنها ماینرهای مورد اعتماد و یا تغییر پروتکل بیت کوین برای پنهان کردن تفاوت بین الگوریتم اثبات کار نسبی و اثبات کار کامل، میتواند چند نمونه از اقدامات پیشگیرانه در برابر استخراج خودخواهانه باشد.
فورک پس از مضایقهفورک پس از مضایقه (Fork-After-Withhold or FAW) نوعی از استخراج خودخواهانه است که به نظر میرسد منجر به دریافت پاداش بیشتری برای مهاجمان میشود. در جریان یک حمله FAW، ماینر مخرب بلاک برنده را پنهان میکند و بسته به موقعیت، یا آن را رها میکند و یا در زمان دیگری، برای ایجاد فورک آن را آزاد میکند.
جمعبندیبلاک چین، یک فناوری نسبتا جدیدی است که اشکالات و آسیبپذیریهایی دارد. اگرچه محبوبیت بلاک چین به صورت روز افزون در حال افزایش است، اما افزایش تعداد حملات سایبری ممکن است خللی در این روند ایجاد کند. با افزایش آگاهی کاربران از آسیبپذیریهای بلاک چین، میتوان از اکثر این حملات پیشگیری کرد، در حالیکه برخی دیگر تنها با تخصص و دانش قابل جلوگیریاند.