Skip to main content

Консенсус Polkadot, часть 1: Введение

January 6, 2020 in консенсус-ru
Avatarby Joe Petrowski

Автор оригинальной статьи Джозеф Петровски

Переведено Natali

Эта серия статей будет описывать безопасность и консенсус Polkadot. В части 1 мы определим некоторые термины, прежде чем вдаваться в детали того, как создаются блоки в Polkadot.

Алгоритмы консенсуса помогают компьютерной сети работать как один компьютер. На практике это означает, что почти каждый компьютер в сети должен согласовать некоторое начальное состояние, а затем согласовать последовательность детерминированных операций с начальным состоянием, чтобы они достигли одного и того же конечного состояния.

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

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

Фактически, некоторые ранее существовавшие алгоритмы консенсуса напоминали блокчейны. В лекции 2001 года профессор MIT Barbara Liskov рассказала о пакетных транзакциях для повышения Practical Byzantine Fault Tolerance (PBFT), задолго до того, как появился биткойн.

Представьте себе очень загруженный компьютер, который получает запрос после запроса, за ним еще запрос; на самом деле он не запускает протокол для каждого запроса. Вместо этого он собирает пакет запросов и выполняет один протокол для всей группы. … На самом деле не обязательно, чтобы каждый отправлял ответ клиенту. Это нормально, если все, кроме одного, отправляют дайджесты ответа, потому что этого будет достаточно, чтобы клиент мог сказать, есть ли у него идентичные ответы.

PBFT предоставил набор правил для согласования изменений состояния — даже пакетами (читай: блоками).

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

В распределенной системе, такой как блокчейн, вам нужно ответить на несколько вопросов:

  1. Кто может предложить следующее изменение?
  2. Какой набор изменений является финальным?
  3. Что случится, если кто-то нарушит правила?

Важно различать эти понятия и дать ответы на них на ранней стадии, потому что многие протоколы консенсуса в блокчейне объединяют их в одно понятие. Proof of work, например, использует доказательство, чтобы выбрать автора блока; самую длинную цепь, чтобы решить, какая цепь является окончательной; и стоимость создания этого доказательства в качестве наказания за нарушение правил. В Polkadot на все эти вопросы отвечают отдельно.

Неблокчейн системы по-прежнему отвечают на эти вопросы. Например, можно предположить, что все компьютеры работают с одним и тем же программным обеспечением. В большинстве случаев это нормально. Если Boeing делает самолет, можно с уверенностью предположить, что они программируют все компьютеры на нем.

В публичной сети, однако, мы не можем сделать такое предположение. Блокчейны позволяют нам отбросить некоторые из наших сетевых предположений, используя экономику. Все консенсусные системы имеют понятия "хорошего” и "плохого" поведения. Внутренние экономические свойства блокчейнов позволяют нам вознаграждать хорошее поведение или наказывать плохое поведение. PoS сеть использует экономику как прямое средство достижения консенсуса.

Безопасность в блокчейн системе — это мера сложности нарушения консенсуса. В proof of authority сети безопасность — это сложность получения контроля над authorities. В proof of work сети безопасность — это стоимость приобретения и использования достаточной хеш мощности, чтобы создать более длинную цепочку. И в proof of stake сети безопасность — это объем застеканных активов, и риск их потери.

Parity Technologies и Web3 Foundation разработали и внедрили библиотеку алгоритмов для решения проблем консенсуса и безопасности. В этой серии мы начнем с GRANDPA, нашего алгоритма финализации. Затем мы перейдем к BABE, нашему движку по созданию блоков, и обсудим, как мы добавляем блоки в цепочку. Наконец, мы закончим дискуссию о том, как мы используем экономику для обеспечения безопасности GRANDPA и BABE.


Чтобы получить доступ к исходной статье, посетите официальный английский блог Polkadot.

Telegram(Ru): t.me/PolkadotRu

From the blog

Events

Decoded 2024: Polkadot’s vision for a decentralized future

Polkadot Decoded 2024 in Brussels brought together top blockchain minds to explore the future of Web3. Highlights included Björn Wagner's insights on payments and Dr. Gavin Wood's vision for digital individuality.

Technology

Key Metrics and Insights: June 2024

Stay updated with the latest Polkadot tech updates, metrics, and insights from June 2024, presented by the Parity Success Team.

Decentralization

Introducing the New Polkadot Ledger App

Discover the new Polkadot Ledger app for seamless, secure transactions. Now available on Ledger Live, it supports Polkadot, Kusama, and more.

Subscribe to the newsletter to hear about updates and events.