115 / 691NC

Nakamoto consensus

Консенсус Накамото позволяет узлам Bitcoin без разрешения вероятностно согласовать допустимую историю с помощью Proof of Work, накопленной работы и стимулов.

Full Node сначала применяет правила консенсуса и лишь затем среди допустимых цепей выбирает цепь с наибольшей накопленной работой. Майнеры конкурируют за её продолжение. Согласие не становится мгновенно окончательным; название «консенсус Накамото» появилось позже и в белой книге не используется.

Понятие объединяет правила проверки Bitcoin, выбор производителя блока через Proof of Work, выбор ветви и экономические стимулы. Сведение его к майнингу упускает Full Node, который независимо определяет допустимость. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [The Bitcoin Backbone Protocol]

Full Node проверяет транзакции и блоки по своим правилам консенсуса. Даже огромная работа не делает недопустимый блок допустимым; выбор ветви сравнивает только допустимых кандидатов. Согласие предполагает совместимые правила участников. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain] [Bitcoin Core v29.0 — Chainstate validation]

Proof of Work связывает влияние с вычислительной работой и затратами энергии и оборудования, а не с одним голосом на сетевую идентичность. Поэтому создание множества псевдонимов само по себе не увеличивает вес при выборе цепи. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [The Bitcoin Backbone Protocol]

Майнеры собирают блоки-кандидаты и ищут хеш заголовка, числовое значение которого меньше или равно допустимой цели. Конкурирующие допустимые блоки могут появиться одновременно; их распространение и последующая работа в обычных сетевых условиях разрешают временное разветвление. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain]

Full Node выбирает допустимую ветвь с наибольшей суммарной работой, называемой chainwork. Работа блока выводится из его цели, а не из числа попыток, фактически выполненных майнером. Самая длинная цепь означает наибольшую работу, не обязательно наибольшее число блоков. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain] [Bitcoin Core v29.0 — Chainstate validation]

При честном большинстве работы и надлежащем распространении блоков риск переписывания снижается с глубиной подтверждений. Атакующему нужно догнать конкурирующую цепь. Подтверждения не являются математической необратимостью и не защищают от произвольной модели атаки или изоляции жертвы. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [The Bitcoin Backbone Protocol]

В mainnet цель пересчитывается каждые 2016 блоков по прошлым временным меткам с ориентиром на средние десять минут на блок. Корректировка смягчает долгосрочное влияние изменений хешрейта; она не гарантирует точных отдельных интервалов или мгновенной реакции на отключение майнеров. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain]

Блоковая субсидия и комиссии вознаграждают продолжение принятой истории. Большинство хешрейта может реорганизовать допустимые блоки или цензурировать транзакции, но не заставит Full Node принять неверную подпись, нарушить правила эмиссии или потратить чужие средства без полномочий. Риск атаки существует и ниже 50%. [Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash System] [Bitcoin Developer Guide — Block Chain] [Bitcoin Core v29.0 — Chainstate validation]

Безопасность и продвижение зависят от доли работы противника, достаточно быстрого распространения и честной проверки. Атаки eclipse и разделения сети показывают значение топологии: один процент хешрейта не является полной моделью угроз. [The Bitcoin Backbone Protocol]

Классический BFT обычно использует известных участников и подтверждает голосованием при явных границах отказов и временных предположениях. У консенсуса Накамото открытое членство, вес по работе и вероятностная окончательность. Это смена модели, а не простая реализация OM или PBFT. [The Bitcoin Backbone Protocol] [The Byzantine Generals Problem] [Bitcoin Optech — Consensus changes]

Для полной картины прочитайте эту статью вместе с Bitcoin, Proof of Work, Корректировка сложности, Правила консенсуса, Майнинг, Full Node. На эту статью также ссылаются Byzantine Generals Problem, Sybil attack, Selfish mining.

DOC · 001Satoshi Nakamoto — Bitcoin: A Peer-to-Peer Electronic Cash SystemПервичный источник ↗DOC · 002Bitcoin Developer Guide — Block ChainДокументация ↗DOC · 003Bitcoin Core v29.0 — Chainstate validationДокументация ↗DOC · 004The Bitcoin Backbone ProtocolПервичный источник ↗DOC · 005The Byzantine Generals ProblemПервичный источник ↗DOC · 006Bitcoin Optech — Consensus changesДокументация ↗
Сначала источники · Не является инвестиционной рекомендацией