Механизмы консенсуса

Концепции: Why Consensus, Proof of Work, Proof of Stake, The Merge, PoW vs PoS, DPoS/PoA/PoH, Finality, Attacks

:::section{mins=2} Зачем нужен консенсус :::

:::lead Каждую секунду участники сети предлагают разные версии истории. [[gloss:consensus|Консенсус]] выбирает одну версию — и отклоняет остальные. :::

:::p Представь 10,000 независимых [[gloss:node|нод]], которые ведут одну [[gloss:blockchain|блокчейн]]-книгу учёта без центра. Кто-то отправляет деньги — все могут увидеть и проверить одну и ту же [[gloss:transaction|транзакцию]]. :::

:::p Но дальше начинается сложное: два участника предлагают разные следующие [[gloss:block|блоки]]. Третий намеренно меняет свою копию, чтобы «нарисовать» себе деньги. Кто прав? Какая история становится реальностью? :::

:::p [[gloss:consensus|Консенсус]] — это правило, которое отвечает на этот вопрос. Он не требует честности — он делает обман невыгодным (электричество в [[gloss:proof of work|PoW]] или потеря залога через [[gloss:slashing|slashing]] в [[gloss:proof of stake|PoS]]). Для пользователя это превращается в скорость подтверждения, комиссии и надёжность. :::

:::howto{label="Как это понять"}

  • Консенсус — это не «ноды договорились». Это сделать обман дороже честной игры.
  • Безопасность [[gloss:proof of work|PoW]] — в реальной цене: железо + электричество. Подделать нельзя.
  • Безопасность [[gloss:proof of stake|PoS]] — в заблокированном капитале. Нарушишь правила → потеряешь ( [[gloss:slashing|slashing]] ). :::

:::callout{icon=💡} Ментальная модель: голосование совета. Даже если часть участников куплена, итог остаётся корректным, пока честных достаточно. :::

:::keypoints{label="Ключевые моменты"}

  • [[gloss:consensus|Консенсус]] выбирает правильную версию истории в [[gloss:blockchain|блокчейне]]
  • Нечестные участники не «ломают» сеть — они либо отклоняются, либо платят реальную цену
  • Безопасность зависит от цены голоса: электричество (PoW) или залог (PoS) :::

:::details{badge=Глубже title="Почему везде всплывает «одна треть»"} :::p Во многих распределённых системах встречается порог ~1/3 вредоносных участников: это классический предел Byzantine Fault Tolerance. Для корректного исхода нужен достаточный перевес честных голосов. ::: :::

:::quiz{label="Проверь себя" correct=2 explanation="Консенсус не рассчитывает на добрую волю: он делает нечестность экономически нерациональной — через электричество (PoW) или уничтожение залога (PoS)."} Почему консенсус делает обман невыгодным — а не просто технически сложным?

  • Государство следит за всеми транзакциями
  • Участники добровольно согласились следовать правилам
  • Обман стоит дороже честной игры — это сделано намеренно
  • Большинство всегда принимает правильное решение :::

:::section{mins=3} Proof of Work (Bitcoin) :::

:::lead [[gloss:bitcoin|Bitcoin]] использует [[gloss:proof of work|Proof of Work]]: чтобы добавить [[gloss:block|блок]], майнеры решают сложную задачу. Кто первый — публикует блок и получает BTC. :::

:::p Задача описывается просто: найти число (nonce), чтобы [[gloss:hash|хеш]] блока начинался с N нулей. Никаких коротких путей — только перебор огромного числа вариантов. :::

:::p Ключевая асимметрия: найти ответ дорого, проверить — дёшево. Любой может мгновенно убедиться, что работа действительно проделана. Поэтому PoW безопасен: «доказать усилие» сложно, «проверить» легко. :::

:::callout{icon=💡} PoW похож на лотерею, где билет стоит электричество. Больше мощности = больше билетов. Подделать билеты нельзя. :::

:::keypoints{label="Ключевые моменты"}

  • Майнеры соревнуются: кто первым найдёт nonce под текущую сложность
  • Сложность пересчитывается, чтобы среднее время блока было стабильным (Bitcoin ~10 минут)
  • Безопасность = цена «переделать» больше работы, чем честная сеть :::

:::details{badge=Глубже title="Пулы и давление централизации"} :::p Одиночный майнинг статистически бессмысленен для большинства, поэтому есть пулы: они сглаживают доход, но концентрируют влияние на сбор транзакций и блоков. ::: :::

:::quiz{label="Проверь себя" correct=1 explanation="Асимметрия — ключ: огромные усилия на поиск, мгновенная проверка. Мошенник просто сожжёт электричество и будет отвергнут."} Почему Proof of Work безопасен, хотя это просто перебор?

  • Потому что майнеры подписывают блоки приватным ключом
  • Найти правильный хеш дорого, а проверить — мгновенно; обман невыгоден
  • Сеть мониторит майнеров в реальном времени
  • Только доверенные ноды могут предлагать блоки :::

:::section{mins=3} Proof of Stake (Ethereum) :::

:::lead [[gloss:ethereum|Ethereum]] использует [[gloss:proof of stake|Proof of Stake]]: вместо траты электричества [[gloss:validator|валидаторы]] блокируют ETH как залог. Честная работа — награда. Нечестная — [[gloss:slashing|slashing]]. :::

:::p Чтобы стать валидатором, нужно заблокировать 32 ETH (или присоединиться к пулу). Каждые 12 секунд протокол выбирает предложителя следующего [[gloss:block|блока]], а остальные валидаторы голосуют (attest), что блок корректный. :::

:::p Если валидатор пытается обмануть — например, голосует за конфликтующие блоки — протокол уничтожает часть залога. Это и есть [[gloss:slashing|slashing]]. Чем больше стейк, тем больше можно потерять, поэтому безопасность растёт вместе с капиталом под угрозой. :::

:::callout{icon=💡} PoS похож на огромный залог за участие. Нарушаешь правила → залог автоматически режется. :::

:::keypoints{label="Ключевые моменты"}

  • [[gloss:proof of stake|PoS]] заменяет цену электричества на цену заблокированного капитала
  • Слоты по 12 секунд: один предлагает блок, остальные подтверждают голосами
  • [[gloss:slashing|Slashing]] делает двойное голосование экономически самоубийственным :::

:::details{badge=Глубже title="Fork-choice и финальность"} :::p У Ethereum есть правило выбора ветки (fork-choice) и [[gloss:finality|финальность]] — момент, когда историю откатить становится экономически практически невозможно. ::: :::

:::quiz{label="Проверь себя" correct=3 explanation="Это [[gloss:slashing|slashing]]: наказание встроено в код и делает двойное голосование нерациональным."} Что происходит со стейком валидатора, если он голосует за два конкурирующих блока?

  • Он получает меньшую награду
  • Его временно банят
  • Ничего — голоса анонимны
  • Протокол автоматически сжигает часть залога :::

:::section{mins=2} The Merge :::

:::lead 15 сентября 2022: Ethereum переключился с [[gloss:proof of work|PoW]] на [[gloss:proof of stake|PoS]]. Энергопотребление упало ~на 99.95%. :::

:::p Для пользователей переход был почти незаметен: кошельки, балансы и история [[gloss:transaction|транзакций]] не поменялись. Поменялся механизм [[gloss:consensus|консенсуса]]. :::

:::keypoints{label="Ключевые моменты"}

  • The Merge — это апгрейд консенсуса, а не масштабирования
  • Время блока стабилизировалось около 12 секунд (слоты)
  • Безопасность стала обеспечиваться залогом и [[gloss:slashing|slashing]] вместо электричества :::

:::quiz{label="Проверь себя" correct=1 explanation="The Merge поменял механизм консенсуса. Масштабирование и снижение комиссий — отдельные апдейты и L2."} Что в первую очередь изменил The Merge?

  • Комиссии за газ стали в 100 раз ниже
  • Ethereum сменил консенсус с PoW на PoS
  • Транзакции стали оффчейн
  • Убрали смарт-контракты :::

:::section{mins=3} Сравнение: PoW vs PoS :::

:::lead [[gloss:proof of work|PoW]] и [[gloss:proof of stake|PoS]] решают одну задачу: как выбрать следующий [[gloss:block|блок]] без доверия. Отличие — в том, чем «покупается» право голоса. :::

:::p В PoW голос стоит электричество и железо. В PoS — заблокированный капитал. В обоих случаях атакующему нужно контролировать большинство ресурса, чтобы стабильно переписывать историю. :::

:::keypoints{label="Ключевые моменты"}

  • PoW: атака требует постоянных затрат энергии и доступа к мощности
  • PoS: атака требует большого стейка и риска потерять его через [[gloss:slashing|slashing]]
  • Компромиссы по централизации разные: пулы vs стейкинг-провайдеры :::

:::quiz{label="Проверь себя" correct=2 explanation="В [[gloss:proof of stake|PoS]] вес голоса зависит от заблокированного капитала, а нарушения наказываются [[gloss:slashing|slashing]]."} Что является главным «ресурсом безопасности» в PoS?

  • Электричество
  • Память GPU
  • Заблокированный залог (stake)
  • Разрешение государства :::

:::section{mins=2} Другие механизмы :::

:::lead Не все сети используют чистый [[gloss:proof of work|PoW]] или [[gloss:proof of stake|PoS]]. Есть делегированные и гибридные модели — обычно они обменивают децентрализацию на скорость. :::

:::p Примеры: Delegated Proof of Stake (DPoS), Proof of Authority (PoA), Proof of History (PoH) и разные BFT-голосования. :::

:::keypoints{label="Ключевые моменты"}

  • Меньше «решающих» участников → часто быстрее блоки, но больше доверительных предпосылок
  • Всегда проверяй: кто может стать валидатором и как наказывают нарушителей :::

:::quiz{id=q-1-3-s6 correct=2 explanation="Верно. Трилемма консенсуса: оптимизируй любые два из трёх — скорость, безопасность, децентрализацию — и третье пострадает. Ethereum выбрал децентрализацию + безопасность. Solana — скорость + безопасность. BNB Chain — скорость + безопасность с меньшим числом валидаторов. Никто не ошибается — они оптимизированы под разные задачи."} Почему существуют десятки механизмов консенсуса вместо одного универсального?

  • Потому что разработчики не могут договориться об одном стандарте
  • Потому что старые механизмы имеют баги, которые новые исправляют
  • Потому что нельзя одновременно оптимизировать скорость, безопасность и децентрализацию
  • Потому что каждый механизм работает только в одной стране :::

:::section{mins=2} Финальность :::

:::lead [[gloss:finality|Финальность]] — это момент, когда историю можно считать необратимой. В разных сетях это достигается по-разному: вероятностно или экономически. :::

:::p У Bitcoin финальность вероятностная: каждый новый блок снижает шанс отката. У Ethereum PoS финальность экономическая: откат финализированной истории требует уничтожения большого куска стейка. :::

:::keypoints{label="Ключевые моменты"}

  • Финальность отвечает на вопрос «когда транзакция навсегда?»
  • Механизм консенсуса определяет практику подтверждений и риск reorg :::

:::quiz{id=q-1-3-s7 correct=2 explanation="Верно. Bitcoin имеет вероятностную финальность: после 6 блоков (~60 мин) откат транзакции стоил бы больше любой реалистичной выгоды. Для небольших сумм достаточно 1–3 подтверждений. Для крупных — ждите 6."} Ты принимаешь платёж на $50,000 в Bitcoin. Сколько ждать перед тем как считать его окончательным?

  • Несколько секунд — как только появился в мемпуле
  • 1 подтверждение (~10 мин) достаточно
  • 6 подтверждений (~60 мин) — после которых отмена экономически нерациональна
  • 24 часа — только тогда Bitcoin по-настоящему финален :::

:::section{mins=3} Атаки на консенсус :::

:::lead На консенсус можно атаковать. Самая известная атака в [[gloss:proof of work|PoW]] — «51%»: если атакующий контролирует большинство мощности, он может обгонять честных майнеров и переписывать недавнюю историю. :::

:::p Чаще всего цель — двойная трата: заплатить продавцу, получить товар, затем откатить цепочку так, чтобы платежа «не было». Крупные сети делают это экономически бессмысленным; маленькие PoW-сети могут быть дешёвой целью. :::

:::callout{icon=🧪} Открой симуляцию ниже и сдвинь долю атакующего выше 51% — увидишь, почему «решает большинство» становится опасно. :::

:::keypoints{label="Ключевые моменты"}

  • 51% атака = контроль большинства ресурса консенсуса
  • Крупные сети безопаснее в первую очередь потому, что их дорого атаковать :::

:::quiz{id=q-1-3-s8 correct=1 explanation="Верно. Атака на Ethereum Classic стоит тысячи долларов в час. На Bitcoin — миллионы. Математика та же — масштаб меняет всё. Безопасность прямо пропорциональна ценности под угрозой."} Почему атаки 51% случаются на малых сетях вроде Ethereum Classic, но не на Bitcoin или Ethereum?

  • У малых сетей слабее шифрование
  • Стоимость атаки зависит от размера сети — малые дешево атаковать
  • Крупные сети имеют защиту государства
  • Bitcoin и Ethereum используют другой механизм консенсуса :::

:::section{mins=3} MEV (скрытая экономика блоков) :::

:::lead [[gloss:mev|MEV]] — это «скрытая экономика» производства блоков: тот, кто собирает блок, может заработать на порядке транзакций (арбитраж, ликвидации, sandwich). :::

:::p MEV существует потому, что mempool публичный, а сборщик блока контролирует порядок [[gloss:transaction|транзакций]]. В Ethereum PoS большая часть сборки блоков ушла к специализированным builder’ам (MEV-Boost). :::

:::keypoints{label="Ключевые моменты"}

  • MEV — следствие контроля порядка транзакций
  • Снижение вредного MEV — активная зона исследований и инфраструктуры :::

:::quiz{id=q-1-3-s9 correct=0 explanation="Верно. Front-running: заметить сделку и встать впереди. Sandwich атака — до И после жертвы. Арбитраж использует разницу цен между биржами. Все три — формы MEV."} Бот замечает твой крупный своп токена в мемпуле и вставляет ордер на покупку перед ним. Как это называется?

  • Front-running
  • Sandwich атака
  • Арбитраж
  • Slashing :::