Биткоин — не строгая BFT-система, а вероятностный консенсус, который в обмен на открытость опирается на предположение о вычислительной мощности
Механизм консенсуса Биткоина — это не строгая репликация машины состояний с византийской отказоустойчивостью (BFT-SMR) в традиционном смысле, а асинхронная приближённая реализация, основанная на теории вероятностей. Это различие обусловлено стремлением Биткоина к максимальной открытости: любой узел может свободно присоединиться к сети или покинуть её, что делает неприменимыми предположения классических BFT-протоколов о фиксированном составе узлов и синхронной коммуникации. Чтобы противостоять византийским отказам в открытой среде — точнее, обеспечить устойчивость к атаке Сивиллы (Sybil resistance), — Биткоин заменяет традиционные предположения о безопасности предположением о вычислительной мощности. Суть этого перехода — установить тесную связь между вычислительной мощностью и реальными вычислительными задачами; лежащая в его основе логика глубоко укоренена в теории вычислительной сложности. В модели случайного оракула (Random Oracle Model, RO) протокол считает ресурсом количество запросов к хеш-функции, предполагая, что каждый запрос выдаёт независимый равномерно распределённый результат. В этой идеализированной среде вероятность найти корректное доказательство выполнения работы (PoW) полностью определяется сложностью сети, поэтому бюджет запросов атакующего напрямую ограничивает объём работы, который он способен выполнить. Сколько бы фиктивных идентификаторов атакующий ни создавал, превысить этот вычислительный предел он не сможет — так и обеспечивается устойчивость к атаке Сивиллы. Однако реальный мир не соответствует идеализированной модели RO, и за пределами этой абстрактной схемы протокол должен опираться на конкретные предположения о вычислительной сложности, чтобы количественно оценить возможности атакующего ускорять вычисления. Именно здесь важную роль играет тонкозернистая сложность (Fine-grained Complexity): нам нужны количественные гарантии вычислительных затрат, а разница в эффективности честного алгоритма и оптимального алгоритма атаки напрямую определяет максимальную долю ресурсов злоумышленника, которую способен выдержать протокол. В работе 2024 года на основе Beacon PoW был построен по тому же принципу: Beacon своевременно предоставляет случайные данные для создания новых задач, а безопасность опирается на предположения о вычислительной сложности, а не только на непредсказуемость хеш-функции.
Ключ к превращению вычислительной задачи в безопасность консенсуса — определить сущность «цепи» и то, как она связана с историей. В классической абстракции BFT-SMR задача протокола — установить полный порядок (Total Order) операций: каждый честный узел, опираясь на сообщения протокола, локально определяет префикс журнала, который можно зафиксировать, а консенсус гарантирует совместимость этих локальных решений. В таком случае порядковый номер непосредственно задаёт порядок выполнения операций, поскольку протокол гарантирует согласованность содержимого, зафиксированного на каждой позиции. В Биткоине же цепь — это упорядоченное представление истории, построенное посредством вычислительной работы, поэтому необходимо чётко определить, какую часть истории поддерживает каждое доказательство выполнения работы. Одной лишь высоты блока недостаточно, чтобы определить его принадлежность: за каким именно блоком высоты 99 следует блок высоты 100? От этого зависит, какую ветвь истории он наследует. Биткоин решает эту задачу, включая хеш предыдущего блока (Previous Hash) во входные данные PoW, тем самым заставляя каждый блок явно ссылаться на родительский. Проследив эти хеш-ссылки до генезис-блока, можно однозначно определить всю унаследованную блоком историю и его высоту в ней. Механизм Previous Hash объединяет отдельные результаты майнинга в цепь, привязывая каждое доказательство выполнения работы к конкретной ветви истории и позволяя накапливать объём работы вдоль одной и той же ветви.
Этот механизм привязки одновременно задаёт правила продолжения цепи и обеспечивает защиту от предварительного майнинга. Предположим, текущая вершина цепи имеет высоту h. Чтобы продлить цепь, необходимо добыть следующий блок, используя хеш этого блока в качестве входных данных. Если же использовать хеш родительского блока высоты h-1, добытый блок окажется частью конкурирующей ветви высоты h и не увеличит длину или накопленный объём работы текущей основной цепи. Чтобы унаследовать уже накопленную работу самой длинной цепи, необходимо продолжать вычисления именно для её вершины. В этом механизме заложено важное ограничение безопасности: злоумышленники не могут получить дополнительное преимущество за счёт предсказания или предварительного майнинга. В модели RO конкретный хеш блока, который ещё не создан, невозможно эффективно предсказать, а значит, нельзя заранее подготовить работу для его потомка. Атакующий может заблаговременно майнить собственную ветвь, но не сможет после появления нового блока у честных узлов «перенести» на него предварительно выполненную работу, чтобы унаследовать актуальный объём работы. Чтобы унаследовать работу последнего блока, необходимо в реальном времени выполнять вычисления для текущей вершины цепи. Это свойство обеспечивает актуальность и непереносимость доказательства выполнения работы, не позволяя накоплению ресурсов искажать процесс достижения консенсуса.
В широком смысле консенсус Накамото объединяет вычислительную сложность, криптографию и распределённые вычисления в единую логическую цепочку. Вычислительная сложность даёт количественную основу для оценки затрат на работу и гарантирует, что для влияния на консенсус атакующему придётся затратить ресурсы, пропорциональные ресурсам честных узлов. Криптографические конструкции создают общедоступные доказательства выполненной работы и подтверждают, что даже при злонамеренном выборе задач, предварительной обработке и повторном использовании эти доказательства сохраняют соответствующие вычислительные затраты, предотвращая подделку или неэффективное повторное использование PoW. Распределённые вычисления определяют синхронную сетевую модель и модель противника, задают правило выбора цепи (правило самой длинной цепи) и механизм подтверждений, преобразуя ограничения на ресурсы в отказоустойчивость в рамках BFT-SMR. В основе всей системы лежит идея преобразовать долю вычислительных ресурсов атакующего в ограничение на отказы, с которыми может справиться распределённый протокол, и на этой основе обеспечить консенсус. Успех Биткоина в конечном счёте определяется не тем, способен ли он обеспечить абсолютную византийскую отказоустойчивость, а тем, удаётся ли ему в открытой децентрализованной среде поддерживать действенность предположения о вычислительной мощности и устойчивую связь между вычислительными затратами и безопасностью консенсуса. С ростом эффективности оборудования и изменением распределения вычислительных мощностей устойчивость этой связи будет и дальше подвергаться испытаниям, однако лежащий в её основе принцип — обмен вычислительных затрат на доверие — по-прежнему остаётся одной из наиболее устойчивых архитектурных основ современных децентрализованных денежных систем.
Подписывайтесь, чтобы не пропустить следующий краткий обзор рынка.
Механизм консенсуса Биткоина — это не строгая репликация машины состояний с византийской отказоустойчивостью (BFT-SMR) в традиционном смысле, а асинхронная приближённая реализация, основанная на теории вероятностей. Это различие обусловлено стремлением Биткоина к максимальной открытости: любой узел может свободно присоединиться к сети или покинуть её, что делает неприменимыми предположения классических BFT-протоколов о фиксированном составе узлов и синхронной коммуникации. Чтобы противостоять византийским отказам в открытой среде — точнее, обеспечить устойчивость к атаке Сивиллы (Sybil resistance), — Биткоин заменяет традиционные предположения о безопасности предположением о вычислительной мощности. Суть этого перехода — установить тесную связь между вычислительной мощностью и реальными вычислительными задачами; лежащая в его основе логика глубоко укоренена в теории вычислительной сложности. В модели случайного оракула (Random Oracle Model, RO) протокол считает ресурсом количество запросов к хеш-функции, предполагая, что каждый запрос выдаёт независимый равномерно распределённый результат. В этой идеализированной среде вероятность найти корректное доказательство выполнения работы (PoW) полностью определяется сложностью сети, поэтому бюджет запросов атакующего напрямую ограничивает объём работы, который он способен выполнить. Сколько бы фиктивных идентификаторов атакующий ни создавал, превысить этот вычислительный предел он не сможет — так и обеспечивается устойчивость к атаке Сивиллы. Однако реальный мир не соответствует идеализированной модели RO, и за пределами этой абстрактной схемы протокол должен опираться на конкретные предположения о вычислительной сложности, чтобы количественно оценить возможности атакующего ускорять вычисления. Именно здесь важную роль играет тонкозернистая сложность (Fine-grained Complexity): нам нужны количественные гарантии вычислительных затрат, а разница в эффективности честного алгоритма и оптимального алгоритма атаки напрямую определяет максимальную долю ресурсов злоумышленника, которую способен выдержать протокол. В работе 2024 года на основе Beacon PoW был построен по тому же принципу: Beacon своевременно предоставляет случайные данные для создания новых задач, а безопасность опирается на предположения о вычислительной сложности, а не только на непредсказуемость хеш-функции.
Ключ к превращению вычислительной задачи в безопасность консенсуса — определить сущность «цепи» и то, как она связана с историей. В классической абстракции BFT-SMR задача протокола — установить полный порядок (Total Order) операций: каждый честный узел, опираясь на сообщения протокола, локально определяет префикс журнала, который можно зафиксировать, а консенсус гарантирует совместимость этих локальных решений. В таком случае порядковый номер непосредственно задаёт порядок выполнения операций, поскольку протокол гарантирует согласованность содержимого, зафиксированного на каждой позиции. В Биткоине же цепь — это упорядоченное представление истории, построенное посредством вычислительной работы, поэтому необходимо чётко определить, какую часть истории поддерживает каждое доказательство выполнения работы. Одной лишь высоты блока недостаточно, чтобы определить его принадлежность: за каким именно блоком высоты 99 следует блок высоты 100? От этого зависит, какую ветвь истории он наследует. Биткоин решает эту задачу, включая хеш предыдущего блока (Previous Hash) во входные данные PoW, тем самым заставляя каждый блок явно ссылаться на родительский. Проследив эти хеш-ссылки до генезис-блока, можно однозначно определить всю унаследованную блоком историю и его высоту в ней. Механизм Previous Hash объединяет отдельные результаты майнинга в цепь, привязывая каждое доказательство выполнения работы к конкретной ветви истории и позволяя накапливать объём работы вдоль одной и той же ветви.
Этот механизм привязки одновременно задаёт правила продолжения цепи и обеспечивает защиту от предварительного майнинга. Предположим, текущая вершина цепи имеет высоту h. Чтобы продлить цепь, необходимо добыть следующий блок, используя хеш этого блока в качестве входных данных. Если же использовать хеш родительского блока высоты h-1, добытый блок окажется частью конкурирующей ветви высоты h и не увеличит длину или накопленный объём работы текущей основной цепи. Чтобы унаследовать уже накопленную работу самой длинной цепи, необходимо продолжать вычисления именно для её вершины. В этом механизме заложено важное ограничение безопасности: злоумышленники не могут получить дополнительное преимущество за счёт предсказания или предварительного майнинга. В модели RO конкретный хеш блока, который ещё не создан, невозможно эффективно предсказать, а значит, нельзя заранее подготовить работу для его потомка. Атакующий может заблаговременно майнить собственную ветвь, но не сможет после появления нового блока у честных узлов «перенести» на него предварительно выполненную работу, чтобы унаследовать актуальный объём работы. Чтобы унаследовать работу последнего блока, необходимо в реальном времени выполнять вычисления для текущей вершины цепи. Это свойство обеспечивает актуальность и непереносимость доказательства выполнения работы, не позволяя накоплению ресурсов искажать процесс достижения консенсуса.
В широком смысле консенсус Накамото объединяет вычислительную сложность, криптографию и распределённые вычисления в единую логическую цепочку. Вычислительная сложность даёт количественную основу для оценки затрат на работу и гарантирует, что для влияния на консенсус атакующему придётся затратить ресурсы, пропорциональные ресурсам честных узлов. Криптографические конструкции создают общедоступные доказательства выполненной работы и подтверждают, что даже при злонамеренном выборе задач, предварительной обработке и повторном использовании эти доказательства сохраняют соответствующие вычислительные затраты, предотвращая подделку или неэффективное повторное использование PoW. Распределённые вычисления определяют синхронную сетевую модель и модель противника, задают правило выбора цепи (правило самой длинной цепи) и механизм подтверждений, преобразуя ограничения на ресурсы в отказоустойчивость в рамках BFT-SMR. В основе всей системы лежит идея преобразовать долю вычислительных ресурсов атакующего в ограничение на отказы, с которыми может справиться распределённый протокол, и на этой основе обеспечить консенсус. Успех Биткоина в конечном счёте определяется не тем, способен ли он обеспечить абсолютную византийскую отказоустойчивость, а тем, удаётся ли ему в открытой децентрализованной среде поддерживать действенность предположения о вычислительной мощности и устойчивую связь между вычислительными затратами и безопасностью консенсуса. С ростом эффективности оборудования и изменением распределения вычислительных мощностей устойчивость этой связи будет и дальше подвергаться испытаниям, однако лежащий в её основе принцип — обмен вычислительных затрат на доверие — по-прежнему остаётся одной из наиболее устойчивых архитектурных основ современных децентрализованных денежных систем.
Подписывайтесь, чтобы не пропустить следующий краткий обзор рынка.