Алгоритмы консенсуса в блокчейне

Консенсус в Блокчейне

Что такое Консенсус?

Термин Консенсус (лат. Consensus – согласие) в общем случае трактуется как процесс принятия группой лиц единого решения, достижение согласия по какому-либо вопросу. При этом как такового голосования не проводится – решение принимается на основе отсутствия возражений у большинства участников.

Стоит отметить, что консенсусом называют не только сам процесс принятия решения, но и само принятое в результате такой процедуры решение, то есть результат.

Алгоритм консенсуса

Тот или иной метод, который используется для принятия решения, называется «механизмом консенсуса» или «алгоритмом консенсуса».

Алгоритм консенсуса имеет следующие цели:

  • Согласование. Достижение максимальной степени согласия всех сторон
  • Эгалитаризм. Соблюдение равноправия, равенство всех участников
  • Кооперирование. Участники заинтересованы работать сообща
  • Инклюзивность. В процессе достижения консенсуса должно участвовать максимальное количество участников

Консенсус в блокчейне

Алгоритм консенсуса в блокчейне – это набор определенных математических правил и функций, регулирующих работу сети.

Как известно, первой криптовалютой, в основе которой лежит технология блокчейн, является Биткоин. Однако и до его появления было достаточно много попыток разработки одноранговых децентрализованных платежных систем, но все они потерпели неудачу, главным образом, из-за неспособности решить основную проблему достижения консенсуса. Эта проблема получила название «задача византийских генералов». Более подробно о ней читайте в статье по ссылке.

Современные механизмы консенсуса в блокчейне основаны именно на данной криптографической задаче.

Для применения в отношении криптовалют принципы «византийской» задачи были несколько скорректированы и адаптированы под работу в P2P-сети.

Применяя данную задачу к блокчейну можно выделить следующие моменты:

  • Стойкость к цензуре. Так как блокчейн – децентрализованная система, не нуждающаяся в едином управляющем органе, то соответственно никто никому не может запретить заниматься майнингом, т.е. участвовать в работе сети.
  • Объективность. В блокчейне всегда находится актуальная информация касательно состояния сети. Таким образом, записи не нуждаются в подтверждении какими-то особыми авторитетными источниками.

Функции механизмов консенсуса в блокчейне

  • Частота генерации новых блоков. Благодаря данным алгоритмам исключаются ситуации, каждый узел генерирует свой блок и записывает его в блокчейн. К примеру, в сети Биткоин блоки генерируются каждые 10 минут. Однако иногда возникают ситуации, когда два или более узлов генерируют блок практически одновременно, с разницей в долях секунды. В этом случае возникает конфликт, который разрешается в пользу узла, раньше всех создавшего блок. Транзакции, которые входили в конкурентный блок или блоки, помещается в список неподтвержденных транзакций, и отрабатываются в следующем блоке.
  • Проверка информации в блоке. Все участники должны подтвердить, что данные в сгенерированном блоке верны. Проверке подлежат хеши транзакций как текущего, так и предыдущего блока, а также корректность подбора числа nonce.
  • Размер вознаграждения. Размер вознаграждения зависит от сложности сети, причем, как это ни парадоксально в обратной пропорции.
  • Недопущение двойного списания средств. Например, в сети Биткоин при проведении транзакции в блокчейн направляются все средства. После этого необходимая сумма перечисляется получателя, а остаток возвращается отправителю.

Основные алгоритмы консенсуса в блокчейне

Все перечисленные механизмы консенсуса имеют свои преимущества и недостатки. Ознакомится с каждым из них вы можете по ссылкам.

Самыми распространенными в настоящее время являются два алгоритма — Proof-of-Work и Proof-of-Stake. Другие механизмы находят применение в намного меньшем количестве криптовалютных платформ. Это связано с их относительным малым возрастом, и, соответственно, не в полной мере отработанными технологиями.