Что такое selfish mining?
Майнер (или группа майнеров [майнинг-пул]) путем selfish mining (нечестного майнинга) увеличивает свой доход, удерживая и выпуская блоки в сеть в определенное время, тем самым повышая свой коэффициент мощности. Мы ожидаем, что майнер объявит блок, как только он его найдет. Если блок будет подтвержден, то он [майнер] получит награду за блок.
Однако, не объявляя свой блок сразу, майнер создает приватную ветку блокчейна. Остальная часть сети продолжает дополнять блокчейн с предыдущего блока, в то время как нечестный майнер дополняет свою ветку. С этого момента обе ветки будут выглядеть совершенно по-разному.
Цель нечестного майнинга – всегда оставаться по крайней мере на один блок впереди остальной части сети. Ноды принимают блокчейн с наибольшим накопленным доказательством работы в качестве действительного (с наибольшей высотой). В любое время нечестный майнер может раскрыть свою ветку сети. Если она длиннее, чем остальная часть сети, то существующие блоки будут обрезаны, а транзакции будут отменены. Майнер собирает все награды с этих блоков и заставляет других майнеров попусту тратить свои вычислительные ресурсы.
Успех нечестного майнинга в некоторой степени зависит от удачи, но в основном от вычислительной мощности, доступной майнеру. В долгосрочной перспективе нечестный майнинг может подорвать децентрализацию биткойна, поскольку он концентрирует вычислительную мощность в небольших пулах.
Мы видим на графике, что нечестный майнер, превышающий 1/3 вычислительной мощности, имеет доход больше, чем честный майнер.
Система Биткойн была бы намного более надежной, если бы имела автоматизированный механизм, который может помешать нечестным майнерам.