نگهداشتن بلاک (Block Withholding): حملهای که استخر در یک شیر منفرد نمیبیند
یک ماینر شیرهای واقعی ارسال میکند و شیری را که میتوانست یک بلاک باشد پنهان میکند. در اینجا میبینید چه هزینهای دارد، چه کسی آن را میپردازد و چگونه شناسایی میشود.
این حمله چیست
هر شیری که به استخر میفرستید یک راهحل واقعی است که به هدف بلاک نرسیده است. هر از گاهی راهحلی هم زیر هدف بلاک قرار میگیرد و آن شیر یک بلاک کامل است. این شیر تا لحظهای که استخر آن را بررسی کند، دقیقاً شبیه هر شیر دیگری است.
حمله نگهداشتن بلاک (block withholding) یعنی ماینری که کار را صادقانه انجام میدهد، همه شیرهای عادی را ارسال میکند و بیسروصدا همان یک شیری را که میتوانست بلاک باشد دور میاندازد. استخر شیرها را میشمارد و هزینه آنها را پرداخت میکند. بلاکی که باید به دست استخر میرسید هرگز نمیرسد.
چرا یک شیر هرگز آن را لو نمیدهد
همین است که این حمله را بهجای صرفاً بیادبانه، جالب میکند. در هیچ شیر منفردی چیز مشکوکی درباره مهاجم دیده نمیشود. سختافزار واقعی است، هشریت واقعی است، شیرها معتبرند و با نرخ درست میرسند. استخر میتواند یک شیر را بررسی کند و هیچ چیزی نبیند.
آنچه کم است یک غیاب است، و غیاب فقط با گذشت زمان دیده میشود. ماینری که سهم مشخصی از هشریت استخر را دارد باید تقریباً همان سهم از بلاکها را پیدا کند. در طول یک ساعت این هیچ چیزی را نشان نمیدهد، چون پیدا کردن بلاک یک فرایند تصادفی است و دورههای آرام عادی هستند. اما در یک بازه زمانی بهاندازه کافی طولانی، بسیار گویاست.
هزینه آن چیست، و واقعاً چه کسی میپردازد
استخر پاداش بلاکی را که باید به دست میآورد از دست میدهد. اما زیان در واقع به استخر نمیرسد، و اگر در هر استخری استخراج میکنید، این بخشی است که ارزش فهمیدن دارد.
در یک روش تناسبی، دور بهسادگی ادامه مییابد تا کس دیگری بلاکی پیدا کند. همه حاضران در آن دور برای دوری کار کردهاند که بیش از حد لازم طول کشید، بنابراین همه به ازای هر واحد کار کمی کمتر درآمد دارند. هزینه میان ماینرهای صادق پخش میشود.
در روش پرداخت به ازای هر شیر (pay per share) وضع برای گرداننده استخر بدتر است، چون استخر هزینه هر شیر را پیشاپیش از جیب خودش پرداخته و برای جبران آن به رسیدن بلاکها متکی است. حملهای پایدار علیه یک استخر پرداخت به ازای هر شیر مستقیماً گرداننده را متضرر میکند، و از نظر تاریخی این همان حالتی است که بیشترین نگرانی را ایجاد کرده است.
چرا کسی باید چنین کاری بکند
مهاجم پاداش بلاک را هم دور میاندازد، بنابراین در نگاه اول این کار صرفاً آسیب زدن به خود است. فقط زمانی منطقی است که مهاجم در جایی سود ببرد که استخر نمیتواند ببیند.
انگیزه معمول رقابت است. گردانندهای که استخر خودش را اداره میکند میتواند هشریت اجاره کند یا هشریت را به سمت یک رقیب هدایت کند، نتایج آن را سرکوب کند و استخر خودش را در مقایسه خوششانستر نشان دهد. مهاجم هزینه این خرابکاری را از محل شیرهایی که همچنان دریافت میکند میپردازد.
نوع زیرکانهتری هم وجود دارد که در آن مهاجم بلاک را بهجای دور انداختن نگه میدارد، بهطور خصوصی روی آن به استخراج ادامه میدهد و بعداً در لحظهای که به نفع اوست ارسالش میکند. اجرای آن دشوارتر است و فقط با سهم بزرگی از هشریت ارزش امتحان کردن دارد.
این حمله در عمل چگونه شناسایی میشود
شناسایی آماری است و باید هم باشد، چون هیچ نشانه دیگری در دسترس نیست. توضیح این اندازهگیری ساده است: بلاکهایی که یک مشارکتکننده مشخص پیدا کرده با بلاکهایی که بر اساس تعداد شیرهایش باید پیدا میکرد مقایسه میشود، در بازهای بهاندازه کافی طولانی که اثر شانس متعادل شود.
بخش دشوار، بازه زمانی است. اگر کوتاه باشد، بدشانسی معمولی شبیه حمله به نظر میرسد، که یعنی متهم کردن مداوم ماینرهای صادق. اگر طولانی باشد، یک مهاجم واقعی مدتی فعالیت میکند تا اعداد گویا شوند. هیچ راه زیرکانهای برای دور زدن این مصالحه وجود ندارد؛ این ویژگی خود تصادفی بودن است، نه نرمافزار.
به همین دلیل یک سامانه شناسایی جدی، بهجای اقدام خودکار، موضوع را برای بررسی یک انسان مطرح میکند. مسدودسازی خودکار بر پایه یک آمار، دیر یا زود کسی را مسدود میکند که فقط بدشانس بوده است، و از کار انداختن یک ماینر مشروع نتیجهای بدتر از خود حمله است.
اگر ماینری صادق هستید، این برای شما چه معنایی دارد
تقریباً هیچ، و دقیقاً به همین دلیل آن را صریح میگوییم.
شیرهای شما در هر صورت به یک شکل شمرده و پرداخت میشوند. بدشانسی تخلف نیست و نمیتواند باشد، چون در هر بازه کوتاهی بیشتر ماینرها بدشانس هستند. یک سری دور که در آنها سهم زیادی داشتهاید و استخر چیزی پیدا نکرده، نوسان عادی است، و رقم شانس در آمار استخر دقیقاً برای این وجود دارد که ببینید این وضع چقدر عادی است.
تنها نکتهای که ارزش دانستن دارد این است که همین یکی از دلایلی است که استخرها به اینکه چه کسی هشریت به سمتشان میفرستد اهمیت میدهند، و یکی از دلایلی است که استخری که بلاکها و شانس خود را صادقانه منتشر میکند از استخری که این کار را نمیکند قابلاعتمادتر است. هر آنچه برای بررسی استخر لازم دارید در صفحه بلاکها هست.