В своих прошлых публикациях мы уже рассматривали такие алгоритмы консенсуса, как Pos и PoW, lPoS, PoB и др. Сегодняшнюю статью мы посвятим алгоритму dBFT, который используется криптовалютой NEO и обеспечивает большую масштабируемость сети, а также производительность в сравнении с другими альтернативами.
dBFT: описание алгоритма консенсуса
Название dBFT переводится с английского, как делегированная задача византийских генералов. Собственно, для того чтобы понять, как он работает, рассмотрим упрощенную аналогию. Допустим, что существует государство с названием Х (блокчейн). В нем проживает определенное количество граждан (пользователи), которым предоставляется возможность принимать участие в голосовании, выбирая лидера или делегата (представитель «голоса народа»).
Эти делегаты предлагают на рассмотрение законы, которые будут действительны в стране. Каждый гражданин высказывает свои предложения насчет законодательной базы государства, которую затем делегат может поддерживать или не поддерживать.
Когда приходит время принимать закон, из всех делегатов случайным образом выбирается спикер. Он внедряет закон на основании тех предложений, которые поступили от горожан. При этом он рассчитывает насколько его решение повлияет на уровень счастья в стране. Другие делегаты также оценивают этот показатель и сопоставляют его со своими. Если более 66% делегатов подтвердили, что уровень счастья верен, то закон принимается.
Если же уровня в 66% принятия не достигнуто, то выбирается новый спикер и процесс начинается заново. Подобная система позволяет ограничить деятельность предателей и лидеров с ограниченными вычислительными ресурсами.
dBFT в разрезе блокчейна
Если вышеописанную схему перенести в плоскость блокчейна, то роль граждан страны играют все владельцы токенов блокчейна. Они являются обычными нодами, которые могут осуществлять транзакции и обменивать валюту, но к проверке блоков они не допускаются. Делегаты представляют учетные ноды. Они отвечают за проверку всех блоков, которые добавлены в блокчейн.
Для того чтобы получить статус учетной ноды, необходимо соответствовать определенным требованиям. Например, для NEO:
- Специальное техническое обеспечение.
- Выделенное Интернет-соединение.
- Определенный объем GAS на счету (на момент написания статьи – это 1000).
Если дальше следовать аналогии, то закон – это блок в цепи, а уровень счастья – его хеш.
Преимущества dBFT
- Высокая скорость подтверждения транзакций.
- Устранение вероятности незапланированных форков.
- Большая пропускная способность.
- Полная завершенность сети.
Недостатки dBFT
Наверное, самым существенным недостатком алгоритма консенсуса dBFT является частичная централизация за счет использования этих самых делегатов или учетных нод. Несмотря на то, что они выбираются пользователями, они сосредотачивают в своих руках всю власть. Кроме того, есть вероятность, что большая часть этих нод будет находиться в руках самих разработчиков.
На сегодняшний день dBFT используется только в сети NEO. В данном блокчейне он отлично себя проявляет и обеспечивает функционирование сети.