Задържане на блокове: атаката, която пулът не вижда в нито един отделен дял
Миньор праща истински дялове и крие онзи, който би бил блок. Какво струва това, кой плаща и как се хваща.
Какво представлява атаката
Всеки дял, който изпращате на пула, е истинско решение, което не е достигнало целта на блока. От време на време решение попада и под целта на блока, и този дял е цял блок. Той изглежда като всеки друг дял чак докато пулът не го провери.
Атаката чрез задържане на блок е миньор, който върши работата честно, изпраща всеки обикновен дял и тихо изхвърля единствения, който би бил блок. Пулът отчита дяловете и плаща за тях. Блокът, който е трябвало да получи, никога не пристига.
Защо един дял никога не я издава
Това прави атаката интересна, а не просто нечестна. Нищо в нападателя не изглежда нередно при нито един отделен дял. Хардуерът е истински, хешрейтът е истински, дяловете са валидни и пристигат с правилната честота. Пулът не може да провери един дял и да види каквото и да е.
Липсващото е отсъствие, а отсъствието става видимо само с времето. Миньор с даден дял от хешрейта на пула трябва да намира приблизително същия дял от блоковете му. За един час това не казва нищо, защото намирането на блокове е случаен процес и тихите периоди са обичайни. В достатъчно дълъг прозорец то казва много.
Колко струва и кой всъщност плаща
Пулът губи наградата за блок, която е трябвало да получи. Но пулът всъщност не е мястото, където пада загубата, и това е частта, която си струва да разберете, ако копаете в какъвто и да е пул.
При пропорционална схема рундът просто продължава, докато някой друг не намери блок. Всички в рунда са допринесли с работа за рунд, който е продължил повече, отколкото е трябвало, така че всички печелят малко по-малко на единица работа. Разходът се разпределя между честните миньори.
При схема с плащане за дял е по-лошо за оператора, защото пулът вече е платил за всеки дял от собствения си джоб и разчита блоковете да пристигнат. Продължителна атака срещу пул с плащане за дял е пряко източване на оператора и исторически това е случаят, който най-много е тревожил хората.
Защо някой би направил това
Нападателят също изхвърля наградата за блок, така че на пръв поглед това е чисто самонараняване. То има смисъл само ако нападателят печели някъде, където пулът не може да види.
Обичайният мотив е конкурентен. Оператор, който поддържа собствен пул, може да наеме или насочи хешрейт към конкурент, да потисне резултатите му и да накара собствения си пул да изглежда по-късметлийски в сравнение. Нападателят плаща за саботажа от дяловете, които все пак получава.
Има и по-изтънчен вариант, при който нападателят задържа блока, вместо да го изхвърли, продължава да копае върху него частно и го изпраща по-късно в удобен за него момент. Той е по-труден за изпълнение и изисква голям дял от хешрейта, за да си струва опитът.
Как всъщност се открива
Откриването е статистическо и трябва да бъде такова, защото няма друг наличен сигнал. Измерването е лесно за описване: сравнете блоковете, които даден участник е намерил, с блоковете, които броят на дяловете му казва, че е трябвало да намери, в прозорец, достатъчно дълъг, за да се уравновеси късметът.
Прозорецът е трудната част. Направете го кратък и обикновеният лош късмет изглежда като атака, което би означавало постоянно да обвинявате честни миньори. Направете го дълъг и истински нападател действа известно време, преди числата да проговорят. Няма хитър начин да се заобиколи този компромис; той е свойство на случайността, а не на софтуера.
Затова сериозният детектор поставя въпроса пред човек, вместо да действа сам. Автоматична забрана, водена от статистика, рано или късно ще забрани някого, който просто е нямал късмет, а изключването на легитимен миньор е по-лош резултат от самата атака.
Какво означава това, ако сте честен миньор
Почти нищо, и точно затова си струва да се каже ясно.
Вашите дялове се отчитат и плащат по един и същ начин и в двата случая. Липсата на късмет не е нарушение и не може да бъде, защото във всеки кратък прозорец повечето миньори нямат късмет. Поредица от рундове, в които сте допринесли много, а пулът не е намерил нищо, е нормално отклонение, а показателят за късмет в статистиката на пула съществува точно за да видите колко нормално е то.
Единственото, което си струва да знаете, е, че това е причина пуловете да се интересуват кой насочва хешрейт към тях, и причина пул, който публикува блоковете и късмета си честно, да заслужава повече доверие от такъв, който не го прави. Всичко необходимо, за да проверите пула, е на страницата Блокове.