ماینینگ برای بیت کوین مانند چرخ دندههای یک ساعت است. هر تراکنشی که بخواهد در شبکه بیت کوین انجام شود نیاز به یک ماینر دارد. ماینرها به عنوان پاداش انجام این تراکنشها مقداری کارمزد دریافت میکنند. رابطه استخراج و تراکنشهای بیت کوین مانند یک چرخه است که در صورت نبود یکی از آنها، آن یکی هم متوقف خواهد شد. استخراج بیت کوین الگوریتمها و شیوههای متفاوتی دارد که بسته به سختافزار و هدف ماینر انتخاب میشوند. همه این شیوهها درستکارانه نیستند و گاهی ماینر برای کسب سود بیشتر به سراغ روشهایی شبیه به تقلب میرود. یکی از این شیوهها سلفیش ماینینگ است. در ادامه این مطلب قصد داریم به معرفی این الگوریتم و چگونگی انجام آن بپردازیم.
سلفیش ماینینگ (Selfish Mining) چیست؟
سلفیش ماینینگ در لغت به معنای استخراج خودخواهانه میباشد. این نامگذاری به خاطر این است که در این روش ماینرها سعی میکنند با تبانی(دست به یکی کردن)، بیشتر از دیگر ماینرها استخراج کنند و به نوعی عملی خودخواهانه به حساب میآید. سلفیش ماینینگ فرایندی است که در آن بلاکهای تازه تولید شده پنهان و در اختیار شبکه خصوصی ماینرها قرار میگیرند. این موضوع موجب افزایش درآمد ماینرها و جبران هزینههایی مانند برق میشود.
این روش در سال 2013 توسط Emin Gun Sirer و Ittay Eyal به ماینرها معرفی شد. این دو نفر نشان دادند که میشود با پنهان کردن بلاکهای تازه تولید شده، فورک جداگانهای درست کرد و در نتیجه سود بیشتری به دست آورد.
در فرایند سلفیش ماینینگ یک ماینر یا گروهی از ماینرها، با ارائه نکردن بلوکشان در مسیر درست، انشعابی خصوصی از بلاک چین به وجود میآورند. در حالی که سلفیش ماینر در بالای این زنجیره جدید بلوک را میسازد، مابقی ماینرها برای ساخت بلوک قبلی تلاش میکنند. این دو زنجیره کاملا متفاوت به نظر میآیند. هدف سلفیش ماینر این است که همیشه حداقل یک بلوک جلوتر از شبکه باشد. نودها زنجیرهای را تایید میکنند که بیشترین اثبات کار را به عنوان بلاک چین معتبر جمع آوری کرده باشند.
سلفیش ماینینگ (Selfish Mining) چگونه کار میکند؟
فرض کنید یک ماینر میخواهد عمل سلفیش ماینینگ را انجام دهد. در شیوه معمول بعد از این که یک ماینر مسائل ریاضی را حل و یک بلوک استخراج میکند، فورا آن را به بلاک چین اصلی اضافه مینماید. ولی سلفیش ماینر بعد از این که یک بلاک را استخراج کرد، به جای اضافه کردن آن به بلاک چین، بلاک را مخفی میکند. با این کار دو زنجیره وجود خواهد داشت.
اولین زنجیره، زنجیره عمومی و اصلی است که همه ماینرها میتوانند آن را ببینند ولی زنجیره دوم زنجیره خصوصی و مخفیانه است که از زنجیره اصلی هم طولانیتر میشود. با ایجاد زنجیره جدید، سلفیش ماینر میتواند یک بلاک جلوتر از بقیه حرکت کند. به عنوان مثال اگر ماینرهای دیگر به دنبال استخراج بلاک دهم هستند، سلفیش ماینر میتواند بلاک یازدهم را استخراج کند.
الگوریتمهای استخراج بیت کوین به گونهای طراحی شدهاند که طولانیترین زنجیره را از همه معتبرتر میدانند. به همین دلیل دستگاههای ماینر وقتی زنجیره طولانیتری وجود داشته باشد، توان محاسباتی خود را به آن انتقال میدهند. وقتی ماینرها زنجیره خصوصی را به عنوان زنجیره اصلی تشخیص میدهند، پاداشهایشان در زنجیره قبلی نادیده گرفته میشود. از این طریق سلفیش ماینر پاداش بیشتری به دست میآورد.
الگوریتم سلفیش ماینینگ (Selfish Mining) چگونه است؟
برای اجرای الگوریتم سلفیش ماینینگ، سلفیش ماینر ابتدا بلندترین زنجیره را پیدا میکند. وقتی او یک بلاک تولید کرد، به جای اضافه کردن به این زنجیره، آن را در زنجیره مخفی خود نگه میدارد. با ادامه پیدا کردن این روند یک زنجیره مخفی ساخته میشود که نهایتا از زنجیره اصلی طولانیتر خواهد بود.
در همین زمان ماینرهای دیگر که در حال گسترش زنجیره اصلی هستند. سلفیش ماینر، آنقدر کار خود را ادامه میدهد تا یک قدم از زنجیره اصلی جلو بیفتد. وقتی این اتفاق افتاد، او زنجیره خود را منتشر میکند. با این کار ماینرهای دیگر گمان میکنند این زنجیره طولانیتر، زنجیره اصلی است. پس حالا همه بلاکهای سلفیش ماینر را دنبال میکنند. بلاکهایی که ماینرهای دیگر تولید کردند حالا دیگر هیچ سودی برایشان ندارد.
ضعف روش سلفیش ماینینگ این است که اگر همزمان با سلفیش ماینر، ماینر دیگری یک بلاک تولید کند، سلفیش ماینر قادر نخواهد بود زنجیرهای طولانیتر بسازد در نتیجه یک مسابقه بین دو زنجیره ایجاد میشود. اگر در این مسابقه سلفیش ماینر پیروز شود، او میتواند زنجیرهاش را منتشر کند و همین عمل را دوباره در پایان زنجیره تکرار کند. ولی در صورتی که او موفق به این کار نشود حملهاش شکست خورده و از ساخت زنجیره مخفی چیزی عایدش نمیشود.
آیا سلفیش ماینینگ (Selfish Mining) یک تهدید به حساب میآید؟
سلفیش ماینینگ را میتوان خطری بالقوه برای بیت کوین به حساب آورد چرا که قدرت ایجاد حمله 51 درصدی را فراهم میکند. وقتی یک کاربر سلفیش ماینینگ انجام میدهد، دیگر ماینرها از این کار آسیب میبینند. همچنین گسترش استفاده از سلفیش ماینینگ میتواند برای آینده بیت کوین خطرناک باشد.
البته باید به این موضوع اشاره کنیم که گروهی هم هستند که سلفیش ماینینگ را یک تهدید برای بیت کوین به حساب نمیآورند. این افراد معتقدند که ماینرها ملاحظاتی ایدئولوژیک دارند و سلفیش ماینینگ میتواند به ادامه فعالیت شبکه به صورت غیر متمرکز کمک کند. اجازه استفاده از سلفیش ماینینگ هرچند اکوسیستم را مسموم میکند، ولی میتواند به ماینرها برای جبران هزینههایشان در ماینینگ کمک کند.
حمله سلفیش ماینینگ (Selfish Mining) چیست؟
از آنجایی که ماینرها با سلفیش ماینر برای افزایش سود خود همکاری میکنند، این عمل میتواند هش ریت استخر ماینینگ را افزایش دهد. اگر یک استخر ماینینگ وجود داشته باشد که بیشتر هش ریت شبکه بیت کوین را به خود اختصاص دهد، ماینرهای آن قادر به انجام حمله 51 درصدی در بلاک چین بیت کوین خواهند بود.
چگونه میتوان از حملات سلفیش ماینینگ (Selfish Mining) جلوگیری کرد؟
بعد از این که سلفیش ماینر تشخیص داده شد، میتوان او را مجازات و میزان سودآوری او را محدود کرد. به جز این، ماینرهای دیگر نیز میتوانند با کپی کردن استراتژی سلفیش ماینر او را به نقطه صفر خود باز گردانند تا سودی عایدش نشود. برای این که بتوانیم سلفیش ماینینگ را تشخیص دهیم دو راه پیش روی ما وجود دارد. در ادامه به بررسی این دو راه خواهیم پرداخت:
بلاکهای رها شده
یکی از روشهای موثر برای تشخیص سلفیش ماینینگ، بررسی شاخص بلاکهای رها شده است. وقتی سلفیش ماینینگ به اجرا در میآید، یکسری از بلاکها که ماینرهای درستکار ایجاد کردهاند، رها میشوند. پس اگر نرخ بلاکها همیشه در زمانهای مختلف ثابت باشد، سلفیش ماینینگ در حال اجراست. شمارش بلاکها، فرایند پیچیده و دشواری است.
زمانبندی بلاکهای متوالی
وقتی سلفیش ماینر، بلاک های پنهان شده خود را آشکار میکند، یک اتفاق نادر رخ میدهد که دیده شدن دو بلاک متوالی است. این بلاکها در بازهای با اختلاف چند ثانیه تا چند دقیقه ایجاد میشوند و با توجه به زمان ایجاد شدن آنها میتوان سلفیش ماینر را شناسایی کرد.
سخن پایانی
تحقیقاتی که آقای ژائوجی وانگ در سال 2021 منتشر کرده نشان میدهد، تا پایان این سال هیچ موردی از سلفیش ماینینگ شناسایی نشده است. این تحقیق حاکی از این است که سلفیش ماینینگ تاکنون تنها یک تهدید بالقوه برای بلاکچین و بیت کوین به حساب آمده و هنوز گروهی پیدا نشده که آن را به اجرا در بیاورد. با این حال آگاهی از این موضوع برای کسانی که میخواهند به عمل استخراج رو بیاورند خالی از لطف نیست.