Алгоритм консенсуса Practical Byzantine Fault Tolerance (PBFT)

Practical Byzantine Fault Tolerance (PBFT)

Practical Byzantine Fault Tolerance (PBFT) – это консенсусный алгоритм практической византийской терпимости к ошибкам, который отвечает за эффективную работу в асинхронных сетях. Алгоритм создали Барбара Лисков и Мигель Кастро в 1999 году. Целью разработчиков стало создание механизма, который решить множество проблем, связанных с уже доступными византийскими решениями по отказоустойчивости. Таким образом основой для алгоритма стал уже существующий механизм BFT, который позволяет достичь консенсуса, даже если некоторые узлы в сети не отвечают или дают неверную информацию. Области применения алгоритма включала в себя распределённые вычисления, а позже и в блокчейн сетях.

Тип
Разработчик
Дата
Сайт
Fault Tolerance
Барбара Лисков, Мигель Кастро
1999
Pmg.csail.mit.edu
Pmg.csail.mit.edu/papers

Practical Byzantine Fault Tolerance (PBFT)

История:

С появлением распределённых сетей, появилась проблема достижения консенсуса между всеми устройствами сети. Проблема подробно описана в статье “Проблема византийских генералов”, которая вышла в 1982 году. Эту статью опубликовали Лесли Лэмпорта, Роберта Шостака и Маршалла Пиза в статье. Первое решение византийской отказоустойчивости представили в статье Мигель Кастро и Барбара Лисков в 1999 году. Статья описывала новый механизм высокопроизводительной репликации, который обрабатывает тысячи запросов в секунду. Алгоритм позволял достичь согласия между устройствами, даже если некоторые из них не отвечают или дают неверную информацию. Применение такого механизма предназначалось исключительно для распределённых вычислений. Потому с появлением криптовалют, алгоритм нашёл своё место и в блокчейне. PBFT применили на алгоритмах LCP, SCP, а алгоритмы LFT, DBFT стали его улучшенной версией. Потому алгоритм Practical Byzantine Fault Tolerance можно считать основателем серии алгоритмов BFT.

Особенности:

Алгоритм Practical Byzantine Fault Tolerance является практическим решением согласования в блокчейн сетях. Каждый блокчейн представляет из себя сеть из узлов, которые согласовано отвечают за операции по контролю и перемещению данных в этой сети. Потому каждая выполняемая одним узлом операция, согласовывается с остальными узлами для достижения согласия сети. После согласования, данные записываются в электронный реестр, копия которого находится у каждого узла. Процесс такого согласования называется консенсус, за который и отвечает алгоритм PBFT. До появления этого алгоритма, присутствовала проблема достижения консенсуса при наличии проблемных узлов в сети. Алгоритм PBFT позволили достигать консенсус, даже если некоторые узлы не отвечают или саботируют. Эта способность крайне важна для распределенных сетей, чтобы предотвратить распространение ошибок и неверной информации, которая отправляется вредоносными или поврежденными узлами.

В сетях, которые используют алгоритм Practical Byzantine Fault Tolerance, не проверяется каждая транзакция, поскольку все узлы сети находятся в общем согласии. Узлы сети в модели PBFT упорядочены и синхронизируются между собой. Этот механизм помогает каждому узлу поддерживать мнение о текущем состоянии сети среди узлов. Потому алгоритм PBFT требует значительно меньше вычислительных затрат и, следовательно, меньше энергозатрат. Также PBFT предусматривает, чтобы сеть как проверяла сообщения от других узлов, так и проверяла надёжность сообщения. Такой механизм требует высокий уровень связи между узлами, что приводит к ограничениям размера сети. Кроме того, PBFT предусматривает регулирования её размера, что расценивается не со стороны плюсов. Также сети с маленьким количеством узлов подвержены сибил атаке, которая подразумевает сосредоточение третьей части узлов в руках одного пользователя.

Заключение:

Practical Byzantine Fault Tolerance отвечает за безопасность сети от нерационального поведения узлов и требует минимальные вычислительные ресурсы. Механизм алгоритма способствует уменьшению накладных расходов и решает проблемы вредоносных узлов. Алгоритм PBFT также стал первооткрывателем среди алгоритмов византийской отказоустойчивости. Соответственно он относится к семейству быстрых и масштабируемых алгоритмов серии BFT. Единственное что смущает, это ограничения с точки зрения размера сети и сосредоточения третьей части узлов в руках одного пользователя. Как бы там не было, алгоритм Practical Byzantine Fault Tolerance стал хорошим механизмом достижения консенсуса.

Алгоритм консенсуса Practical Byzantine Fault Tolerance (PBFT)

Добавить комментарий

Пролистать наверх