Перейти к основному контенту

Механизмы консенсуса блокчейна: кто решает, что записывается в реестр?

Давайте заглянем в «машинное отделение» блокчейна и исследуем, как этот децентрализованный мир определяет, «кто может записывать» и «как записывать», используя набор гениальных правил.


1.2 Механизм консенсуса: кто решает, что записывается в реестр?

Механизм консенсуса — это математико-экономический протокол, который гарантирует, что все узлы достигают согласия по одному и тому же реестру. Он позволяет любому записывать данные, но предотвращает несанкционированное вмешательство.

Ранее мы узнали, что блокчейн — это распределенный публичный реестр. Это сразу же поднимает ключевой вопрос: если тысячи людей могут одновременно записывать данные в реестр, как мы решаем, кому доверять? Как мы гарантируем, что окончательная версия реестра будет унифицированной и надежной?

Именно эту проблему призван решить «механизм консенсуса».


Зачем нужен консенсус?​

  1. Управление хаосом «множества писателей» Блокчейн — это открытая система, где, теоретически, любой компьютер (узел), подключенный к сети, может отправить транзакцию. Без единого правила, определяющего, кто имеет право упаковывать транзакции в следующий «блок» и чья запись является авторитетной, весь реестр погрузился бы в хаос, разделившись на бесчисленные противоречивые версии. Механизм консенсуса гарантирует, что в любой момент времени вся сеть может договориться о том, какая «версия истории» является единственной истинной.

  2. Предотвращение «двойной траты» Это основная проблема, которую должны преодолеть системы цифровых валют. Без консенсуса злоумышленник (например, Алиса) мог бы отправить свой единственный 1 биткойн одновременно Бобу и Кэрол. В «маленьком реестре» Алисы обе транзакции выглядят законными. Механизм консенсуса быстро подтверждает одну из этих транзакций (например, отправленную Бобу) в цепочке и немедленно объявляет другую (отправленную Кэрол) недействительной, гарантируя, что каждый цифровой актив не может быть потрачен дважды, тем самым поддерживая дефицит и целостность системы.

  3. Достижение «бездоверительной» безопасности Традиционные финансы полагаются на доверие к банкам и принудительную силу закона для разрешения споров. В децентрализованной сети, состоящей из незнакомых людей со всего мира, мы не можем на это полагаться. Гениальность блокчейна заключается в использовании открытых и прозрачных алгоритмов и экономических стимулов, которые позволяют всем участникам эффективно сотрудничать и проверять друг друга, даже без взаимного доверия. Участники обнаруживают, что следование правилам более выгодно, чем создание помех, тем самым спонтанно поддерживая безопасность системы.


Три основные школы консенсуса​

Для достижения этих целей инженеры разработали множество механизмов консенсуса, каждый из которых имеет свои сильные и слабые стороны, подобно различным школам боевых искусств.

  • Доказательство работы (PoW) Это самый классический механизм, также принятый Биткойном. Представьте его как глобальное «арифметическое соревнование». Все узлы, желающие записать данные (известные как «майнеры»), должны выполнять хеш-вычисления для решения очень сложной математической задачи. Тот, кто первым найдет правильный ответ, получает право записать следующий блок и получает партию вновь выпущенных биткойнов и все комиссии за транзакции в этом блоке в качестве вознаграждения.

    • Преимущества: Проверен более чем десятилетием, очень зрелый и безопасный. Низкий порог входа; любой, у кого есть вычислительная мощность, может присоединиться без необходимости заранее владеть токенами.
    • Недостатки: Майнеры должны потреблять огромное количество электроэнергии, чтобы выиграть соревнование, что подвергалось сильной критике. Кроме того, поскольку соревнование занимает время, его скорость обработки транзакций (пропускная способность) относительно низка.
    • Примеры: Биткойн, Лайткойн, ранний Эфириум.
  • Доказательство доли владения (PoS) Это предпочтительное решение для большинства современных мейнстримных публичных блокчейнов. Оно больше не конкурирует по вычислительной мощности, а по «финансовой мощи» и «репутации». Узлы, желающие участвовать в записи (известные как «валидаторы»), должны сначала застейкать определенное количество токенов в качестве «депозита». Система выбирает следующего записывающего блок на основе застейканной суммы (иногда с добавлением случайности). Если валидатор выбран, но пытается действовать злонамеренно (например, упаковывая недействительную транзакцию), застейканные токены будут конфискованы системой (процесс, называемый «Слэшинг»), что является высокой ценой.

    • Преимущества: Чрезвычайно низкое энергопотребление (более чем на 99,9% ниже, чем у PoW), быстрое подтверждение транзакций и более прямые и точные экономические штрафы для злоумышленников.
    • Недостатки: Может привести к эффекту «богатые становятся богаче». Разработка механизма штрафов должна быть очень осторожной, чтобы предотвратить сопутствующий ущерб и системные риски.
    • Примеры: Эфириум (после The Merge), Солана, Аваланч.
  • Семейство византийской отказоустойчивости (BFT / DPoS / HotStuff и т. д.) Этот тип механизма консенсуса больше похож на систему «комитетного решения». Он обычно работает среди ограниченного числа «суперузлов» или «делегатов». Эти узлы достигают абсолютного большинства согласия относительно порядка и действительности транзакции через несколько раундов эффективного обмена сообщениями и голосования, часто в течение секунд или миллисекунд.
    • Преимущества: Чрезвычайно быстрое подтверждение транзакций (финальность на уровне секунд), очень высокая пропускная способность, особенно подходит для высокопроизводительных корпоративных приложений или в качестве решения для шардинга для крупных публичных блокчейнов.
    • Недостатки: Количество узлов обычно ограничено (от десятков до сотен), поэтому степень децентрализации относительно низка. Структура управления также может быть более сложной.
    • Примеры: Cosmos (Tendermint), Aptos, Sui.

Стимулы и штрафы: экономика поддержания консенсуса​

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

  • Положительные стимулы (Пряник): Щедро вознаграждать узлы, которые честно записывают данные и поддерживают безопасность сети, посредством вознаграждений за блоки (вновь выпущенные токены) и комиссий за транзакции. Это стимулирует людей инвестировать вычислительную мощность или стейкать токены, становясь хранителями сети.
  • Отрицательные стимулы (Кнут): Сдерживать потенциальных злоумышленников, делая стоимость атак чрезвычайно высокой. В PoW злоумышленникам необходимо инвестировать астрономические затраты на электроэнергию и оборудование; в PoS они сталкиваются с риском слэшинга своих долей.
  • Игровое равновесие: В хорошо разработанном протоколе консенсуса любой рациональный участник обнаружит, что честное следование правилам и получение стабильных вознаграждений приносит гораздо большую ожидаемую прибыль, чем запуск атаки. Этот сценарий «следование правилам выгоднее» приводит всю систему к динамическому игровому равновесию, стремящемуся к стабильности и безопасности.

Компромисс между безопасностью и производительностью​

При выборе механизма консенсуса проектным командам необходимо идти на компромиссы в известной «трилемме блокчейна», где безопасность, производительность/масштабируемость и децентрализация часто трудно достижимы одновременно.

  • Безопасность: Измеряется такими показателями, как общая хешрейт сети (PoW), общая сумма застейканных средств (PoS) и количество активных валидаторов.
  • Производительность: Измеряется такими показателями, как транзакции в секунду (TPS), интервал между блоками и время до окончательности.
  • Децентрализация: Определяется такими факторами, как порог для запуска узла, требования к оборудованию, географическое распределение узлов и структура управления.

Не существует «универсального» лучшего решения. Биткойн выбрал экстремальную безопасность и децентрализацию за счет производительности. Некоторые новые публичные блокчейны, обеспечивая определенный уровень безопасности, жертвуют некоторой децентрализацией для достижения чрезвычайно высокой производительности. Разработчики должны найти наиболее подходящую точку баланса, исходя из своих сценариев применения и целевых пользователей.


🤔 Упражнения для читателя​

  1. Откройте обозреватель блоков Эфириума Etherscan.io, найдите последний блок. Кто является «Предлагающим» этого блока? В каком «Слоте» был создан этот блок? Подумайте, как механизм PoS Эфириума мог выбрать именно этого валидатора из тысяч для записи.
  2. Посетите Bitcoin.org или другие сайты данных, чтобы найти историческую кривую хешрейта всей сети Биткойн. Наблюдайте за колебаниями хешрейта и почувствуйте, как «безопасность» в мире PoW тесно связана с инвестированной глобальной вычислительной мощностью.

📚 Дополнительное чтение​

  • «Bitcoin-NG: Масштабируемый протокол блокчейна» — Классическая статья, обсуждающая, как улучшить производительность цепочки PoW.
  • Виталик Бутерин — Серия статей о финальности Proof of Stake — Подробные статьи основателя Эфириума о финальности PoS, преимуществах, недостатках и философии дизайна.
  • «Обзор консенсуса BFT для блокчейнов» — ACM Computing Surveys — Всесторонний обзор различных алгоритмов консенсуса BFT в академической среде.

После того, как мы поняли, кто записывает, в следующем разделе (1.3) мы сосредоточимся на самом реестре, представив «Структура блока: как данные упаковываются и связываются?», что позволит вам глубже понять гениальный дизайн тел блоков и деревьев Меркла.