Византийская ошибка, или проблема византийских генералов, была широко обсуждаемой темой в различных областях, таких как информатика или распределенные системы. В криптографии, в частности, в технологии блокчейна, византийская отказоустойчивость (BFT) играет чрезвычайно важную роль. Давайте узнаем больше о BFT в этой статье!
Что такое византийская отказоустойчивость (BFT)?
Византийская отказоустойчивость — это способность распределенной системы или сети работать и достигать консенсуса (нейтрального соглашения), учитывая, что некоторые участники могут не действовать или действовать злонамеренно. Его название происходит от парадокса под названием «Проблема византийских генералов», тогда как византийская отказоустойчивость является решением проблемы.
Чтобы сеть работала корректно, даже несмотря на то, что некоторые ее участники сталкиваются с проблемами (преднамеренно или непреднамеренно), должны существовать некоторые общие правила и условия, чтобы функциональные участники могли гарантировать консенсус сети.
В чем проблема византийских генералов?
Проблема византийских генералов была впервые представлена в 1982 году в статье группы сотрудников Microsoft Research. Проблема была четко описана следующим образом:
«Представьте себе, что несколько дивизий византийской армии расположились лагерем за пределами вражеского города, и каждой дивизией командует свой генерал. Генералы могут общаться друг с другом только через посыльного. Наблюдая за противником, они должны принять общий план действий.
Однако некоторые из генералов могут быть предателями, пытающимися помешать лояльным генералам прийти к соглашению. Генералы должны решить, когда атаковать город, но им нужно, чтобы большая часть их армии атаковала одновременно.
У генералов должен быть алгоритм, гарантирующий, что (а) все лояльные генералы выберут один и тот же план действий и (б) небольшое количество предателей не сможет заставить лояльных генералов принять плохой план. Все лояльные генералы будут делать то, что говорит алгоритм, но предатели могут делать все, что пожелают. Алгоритм должен гарантировать условие (а) вне зависимости от действий предателей. Верные генералы должны не только прийти к соглашению, но и согласовать разумный план».
Проблема византийских генералов, хотя и похожа на проблему двух генералов (парадокс двух генералов), является более общей версией. В более сложной форме задача византийских генералов может налагать больше вариаций. Например, мессенджеры могут не доставить сообщение по дороге или даже намеренно изменить исходный контент.
Что такое BFT в крипто?
В криптографии, особенно в технологии блокчейн , византийская отказоустойчивость играет чрезвычайно важную роль. Когда мы применяем проблему византийских генералов к криптографии, генералы являются узлами . Все узлы в сети блокчейна должны взаимодействовать друг с другом и находить способ достижения консенсуса, что приводит к методам, которые мы называем алгоритмами консенсуса .
Существует множество способов достижения византийской отказоустойчивости. Следовательно, в пространстве блокчейна также существуют различные алгоритмы консенсуса, каждый из которых имеет свои решения проблемы для оптимальной эффективности.
Биткойн с его алгоритмом консенсуса Proof of Work является одним из первых, достигших византийской отказоустойчивости в криптовалюте. С момента своего появления в 2008 году Proof of Work оказался одним из самых безопасных и надежных решений этой проблемы, наряду с успехом Биткойн.
Как Proof of Work достигает византийской отказоустойчивости
Как работает практическая византийская отказоустойчивость?
Практическая византийская отказоустойчивость (pBFT) — алгоритм консенсуса, введенный в конце 90-х годов Барбарой Лисков и Мигелем Кастро с целью решения существующих проблем уже доступных решений византийской отказоустойчивости.
В общем, pBFT работает, первоначально назначая 1 узел в качестве основного (лидерного) узла, а другие — в качестве вторичного (резервного) узла. Любой узел может стать основным, если текущий выйдет из строя.
Кроме того, система pBFT может функционировать тогда и только тогда, когда максимальное количество вредоносных узлов не должно превышать или равняться одной трети всех узлов в системе.
Существует 4 фазы раундов консенсуса pBFT:
- Запрос: клиент отправляет запрос основному (лидерному) узлу.
- Предварительная подготовка: первичный (ведущий) узел рассылает запрос всем вторичным (резервным) узлам.
- Подготовка: узлы (первичный и вторичный) выполняют запрошенную услугу.
- Фиксация: ответ отправляется клиенту, если он действителен.
Как работает византийская отказоустойчивость (pBFT) на практике
Централизация и децентрализация
Как видите, для достижения византийской отказоустойчивости каждый узел (или участник) в сети должен взаимодействовать и взаимодействовать друг с другом. Нет надежного источника информации, на который можно положиться. Поэтому только децентрализованные сети должны учитывать византийскую отказоустойчивость.
С другой стороны, в централизованных сетях всегда есть одна или несколько третьих сторон, которые выступают в качестве посредников между каждым участником, что значительно упрощает общение и достижение консенсуса. Каждый участник больше не должен доверять другому; они могут просто передать всю информацию посреднику.
Византийская отказоустойчивость в централизации и децентрализации
Часто задаваемые вопросы о BFT в крипто
Является ли Proof of Stake византийской отказоустойчивостью?
Как упоминалось выше, технология блокчейн требует алгоритмов консенсуса для достижения византийской отказоустойчивости. Будучи одним из них, Proof of Stake может соответствовать требованиям византийской отказоустойчивости, как и Proof of Work.
Узнайте больше: Что такое PoS? Почему это византийская отказоустойчивость?
Tendermint BFT?
Tendermint, впервые представленный в 2014 году, представляет собой первую адаптацию консенсуса Proof-of-Stake, основанного на алгоритме практической византийской отказоустойчивости (PBFT). Таким образом, он считается алгоритмом консенсуса BFT Proof-of-Stake.
Является ли Ethereum византийской отказоустойчивостью?
Ethereum в настоящее время использует алгоритм консенсуса Proof-of-Work, аналогичный тому, что использует Биткойн. В будущем Ethereum переключит свою сеть на Proof-of-Stake.
В любом случае, Ethereum по-прежнему может соответствовать византийской отказоустойчивости.
Вывод
Византийская отказоустойчивость — это способность распределенной системы или сети работать и достигать консенсуса (нейтрального соглашения), учитывая, что некоторые участники могут не действовать или действовать злонамеренно.
Его название происходит от парадокса под названием «Проблема византийских генералов», тогда как византийская отказоустойчивость является решением проблемы.
Короче говоря, проблема византийских генералов относится к проблеме, когда несколько генералов хотят атаковать крепость и должны решить как группа, атаковать или отступать. Мы должны выяснить, как эти генералы могут прийти к консенсусу независимо от злонамеренных действий или неудачных попыток связи.
Когда мы применяем проблему византийских генералов к криптографии, генералы являются узлами. Все узлы в сети блокчейн должны взаимодействовать друг с другом и находить способ достижения консенсуса, что приводит к методам, которые мы называем алгоритмами консенсуса.
Существует множество способов достижения византийской отказоустойчивости. Следовательно, в пространстве блокчейна также существуют различные алгоритмы консенсуса, каждый из которых имеет свои решения проблемы для оптимальной эффективности.