MSTR Cat

Блокчейн/Уровень III · Сеть/3.2 Майнинг/Урок 6

Устаревшие (stale) блоки и распространение

Гонка за вершину цепочки и почему побеждает самый быстрый блок

МатериалыДоступ к mempool.space или аналогичному блок-эксплореруБлокнот или таблица

Любопытство

  1. Почему действительный блок иногда отбрасывается?
  2. Как сетевые задержки дают крупным майнинговым операциям преимущество перед мелкими?
  3. Что происходит, когда два майнера находят блоки на одной и той же высоте?

Исследование

  1. Когда майнер находит действительный блок, он передает его пирам, обычно в виде компактного блока. Из-за ограничений пропускной способности и задержек на проверку этой рассылке нужно время, чтобы достичь каждой ноды сети. В этот промежуток другие майнеры, еще не получившие новую вершину цепочки, продолжают майнить поверх предыдущего состояния цепочки, не зная, что конкурирующая ветвь уже найдена.
  2. Если один из этих отстающих майнеров находит собственный действительный блок на той же высоте до того, как получит первоначальную рассылку, возникает временный форк. Оба блока содержат корректное доказательство работы и технически действительны. Однако в активную каноническую цепочку может войти только один из них. Следующий блок, найденный любым майнером, присоединится к одному из них и продлит эту ветвь; другой станет устаревшим.
  3. Задержка распространения напрямую повышает вероятность такой коллизии. Чем медленнее распространение, тем выше доля устаревших блоков (stale rate), и вычислительная мощность, предназначенная для защиты реестра, тратится на внутреннюю конкуренцию. Эта динамика выгодна крупным майнерам с хорошей связностью, которые распространяют свои блоки быстрее, чем небольшие изолированные операторы, — так возникает структурное преимущество, связанное с инфраструктурой, а не только с хешрейтом.
  4. Чтобы сократить потери от устаревания блоков, некоторые майнеры практикуют «майнинг без валидации» (validationless mining). Они проверяют только доказательство работы в заголовке входящего блока и сразу начинают строить поверх него, параллельно загружая полные данные транзакций для последующей проверки. Такой короткий путь может обернуться против них: в июле 2015 года, вскоре после активации софтфорка, майнеры, действовавшие таким образом, построили еще пять блоков поверх недействительного — получился форк из шести блоков, от которого пришлось отказаться.
  5. Компактные блоки (BIP152) и специализированные ретрансляционные сети, такие как FIBRE, значительно сократили время распространения: они отправляют короткие идентификаторы транзакций и только те транзакции, которых нет у пира. Эти оптимизации снижают долю устаревших блоков по всей сети, и крупным пулам становится труднее извлекать выгоду из преимущества в задержках. Тем не менее противоречие между размером блока, временем проверки и скоростью распространения остается центральным ограничением при проектировании консенсуса.
  6. Эгоистичный майнинг (selfish mining), описанный Эялем и Сирером в 2013 году, показал, что майнер со значительным хешрейтом может получить преимущество, стратегически придерживая блоки, а не публикуя их сразу. Хотя реорганизации глубиной в один блок из-за естественных задержек все еще иногда случаются, более глубокие реорги редки, поскольку экономические издержки длительного враждебного поведения для большинства участников превышают возможную выгоду.

Ключевые факты

  • Устаревший блок — это действительный блок, который не становится частью активной цепочки ноды.
  • Более быстрое распространение блоков снижает долю устаревших блоков и уменьшает преимущество крупных майнеров с хорошей связностью.
  • Майнинг без валидации — это проверка только доказательства работы в заголовке блока, чтобы сразу начать строить поверх него.
  • Компактные блоки (BIP152) сокращают время распространения, отправляя короткие идентификаторы вместо полных транзакций, которые у пира уже есть.
  • Эгоистичный майнинг позволяет майнеру со значительным хешрейтом получать выгоду, стратегически придерживая блоки.
  • Реорганизации глубиной в один блок иногда случаются из-за задержек, а более глубокие реорги редки.

Упражнение девять, шесть, три, один

9СобратьНайдите как можно больше недавних устаревших блоков или реорганизаций глубиной в один блок (цель — 9) на mempool.space или в открытых источниках, отмечая дату и участвовавшие пулы.
6СгруппироватьСгруппируйте 9 случаев в 6 категорий по тому, что показывают записи: участвовавшие пулы, время между конкурирующими блоками, их размеры и то, какая ветвь победила.
3Выделить главноеСведите 6 категорий к 3 закономерностям того, как возникают и разрешаются такие форки.
1КристаллизоватьНапишите одно предложение о том, почему скорость распространения — критически важный параметр безопасности для систем с доказательством работы (PoW).

Проверка фактов

Даты, цифры и утверждения были проверены по приведенным ниже опубликованным источникам.

Открыть в интерактивной академии →

EN PT ES ZH JA KO DE FR MS