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

Polkadot Blockchain Academy

Polkadot Blockchain Academy: Targeted Education for Builders and Founders

Polkadot Blockchain Academy, which celebrates its second birthday later this year, is already meeting the needs of two distinct Web3 groups.

Ecosystem

Polkadot Showcases Industry-Leading Scalability in Positive End to 2023

Polkadot’s final quarter of 2023 featured sustained organic growth, with pronounced spikes in transactional data in late December.

Blockchain

Polkadot 2023 Roundup

Polkadot founder Gavin Wood reflects on the key events within the ecosystem during 2023, and provides a vision of how 2024 might pan out.

Subscribe to the newsletter to hear about updates and events.